Wiredcraft / test-pm

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

Test for Maria #7

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 Zbal Corp (your client stakeholder is Vincent). The outcome of this project will be a web app which allows a user to sign up, and log-in to a system that gives them a data dashboard for climate figures. The system as a whole is expected in 5 weeks.

Project Details The work has been divided into two parts: • the backend and frontend for login and signup as well as the frontend for climate data display - This will be handled by Wiredcraft completely • the backend for climate data information which will be provided by a separate company Qingfeng Labs, you will need to interface with Song, their project manager, to coordinate as they are building this system from scratch for Zbal 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 real-time climate data system expects to receive the Username and Email so they can customise the information in the backend for WCL to access and display in the front-end the correct data for this user.

In your team you have: • Two designers who can make mockups and flow diagrams of the login and once confirmed, implement the frontend parts and dashboard. • A developer who can implement the backend and help out integrating the login/data dashboard figure 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:

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 (@Vincent1211) and real-time climate data service vendor (@Song222) ) and you can @myteam333 for questions to your development team)

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

maltyeva commented 7 years ago

@vincent1211 Great to get connected with you regarding the Zbal project. My name is Maria and I will be the Wiredcraft PM communicating with you throughout the process. My team and I are putting together a project plan and timeline to deliver to Zbal Corp, however, I would like clarify a few things on the project first, to get both our teams on the right track!

  1. Regarding the climate data that we will display on the app, will the clients that use the app input a location manually or would you like the application to be able to locate the client's location automatically?
  2. Would you like the app to display just the temperature, or any additional climate data (precipitation, humidity, etc)?
  3. For the temperature data we collect, would you like it to be displayed for a specific range of time or for just the day of the search?

As we get started with the project, I would also like to gather some preliminary information to pass on to our design and development team:

Looking forward to getting started!

maltyeva commented 7 years ago

@song222 Hi there, would you mind letting me know what platform Qingfeng will use to build their backend portion of the Zbal corp project and a possible timeline for the build? Please let us know any server requirements for the specific implementation you will be using, as well as any requirements or limitations for the authentication system that our team will take care of. Thanks!

maltyeva commented 7 years ago

@myteam333 I've gotten in touch with the Qingfeng team to learn more about their end of the platform. Could you guy let me know what platform you guys were hoping to use to implement the user authentication module and whether there are any requirements or limitations I should be aware of. Thanks!

mpathiuk commented 7 years ago

From @vincent1211:

  1. When you log a user in, you're going to pass that userID to Qingfeng labs, they already know which user should see which climate data.
  2. Let's start with temperature, barometric pressure and precipitation.
  3. High's and lows for the day?

Assume you have also received style guides, branding guidelines etc. Zbal Corp will host in their existing IDC's

From @song222 Assume you have been given the full API specs for Qingfeng Lab's integrations, it will use node.js

From @myteam333 We'll be using node.js and react for the front-end. No requirements or limitations on our end, the specs received from Qingfeng labs look good to us.

From @mpathiuk These are good primary concerns when starting a project. In practice the team will help you follow these up and dig out what's needed on the tech side. Let's move back to the high level and proceed with the project planning as described in the original post.

maltyeva commented 7 years ago

@mpathiuk thank you for the feedback! trying to get myself out of the agency mindset haha. Please find the scope and project plan below:

Final Scope of Project

This project is for to create a web application that will allow a user to sign up and log into a system that will display climate and temperature data. This application will be a web app accessible through desktop and mobile browsers.

The deliverables Wiredcraft will be responsible throughout the project are as follows:

The assumptions for this project are that third-party vendor will be able to implement the climate dashboard in a way that could be authenticated through the system created by Wiredcraft. The third party vendor will be responsible for handling the entirety of the climate dashboard code once the user is authenticated into the system.

Project Plan:

Project Timeline:

The project timeline is will ensure that the project is delivered within the expected five (5) weeks from the start point. It will be divided into two two-week sprints with a week of user testing following the two sprints.

The project will start with a kick-off meeting including the stakeholder from Zbal (Vincent) and the contact from Qingfeng (Song), in-person or remotely if needed. The kick-off meeting will be a time to discuss and confirm project deliverables, key features, the acceptance criteria, as well as to iron out any limitations on both of the development teams.

The outline of the sprints will be as follows;

Sprint 1: (Week 1-2)

By the end of the first sprint - the backend systems of both the user and the climate dashboard will be done, sprint 2 will focus on integration.

Sprint 2: (Week 3-4)

QATesting: Week 5

Internal Communication:

External Communication

The PM will coordinate with Vincent from Zbal via email, cc'ing any relevant parties as necessary. Though phone conversations will be discouraged (in a nice way), all calls that happen will be logged with an email progress report.

To log any requests and feedback from Zbal, the PM will have a template for the client to fill out. Client review of any working demos will happen at the end of each sprint.

