Wiredcraft / test-pm

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

Test scenario for Ricky #2

Closed mpathiuk closed 7 years ago

mpathiuk commented 8 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 Janus Corp (your client stakeholder is Joe). The outcome of this project will be an app which allows a user to sign up with SMS verification (inout your phone number, receive an SMS with a special code and enter that code in the app to complete registration), and log-in to an existing calendar system made by Lion Labs. The system as a whole is expected in 6 weeks.

Project Details The work has been divided into two parts: • the backend and frontend for login and signup with SMS verification - This will be handled by Wiredcraft completely • the backend and frontend for the existing calendar system which will be provided by a separate company Lion Labs, you will need to interface with Leo, their project manager, to coordinate as they are maintaining the existing system from for Janus Corp.

The specific requirements for the registration have been decided as Username, Password and Email address fields as well as SMS validated phone number. The login will be based on username or phone number. And after sign up the existing system expects to receive the Username and Email so they can customise the information.

In your team you have: • A designer who can make mockups and flow diagrams of the login and registration with SMS validation and once confirmed, implement the frontend. • A developer who can implement the backend and 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 Lion 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 (@jcjoe111) and existing service vendor (@llleo222) ) and you can @myteam333 for questions to your development team)

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

wentws commented 8 years ago

Project scope: 1) the backend and frontend for login and signup with SMS verification 2) interface with existing calendar system within backend and frontend by Lion labs 3) specific requirement with registration and signup(send username and email to existing system)

Project Plan

1 WBS 1) Server set up for receiving request from phone and sending the SMS verification back 2) Mockups and flow chart prepared for login and registration 3) Frontend implement 4) Backend implement 5) Integrate the frontend and backend 6) Deployment between Wiredcraft and Lion Labs

2 Timeline Whole project should last 6 weeks Designer: week 1 and 2 to make mockups and flow diagram, week 3 to finish the frontend, week 4 to integrate with backend, week 5 to support deployment Developer: week 1,2 and 3 to finish the backend, week 4 to integrate with frontend, week 5 to support deployment Dev-ops engineer: week 1 and 2 to set up the servers and week5 to deployment

3 Deliverables 1) Servers setup 2) App 3) Project doc

4 Project Phase Phase 1: Design and development for frontend and backend, set up servers Deliverables: frontend, backend, server Phase 2: integrate the front and backend, deploy the system Deliverables: app, Project doc

5 Process 1) Initial the planning meeting before project start 2) Every day to hold the standup meeting 3) Have the weekly meeting to review the status internal 4) Have the review meeting in middle of phase 1 and phase 2 external 5) Retrospect meeting after project delivered

mpathiuk commented 8 years ago

Ok, so the plan is in progress and it is now the middle of week 4. The mockups were finished and approved by both Janus Corp. and Lion Labs. Your developer has started on the integration already and spent 3 days on it. You get the following messages:

From @llleo222 (Leo from Lion Labs): Hi @wentws , our specification has changed a little due to incoming requirements on our side, for your integration you'll need to ask the user for address and you'll need to send that to us as well. It can be one plaintext field added to the registration form. Is that possible without changing the schedule?

From @jcjoe111 (Joe from Janus Corp.) Hi @wentws - We just had a security audit on our side and when you deliver the system, we also need you to send us your internal SMS ID's and the status of each SMS validation (e.g. pending reply, user replied correct code, user replied wrong code) exported for security purposes. This shouldn't be a lot of work right? That's now a requirement.

@wentws You can talk to either of the above, or send a message to your team @myteam333 or if you have questions about the test itself you can ask me @mpathiuk.

wentws commented 8 years ago

@llleo222, for this small change, I need to get back to my team if it will take much effort. Then I will figure out if it will impact on the schedule. @myteam333, we have got a requirement change on the message handling, will send you the specification on the requirement, could you check and give me the estimation for how long we could implement the change?

@jcjoe111, I think it could be a new requirement and not defined in our legacy scope, I need to identify the risk and impact on our schedule(timeline, cost,etc). As we are ongoing the integration, we may not have enough resource to apply for the change request, so I need time to investigate. If it really takes some effort, the possible solution is to place this new requirement to next release version.

mpathiuk commented 8 years ago

From @myteam333 - Hi @wentws We've sat together and have an optimistic estimate that this would push the schedule back one week.

From @ jcjoe111 - Ok, can you get back to us on that ASAP, to be clear we now see this as a requirement as we cannot go to production without this.

wentws commented 8 years ago

@llleo222, I get the info from my team that we could finish the specification change requirement before delivery as we still have one week to implement that. So we could accept you change request without impacting the schedule.

@jcjoe111, After my investigation, this new requirement will almost take another 4 weeks, so it is not possible to put this requirement into this phase and we don'e have the resource yet. I propose to place it in next release, do you agree on that? May be we can further discuss.

mpathiuk commented 8 years ago

From @jcjoe111 - Given that this is now a must for launch, are there any alternatives you can think of to get this done in the current schedule? Can we up the budget to get your team to work overtime? Can we reduce scope somehow?

From @myteam333 - We've looked further into the new requirement. We can hit it within our current schedule if we sacrifice some of the non-functional requirements for the system as a whole, mainly response time will be doubled and we'll have to skip writing code documentation. Is that ok?

wentws commented 8 years ago

@ myteam333, I think it is a possible plan, let me talk with the stakeholders if they agree to give up non-functional requirement to initial the new must- have requirement.

@jcjoe111, I have interlocked with my team, we could achieve the new requirement, at the same time, we have to remove some non-functional requirement in this release, will place it in next release. So that we could catch up the schedule , is that ok for you?

mpathiuk commented 7 years ago

Closing as old.