Small projects, clear scope

Minutes of planning save you days of programming. It is shocking how little planning it takes to make a big difference.

We're trying a new thing at work called "Hey what if we defined what done looks like before we jump in the code?". Revolutionary I know 😆

Truth is we've tried planning before and it didn't stick.

Maybe chaos didn't hurt enough yet, maybe we needed to hire enough engineers for people to feel they have time to slow down and think. I certainly feel like I have more time to think than 3 months ago when I wrote about spinning plates.

Either way, after just 1 week of this (and 2 weeks of pre-work by the managers), I'm seeing stress levels are visibly down and everyone's saying they appreciate the structure. People love a clear goal that they understand how to reach.

You don't need much:

  1. What is the goal? What problem are we solving?
  2. How are we doing this?
  3. How will we know it's done?
  4. What are we not doing as part of this project?
  5. Who will be happy about this?

Put that in a project brief and add tasks for every step. At Tia we used to do this on the story level because projects measured in quarters. At Plasmidsaurus we're trying it on the project level because projects take weeks and initiatives take quarters.

🤷‍♂️ words. It's all the same.

You shouldn't write that plan in a vacuum. Everyone who's going to work on the project should be in the room and contribute. Let juniors speak first.

Manager or PM defines the goal, team jointly defines the execution plan. Always ask to get over the water, not build a bridge. Write things down. It forces you to be clear.

You have to define what's not in the project. Write it down in bold if you have to. Never make a project called "Make X better", "Updates to Y", or "Blah v2". Those accumulate scope forever and won't let you move on.

Make a new project for all the great ideas you're getting. Put it on the backlog.

And make sure you understand who it's for. Helps you get feedback and follow up to make sure it worked. Deliver incrementally. One pain point at a time.

Cheers,
~Swizec

PS: I think super experienced engineers do this intuitively. For others, adding a little structure helps.