Agility is the ability to do what you need at the right time and to the right level of detail, to be able to analyse enough now to enable you to build something that works, which can be implemented preferably into production in order to gain the benefit you planned.
But how about concerns that are cross cutting that impact many areas and would have a big impact if they were to change, same rules apply? You wouldn’t dream of not thinking about the software architecture of a solution and just building something, that’s a trick used by the RAD/agile cowboys. Rather you would create a backlog, review that backlog looking for stories that are architecturally more risky that others and reduce risk by considering a spike, whether that is within an early iteration or part of an activity that is an appropriately sized at the start of a project (see Valtech’s Inception offering).
User experience seems to fit in the same problem space. There are some considerations that you don’t want to let evolve over time you want a coherent approach that will form a decent foundation, be flexible enough to accommodate change, we all know that there will be change, but will not evolve into a tangled mess as features are developed. A solution I’ve used is to consider these types of stories as spikes and priorities them sufficiently high.
We’ve been able to manage these types of architectural considerations in Agile for a while
- As a Finance Director I would like the system to scale sufficiently to support my business plan so that I can generate sufficient revenue to meet board expectations.
- As the Operations Director I would like a structures logging paradigm so that I can operate the system and analyse issues efficiently.
… may realise as spikes, so what’s the Quantum leap to expecting
- As a user of the site I would like a consistent approach to search so that I find content easily.
- As the marketing director I would like my users to a simple to understand navigation paradigm so that they use my site and return to my site.
- As the sales director I would like to implement some access and entitlement so that I can charge users for my premium content
- As a user of the system I would like feedback to be provided in a clear and constant manner so that I can use the system easily and I know what to expect.
… to realise in the same way.