Skip to content

Latest commit

 

History

History
60 lines (30 loc) · 2.57 KB

File metadata and controls

60 lines (30 loc) · 2.57 KB

Software working advice by Cyranix

https://news.ycombinator.com/item?id=16377523

Set up clear organizational guidance for project artifacts.

  • Where will all of the docs and spreadsheets go?

  • How will you keep track of which issues are relevant in your issue tracker?

  • How can stakeholders get self-service updates on the project?

  • Keep labels and naming as consistent as possible across the various services you use.

  • For more formal situations, you might also need to set up RACI or similar communication structures.

Define measurable outcomes as success criteria from the very start.

  • Do you want to increase customer lifetime value, or get more daily active users, or decrease AWS spend, or...?

  • You need at least one, and probably no more than five if you want to stay sane, and they all need a target number.

  • Measure your starting number, and document how you calculated it, because you're going to need to use the same method again later.

  • It really helps if at least one of your measurable outcomes has a non-zero starting point.

Conduct a pre-mortem.

  • Everyone on the project (or representatives of each role, if somehow your team is too big) gets together and imagines that the project is complete but ended up going less-than-well.

  • Brainstorm every failure mode you can think of, then brainstorm ways to prevent or mitigate each failure mode.

  • Some failure modes are unavoidable, and it's good to recognize that too.

  • Create tasks to follow up on each preventative measure.

Set milestones to gauge progress.

  • This can be lightweight and still be useful.

  • Each milestone allows you to evaluate the impact of unforeseen challenges, whether the quality of work is high enough, whether scope or time needs to be adjusted, and even whether to pull the plug early.

  • Iteration boundaries are fine milestones.

Conduct a retrospective when the project is complete and enough time has passed to collect the appropriate metrics.

  • Check the outcomes using the calculations from step 1 and 2.

  • Celebrate successes, assess shortcomings, and brainstorm ways to improve the way that projects are run.

  • It's surprisingly important to be explicit about learning from past mistakes.

  • Now you're ready to rinse and repeat.

These principles are orthogonal to, or perhaps operating on a higher level than, kanban or agile or what-have-you.

These principles won't force you into a waterfall methodology, but they may require you to think a bit harder up front.

These principles are compatible with continuous deployment or other similar development practices.