A common chant in the agile community is we focus on value.
What does this mean? What are the units of measure of Value? How do we know we are actually producing the RIGHT Value? How much will it cost to produce this Value? When is this Value needed to actually be valuable?
Here's an approach used in our Software Intensive System of Systems (SISoS) domain.
It's called Capabilities Based Planning. This step is one of the steps needed for project success in SISoS when developing the software with Scrum.
Capabilities Based Planning is a method involving the functional analysis of operational requirements. Capabilities are identified based on the tasks required. Once the required capability inventory is defined, the most cost effective and efficient options to satisfy the requirements are sought. Capabilities Based Planning, under uncertainty, provides capabilities suitable for a wide range of challenges and circumstances while working within an economic framework that necessitates choice.
The practices for defining a capability addresses the flexibility needed to ensure system responsiveness and sustainability in a context of constant change, while delivering tangible benefits to the buyer.
These include Agility, Tailorability, and measures of a System Element’s coupling and cohesion. Governance principles provide guidance to institutionalize a process, including its continued assessment and evolution over time in support of the tangible system benefits. These include Enforced Rules & Responsibilities, Workflow Guidance, Continuous Improvement, Transformation enablers. The core concept of Capabilities Based development is to focus on the delivery of value. The concept of “Value Focused Thinking” starts with two methods of decision making: the 1st focuses on the competitive analysis between the various alternatives, and the 2nd focuses on attaining organization values as the fundamental objective of any decision making process. [Pagatto07] During the development of the Concept of Operations for each capability, assumptions must be made in the absence of specific technical and operational information. To avoid unwelcome surprises, some form of assumptions based planning is needed.
- Make operational plans,
- Describe plausible events,
- Identify the “signposts” for potential problems,
- Discover shaping actions that shore up uncertain assumptions, and
- Take hedging actions to better prepare for the possibility that an assumption will fail [Dewer02].
Capabilities planning consists of several core processes that describe the system capabilities in the absence of the specific technical or operational requirements. Discover what is not known by reaching a sufficient basic knowledge level setting the problem space. Identify problems by understanding the current process, along with people and technology involved. Establish boundaries and solution elements. These are grouped into five categories: Orientation principles align the process on a sound theoretical basis issued from generally accepted practices in the areas of engineering, modeling, and acquisition.
These principles include Capability Thinking, Architecture Models, Evolutionary Development, and Deliverables Centric planning. Communication principles enforce the standardization of vocabulary and structure of information to be exchanged within or outside the process. These include Standardized Formats and Common Terminology to describe the system capabilities. Collaboration principles enable active and timely participation of all stakeholders involved in the engineering of a capability. These include Collaborative Engineering and Information Sharing between the contributors of the system capability elements.
Here's how that is done.
Discovering needed system Requirements for the system begins with a narrative description of the needed Capabilities. Defining capabilities provides a rational basis for making decisions about requirements and allows planning to be responsive to uncertainty. [TTCP] This sounds like a tautology – a Chicken or the Egg problem. But discovering the system requirements is difficult in the absence of some higher level description of the needed “Capabilities” of the desired system. The concept of a “Capability” is a capacity or potential [Davis]:
- Provided by a set of resources and abilities
- To achieve a measurable result
- In performing a particular task
- Under specific conditions
- To specific performance standards
One approach to capturing the system capabilities is:
- Start with the customers understanding the current and future operational needs of their system.
- Aligning those needs with industry standards and trends.
Translating the needs into system capabilities in the form of system requirements specification or a Concept of Operations. The Systems Requirements Specification is not the same as a Technical Requirements Specification.
Establish a high–level system concept to identify system components and their interfaces. Guide the Integrated Product and Process Development (IPPD) Teams, mentoring, and working with providers of system components (both custom built and COTS) to ensure they adhere to the overall system view. Work with the customer to identify and mitigate technical risks through a structured Risk Management process at the Systems Requirements level. Verify each system capability through a System Integration and Qualification Test Plan. Work with the customer to develop a Fielding and Product Support Plan of the delivered system.
“This method involves a functional analysis of operational requirements. Capabilities are identified based on the tasks required… Once the required capability inventory is defined, the most cost effective and efficient options to satisfy the requirements are sought.”
These options are evaluated in the context of a robust set of threat scenarios.
So when we hear agile focuses on Value and there are no Units of Measure for the Value, no defined process for eliciting those measures or the value elements, it's a false statement without some means of making tradeoffs between that Value in units of measure meaningful to the decision makers. These measures start with Effectiveness and Performance.
Another good place to look for guidance on identifying and managing Value is the TOGAF framework, Chapter 32, Capabilities based Planning