Agile in non-software development

This blog collects a number of sources on the subject of applying Agile methods to areas other than software development.

The Agile Manifesto

"The Manifesto for Agile Software Development

We are uncovering better ways of developing software by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan


That is, while there is value in the items on the right, we value the items on the left more."

I like to think the popup tent was agile

Musings after Agile on the Beach

This post gathers together some of the strongest impressions made on me by the recent   Agile on the Beach conference in Cornwall.

Agile is a mindset, a collection of methodologies and tools put together by people, predominantly involved in software production.  It is strongly influenced by Lean Manufacturing methods and what Toyota did in developing their production systems, starting with Kanban.

Although Agile was developed in the software industry, its methods and lessons can be applied in any activity where there are customers, developers and producers, and deliverers.

Agile is also relevant to new activities and to those which are already established.

Since people and their relationships are more important than the processes and tools when being agile, personal experience, character and aspirations will influence what one finds rings true and makes sense. Each person following the Agile path will make their own journey, collect their own bits of wisdom, have their own favourites.

Product development

"Instead of “we can build it” we start with:
• Do customers have this problem?
• If we solved it, would they pay for it?
• Would they buy it?
Then:
• Can we build it?"
Benjamin Mitchell


"Innovation Accounting
The Three Learning Milestones
1. Establish the baseline
- Build a Minimum Viable Product (MVP)
- Measure how customers behave right now
2. Tune the engine
- Experiment to see if we can improve metrics from the baseline towards the ideal
3. Pivot or Persevere
- When experiments reach diminishing returns, it’s time to pivot

Pivots
• A pivot is a change designed to test a new fundamental hypothesis about the product,
business model or engine of growth
• A startup’s runway is the number of pivots it can still make
• Pivots take courage"
Benjamin Mitchell

Innovation

"Successful Innovation:
Make a little.
Sell a little.
Learn a little.


Innovation = 1% Inspiration + 99% Perspiration
1. Significant, focused technical expertise
 A decade of deliberate practice.
2. Deep understanding of an important problem
 What annoys people?
3. Passion, engagement, dedication
 Obsessed with growing the idea.
4. Experimental approach
 Build to learn. Learn to Pivot."

Mary Poppendieck

Value Stream Mapping

"Map End-to-End Flow
Value Stream -  The flow of activities that starts with a customer in need, and ends when that customer’s need is satisfied."
Mary Poppendieck - Value Stream Mapping

Stories

"Format of a Story
As a <role, beneficiary> I want
<capability> so that <benefit>


+ <role> is the customer of the Story
+ <capability> is what
+ <benefit> is why



Conditions of Satisfaction
<Facts that would demonstrate ‘capability’ exists>"
Nancy Van Schooenderwoert

Agile in non-software development

Declaration of Interdependence
"Agile and adaptive approaches for linking people, projects and value..."


Agile Software Qualities
"Not long after I encountered the Agile Manifesto, it struck me that the Values and Principles could be applied to work other than software development." Scott Duncan


Ten Practices for Applying Agile/Lean Software Management Principles to Other Knowledge Work
Dean Leffingwell, author of Scaling Software Agility: Best Practices for Large Enterprises, suggests that other types of knowledge work can apply useful principles learned from Agile, Lean, Scrum, and XP software development.


What is the Scrum method?
Scrum is one of several light-weight agile methods that use an iterative and incremental approach for the development of information systems.  The Scrum method brings a small team together to work on a specified set of features over a period of 30-days (called a sprint).


Agile Work Uses Lean Thinking
Lean and Agile are both methods of improving the effectiveness and performance of
work processes. Lean comes primarily from manufacturing and in particular the Toyota
Production System. Agile comes primarily from Agile Software Development and
Project Management. Agile Work has borrowed heavily from Lean thinking and
practices. There are three important connections between Lean and Agile: queueing
theory, empirical process control, and team self-management.

PODSI and PDCA

Plan, Orientate, Design, Select, & Iterate (PODSI)
Plan by identifying the potential target, vision, and feasibility of the project that will ensure the active participation of all stakeholders. Determine if the managers are indeed going to collaborate or are willing to learn to collaborate. If they simply want you to be an order-taker then, “run my friend run, run as fast as you can!” Find a project with people who desire to collaborate.
Orientate in order to recognize the level of the complexity of the environment (Cynefin) so that the initial learning architecture can be started to solve the problem. Use Exemplary Performers and/or Subject Matter Experts to help identify the complexity of the environment.
Design by using a collaborative approach or model so that only the minimum required knowledge and skills are taught that will resolve the problem. Build other useful benefits into the learning process during the final iterations.
Select the correct learning objects, processes, and tools that will provide the needed knowledge and skills that support both formal and informal learning — the use of small learning objects will increase the speed of iterations and allow you to more easily transform parts of the instruction into informal and nonformal learning.
Iterate by prototyping the initial design and to determine what other performance support technologies are required that will fully support the learners' quest to better performance. Use After Action Reviews to transform deficiencies into actionable items. Transform the formal learning objects to informal or nonformal learning as possible.
Don Clark - Agile Design


Plan-Do-Check-Adjust
Plan-Do-Check-Adjust (PDCA) is known as the model for continuous improvement. The four-phase approach provides a simplified sequence to carrying out change. And, it is so much more: it is a cycle that doesn't necessarily end. Instead, the cycle charts a course for follow-through and allows for true continuous improvement as work and processes evolve to meet the constantly changing needs and expectations of customers.

PDCA encourages us to constantly strive for a "perfect" process, with the understanding that as our customers change, so, too do their needs change. And so by constantly Checking and Adjusting, we can keep pace with our customers' needs and provide products and services that are of value to them.

PDCA Definitions
Plan: Recognize an opportunity and plan a change. Obtain baseline metrics and gather information.

Do: Observe and analyze the current process, design an improved process, test the change.

Check: Review the change, monitor and evaluate the results. (What is working? What have you learned?)

Adjust: Modify and make improvements as needed. If the change didn't work out, begin the cycle again.

CONTINUOUS IMPROVEMENT