Planning software development with a time machine

I have an amazing time machine that lets me think better about projects. This is part 3 in a series of blog posts exploring the use of a time machine.

In order to get a handle on how to build a feature for your next iteration, take a trip with your time machine to the future to watch how the feature will be demonstrated.

It’s often hard for developers to focus on exactly what tasks needs to be performed in order to build a new feature. Instead, we often end up breaking a feature down into nerdy and unfocused tasks such as “create a new table in the database”. Yawn!

Instead, form small groups of 2-3 team members, each working on one new feature at the time. The teams will write down how they would demonstrate that this feature was complete and actually working. Then each group will stand up and actually give the demo, indicating features in a system that’s not yet built.

A typical imagined demo goes something like this:

  1. “Welcome to this milestone of the development of project X. We are very excited to show you a lot of progress this week. I will now show you the exciting new … feature.
  2. “You can access the feature by starting the product and selecting X from the menu. As you can see (indicating to a black screen), you will be given a list of options to X, Y or Z. For the purposes of this demo, I will select X
  3. “….
  4. “This concludes creating a new X. We will now demonstrate how we can see that the X has been created…
  5. “As you can see, the new feature X helps user Y fulfill goal Z. I hope you are as excited about seeing actual uses start to use it as I am.
  6. “Thank you!” (applause)

While planning and giving a demo, a team often starts asking questions like “but where will we get information about X”, “how can we display Y in a sensible way” etc. These are exactly the kind of questions needed in order to plan the work ahead.

Seeing a demo from the future allows the work to be more focused on the goal and helps the team uncover hidden assumptions and missing information.

PS: I want to give kudos to my colleague Lars who has given one of the most amazing imagined demos I’ve ever seen!

Copyright © 2015 Johannes Brodwall. All Rights Reserved.

About Johannes Brodwall

Johannes is Principal Software Engineer in SopraSteria. In his spare time he likes to coach teams and developers on better coding, collaboration, planning and product understanding.
This entry was posted in English, Extreme Programming. Bookmark the permalink.

Comments are closed.