SOFTWARE DEVELOPMENT
19/11/2024 • Kris Vandebroek

Progressive elaboration: the Asteroids approach to agile

Destroying complexity one Epic at a time

Remember the Atari classic Asteroids? If you’re familiar with it, you might already feel a twinge of nostalgia. If not, here’s the picture: You’re in space, piloting a ship surrounded by massive, slow-moving asteroids. Easy targets, right? But every time you shoot one, it shatters into smaller, faster fragments, much harder to shoot and dodge. 

When you first start out, you might opt for a strategy that focuses first on shooting all the largest asteroids. They are slower and easier to hit. But, soon enough, you’re dodging tiny, chaotic rocks flying everywhere. You lose control and then 💥 BOOM! Game over.

Sounds familiar? It’s a lot like losing control when managing complex projects. 

There is a better way! And it’s a strategy that works in software development as well as in the Asteroids game. In software development, we call it Progressive Elaboration.

Breaking down big problems: the Asteroids approach to agile

To reach a high score in Asteroids, you’ll want to focus on one large asteroid. You systematically break it down in smaller parts and try to clear them. This will make sure that you’ll always stay in control. The total number of asteroids flying around you, is kept to a minimum and the other large asteroids are easy to follow and avoid.

When you completely eliminated the first asteroid, you can target the next big asteroid.

This is also how we approach large, complex challenges in software development. When faced with multiple Epics (a large, complex problem), tackling multiple at once can lead to chaos and a high Cognitive load

By using Progressive Elaboration, we focus on one item that brings the highest value, break it down into manageable pieces (Features or User Stories) and prioritize them. Next, we can focus on the piece with the highest priority. This way, we keep everything manageable and avoid that 'Game Over'-feeling when a project spirals out of control.

How to apply Progressive Elaboration: 3 techniques

Here are three examples on how to start applying Progressive Elaboration — or, as we call it here, the Asteroids approach — to break down complexity and focus on delivering value:

1. User Story Mapping

Use this technique (reference card) when you are launching a new product or a larger end-to-end service.

Step 1: Map the customer journey.
Define each step of the customer journey and identify all the personas involved.

Step 2: List potential features.
For each step, list the possible features to enable the user in that step of the customer journey.

Step 3: Identify the smallest viable features.
Focus on the smallest possible set of features to build towards the E2E workflow. It should either deliver value to the customer, provide insights to the Product Owner, or reduce development risks.

Step 4: Target and tackle.
You’ve identified the first Asteroids to focus on. Tackle them one by one, splitting them when needed until you reach User Story level.

Step 5: Deliver, learn and repeat.
Consistently re-evaluate, keeping the big picture in mind while breaking down and focusing on one asteroid at a time.

2. Upstream Kanban

This technique is especially useful when the core E2E workflow of your product has already been implemented and the Product Team wants to improve or expand it.

The Upstream Kanban board is your visualization of all the “Asteroids” that are flying around your project. At any time, we have a lot of possible features we can build. We call these “Options”. These Options must be prioritized. When the team has available capacity to start shooting the next Asteroid, it goes into “Discovery”. This is where we use the Progressive Elaboration Technique. We break the Option down into smaller parts and we prioritize. Then one by one, aligned with the priority, we can do the actual delivery (= detailed analysis and development).

Step 1: Visualize “asteroids” on a Kanban board.
List out the
Options that the business or users would like to explore.

Step 2: Prioritize Options by Value.
Sort based on outcome or potential value.

Step 3: Pull items when capacity allows.
When ready, pull an item into Discovery—where it’s analyzed and broken down.

Step 4: Move to delivery once clear.
When an item is well-defined, send it downstream for development.

3. Mindmapping

This technique is flexible and effective, even for smaller tasks like creating a blog post.

Step 1: Use a mind mapping tool or paper. Write down the big “asteroid” you want to tackle, break it down into smaller parts, and prioritize.

Step 2: Focus on one item at a time. Repeat the breakdown process until you have clear, actionable items.

Step 3: Track the big picture. The mind map keeps you grounded in the larger goal while you handle immediate tasks.

Keep complexity under control and deliver value

By adopting these techniques, you’ll face fewer “game-over” moments in your projects. You’ll keep complexity under control, delivering value one manageable chunk at a time — just like breaking down asteroids before they overwhelm your ship.

So, what’s your next big asteroid? How will you apply these techniques to make your projects more manageable and deliver more value?

Are you interested in learning more? 🎁 We’re offering 5 free brainstorming sessions with an Agile Coach.

And if you need a break, play a remake of the original Asteroids game here!