The Metrics and Reporting View looks at the various feedback cycles, metrics and reports in Holistic Software Development.
“Lean” is a philosophical approach which aims to empirically minimize waste in business value producing activities using pull economics and waste reduction.
Lean classically identifies seven types of waste; however we don’t focus on types of waste. Waste is just waste.
The 5 Lean principles are:
- Identify Value
- Understand the Value Stream
- Create Flow
- Establish Pull
- Seek Perfection
The most effective organizations focus their efforts only on the most valuable activities, this extends from strategy decisions through to development activities. Wasteful activities are just that, a waste of resources, time and money.
1. Identify Value
Generating or delivering Business Value is the purpose of a business. Typically, a commercial business will measure Business Value financially however public sector organizations, charities, open source communities and others will measure value differently.
From the work of Mizuno and Akao:
Value is recognized when Business Customers or Product Customers perceive one or more of the following:
- A problem of theirs is solved or minimized
- An opportunity they desire is seized, maximized or enabled
- That they “feel good” about themselves
- That they “look good” to significant others
Value can only be defined from the end customer’s point of view of specific products and specific outcomes.
We call this the “POFL” model as a way of remembering it (Problem, Opportunity, Feel Good, Look Good) and apply it to both commercial and non-commercial organisations.
In commercial terms the opportunity mentioned can be a profit opportunity, but often other aspects of Business Value will be relevant such as reputational impact (both positive and negative).
For non-commercial organizations we recommend looking at the end customer and qualifying their needs in the terms above (POFL). This qualification gives an understanding of the Business Value for each major end-customer or end-stakeholder. If there are many Business Value statements then the business may be fragmented, there may be advantage in greater cohesion or even separation into spin-off businesses.
We recommend incorporating feedback into interactions with end-customers/stakeholders as a primary driver for “creating pull” in the organization and identification of value streams. Creating a top level feedback cycle is one of the best drivers of quality, productivity and success in an organization. This feedback is an excellent way of aligning Strategic Direction with Business Value.
Value must be defined from the customer’s point of view or at least from the holistic business’ point of view when operating in an open market. Organizations that are heavily structured often find that teams, including teams of teams, will describe their customers as other teams in the organization. This undermines understanding of value from the end-customer’s point of view and leads to the normalization of wasteful work. Instead we recommend transparent communication of customer focused business value based on than a holistic assessment using the it using the Problem, Opportunity, Feel Good, Look Good (POFL) model. Misidentification of customers as other teams/departments leads to requirements problems resulting in a significant risk that delivery teams build the wrong products.
Considering value in this way is crucial in the definition of successful products and sometimes requires a realignment of how an organizations internal departments work. We have seen several dysfunctional instances of organizations producing products where the value is defined by the engineers and delivery teams (or worse proxy Requirements Managers). As a result, when products inevitably don’t meet customers’ needs or product adoption is slow the typical response from the engineers is that the customers did not understand, or were not mature enough, for the product. This is a symptom of value not being consistently understood in an organization. Agile/Iterative and Continuous Flow ways of working are expected to identify this problem early during early deliveries to the Customers, which is why involving the actual Customers, early and often, is critical.
A killer product is any product that is so necessary or desirable that it proves the core value of some larger technology.
2. Understand the Value Streams
Lean recommends specifying value from the end customer perspective and gaining a deep understanding of the steps involved in producing that value (a value stream). We can then remove steps that don’t directly contribute to that Business Value eliminating waste in the system as a whole. Many teams make the mistake of thinking their customer is the next team in the value stream which can lead to problems and waste in end-to-end value streams. The customer must be a Product Customer or Business Customer, and value must be considered from their perspective.
Examination of the steps that create Business Value is called “mapping the value stream” in Lean this is a step towards eliminating waste. Opportunities for eliminating waste in a value stream can be found by:
- Removing unnecessary steps in the process
- Minimizing waiting time
- Reducing work in progress
- Reducing handoffs and excessive levels of communication
- Eliminating gold plating
- Reducing errors and unnecessary rework (failure demand)
- Eliminating empire building
The most effective way to understand a Value Stream is to directly physically examine it. Mapping provides a useful tool for drawing out value streams, both at an organizational level and at a product level but be wary of trying to simply measure value streams. Workflow metrics can be useful indicators but they are no substitute for direct inspection.
The Go See practice involves literal physical examination of working practices, communication paths, interactions and products.
Read more: Go See
3. Create Flow
“Flow” involves making the steps in a value stream execute in as tight a sequence as possible, reducing wait times between tasks and queue times at team handovers. . The less handovers there are in a process, the better the flow. Where there must be handovers, optimization is often possible. The resulting reduction in wasteful waiting improves efficiency and ensures that the product flows smoothly to the customer. A smooth flow that is caused by a “pull” from the end customer ensures that every step in a value stream contributes to Business Value and the stream as a whole is efficient.
Workflow Metrics are often used to help measure and drive flow:
Workflow Metrics are indicators of flow and health in an organization. Used to compliment direct engagement through the Go See practice they can help provide evidence for decisions and provide indicators of areas to investigate.
4. Establishing Pull
The 4th Lean principle of establishing pull is a very useful idea for organisations to adopt. By pulling on customer-focussed Business Value, rather than building up to customer value from many contributing activities, a culture of working on-demand can be established. By focusing on activities and behaviors that serve creation of Business Value rather than pre-defined processes dynamic organisations can be formed in response to portfolio needs articulated by Business Leaders.
In HSD, Business Strategy choices are determined by Business Leaders who direct investment as part of the Portfolio Build/Selection process. this creates a set of Strategic Goals and Portfolio Requests, updated as part of Continuous Investment Review.
We can think of these Portfolio Requests (and their derivative Programmes and Projects) as items on a high-level backlog. By prioritizing the portfolio, understanding dependencies and then assigning resources to execute a Portfolio Request a “Pull effect” will be caused from the Business Leaders throughout the organization. Continuous Governance acts as a feedback loop at the strategy level to ensure continued investment in projects, programmes and other delivery cells is warranted and incremental.
Attempts to create a pull effect within a project that isn’t part of an intentional portfolio related to strategic goals are at best extremely challenging and at worst simply don’t work as strategy and project work is disconnected.
Some implementations of Lean thinking can focus on the ceremonies and artifacts that are used by Lean practitioners such as Kanban boards. We have seen attempts where software development teams use Kanban as an alternative to Scrum (or similar) to manage low-level development activities, often these efforts ignore the principles of Flow and Pull using the Kanban board simply as a task tracking board with no concept or application of lean thinking. This results in a simple cargo cult adoption of lean and Kanban that provide limited benefits beyond a team information radiator.
A useful mechanism to create pull from the top level of an organization is to regularly produce and publish an Executive Dashboard. Transparency in executive reporting encourages common understanding of strategic goals and intent, discouraging green-shift reporting.
The Executive Dashboard is the top level report that combines reporting on progress against strategic goals, development organization health and workforce shape. Providing evidence for Business Leaders to make decisions the Executive Dashboard helps to generate “pull” throughout the organization.
5. Seek Perfection: Bringing it all together
Focusing on Business Value (which is actually often more than simple financial return), using pull economics throughout the business from strategic level, through portfolios, programmes (if they exist) and into product delivery ensures that activities in the value stream have inherent value and are justifiable. Continuous feedback cycles at all levels are used to improve Flow. In this way we can aim for perfection – Holistic Software Development is designed to enable pull economics and Flow improvements with an explicit focus on value throughout a minimized organizational stack.
Aiming for perfection is facilitated in HSD by building verification and validation into every activity and using feedback loops from development team level to business strategy level.
Tracking Lean and Cycle times are good ways of measuring value stream but are no substitute for direct examination of a value stream. We recommend literally walking the value stream in physical terms – do not just rely on the chain of communication and governance mechanism to ensure that the development activities are working towards the strategic goals.
Continuously identifying waste and removing it helps to ensure that organizations become as lean as possible. When improving a process, we recommend measuring the improvement from as wide a perspective as possible to ensure that the system as a whole is not degraded by a local improvement. An excellent method for identifying waste is to simply ask people in the organization what they feel they shouldn’t be spending their time on. By freeing up people to use their skills effectively and removing the minor obstacles to personal productivity we can have significant value stream optimization effects and motivation improvements.
We frequently encounter teams with high maturity development practices working on products that do not meet the needs or objectives of the business. This is often obfuscated by middle management or commercial management effectively informing the strategic leaders that everything is on track while the fact is that projects are deeply dysfunctional – despite everyone’s best efforts.
Developing systems that don’t provide value is wasteful, as is developing software that doesn’t support the business strategy.
Divergence from Lean
Lean has its foundations firmly in manufacturing processes and manufacturing metaphors are often used to describe software processes. However, there is a fundamental difference between manufacturing and software knowledge work. Manufacturing involves a production line producing many instances of the same thing. Software, in contrast, involves creating a unique production line to produce a unique product once, and then continuously changing the production line until the end-product is right.
A complex software development project is primarily the coordination of many different people engaged in many specialist creative activities that collectively produce a unique product. For this reason, Holistic Software Development takes concepts from Lean and mixes them with concepts from agile and iterative development as well as tried and tested Strategic, Portfolio and Programme Management practices.