Agile Business Analysis
Agile methods are helping teams deliver software faster and with much higher quality than ever before. In response, Agile has emerged as a driving force in software development. Businesses want to achieve the benefits of improved quality and rapid delivery. But getting faster at development is just part of the equation. As I discussed in my presentation “Feeding The Agile Beast”, you have to identify, prioritize, and scope what you are going to build so that risk is managed and ROI is maximized.
So, What’s New?
Agile methods have emerged from a few simple concepts. Change happens and people trump process (Thanks to Ken Schwaber via Steve Adolph). In response to this, substantially all of the Agile methods describe a way of delivering software that support the following attributes:
- Progressive elaboration a little ahead of demand (for planning, requirements, architecture, testing, etc)
- Incremental and iterative delivery (though not time-boxed in Kanban/Lean continuous flow)
- Ongoing learning through close customer engagement regarding product fit/business value that informs requirements and prioritization
- Ongoing learning regarding development/delivery approach and interactions that informs ongoing improvement efforts
- Self organization around the work (where the people performing the work decides how best to do their jobs within organizationally appropriate constraints)
In traditional software development, this identification and prioritization of what you are going to build falls in the role of the Business Analyst. However, traditional business analysis methods do not operate in harmony with the iterative and incremental cadence of Agile methods. For the most part, this is different than traditional plan driven projects. Over the next week or so, I am going through the capabilities associated with Business Analysis and discuss the how Agile impacts how business analysis is performed.
The Guide to the Business Analysis Body Of Knowledge
I am going to build this discussion on work from The Business Analysis Body of Knowledge® (BABOK®) from the International Institute of Business Analysis. The IIBA® is the independent non-profit professional association serving the growing field of Business Analysis. The IIBA has collected the current generally accepted practices within Business Analysis in The Business Analysis Body of Knowledge® (BABOK®).The BABOK® Guide describes Business Analysis areas of knowledge, their associated activities and the tasks and skills necessary to be effective in their execution.
The BABOK has six Knowledge Areas.
- Business Analysis Planning and Monitoring: Determine which business analysis activities are necessary to support an effort.
- Elicitation: Understand the underlying needs rather than stated or superficial desires.
- Enterprise Analysis: Understand what the enterprise is capable of performing.
- Solution Verification and Validation: Determine which solution best fits the business need – includes assessing the performance and effectiveness of the solution.
- Requirements Analysis: Organize, prioritize, and model requirements and risks.
- Requirements Management and Communication: Ensure knowledge gained through business analysis activities throughout the effort is shared among the team.
Within each Knowledge Area are several tasks. I will focus on how progressive elaboration, incremental delivery, close customer engagement, ongoing learning, and self organization impact who performs business analysis tasks and how business analysis tasks are performed.
Agile Business Analysis
Just to set my context. All of the Capabilities that are reflected in the BABOK happen on all projects – traditional or Agile. They may or may not be done by a specific role. They may or may not happen in a specific phase. They may or may not be done with any ceremony or intention. They do occur. Since the identification, prioritization, and scoping of requirements is so important to success, they need to be done well. And on an Agile project they need to be done so they enable – not constrain or impede – the delivery of value in projects leveraging progressive elaboration, incremental delivery, close customer engagement, ongoing learning, and self organization.
Tags: Agile, Big Agile, Business Analysis, Capability Analysis, Software Development
