Wiredcraft / test-pm

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

Test for Adrien #14

Closed mpathiuk closed 6 years ago

mpathiuk commented 6 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 Mayi Corp (your client stakeholder is Anthony). The outcome of this project will be a website which allows a user to sign up, and log-in to a system that gives them gold trading information. The system as a whole is expected in 7 weeks.

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

The specific requirements for the registration have been decided as Username, Location, Password, and Email address fields. The login will be based on username. And after sign up the gold trading information system expects to receive the Username and Email so they can customise the information for each user based on location.

In your team you have: • A designer who can make mockups and flow diagrams of the login and once confirmed, implement the frontend • A developer who can implement the backend connection to the gold trading service • A frontend developer who can help out integrating the login frontend • 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 Charlie 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,

Hint: 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. It could include 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 (@anthony111) and gold trading service vendor (@chopper222) ) and you can @myteam333 for questions to your development team)

e.g. @chopper222 - Hi there, can I confirm with you the requirements for ... @anthony111 - I heard from chopper222 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 ...

apelegri commented 6 years ago

Subject: Mayi Corp project follow-up

Good morning @chopper222,

As a follow-up to our previous meeting, I would like first a confirmation of your expectations and needs from Wiredcraft. Then I will need more details about gold traiding technical integration.

Regarding your customisation needs, you expect us to provide:

You also mention user location based customisation. Could you confirm that we don’t need to provide user GPS location?

Regarding your service technical integration, could you provide more information about it? Whether on the backend and frontend integration process.

Best regards,

Adrien Pelegri

mpathiuk commented 6 years ago

From @chopper222

Hi @apelegri , I've talked to your developers and shared the relevant technical materials and our API specifications. We're clear on the interfaces needed. From your side you will call our API for signup with all info, and you will call login with username, password and location. Location will be the GPS coordinates returned by browser or Shanghai center as default if you do not have the location.

apelegri commented 6 years ago

To @chopper222

Thanks for your quick answer and materials sharing.

I will get back to you if we have any further questions or requirements.

apelegri commented 6 years ago

To @Anthony111 Good afternoon @Anthony111,

I would like to let you know that we are tightly in touch with Charlie Labs, reviewing gold trading service integration details.

Besides, could you provide me with a domain name to bind the website?

Best regards,

Adrien Pelegri

apelegri commented 6 years ago

Note: Mayi Corp (Project Guidelines)

Client: Mayi Corp Timeframe: 7 weeks API provider: Charlie Labs in charge of the gold trading information.

Outcome: a website which allows a user to sign up, and log-in to a system that gives them gold trading information.

Wiredcraft project scope: backend & frontend for login/signup to access the gold trading system.

Specific requirements

Signup page: (fields)

Login page: (fields)

Information required by API provider: (access service)

apelegri commented 6 years ago

To: @myteam333 Subject: Mayi Corp, kick-off meeting

Hi there,

I planned Mayo Corp project kick-off meeting to tomorrow. [(Invitation)]() In preparation for the meeting, refer to this note.

If any information is missing, please let me know.

Kick-off meeting details:

mpathiuk commented 6 years ago

@apelegri Can you give us a rough idea of what development activities will occur each sprint? We'd also like to know your QA and UAT plan

apelegri commented 6 years ago

@mpathiuk I will get back to you tomorrow on these points.

apelegri commented 6 years ago

@mpathiuk Below are the main steps I will follow.

Sprint activities:

Sprint planning:

Sprint execution:

Daily scrum:

Sprint review:

Sprint retrospective:

QA Plan:

Preparation:

Implementation:

Reporting

UAT Plan:

Preparation:

Execution

Post-execution:

apelegri commented 6 years ago

Project Plan

Project introduction

Client: Mayi Corp

Project background: We should deliver a website which allows a user to signup/log-in to a system that gives them gold trading information.

Success criteria:

Project definition

Methodologies & tools:

Dependency:

Constraints:

Deliverables: We should deliver the backend and frontend for the login/signup of a website allowing access to gold trading information. API for gold trading information system will be provided by Charlie Labs.

Requirements:

Project plan overview

Below table is a detailed break down of the whole project.

You can identify 4 core phases:

