Wiredcraft / test-pm

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

Test for Chenlijun #19

Closed fuzhuang closed 6 years ago

fuzhuang 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 On behalf of Wiredcraft (WCL), you have been assigned as project manager for a project for the client DESCO Corp (your client stakeholder is Karen). The outcome of this project will be a Wechat miniapp which enables user to scan items in store and pay for it through Wechat. The system as a whole is expected in 10 weeks.

Project Details The work has been divided into two parts: • the frontend for wechat miniapp and backend to support data integration with store core system will be handled by Wiredcraft completely • the backend for store inventory management and POS are provided by a separate company Retail Genius Ltd, you will need to interface with Bob, their project manager, to coordinate as they are running this system for DESCO Corp.

The specific requirements for basic flow has been established as below: User could scan QRcode to access the app; User could click "scan" button in app to enable the camera to scan product barcode in store; User could add the product items scanned into cart; User could edit the cart before payment and be able to pay from cart.

In your team you have:

• One designer to make wireframe and mockups to confirm detail flow and UX. • Two frontend developeres who can make mockups and flow diagrams and once confirmed, implement the frontend parts. • A developer who can implement the WCL backend and help out integrating with store core systems • 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:

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 (@Kar111) and the coupons service vendor (@bbob222) ) and you can @myteam333 for questions to your development team)

e.g. @Kar111 - Hi there, can I confirm with you the requirements for ... @bbob222- I heard from @Kar111 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? @fuzhuang - For the test, I don't understand what you mean by xxx ...

charleslijun commented 6 years ago

@fuzhuang I just knew about this task when Hazel notified me in Lagou APP this afternoon. I am afraid that i can't finish it in two hours tonight because i just had time to review it. Considering it is 10:30 pm now, i will firstly finish part of it tonight and will accomplish other parts of the task as soon as possible. If there has any questions, please let me know.

charleslijun commented 6 years ago

Stakeholder: external : Client Company: DESCO Corp ;Contact window: Karen; Role: Project manager Third Party Company: Retail Genius Ltd, ;Contact window: Bob; Role: Project manager internal: Develop team five people: • One designer • Two frontend developeres• A developer • A dev-ops engineer

@fuzhuang question: why doesn't there have test engineers in development team? The task doesn't mention that these five people in development team can take responsibility of testing. In my opinion, there should at least have a test engineer in team.

charleslijun commented 6 years ago

Requirement: @fuzhuang there are a few questions about requirement that i just thought of now

  1. who can provide QRCode? The third party company or WCL?
  2. Who is in charge of releasing the final product of APP, DESCO Corp or WCL? In my understanding ,it is the customer's responsibility and needed to confirmed at the begin of project.
  3. what are the performance target such as payment and feedback speed of backend? All these targets should be put forward with in a thoughtful consideration and have a discussion with Retail Genius Ltd, finally all of them will be written into requirements.
charleslijun commented 6 years ago

I have written some questions in my first reading, I will continue to finish the task tomorrow because it is too late tonight. Good night!

charleslijun commented 6 years ago

Question1: Clarify the requirements and provide your understanding of the final scope for Wiredcraft's work. Answer: Deliverable: a Wechat miniapp which enables user to scan items in store and pay for it through Wechat. Requirement:

  1. APP needed to developed in two main-stream operating system of cellphone, ios and android.
  2. Generate QRcode of the app so that user could scan it to access the app.
  3. UI style and interaction process needs to discussion with the customer, let us firstly assume that all these factors have been clarified and discussed with the customer. The two sides have no any doubts about them.
  4. have a call to camera scan ,including opening camera, scanning , close camera and so on. It needs to have an interactions with camera app and the app, maybe it requires us to make a little modification of camera app to return the scanning result to the app.
    1. User could add the product items scanned into cart and edit the cart before payment. this requirement involves database management and all user information including operations steps, buying records and so on should be added to the backend server machine
    2. User could be able to pay from cart. this requirement should be finished by Retail Genius Ltd. Deadline of delivery: within 10 weeks Human resource: 5 people for development, version integration and version testing. Quality: According to UI design principle and test case that has been discussed at the begin of project, the quality of the backend for store inventory management and POS should be guaranteed by Retail Genius Ltd. Scope: it totally depends on the requirements above all, if the requirements has been updated or added, we will not take all these factors into considerations unless it will apply for the process of changing request.
charleslijun commented 6 years ago

