This is the second part of my series explaining how Don’t Panic Labs approaches project management through the lens of a software release cycle.
How we approach release planning varies, but for this post I’ll focus a common approach we use: Themed Release Cycles.
When we begin talking about an upcoming release, we look to the product owner since it’s typically their vision that defines the release content. Our product owner meets with a project manager and lead architect to lay out what they want included in the release based on their current priority theme(s). For each item, we make sure we have a clear understanding of what is being requested. We also discuss different implementation options/risks/benefits and make decisions on how we’ll implement items.
Items needing further clarification are tagged as “Design Needed”. The most common design item needed is UI/UX design. Our goal is to have the user experience defined and have UI mockups completed prior to scheduling a work item into an iteration.
The project manager and lead architect then get together to do Rough Order of Magnitude (ROM) estimates on each item. I’ll discuss how we do ROM estimates in my next post. After items are estimated we order the items, usually doing the ones with the highest risk first, then grouping into iterations based on the number of resources we have available. The work effort for the theme(s) drives the length of the release cycle (i.e., when we are done coding/testing the theme that has the most effort, we’re ready for a production release).
Having themed release cycles gives the engineering team clear goals and is an easy way to communicate the engineering team’s current focus to the rest of the company.
Next, it’s time to schedule design meetings for items tagged as “Design Needed” ahead of the iteration those items are scheduled for and do iteration planning. But before I get to that, I’ll cover how we estimate items.