Go to Appendix
FLEX presents its solutions as a set of patterns. A pattern is a “solution to a problem in a context.”
What is a pattern?
Christopher Alexander, who created the concept, says
“Each pattern describes a problem which occurs over and over again in our environment and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.”
In FLEX’s case, the context is achieving business agility – the quick realization of value predictably, sustainably and with high quality. This, of course, requires solving several problems with each of these problems being solved in a different manner.
Patterns are best written up in a consistent format to act as a template for the person considering them. This is the format FLEX has adopted:
Name: Patterns are given a name that indicates the intention of the pattern (for example, “discovery intake pattern”).
Purpose: Describe the purpose of the pattern. That is, what objective it is trying to achieve.
Forces: These can be considered to be the issues to be considered. How the principles will work with the forces will be what defines a good pattern.
Social issues to deal with: Solutions always include a human, or social, aspect to them. Considerations about how people will react to the solution the pattern is proposing is important.
Coaching tips: These are included because effective transformation requires creating understanding of why the solution offered by this pattern is useful.
The FLEX Patterns
There are about 20 common challenges that organizations have. The table below organizes these by areas of the value stream. There are often several patterns available to solve a particular objective. When this is true, we call this set of patterns a patterns group. FLEX contains all of the patterns listed here, but not all have been documented. Those without links are currently in the process of being written up.
Note: Many of the FLEX Patterns were not documented in the patterns format. They are presented as they are still useful as documented. Future updates will convert them to the patterns format.
Pattern groups are patterns that have different solutions but which are all trying to solve the same problem.
- Value stream wide
- Strategy and portfolio
- Product Management and Discovery Intake Process
- Development intake process
- Planning and allocation
- Development group organization
- Cross-team collaboration and integration
- Technical agility
- Ops and release
- Implementation patterns
- Continuous learning
These are patterns that affect the entire value stream directly. These are about leadership, management, culture, visibility, and controlling interruptions.
Strategy and portfolio
- Strategies with OKRs and Lean Portfolio Management patterns group
- Agile budgeting
Product Management and Discovery Intake Process
- Defining MBIs patterns group
- Use Lean Product Management to Create an effective discovery intake process
- Sequencing the work patterns group
Development Intake Process
There are many different ways to plan and allocate your capacity to the work to be done.
How a development group is organized is a key factor in flow, value realized and quality. Merely organizing into trains usually provides less than ideals results.
- Well formed teams (patterns group)
- Quality Team Process
- Coordinate Shared Services
- Test-first patterns group
- Design patterns
- Automated Testing
Ops and Release
- DevOps Stage 1
- DevOps Phase 2
- Coordinating with marketing and support
These are solutions to the implementation part of the value stream. These include Essential SAFe, Mob programming, FAST agile and another approach that integrates the issues of implementation.
There are many ways to learn in the Agile community. Not all of them are equally useful. These patterns include, Plan-Do-Study-Adjust, Inspect and Adapt, daily stand ups, double-loop learning and
Special thanks to Brent Jensen regarding the ideas of FLEX and patterns.