Defining features

One thing that I’ve been doing on agile projects recently is spliting up the feature set at the start of the project, this lets people see what is required and think about what is possible.

Starting out

At the project kickoff meeting I get the team to sit down and go through all the features that might make up a product. This isn’t a definitive fixed feature set - things change during the project - but capturing everything early allows everyone to contribute to the direction of the project.

Its a fun and engaging process but it can leave you with a very large list of features and this can not only be impractical but also quite demoralising.

The Long Grass

While capturing the product features it is important to retain some control over the scope. For this I use two lists, one for “core features” and another for “long grass”. The core features form the minimum viable product that is needed to release the product. The long grass is everything else you might like to do in a project.

Movement

On an abnormal project you would then work through core features, and if there was time move to long grass. In reality features change during the product development: New features are introduced, existing ones are removed, things that are core become less critical and things that would be nice-to-have are moved from the long grass.

the long and rough grass lists.

Having the two lists does however gives everyone clear sight of what is required for a project and everything that is possible.

Having the long grass list also removes the ‘why aren’t we doing feature x’ from subsequent meetings. Everyone can see what has been captured on the long grass and if it really is such a fantastic feature then once the core is complete we can all go and implement it.

The 3rd List

For large projects I have occasionally split these list into slightly more granular steps.

  • Core: For the minimum viable product.
  • Rough grass: For things to implement next.
  • Long grass: For the stuff way off - often quick big pieces of work in their own right.
    With two levels of “nice-to-have” the team felt it was ok to put some big ticket ideas on the list. Big tickets items are good, they allow people to dream and often smaller ideas bubble up as part of the process.