Agile, the buzz word that every organisation (IT enabled; pun intended) has decided to imbibe in its working culture. It is common to hear that success comes naturally when implementing the principles of Agile albeit on the back of sustained change. Without tearing down the word success, it is important to understand that success is often framed by a scope in an IT driven world. This scope is the single most deciding factor of 'possibly' measuring alignment of what is delivered to what was stated.
So in a simple line the formula should be :
A good scope = Group of Stated need = Great user stories = What is delivered
The pre-assumption in most scenarios where budget is owned by business is the understanding that 'real' customer requirements have been fielded, collected, analysed, bucketed into slices and than passed onto the product creation team to ensure that the end product (if there is anything known as 'the end' in a constant changing external demand driven by customers, competitive pressures, etc.) meets all the stated needs.
Agile in any of its derivatives (umbrella of methodologies), is very successful in ensuring that what is stated is actually delivered. It does this by continual re-alignment of user stories through its ceremonies and creating a well knit collaborative team that works directly with the product owner.
But, here is where a finer understanding is required. Delivering business value is directly proportional to fulfilling customer needs in time and ensuring that the product is a well knit, profitable fit, Any feature capability that is ahead of its demand curve increases marketing, sales and build cost. Too low in feature capability makes the product basic and undermines it saleability especially when it is placed in a competitive market. Getting it right, is what determines success and this what an agile methodology will help in. However, it is important to understand that it works perfectly well (defining perfection is another long article) from the point of a stated need and like written earlier, real magic happens when a product is knowingly created.
Kano model analysis is a fantastic tool that is easy to implement and ensures that any product being created or any feature upgrade to an existing product can be bucketed into:
Delighters
Performance Needs
Basic Needs
It is an absolute imperative that great product design does not happen over night but at the same time it cannot be months of analysis before it is decided as both are detrimental. One relies on chance, rapidly increasing cost and the other makes sure the competitive edge is eventually lost.
As a tool, Kano analysis can ensure that every user story is aligned to any one of the buckets. It is important that every product owner understands the difference between the three bucket, subtle as they may be.
Performance needs are a no -compromise bucket and this is where most cost gets sunk in to ensure that customer satisfaction is maximised. These are the absolute top of the mind and customers would very freely speak about them. More often than not, they come with a ' need for now' mostly associated with losing a customer, an erroneous system and/or a competitive advantage.
The key to success however is to install enough delighters which create a paradigm shift in product design and allow customers to stick to the brand. There are a few examples of brands that do this, Apple and Microsoft sticking out. Ensuring, that there are enough delighters in the product ensure that there is always excitement with every feature refresh.
It is also key to know, that over a scale of time every delighters falls from delighters to performance finally settling into basic needs before moving becoming obsolete.
A good hypothesis would be to have a build that will create:
20% Delighters+50%Performance+30%Basic = 100% aligned product
Of course, the above is a rule of the thumb and every product owner with a good mix of a collaborative team can decide the split to design or upgrade an existing product.
A good way to begin is :
Actual need= Stated need = Stated user story wherein
Actual need = Delighters + Performance needs + Basic Needs
This installs a value curve that defines stickiness and creates continual alignment to actual needs.