Businesses need to be agile. There is no dispute on this anymore. The world of technology is changing rapidly. What we considered as science-fiction is already a reality like self-driven cars, drones delivering goods to houses. I saw a recent video where the drone actually performs a robbery (possibly now buying drones will require license and drones will need to have license plates to identify them).
Analysis used to be the forte of traditional software development approaches such as Waterfall.
Analysis helps us predict aspects for the future and hence is expected to reduce the requirements churn. Now agility seems to be at loggerheads with analysis, as analysis is bound to take additional effort and time. So are Agility vs. Analysis Foes or Companions?
What should be our approach in this case?
Let’s use 2 by 2 matrix to help us in this situation.
The 2 dimensions we can consider are:
Predictability of requirements
The effort required to analyze
The quadrant where the predictability of requirements is High and the effort required is Low, is the best quadrant to complete analysis prior to development. Example of such requirements can be field-level behavior of an application interface.
When the predictability of requirements is Low and the effort required is High, it is the least preferred quadrant for completing analysis prior to development. Example of such requirements could be determining the usability of an application interface for targeted customer groups. Such types of requirements are possibly best determined by the prototyping approach.
On the usage of the remaining 2 quadrants, the BA needs to make a professional judgment.