Wiredcraft / test-pm

Interview test for PM applicants
MIT License
0 stars 1 forks source link

Test for Franziska #9

Closed mpathiuk closed 7 years ago

mpathiuk commented 7 years ago

First make sure you read the test guidelines here: https://github.com/Wiredcraft/test-pm

This task will be followed up asynchronously over a few days and should not take more than two hours in total.

Project Introduction You have been assigned as project manager for a project for the client Ronan Corp (your client stakeholder is Jason). The outcome of this project will be an app which allows a user to sign up, and log-in to a system that gives them air-pressure information for their current location. The system as a whole is expected in 8 weeks.

Project Details The work has been divided into two parts: • the backend and frontend for login and signup ,and the frontend for air-pressure information - This will be handled by Wiredcraft completely • the backend for air-pressure information which will be provided by a separate company Juha Labs, you will need to interface with Xavier, their project manager, to coordinate as they are building this system from scratch for Ronan Corp.

The specific requirements for the registration have been decided as Username, Password and Email address fields. The login will be based on username. And after sign up the air-pressure information system expects to receive the current location from Wiredcraft's frontend so they can return the air-pressure for this region.

Your team In your team you have: • A designer who can make mockups and flow diagrams of the login and air pressure dashboard and once confirmed, implement the frontend. • A backend developer who can implement the backend of the login and help out integrating the login • A frontend developer who can make the login and signup forms and implement the air pressure dashboard • A dev-ops engineer who can set up the servers and take care of deployment.

Your Task The first step of this task is for you to provide the following:

• Clarify the requirements and provide your understanding of the final scope for Wiredcraft's work. • An initial project plan including:

• A work breakdown for Wiredcraft's integration with Juha Labs up to the final delivery • a rough timeline of what you think needs to happen in this project and deliverables. You can use the methodology of your choice for this plan, • Outline the project phases you would have and what should be delivered at each phase. • The plan can be a few paragraphs of text and the timeline can also be made using Github markdown by outlining what needs to be done during each week. • A rough outline of the process you would use for the day-to-day organisation of the development team and a short overview of how you would manage the communication flows internally and externally. • You can also kick off with any questions to multiple people in one GitHub comment, I will answer likewise and bring up more cases to test your communication skills as we go along: (Assume you have already been introduced to the client (@jwjason111) and Air pressure API service vendor (@xzXavier222) ) and you can @myteam333 for questions to your development team)

e.g. @xzXavier222 - Hi there, can I confirm with you the requirements for ... @jwjason111 - I heard from xzXavier222 that they need to have xxx, does that mean we need to change .... @myteam333 - I'm not clear on how xxx could work, can you tell me more about it? @mpathiuk - For the test, I don't understand what you mean by xxx ...

Franziskarrr commented 7 years ago

Dear all, Nice to meet you! Let me first of all describe on how I plan to proceed from this point. I initially want to clarify some requirements regarding the scope and then describe on how I would proceed in the further steps of planning this out. I don’t have the name of the project sponsor at this moment, so I will call him @sponsor444 from this point on.

@sponsor444 – Based on the project description we are now already in the planning phase of the project. I want to inquire whether there is a project charter summarizing the business case, initial requirements, the stakeholders plus their expectations, I could refer to in order to draft the scope statement. Regarding scope here is roughly what I learned:

  1. Development of Frontend
  2. Development of Backend
  3. Taking care of everything server related
  4. User dashboard with air pressure information In the project details the client is expecting a geo location feature, but I cannot find any information about this in the team’s work scope. Can I safely assume that implementation of this feature is part of the client’s requirements and therefore shall be included in the project scope? To avoid any scope creep and to commit to a realistic deadline and budget, I need to ensure our list of requirements is in line with the client’s expectations.

