Agile projects require continuous analysis

Too many agile projects fail to analyse the problem they are trying to solve because they feel analysis takes too long. All too often the decision to introduce IT is taken by well-meaning senior managers who fail to see the need for analysis or understand the problem they are trying to solve with IT.  Once the problem has been assigned to the IT department analysis can be side-lined in favour of development work and technical solution. If you give the problem to IT to solve, then they are going to look to IT to solve it!

“I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail”. Abraham Maslow 1966

While this is always well intended, the decisions taken can often fall short of the projected outcomes for the project and after a few months the project attempts to deliver anything, rather than deliver nothing.

Analysis is needed but it needs to be done iteratively and continuously

Agile teams recognise the need for continuous integration and test environments, many now turning to Devops to ease the flow of transitioning and integrating software into the live environments. We also need to apply continuous analysis if we are to understand what a project is trying to achieve? What problem is the project or software trying to solve?

Continuous analysis is the ability to analyse just enough just in time to prove or disprove assumptions. After all, we are only really guessing at the beginning of a project anyway. Nobody really knows whether the project or the software will solve the problem or not? Nobody can be sure whether the requirements are right or wrong until the requirements, or stories, have been delivered and feedback is obtained.

 

Figure 1 – Continuous analysis

Personally, I would love to lose the term ‘requirements’ preferring instead to think of them as ideas and concepts. When doing continuous analysis, it is important to do just enough early analysis to understand what ideas and concepts might be the most important ones to prove or disprove first. Continuous analysis is an iterative process that must continue until the ides or concepts are small enough to be developed within a 2-4 week period.

What we can be sure of is that continuous analysis at the beginning, and throughout, a project is essential if we are to deliver solutions that the customers deem to be of value. Continuous analysis requires those with an ability to analyse, dig for information, question why and do it all with an agile approach and mind-set.

4 Replies to “Agile projects require continuous analysis”

  1. Quote: “Nobody can be sure whether the requirements are right or wrong ”

    Really? What about the end user — the person or group who asked for a solution in the first place? In this process of “continuous analysis”, does the end user ever get what they thought they were asking for?

    1. Sometimes what they are asking for is not what they need. But what I am saying is that the ‘requirements specification’ does not necessarily define the truth about what is needed. This is because we don’t actually know whether what was proposed (i.e. the requirements) actually meets what is needed until the value is received by the customer (i.e. solution delivered). All too often we deliver requirements, that turn out to be redundant features, just because they were specified. In continuous analysis we iterate and evolve understanding, rather than assume we got it right first time when we did requirements elicitation some 6-12 months previously. So the end user gets what they need and what the business is willing to pay for. Maybe that is what they asked for, but maybe it isn’t. Ultimately, this reduces waste and increases feedback loops enabling users to change their minds about what they thought they wanted once they see what is being delivered.

  2. Great article and a nice visualisation! Couldn’t agree more with the need for continuous analysis, even in a non-agile context (you may not be able to get true user feedback, but you can share early development & test outputs to validate that you are delivering the right thing)

Leave a Reply

Your email address will not be published. Required fields are marked *