I'm currently studying The Agile Fluency model by James Shore and Diana Larsen, and I found this talk, which is almost a perfect transposition of the great article published by the very same authors on Martin Fowler's blog: http://martinfowler.com/articles/agileFluency.html. This post is indeed the starting point if you want to deepen this topic. Or you can check out my notes here...
Here's the video: https://vimeo.com/68327316
The promise of Agile is simple and compelling: a team that effortlessly surfs the wave of business possibility, changing direction to meet the needs of a changing market. So why do so few teams achieve that ideal? Lack of fluency. Agile may be simple, but it's far from easy, and it takes years of practice to do well. We'll look at four phases of Agile fluency, what you can expect from each phase, and how to increase your team's fluency so you can achieve what Agile promises.
My personal notes taken while watching this video
"Essentially, all models are wrong, but some are useful." George E. P. Box, statistician.
Fluency is unconscious competence, how you react under pressure.
What you fallback to is your fluency.
Fluency is more a matter of habits than skills. Although training courses can teach the underlying skills, the skillful ease at the heart of fluency requires practice. A lot of practice.
Team Fluency is how a team develops software when it’s under pressure. Anyone can follow a set of practices when given time to focus in a classroom; true fluency is a skillful, routine practice that persists when your mind is distracted with other things.
It’s best to choose the level of fluency you want to achieve and to practice everything needed for that level from the beginning.
Teams progress through four distinct stages of Agile fluency:
Level 0: We Build Code
Starting point: fluency in programming. You have a "team" of dev which build code, maybe not bug-free, maybe not able to deliver when they should.
The "team" is now really a collection of individuals with complementary technical skills, not a real team.
Than a foreign element occurs: e.g. managers want to improve quality (reduce bugs) or more successful ability to deliver. So they decide they want embrace agility.
One Star: We Create Business Value
One-star fluency level reflects Agile fundamentals.
- Do you really need a team that can focus on creating business and customer value?
- Do you need people who can collaborate on planning, prioritizing, and working to achieve value?
- Do you want to be able to tell at a glance whether or not the team is making progress toward your delivery goals?
If that’s enough for you and will serve your purposes, a team fluently proficient at one star is your best fit. Invest in developing a strong, trusting, collaborative team and a work process design (like Scrum, Kanban, Scrumban) that focuses on prioritizing work by the value it will deliver.
This level requires a team to learn to work together and to focus on creating business value rather than merely finishing technical tasks: instead of planning in terms of technical considerations, such as software layers or modules, the team now plans in terms of business, customer, or user benefit, exhibiting Focus on Value fluency.
In return, the organization gains greater insight into the team’s work, and has more opportunities to influence that work in positive directions.
This level requires a shift in team culture (team work vs individual work), a mindset shift.
Dev will speak the business language, not just tech topics.
Many companies succeed producing crap code... why?
Business success makes a company, but the lack of Technology success will brake the company later.
Personal success will glue the company together.
Two Stars: We Deliver Business Value
Two-stars fluency level reflects Agile sustainability.
- Do you need the value-focused benefits a one-star team offers and also have customers who demand low or no defects and predictable delivery on a regular, defined cadence?
Focus on the ability to ship at will: shipping at market's cadence (to do that you have to have high productivity and low bug rates)
You'll need to invest in a team skills shift, a lot of work! The team have to invest in learning a wide array of development skills. This shift eliminates technical limitations to delivering working software, and the team exhibits Deliver Value fluency.
XP is an Agile method commonly used by two-stars teams. It’s often combined with Scrum or Kanban.
Useful techniques include automated build, continuous integration, test-driven development, pair programming, collective code ownership, evolutionary design, refactoring, ...
Some companies start with both the 1-star and the 2-stars, while other companies start by reaching only level 1 fluency and then adds technical excellence of the level 2 later. Both of them will reach anyway level 1 first, because it's easier.
Three Stars: We Optimize our Business Value
Three-stars fluency level represents the promise of Agile: a team that dances and turns in response to changing market conditions, and collectively takes responsibility for building the best product your investment can buy.
- Do you need all the benefits of a two-stars team plus the satisfaction of knowing that your development effort captures all the possible value in its product?
- Do you want a team (or teams) that understands your business and customer needs so well that they can contribute innovative product development ideas?
- Are you willing to give the teams continuous access to business knowledge and build trust between the software developers, product developers, and business strategists?
- Will you assign dedicated product manager/owner expertise to every team for ongoing customer and product discovery?
Just because you're shipping it doesn't mean you're shipping the right things.
Shipping the most valuable things that you could, at the market's cadence. That's 3-stars fluency.
You'll need to invest in a shift of organizational structure. This may mean changing organization structure, redefining management roles, and shifting administrative and operational procedures.
This also mean that the team may internalize the capability to understand and address market needs and conduct experiments. This organizational structure shift moves key business capabilities inside the team, which will then exhibit Optimize Value fluency.
Having a PO without powers (a glorified PM, which has to ask to others) or having a PO that you see only once a week or once a month is not the right thing to do to reach this level of fluency.
You need real expertise in the team as full-time contributors... sometimes you have to develop this expertise on your own team because the company does not have that.
Lean Startup is an example of a method that operates at the three-star level. It’s most applicable to new product development. The ideas from Lean Software Development are also useful.
- Gojko's impact mapping
- Agile chartering
- Embedded product management teams,
- Customer discovery
are all useful to define the vision of the product to build.
Spend social capital to bring business and market expertise in the team.
Four Stars: We Optimize our Organization's Business Value
The fourth star represents Agile’s future, or "Beyond Agile": it's where Agile could be headed as the community continues to evolve its understanding of Agile possibilities.
- Do you see value in a development team that becomes an integral part of how the organization does business, offers innovative ideas for new products, and engages in conversations about direction setting?
- Do you want teams that can set aside their own prioritized work to make space for initiatives more important to the whole company?
- Are you eager to give team members a seat at the decision-making table because you trust they understand how every decision affects every stakeholder in the company?
Four-star teams collaborate with other teams to optimize the value produced by their whole organization. Reaching this level requires whole-system thinking and a willingness to experiment.
It's an inspirational level (it's not a good idea for every company)
- You have peer decision-makers to set the agenda of their own organizations
- Collaboration between teams in the org to optimize the system
- Bottom-up decision-making
It requires a strong shift in the org culture.
Techniques include Agile portfolio management, systems thinking, value stream analysis, whole system planning, intact teams, open book management, and radical self-organization.
Companies at the 4-stars level:
- Valve (https://www.frontrowagile.com/blog/posts/27-valves-culture-self-organization-and-scrum),
- Semco brazil (http://agilelifestyle.net/seven-day-weekend e https://www.ted.com/talks/ricardo_semler_radical_wisdom_for_a_company_a_school_a_life?language=it)
- W.L. Gore
- Zalando (radical agility),
- Spotify, ...
How to use this model?
This is not a maturity model (e.g. CMM). In a maturity model you want to reach the highest level.
- if you're influencer in an org: the model will help you understand where to make your investment
- if you're a consultant: you will be able to help your client to understand what the trades-off are (investment vs benefits) in an agile evolution.
Use the model diagram to have conversations with decision-makers about trade-offs on how to use agile in their orgs:
- Start considering benefits: which of these benefits do we want to achieve?
- Check the trade-off investments
Choose your target
- level 1 throw-away system (delivered in half a year and not maintained then)
- level 2 large or bureaucratic orgs
- level 3 small orgs, startups
- level 4 culture of extreme innovation
Practice everything necessary to get there
- Never Stop Practicing