Friday, June 17, 2016

The art of project management

Ok, so you've figured out what work to subcontract and have found a potential freelancer who will consider doing the work - congrats on learning the art of subcontracting basics, now comes the actual project management

As we already determined that every member of our product team is not just a PO but also a PM, below are a few PM operational algorithms that will help you to ensure your project is successful


Project takeoff

  1) When you have project specs vetted by the team (SSE, devs, others as needed), send the specs to the selected tried out subcontractor, or send the specs to Ops for assistance in finding a subcontractor with the best bid

  2) Subcontractor will usually have some questions about the project specs before providing work estimates
    a) If the answers to the questions are already covered in the specs that means the subcontractors didn't bother to read through the specs and you can dismiss them
    b) If there are no questions at all or no questions you hoped to hear then make sure to ask a few "control" questions of your own, i.e.: how do you plan to implement something, what do you suggest for a solution for this problem, which technology will you use to accomplish this, did you work on a similar project before, etc.
    c) If you get some very basic questions about the project that should've been covered by the specs already that means that the specs aren't good enough and my suggestion is that you don’t waste time in ad-hoc discussion with the subcontractor but go back to step 1) to rewrite/update the specs to cover all important information and then send the new specs to the subcontractor

  3) After the subcontractor provides work estimates and project ETA, perform a sanity check
    a) If you don't agree with some of the estimates don't challenge them directly but simply ask for a more detailed breakdown and explanation how did they come up with such an estimate
    b) Be constructive when talking with subcontractors, it isn't your goal to reduce the estimates but to make sure both sides are fair and professional: you are an employer but you need to treat your subcontractor as your partner

  4) Once the project estimates are good define project milestones as these are critical steps along the way that will allow you to track the progress and to avoid situation where you reach the project deadline and figure out it isn't done right
    a) Although we don't pay out $ when a project isn't done or done right, we still have growing opportunity cost caused by the delays which can be greater than the actual project cost
    b) Each project can be broken down into several milestones with no exceptions (like a sprint PBI can always be broken down into smaller tasks)

  5) Get in touch with Ops for assistance with securing project finances

  6) As soon as you have a formal approval for the project, agree on a hard date with the subcontractor by when the project will be completed, and by when the first milestone will be delivered


Project cruise

  A) If the subcontractors have any additional questions about the project at any point along the way, make yourself available to help out as soon as possible
    a) Insist on written communication whenever possible, especially if you discuss changes in the project requirements; use Skype only when it will save you time but have all project agreements written down in case we need them later on
    b) #EveryoneThinks applies to the subcontractors as well - don't solve problems for them but instead always ask for them to suggest and explain the best solution that you'll review and approve or suggest differently

  B) If you uncover additional work is needed for the project along the way that wasn't covered by our original requirements go ahead and immediately discuss project appendix estimates with the subcontractor and let Ops know to assist you with financial approval
    a) Be fair - if you didn't ask for that work in the original specs then don't insist for subcontractors to do it for free

  C) Make sure you know the upcoming milestone ETA as well as the project completion ETA at all times
    a) If the subcontractor misses an ETA you need to send a follow up immediately
    b) If you don't hear back from the subcontractor send another follow up and add Ops to CC to help out
    c) If someone wakes you up in the middle of the night you need to be able to immediately provide project ETAs and status

  D) #EveryoneShares - be transparent towards all stakeholders (i.e. Facilitators): if you are asked about project status then you're already late
    a) Push information when a milestone is approved
    b) Push information when a defined ETA is changed for whatever reason
    c) Push information when additional project requirements are uncovered

  E) As soon as you receive a deliverable from the subcontractors prioritize reviewing it and providing feedback
    a) If you need some time to review the deliverable provide the subcontractor with an ETA - what you expect from the subcontractor about giving and honoring ETAs applies to you as well
    b) Check deliverable conformance to specs, functionality, quality, performance, code where applicable
    c) If something isn't good enough send it back with sufficient feedback
    d) If a deliverable meets all of the milestone acceptance criteria inform Ops and the subcontractors about it to cover the financial side of the milestone


Project touchdown

  1) Project is officially complete as soon as all milestones are approved and all project requirements are fulfilled - you determine when this happens by giving away final project approval
    a) Don't give an approval if you haven't allowed all team members (devs, SSEs) to review the deliverables and to report all found issues, provide feedback
    b) Don't give an approval just to end the project sooner if there are still remaining issues - be persistent for the subcontractor to resolve all of the known issues
    c) When in conflict with the subcontractor whether an issue is a bug or an additional request feel free to consult with Ops, but also remember that we need the project 100% completed as soon as possible with the highest possible PUQ so if a small additional project appendix will get us there don't think twice about it and err on the subcontractor side
    d) Always remember: the more things subcontractor didn't finish the more work for you

  2) Never stop thinking about additional work you can subcontract, especially if you're happy with the subcontractor
    a) Spin off a new project immediately if you already found additional work needed for an R2, R3, Rn down the way
    b) When applicable ask the subcontractors to do some comp research on their own and to suggest any missing features, areas where we can improve the project - senior guys who are looking for additional work will be happy to help you out with this


Key things to remember

  1- You are the project manager and you own the project from start to finish
  2- Ops is always there to help you out with administration and PM advice whenever in doubt
  3- Don't be afraid: Failure is ok, fear isn't ;)