mpathiuk commented 7 years ago

Thanks @maltyeva .

You're now halfway through week 3 of your proposed timeline and you hear from Qingfeng Labs:

@song222: Due to recent government regulations we now have to ask the user to add their phone number to the registration process, please also provide us this data during registration and validate the phone number through SMS.

After checking with your team, you hear back from them: @myteam333: The required work is non-trivial and would take about 4 more days on the timeline for the development part of adding phone number to registration and validating the phone number through an SMS code.

What do you do next?

maltyeva commented 7 years ago

Thank you @mpathiuk !

@song222 thanks you for letting us know about the recent regulations change. Unfortunately, sometimes these things can't be foreseen. We will discuss the changes with the client shortly, but in the meantime, would you mind providing some further information on your end?

  1. Could you pass the full documentation for the recent government change, so our team can take a look, and verify if anything further needs to be done on our end. / this part would be to see whether the change happened after we signed the agreement or if we should have known earlier, partially for future cases /
  2. Could you provide a detailed estimate of any additional hours it would take to implement the new code sent from our development team? Just to keep you in the loop, our team estimates that this will add roughly 4 days of work to the timeline on our end.
  3. I'd like to confirm - if we are not using a Chinese server to deploy the client's code, will the regulations still be relevant? Or is a Mainland hosted server necessary to incorporate Qingfeng's API?

@myteam333 Thank you for letting me know! I'd like to confirm with our devOPS team member:

  1. Will there be any difficulty in deploying our current code on a server not-hosted in the mainland? I would like to present several possible solutions to the client.
  2. I am also interested in the ability to send SMS to Chinese phone numbers on a non-mainland server. Could you let me know if you anticipate difficulties both on a mainland or a HK server?
  3. Lastly, for any SMS services that we find, please let me know if there will be an additional cost for sending SMS that I should present to the client / I've usually encountered things like SMTP and SMS handled by devops staff (though sometimes it's the backend devs), so I hope I'm contacting the relevant 'person' at Wiredcraft /
mpathiuk commented 7 years ago

From @song222:

  1. You receive the documentation for the change, it is indeed in order and the change came in one day ago.

  2. 4 days seems reasonable to me

  3. We have to keep it mainland due to hosting requirements and existing IDC's of the client.

  4. Not a problem, but clients have been clear we should put this in their own IDC

  5. Also possible, there are many 3rd party services

  6. We've checked and the clients are ok to pay the maintenance costs for the SMS service.

maltyeva commented 7 years ago

@myteam333 thanks for the update! Please let me know if we need to allocate more devs to the team to ensure the project is not taking up too much of your time. Possible to do a demo version of the application without the sms functionality by the end of this week or early next week? @myteam333 (sysadmins): please let me know if the server configuration is on track, we may need to shorten the testing period and I'd like to ensure that there are no glitches in that last week.

@vincent1211 Hope you're doing well! I wanted to check in and give you an update on the Zbal Project. As per our meeting last week, we're currently working on integrating the climate dashboard API into the user login interface with our partners at Qingfeng Labs and are been making good progress on the project.

However, while the core components of the application discussed in the scope are close to being completed, we've recently been made aware of new Chinese legislation that will require us to add a few core features to host the site on a server in China. Per the regulation (documentation attached) we will need to add the user's phone number during registration and validate the number through an SMS. While we take great precaution to foresee these changes in advance, this was announced just a few days ago, so while we hadn't been able to anticipate the change, it will need to be implemented before we deploy the final project.

The positive aspect of this, is that implementing the new code will give us the opportunity to make the app more secure in the long-term. Requiring SMS verification is a way to provide two-factor authentication for the user's identity, enhancing the security of the application. In the long run, this will reduce spam accounts on your web application, leading to reduced server loads, and saving Zbal money and maintenance costs over time!

To sum up the scope of the change, upon logging in, the user will need to:

In order to implement this new change securely, our team will need at least five additional days to deploy and test the code. I know we're about two and a half weeks away from the project completion, so while this may impact the timeline, I firmly believe that we can alter some of the milestones and work together to minimize any delays as much as possible.

We will provide a demo version of the integrated code (without the SMS functionality) as early as possible and we request that we can receive feedback within 48 hours to ensure that any changes can be made promptly. The last week of the project is dedicated to user testing, and I will coordinate with our developers to ensure that we can give a working version of the current code prior to that week, so that any impact to the launch is minimized.

In the mean time, I will coordinate with our system administrators to ensure there are no delays on their end and the new code can be deployed without an issue.

Let me know if there are any questions or concerns and I'd be happy to address them!

Best, Maria

@mpathiuk let me know if you'd like me to create an updated timeline as well :)

mpathiuk commented 7 years ago

@maltyeva Thanks for this, I believe we have enough to proceed with the next recruitment steps. You will hear back from us by mail.

Closing this test as completed.