Project phases Milestones Tasks Responsibility Timeframe
Stakeholders feedbacks Define, clarify, assess project outcome & requirements Project definition - Project goals - User journeys draft Project manager ongoing process (week 1)
Project budget Define, clarify, assess project outcome & requirements Project definition - Project goals - User journeys draft Project manager ongoing process (week 1)
Product backlog Product mapping & break down Personas - User stories Project manager 1 day (week 2)
Project kick-off meeting Clarify project requirements - Product backlog review - Milestones definition Discuss & schedule milestones - Refine strategy - Outline team roles Project manager & team members 3 hours (week 2)
Design workshop Wireframes User research - User flows - Information architecture Designer 2 days (week 2)
Product design Mockups & prototype UI Designer 2 days (week 2)
Product design internal feedbacks Gather feedbacks Assess & consolidate product design Project manager - Frontend developer - Designer 1 day (week 3)
Product design external feedbacks Gather feedbacks A/B test - Design consolidation Stakeholders - Users 1 day (week 3)
Sprint preparation Sprint backlog Prioritization Project manager half day (week 3)
Sprint 1 kick-off meeting Review & discuss sprint backlog Assign tasks - Weight user stories - Refine sprint backlog Project manager - Backend/frontend developers - Dev-ops engineer - Designer 3 hours (week 3)
Sprint sub-tasks definition Create sub-tasks Break down personal tasks Backend/frontend developers - Dev-ops engineer 1h (week 4)
Sprint 2 preparation - Client update - UAT & QA Sprint backlog - Inform the client of project advancements - Prepare for test phase Prioritization - mailing Project manager (week 3-4)
Sprint 1 Execution (setup - backend - QA) Project setup (server / environments / continuous integration) - Backend API integration, login/signup (development - test units) Keep track of project advancements & solve facing issues Backend - Dev-ops engineer 5 days (week 3-4)
Sprint 1 Review meeting Gather feedbacks Review ‘Done’ user stories - Adapt next sprint backlog Project manager - Backend/frontend developers - Dev-ops engineer 1 hour (week 4)
Sprint 1 Retrospective meeting Improve process Gather feedbacks from the team Project manager - Backend/frontend developers - Dev-ops engineer 1 hour (week 4)
Sprint 2 kick-off meeting Review & discuss sprint backlog Assign tasks - Weight user stories - Refine sprint backlog Project manager - Backend/frontend developers - Dev-ops engineer - Designer 3 hours (week 4)
Sprint sub-tasks definition Create sub-tasks Break down personal tasks Backend/frontend developers - Dev-ops engineer 1h (week 4)
Sprint 3 preparation - Client update Sprint backlog - Inform the client of project advancements - Prepare for test phase Prioritization - mailing Project manager (week 3-4)
Sprint 2 Execution (frontend - QA - Deployment ) Frontend - Tests implementation Keep track of project advancements & solve facing issues Backend/Frontend developer - Dev-ops engineer 5 days (week 5)
Sprint 2 Review meeting Gather feedbacks Review ‘Done’ user stories Project manager - Backend/frontend developers - Dev-ops engineer 1 hour (week 5)
Sprint 2 Retrospective meeting Improve process Gather feedbacks from the team Project manager - Backend/frontend developers - Dev-ops engineer 1 hour (week 5)
Testing UAT report UAT session: user journeys issues tracking Project manager 2 days (week 6)
Sprint 3 kick-off meeting Review & discuss sprint backlog Prioritise issues - Assign bugs fixing Project manager - Backend/frontend developers - Dev-ops engineer - Designer 1 hours (week 6)
Sprint 3 Execution (Fix bugs - Deployment) Fixing bugs - Deploy Keep track of project advancements & solve facing issues Frontend developer - Dev-ops engineer 5 days (week 6-7)
Product demo & delivery Achievements review Client demo Project manager & Client (week 7)
mpathiuk commented 6 years ago

@apelegri , Following your plan you are now in sprint 2.

You get the following message from @Anthony111: Hi there, our legal team just made us aware of a new regulation that requires us to validate users phone number by SMS before allowing registration. We'll need all users Phone Numbers and need to send them to the Charlie Labs gold trading system as well for tracking.

After talking to your team you discover that this extra work will take 2 weeks (assume the contractual part of covering the extra work is already agreed with Mayi Corp.). However @Anthony111 is adamant that we still have to release something on the planned release date at the end of week 7.

What do you do next?

apelegri commented 6 years ago

@Anthony111 After assessing your new requirement with my team, we estimate the development time of this new feature of 2 weeks. The buffer planned for the project to fix unforeseen issues along the development path, as a whole, cannot absorb this new feature development.

So regarding your release expectation on the due date, we can suggest two alternatives.

First is to accelerate the development workflow, use the project buffer and postpone the test phase after the due date which usually takes between 7 to 9 days.

Second, we deliver the planned platform on the due date (users phone numbers verification not included). In that case, we will kick-off the development of the new feature as quickly as the first release is fully tested and robust.

I would like to ensure that you understand the first alternative high level of risk and reminds you that Wiredcraft will not be responsible for any facing issues.

From previous experiences, we strongly recommend that you pick the second alternative and push back your launch.

If you need further information, I remain at your disposal.

@mpathiuk Let me apologise for my lack of reactivity, my current company is pushing hard on me these days.

mpathiuk commented 6 years ago

Thanks, We have enough information to move to the next steps. Closing this test as completed.