Question: An initial project plan Answer: The whole project divided into five main phrases

  1. Requirements confirmation phrase
  2. UI design and data flow confirmation phrase
  3. development phrase
  4. integration testing phrase
  5. finally delivery phase the third and fourth phases will go on in an iteration state with two weeks frequency. As follows, we will focus on every concrete phrase and describe every phrase in detail. 1)The first phrase - Requirements confirmation phrase discussion with the customer PM in detail and output finally requirement document and feature list. It often lasts for a week. 2)The Second phrase - UI design and data flow confirmation phrase According requirement document, UI designer engineer gives design he data flow, during the period of phrase, you should organize all stakeholders including designer , internal developers, Karen and Bob to have many discussions to reach the same conclusions. The final output is UI design document and data flow graph. it has a week timeline and follow the first phrase. 3)The Third and fourth phrase - development phrase and integration testing phrase it lasts for six weeks and evolve with a two-week iterations. In the first two weeks, developers provides full functions version to test engineers. Let us assume that every developer is both in charge of developing and testing. At the same time, the developers in Retail Genius Ltd should begin their tasks and you should sync the development status with Bob every day to make sure that the development is on the right track of project. The first version is difficult to deal with in that it needs to integrate app, backend functions and functions provided by Retail Genius Ltd. You should pay more attention to them in advance of milestones. When you release the first full function version to test, next step is to fix these problems and go on to next iteration. 4)The fifth phrase - delivery phase it often lasts for two week and follow the previous phrases. We will make a release version for friendly users to use and fix bugs in time and will update version every day to get feedback from users quickly.

At the last three phrases, you should keep track of the progress of the project on time, allocate bugs to developers. I suggest that you have a stand-up meeting which lasts 20 minutes or so every morning and let everyone knows that how many bugs are there reported, which bugs will block milestone of project, which bugs will be fixed today as a high priority and so on. All these bugs will focus on concrete developer including internal and external. If neccesarily, you could hold the meeting at time to let everyone give you a feedback about today's tasks. During the daytime, you need to communicate with developer to get the latest progress, have a discussion with Bob to know about the development progress and communicate with Karen to know about whether the requirements changed. At the end of phrase, you have better organize all developers to discuss what improvements the team can make in next phrase and avoid make the same mistakes.

fuzhuang commented 6 years ago

Hi @charleslijun , good catch on the testing resources. Normally we do have internal QA resources to check on staging, but usually we loop in client or independent QA team for UAT.

fuzhuang commented 6 years ago

@charleslijun Now it's in the 4th phase, 1 week before integration testing. @bbob222 told you that on their side they've encountered some issues that they won't be ready for the integration timeline until a week later than the original timeline. Could you help deal with this?

charleslijun commented 6 years ago

@fuzhuang On one side, i will communicate with @bbob222 on why they can't deliver on time, what difficulty they have encountered such as ambiguous requirements, technical issue and other issues. We will think of the solution to every specific issue to make sure that this condition will not happen again. On the other side, considering the whole process is only ten weeks, i still choose to integrate other developments together at original timeline and release a version to test,.

fuzhuang commented 6 years ago

@charleslijun Bob told you that wechat coupon API has some framework changes, so they will need to update to accommodate.

Pls communicate with them by addressing them directly with the below mock id (assume the relevant roles are using these ID and you are communicating with them in this repo for the project management work), examples: @Kar11111111 - Hi there, can I confirm with you the requirements for ... @bbob222- I heard from @Kar11111111 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?

charleslijun commented 6 years ago

@bbob222 I have heard from you that your team can't provide functions on time for some framework changes caused by coupon API. As we communicated at the begin of project, this integration version is crucial to our project because it is the first full-function version that can be tested. It will cause a domino effect on final product release if the first version fail to release on time. There is still a week from now to original timeline, so i hope that your team can try your best to speed up current work so that we can reach target. Meanwhile, could you provide me the work plan on your update if you are convenient? I will communicate with you every working day according to it until your team release the first version and integrate with our version successfully. If you have any problems with it, please let me know ASAP.

charleslijun commented 6 years ago

@fuzhuang if you have any questions, please notify me:)

charleslijun commented 6 years ago

@fuzhuang It has been a few of days gone by since i answered your last questions. I don't know whether you are busy in recent days or i fail to test. If i have failed test, please let me know and you could tell me the reasons so that i can pay attention to them in the future:)

fuzhuang commented 6 years ago

Hi @charleslijun sorry for the delay. Thanks for the follow up, I will have @hazelwu contact you next week for scheduling the next round interview.

charleslijun commented 6 years ago

@fuzhuang Ok. Thanks a lot:)

charleslijun commented 6 years ago

Hi @fuzhuang I haven't received any notifications from @hazelwu so I want to confirm whether the interview goes on?

charleslijun commented 6 years ago

Hi @fuzhuang I received email from hazelwu a few of hours ago and i will confirm an interviewing date with her.

fuzhuang commented 6 years ago

Done, closed