dev notes

software development craftsmanship


According to User Story Mapping, 44ff there are several ways to grow a product. You can take the requirements as given and build a product peace by peace. Finally you deliver it all, or try to build working products with each iteration.

Henrik Kniberg revisit this topic in a resent blog post in a more detailed way.

When you are developing a new product, what is your skateboard? If you develop a todo application for example, maybe a simple textbox with a resulting textfield may be your skateboard.

You are able to insert todo items and revisit them later. On the next iteration you may delete items.

This could be your mvp. You have a product, some early adopters can work with.

Depending on the market other features may become relevant.

  • user management / logon / oauth ...
  • grouping items
  • managing user groups

When you try to keep these iterations as small as possible, with every iteration a user can help workout a better solution. The possibility to work against the customer is minimized dramatically.

If you create a product by your own, you can either choose to build a product until you have your 100%, or grow your application step by step, and integrate others into your ideas.

If you are working on a project, the customer must play along. There are contracts to fulfill and often there are several parties in the game.

When you decide for a mvp approach for a non trivial application, you have to decide how to iterate throw the production cycle. Among other things you have to care for your data over all iterations, what becomes more complicated on a multilayered application.