Wiredcraft / test-pm

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

Test for Evgeny Pavlov #21

Closed fuzhuang closed 5 years ago

fuzhuang commented 5 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 SFUX 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 Johnny, their project manager, to coordinate as they are running this system for SFUX 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 (@Karrrr11) and the coupons service vendor (@joh22222) ) and you can @myteam333 for questions to your development team)

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

Evgeniypd95 commented 5 years ago

Hey @Karrrr11 !

We are eager to kick-off our first development sprint of SFUX Corp WeChat app. I would like to ask you a few questions to clarify the ideal app usage scenario and potential ways in which users could deviate from this path.

Here goes: 1) Does your store sell any items with RFID/RF tags e.g. special tags that can setoff an anti-theft alarm at the exit? 2) Does your store sell any goods by weight? 3) Do you plan to offer your customers an option to issue a Special VAT fapiao via the app? 4) Do you have any ongoing bonus/loyalty programs for you customers? 5) How are you planning to advertise this app to your current customers to encourage them to add it to their WeChat? 6) What kind of products are offered at your store (groceries, clothes, books etc) ? A breakdown by % would help a ton! 7) WeChat mini-apps have a rich variety of "Social Sharing" capabilities. Does your marketing department have any plans to utilize this feature? 8) Do you sell any cash based gift cards that can be used for purchases at your store? 9) Is there anything important that I have not asked but must know? For instance, is your store fully automated? 10) Per "User could scan QRcode to access the app" requirement -- where will these QR code be displayed?

I know it's a lot of questions. My goal is to identify any potential pitfalls as well as plan the ideal user story. Let me know if you would like to discuss these question over Zoom instead of typing them out.

Upcoming milestones:

Hello @fuzhuang, could you please clarify whether the 5 working days allotted for this test started on last Friday or Thursday? Should I count the project planning as part of the 10 weeks period, or does the countdown starts once we have the plan ready?

Hello @joh22222, could you please tell me what kind of information is embedded into your barcodes? Do you already have an API that can be used by 3rd parties to request data from your DB?

Evgeniypd95 commented 5 years ago

Clarify the requirements and provide your understanding of the final scope for Wiredcraft's work.

Requirements and the final scope To clarify the requirements, let's assume that answers to my questions are:

  1. no
  2. no
  3. no
  4. no
  5. no plan yet
  6. sports equipment
  7. no
  8. no
  9. N/A

Let's break down the essential user stories into development requirements.

  1. User could scan QRcode to access the app;
  1. User could click "scan" button in app to enable the camera to scan product barcode in store;
  1. User could add the product items scanned into cart;
  1. User could edit the cart before payment and be able to pay from cart.

Interactive mockup to illustrate my understanding of the basic functionality of the app - https://app.moqups.com/evgeniypd95@gmail.com/qkX8bFy15F/view

An initial project plan

This phase follows the planning phase outlined above. Now we have a clear scope and ready to plan the development.

Sprint 1 Week 1 and 2. Work breakdown:

Frontend developers - create flow diagrams and low-tech mockups to describe the logic of the app and how each button affects what is displayed to the user. Start developing these views once designs are confirmed. Designer - uses flow diagrams and low-tech mockups from frontend devs to create detailed mockups of the button layout and each frontend view. Evgeny Pavlov - relays the mockups and flow diagrams to @Karrrr11 to get feedback, then pass the feedback back to @myteam333. Also shows the paper-based prototype to a sample of users to get additional feedback. Gradually iterates to create a final version of the app logic and UI/UX mockups. Facilitates communication between the backend developer and @joh22222. Backend developer - works with @joh22222 to understand what kind of information we can get from the barcode of each product, how is Retail Genius's DB structured, and how we could retrieve product data from it. If needed, plans out the API development to retrieve the data. DevOps - sets up a local development server(via Docker or Vagrant) and a database to imitate how final product will interact with Retail Genius.

Deliverables:

Sprint 2 Week 3 and 4. Work breakdown:

Frontend developers - develop frontend views to a 100%. Testing. Backend developer - connects backend logic with the frontend. Builds a way for an app to request product data when scanning the barcode and pass it to frontend. Implements WeChat Pay sandbox for checkout testing. DevOps - facilitates the deployment to local server and fine-tuning the database to mirror the real one to 100%. Evgeny Pavlov - facilitates communication between @Karrrr11, @joh22222 and @myteam333 to relay the progress and requests for additional information. Gathers and relays any feedback from demonstrating the app.

Deliverables:

Sprint 3 Week 5 and 6.

DevOps - deploys the app to the production server, applies for verification on WeChat developers platform to launch it on WeChat. Backend developer - Implements any changes based on feedback from the previous sprint. Connects the app to a live production database from Retail Genius. Fixes any production bugs. Frontend developer - Implements any changes to local version from @Karrrr11 and @joh22222's feedback. Help with the deployment to production server on their part. Fixes production bugs. Designer - if needed helps to adjust the QR code design and size according to @Karrrr11's requirements. Evgeny Pavlov - facilitates the deployment process between @joh22222 and @myteam333. Once the app is deployed, works with @myteam333 to supplies @Karrrr11 with the needed QR code that opens the app when scanned. Works with @Karrrr11 to get required information to wire WeChat Pay to their bank account.

Deliverables:

We have about 2 sprints (or 4 weeks) left. I assume this time would have been used if the app requirements exceeded those initially listed. Moreover, if the contract with @Karrrr11 is limited by work time rather than app requirements, we could spend this time to integrate a number of new features, such as “Sharing” or “Loyalty program” into the app. Each major feature would require up to 1 sprint to build, test, and deploy. I could facilitate brainstorming between @myteam333 and @Karrrr11 to come up with these features. Moreover, if @joh22222 does not have an API that we can use to retrieve product data, we will need to use up to 1 Sprint to develop it.

Day-to-day organization and communications

fuzhuang commented 5 years ago

Thanks @Evgeniypd95 , great work! Further feedback and communications coming up in the next few days.

fuzhuang commented 5 years ago

@Evgeniypd95 Sorry for the late update. HR will send you an invitation for interview soon, will keep you noted:)

fuzhuang commented 5 years ago

Test completed, closing