Here’s a rough breakdown of my further procedure from this point on:

  1. After getting the specific list of requirements I would request a meeting between the client and whoever sold the project in order to confirm all requirements for scope, time and budget.
  2. After gaining formal confirmation of these, I build a WBS and a RTM together with my team. I assume that at this point we have already calculated that outsourcing the part of the project with the air pressure information backend is the best solution, as opposed to doing it internally. Then I would inform the person responsible for procurement and define budget and cost. @xzxavier222 - Another need for clarification I have is regarding the actual data about air pressure information. Is this something that needs to be purchased externally as well or is this freely available data, for which we merely provide an interface for the user? And if so, do we provide the data or is it procured by Juha Labs? Is the pressure data already linked with the geo location information or do these two systems need to be aligned?
  3. I will ask my team to come up with a list of activities composing the work packages, as well as their dependencies, predecessors and successors.
  4. I will ask each contributor to come up with risks they see, elaborate a risk register containing planned responses and draft a risk management plan.
  5. Based on each system in the RTM I would define deliverables and organize the project in either an agile way or as a waterfall model, based on what I will have learned up to this point. My decision depends on the dependencies between the team member’s activities, whether we would want to deliver several components at the same time and how involved the customer is.
  6. Define the critical path to come up with a detailed schedule.
  7. Set up milestones in order to guarantee a quality review and customer approval in regular intervals.
  8. Draft a communication matrix, including the parts that have been outsourced. Challenges I see here is that people do not work in an isolated way on their individual tasks, but rather that there is a constant need for alignment in order for those systems to work together in the interim as well as in the end. Another challenge is that a crucial part of the project is outsourced and thus doesn’t have collocated team members, which needs some further planning in terms of regular feedback loops. On top of that Ronan Corp is presumably expecting to be kept in the loop about progress as well and ideally needs to approve certain milestones in order for the project to move to the next project phase.
  9. Draft a Project Management Plan containing all the required info Wiredcraft’s task description and submit it to the project sponsor for validation and official approval.
  10. Kickoff and execute the plan.
mpathiuk commented 7 years ago

I think we're getting a little too high level here. For the purposes of this test, let's assume that you have already agreed on project charter, scope and that the backend and frontend team can handle all the work in-house. We can assume budget and timeline have also already been agreed on.

The backend air pressure API is already being developed by Juha labs, our team will need to make the frontend integration and display dashboard for this info using the API provided by Juha Labs.

So what I'm looking for in the project plan is something that shows me that you know how software development projects unfold. A good example would be catching the dependency on the backend system being developed by Juha labs and making sure this is ready early enough so that we have time for our integration and testing.

Franziskarrr commented 7 years ago

Hello all,

I’m sorry this is taking me so long, but last week was an emergency. I’m back in China now and ready to finish this assignment ASAP.

To get right to it, I designed a WBS as well as a flowchart based on my assumptions. I would like to clarify further:

@myteam333 – Can you please give me a list of activities for the work packages I designed in the flowchart as well as their duration. I need this to come up with an overall duration, critical path and more detailed planning. I would further like to ask you and confirm if I’m assuming correctly that frontend and backend development can start at the same time and that there will be an integration of both systems together for each page (signup, login …) before testing. Regarding the Air Pressure API from Juha Labs, do we first need the vendor to provide this API before frontend development can start or is it possible to start independently and integrate them together once the vendor has finished? My current V1 flow chart is based on the assumption that there is no such dependency, but I can change that. @xzxavier222 – Can you please let me know how long the development of the API will take and if there is anything you depend on from our side before you can start working on it?

Thank you very much!

Flowchart.pdf WBS.pdf

mpathiuk commented 7 years ago

From @myteam333:

Can you please give me a list of activities for the work packages

Assume you've received these and that everything fits within the timeline, for the purposes of the test we don't need to get into this level of detail.

Frontend and backend can proceed in parallel, however we need mockups completed and approved before we can start frontend work.

We'd need the API specifications before starting backend work and we'd need their staging delivery ready and matching the specifications 2 weeks before our delivery. We have reached out to the Juha Labs team and will receive the specs 1 week into the project. @xzxavier222 already confirmed that their staging release will come 3 weeks into the project.

Franziskarrr commented 7 years ago

Flowchart V2.pdf Communication Table.pdf

Project Phases: Design; Coding; Testing, Review and Launch Communication Media/Org: Regarding an overview who should be in the loop for what part you can refer to the table I attached. As for communication media, it depends who is in the loop. For approval processes and reports, we would want to use a more “serious” medium as email in order to keep stakeholders informed and solicit their confirmation. In terms of communication between the development team (and Juha Labs for the part they are involved in) I would chose a more instant media like chat rooms with dedicated channels or directly stay within Github. Physical proximity would be ideal, but that is not always possible.

Week 1: Design Phase

Deliverables to be approved:

Week 2 - 6: Coding

The Coding Phase consists of 3 sprints, each with their own deliverables. The cycle for each sprint looks like this: Coding Frontend+Backend->Integration->Testing->Approval Sprint 1 deliverables:

Week 7-8: Testing, Review and Launch

Deliverable: Approved end product After all the components have been finished, they get uploaded onto the staging environment for final testing. After approval of the end product within the testing environment, everything get moved onto the live servers and approved again, first sponsor, then client. Communication needs:

This would be my general approach to this matter, of course on a much less detailed basis than the real world project would be. Please let me know if I'm missing out on anything or if this is enough within this framework. Thank you!

mpathiuk commented 7 years ago

Thank you @Franziskarrr , we have enough to proceed to the next phase. We will reach out for this by email. Closing this test as completed.