What is the difference between projects and products? Why does Agile favour a product approach over a project approach?
Software development has traditionally been done in projects. A project would wrap a set of interrelated features together and aim to deliver most or all of them. Usually a project is planned in an attempt to work out what will be delivered and when.
Agile typically takes a different approach. Instead of wrapping a set of features together it instead focuses on a dynamic prioritised backlog of features.
It is not unusual to see organisations trying to use the Agile approach on projects. They take a set of features, prioritise them and attempt to deliver them iteratively. So what is wrong with this approach?
Projects are often inherently non-Agile
The issue with projects is that they encourage a lot of non-Agile behavior.
For example, it is a great temptation to plan a project up-front. Perhaps even coming up with a timeline for the project and maybe even a deadline. This planning process often discourages changes as they may jeapordise the plan. This is in conflict with the Agile value of responding to change over following a plan.
The project approach may also ignore the desire to deliver the highest value features first. A project is a set of features and it is likely that some will have higher value than others. That means that to complete the project the lowest value features will need to be implemented.
The question the organisation needs to ask itself is "are the lowest value features for a given project more important than the highest value features for other projects?"
Typically the answer to this question is no. However, the project approach encourages the completion of one project before another is started. That means the organisation is not always working on features in value order.
The product approach
A product approach thinks of features as a continuous stream of work. This tends to be a more Agile as it is responds well to change and is focused on delivering the maximum value.
The challenge with the product approach is that it changes a lot of the traditional ways organisations work. This includes:
- Bug fixes and busines as usual (BAU) work is mixed in with new feature work
- There is less up-front planning
- Value is assessed at the feature level rather than at the project level
Adopting the product approach is often one of the greatest challenges for organisations that are trying to be more Agile. It is worth the effort as it supports many of the core Agile values.
Tags: agileproductsprojectsTarget Audience: DeveloperProduct OwnerScrum Master