Matt Blair

Matt Blair

I read that you learn more from a poor example than from a correct one. I don't believe this but that means my site will be a success.

3-Minute Read

Project Planning

More Shared Knowledge on Projects

  • Include more people in code reviews even if they’re not actively picking up development tasks – this shares out knowledge of the changes and gets another set of eyes that can ask good questions
  • Break team silos, share knowledge
  • Do Team PR’s for big PR’s
    • Ideally break work into small pieces though
  • Do team share of projects for tech projects, share knowledge
  • Team Collab!


  • Implement monitoring and error visibility to make it easier to debug problems down the road.
  • Data driven approach whenever we can to illustrate impact. This can be something we start collection at the beginning and continue through out the project.
  • implement monitoring & debugging for every milestone, every deliverable

Testing & Tech Debt

  • Automated testing early in the process
  • Test Plan/Test Matrix up-front
  • Fix broken windows along the way
    • broker time for tech debt
    • broker time for related bugs in the backlog

Status Update/Communication

  • Constant, detailed, concise status updates in channel – this is particularly helpful when rolling new people on because you can say “please go back and read the content of the channel for the past week”
  • Frequent check-ins/deliverables
  • Customers/Users to consult with along the way
  • highlight risks early and often
    • Clear Communication of Risks, Early & Often
  • Roll out plans
  • Disorganization from not knowing what work streams are in progress and who is working on what tasks
  • Clear Status Updates in Channel
    • Nice for on-boarding new folks
  • clear comms, high vis

Kickoff & Milestones

  • Clear Milestones
    • What is the smallest thing we can deliver to our customers/partners so they can validate our approach?
  • Clear outline of project goals and milestones, this helps us fall back on the main objective when things get unorganized
  • Kick Off!
    • Celebration, where we’re going
    • Outline what we want to build
    • Why we’re doing it
    • Is how that important?
    • What you’re going to do is not that important
  • 🎉 Continue celebrating small wins!
  • You need time devoted to design, review, write tech specs
  • You need time for fast-follow work that you uncover along the way
  • Clear Project Goals & Milestones
    • when things get disorganized, what to do

Project Task Tracking Doc

  • Keeping a separate project doc that tracks tasks and stories. It can be a bit of a pain to manage and sometimes is a couple days out of date, but I’ve found it very helpful in keeping alignment on the work left to do for a project
  • Take into accounts bugs and broken windows you can fix along the way
  • Don’t be too fine grained on certain tasks
    • Things can be rough if clear. You don’t need a page long ticket for a one line change Tech Specs / RFCs
  • Pre-planning for any project should begin much before the actual work
    • Getting familiar with code base
    • Setting up environment
    • etc etc
  • Tech specs or brain storming sessions that involve the entire team in the design process.
  • Create a detailed design doc to iron out the implementation details
    • no matter how small the feature/project is
    • take them through the appropriate design reviews
  • RFCs
    • Full RFC overview right before the official kick-off.
    • could be an engineering focused project where we comb through assumptions and highlight any risks.
    • This might also help with setting original expectations on delivery date


  • Full Team Swarming has value
  • Reduce having single developers on projects
  • Attempting to breakdown work or introduce parallelism for projects that were not initially designed that way can cause problems.
  • Figure out in the design phase what work that can be done in parallel (planning for multiple developers)

Recent Posts



This theme was developed for Hugo static site generator.