At the Lean Digital Summit 2019, Yves Caseau, Group CIO of Michelin talked about software factories and how to leverage lean and agile practices to cope with uncertainty and complexity. It turns out that rising complexity is also making the mindset change to « agile laissez-faire » more difficult. He explained how Lean roots help to anchor the continuous learning and software craftsmanship ambition into corporate governance for large organizations.
More Lean digital stories on www.lean-digital-summit.com
Strategies for Landing an Oracle DBA Job as a Fresher
Lean and agile software because or despite rising complexity by Yves Caseau
1. Yves Caseau - Lean & Agile Software Development – October 2019 1/18
Lean and Agile Software,
Because or Despite Rising
Complexity
Dr. Yves Caseau
Group CIO, Michelin
National Academy of Technologies
http://informationsystemsbiology.blogspot.com/
https://twitter.com/ycaseau
October 7th, 2019 (v0.2)
2. Yves Caseau - Lean & Agile Software Development – October 2019 2/18
Part 1 : Adding Lean Roots to Agile Software Development,
Because of Complexity
Part 2: Systemic Conditions for the Emergence of
Lean & Agile Practices
Part 3: Lean and Agile Governance,
Changing the DNA of Large Organizations
Outline
3. Yves Caseau - Lean & Agile Software Development – October 2019 3/18
Agile software development
Agile in a nutshell
Iterative, small lots
(time-boxed sprints)
Focus on delivering and
measuring customer
satisfaction
Autonomous cross-functional
teams self-organize to
co-develop design, code
and architecture
Synchronized team works
with emphasis on face-to-face
communication
4. Yves Caseau - Lean & Agile Software Development – October 2019 4/18
Agile against VUCA
What we want to avoid
Rework
Missed TTM
Undeployed code
Communication waste
Agile brings systemic benefits in
a VUCA world
Volatility: backlog re-prioritization
/ sprint frequency
Uncertainty: user stories & re-
prioritization
Complexity & Ambiguity:
Customer feedback & demos
Up to a point …
5. Yves Caseau - Lean & Agile Software Development – October 2019 5/185
Short-term agility with incremental approach extended with
longer-term focus on capability and skills
System thinking through visual management
Adding Some (Other) Lean Roots
Kaizen : from root cause analysis to problem-solving-based
learning
6. Yves Caseau - Lean & Agile Software Development – October 2019 6/18
Four Key Practices
A3 for Kaizen
Voice of Customer
5S for Software
Systemic Visual Management
7. Yves Caseau - Lean & Agile Software Development – October 2019 7/187
Complex systems require “antifragile” capitalization –
focus on skills and collective learning
Complexity of “digital world usage” requires to listen to the user,
really well, quite often
Lean and Agile Because of Complexity
Complexity of iterative processes needs to be balanced by
refactoring (gardening) – from project to product
8. Yves Caseau - Lean & Agile Software Development – October 2019 8/18
Part II
Systemic conditions for
the emergence of
lean & agile practices
9. Yves Caseau - Lean & Agile Software Development – October 2019 9/18
Agile is a Shared “Mental Model”
Agile starts with a shared
vision of the world
“Waterscrum” delivers very
small benefits
Shared mental model
Effectuation
User stories
Agile requires shared
motivation and engagement
face-to-face business/dev
conversations
10. Yves Caseau - Lean & Agile Software Development – October 2019 10/18
Lean Operations Require Buffers
Queueing Theory
Reduce WIP to increase flexibility and reactivity
To collaborate is to share one’s buffers with each other
Continuous improvement and learning by doing
require buffers
“Lean Buffers” : self-organized time for the team,
towards a shared goal
11. Yves Caseau - Lean & Agile Software Development – October 2019 11/1811
Regular access to user feedback is necessary
to grow the solution value
This is easy in small structures, harder in large companies
The Need for a Continuous Feedback Loop
Shared access to “Voice of Customer” is the best way to align
efforts between teams in “agile at scale”
12. Yves Caseau - Lean & Agile Software Development – October 2019 12/18
Software Craftmanship as a corporate value
Love your code
Cherish your coding
standards
Value your developers
Respect technical
experience
// finds a cell with a min count (heuristic)
findPivot(g:Grid) : any
-> let minv := 10, cmin := unknown in
(for c in g.cells
(if (c.value = 0 & c.count < minv)
(minv := c.count, cmin := c)),
cmin)
// solves a sudoku : branch on possible
// values using a recursive function
// branch(...) does all the work :)
solve(g:Grid) : boolean
-> when c := findPivot(g) in
exists(v in (1 .. 9) |
(if c.possible[v]
branch((c.value := v,
solve(g)))
else false))
else true
// first propagation rule
r1() :: rule( c.value := v =>
(store(c.line.counts,v,0),
store(c.column.counts,v,0),
store(c.square.counts,v,0),
for v2 in (1 .. 9)
(if (v != v2 & c.possible[v2]) noLonger(c,v2),
for c2 in (c.line.cells but c) forbid(c2,v),
for c2 in (c.column.cells but c) forbid(c2,v),
for c2 in (c.square.cells but c) forbid(c2,v))))
// if c.count = 1, the only possible value is certain
r2() :: rule( c.count := y & y = 1 =>
c.value := some(y in (1 .. 9) | c.possible[y]))
// if a value v is possible only in one cell, it is certain
r3() :: rule( updateCount(cs,v) & cs.counts[v] <= 1
=> when c := some(c in cs.cells |
c.value = 0 & c.possible[v]) in
c.value := v
else contradiction!())
13. Yves Caseau - Lean & Agile Software Development – October 2019 13/18
Part III
Lean and Agile Governance,
Changing the DNA of Large Organizations
14. Yves Caseau - Lean & Agile Software Development – October 2019 14/18
Reconcile Short & Long Term with Product Culture
Short & Long-term
“Situation potential”
Velocity comes from skills
Product culture
Well-suited to information
systems
Continuous releases /
coding standards
Refactoring
Increase release frequency
to build skills
Lean “talk time” journey
Build “DevOps muscle”
15. Yves Caseau - Lean & Agile Software Development – October 2019 15/18
True Empowerment for Autonomous Squads
What a “true product owner”
means for developers
Frequency of decision
matters
Complexity implies that
context does not travel via
PowerPoint …
Empowerment because of
complexity - Jurgen Appelo:
“The real reason for
empowerment is the
manageability of the complex
system itself. Smart managers …
empower people to prevent the
whole system to break down”
16. Yves Caseau - Lean & Agile Software Development – October 2019 16/1816
The customer will decide what works for her and what does not
The customer is the architect of her own experience
Service exposure (API) is not an IT matter
The Customer is in Charge
The customer picks her software ecosystem
17. Yves Caseau - Lean & Agile Software Development – October 2019 17/18
17
Architects on-demand
System engineering coach and champion
The Role of Lean Architecture
Refactoring champion - promotes TD cleaning in backlog
API interface and “integration grammar” owner
18. Yves Caseau - Lean & Agile Software Development – October 2019 18/18
Conclusion
Lean & Agile : no other way to deliver software value
in a complex changing world
Lean & Agile practices are “grown, not designed”
Managers are gardeners.
They must protect the conditions of emergence against
Taylor-ed, control-addict, top-down corporate cultures
This is not a choice : “software is eating the world” …
and some companies are doing it well