Patterns, Anti-patterns and the Next Wave of Enterprise ......1. Lumpy Scrum - many teams still...
Transcript of Patterns, Anti-patterns and the Next Wave of Enterprise ......1. Lumpy Scrum - many teams still...
© 2008-2009 Leffingwell, LLC.
Patterns, Anti-patterns and the Next Wave of Enterprise
Agile Adoption
By Dean Leffingwell May 2009
© 2008-2009 Leffingwell, LLC.
The Agile Methods Explosion
XP Industrial XP Scrum Dynamic System Development Methods Feature Driven Development Crystal methods Test-driven Development RUP & Agile UP Open UP DSDM Lean Kanban
2
© 2008-2009 Leffingwell, LLC.
Has Largely Settled for Now
3 Source: Jeff Sutherland, Agilis 2008
© 2008-2009 Leffingwell, LLC.
Patterns
Establish Agile Enterprise Transition Team Comprehensive rollout of Scrum Training
– Scrum for Teams 70-80-90% coverage – ScrumMaster Training 20-30-40%
Organization into agile teams – Start Sprinting Little or no initial emphasis on technical practices
of agile development (no XP or TDD) Little initial impact on PMO, Portfolio
Management, Governance Models Substantial improvement, substantial progress Impediments to further progress emerge…..
4
© 2008-2009 Leffingwell, LLC.
Six Anti-patterns…
1. Lumpy Scrum - many teams still struggle with basic agile project management practices
2. Inadequate code quality – /necessity/proficiency/application of technical practices
3. Weak product ownership– Insufficient depth/competency in this critical role
4. Excessive entropy at scale – Harmonizing and coordinating development of large scale systems?
5. Governance conflict – vs. governance models and agile team practices – “waterscrumming”
6. Management Exclusion – “if you are the pigs, does that make your boss the chicken?”
5
© 2008-2009 Leffingwell, LLC.
LUMPY SCRUM
6
© 2008-2009 Leffingwell, LLC.
Lumpy Scrum
Even basic Scrum is quite difficult for software teams (nobody said it would be easy….)
Degree of agility varies from team to team, location to location, product line to product line, business unit to business unit
Amount and timing of training Employee turnover Complacency with status quo after initial transition
7
© 2008-2009 Leffingwell, LLC.
Which creates problems
8
Per
cent
age
of te
ams
Not agile struggling agile very agile expert agile
System of system velocity is constrained by the lowest velocity teams
© 2008-2009 Leffingwell, LLC.
Lumpy Scrum Challenges
Whole team? Agile leadership? Self organizing? Effective time
boxing? Done? Product ownership? Story writing? Acceptance testing? Individual
performance?
Complacency? Corp impediments? Test automation? Technical practices? Thrashing/too many
projects? Tooling and
infrastructure? Continuous
integration? 9
© 2008-2009 Leffingwell, LLC.
INADEQUATE CODE QUALITY
10
© 2008-2009 Leffingwell, LLC.
Inadequate Code Quality
Scrum is an effective software project management framework which focuses on the team
XP is an effective software development method and small team management framework which focuses on the code
DSDM is an effective software project management and software development framework which focuses on the team and on the code – but not enough people appear to care
Scrum Wins Now, back to code quality…….
11
© 2008-2009 Leffingwell, LLC.
Inadequate Code Quality
At scale (and even not at scale) it is possible to implement scrum, increase feature delivery rate, and keep the injected defect rate % constant
– result: more defects per unit time! Uncool! Scrums Inspect and Adapt is a slow way to
correct basic deficiencies such as poor coding practices – Example – how long would it take to find “we need
meaningful method names” as root cause to lack of “doneness”’?
12
© 2008-2009 Leffingwell, LLC.
XP Technical Practices
13
Whole Team
Planning Game
Small Releases
Customer Tests
Collective Ownership
Coding Standards
Test-Driven Development
Refactoring
Simple Design Continuous
Integration
Metaphor
Sustainable Pace
Pair Programming
© 2008-2009 Leffingwell, LLC.
WEAK PRODUCT OWNERSHIP
14
© 2008-2009 Leffingwell, LLC.
Weak Product Ownership
• The role of the product owner is well articulated in Scrum
• Critical new role realigns organizational behavior
• Many assume the role will be filled by product managers
• Experience has shown that this does not always work
• Many organizations and teams under-staff or under-evolve this role
• The role is often immature, distributed amongst various team members and/or shared by leads who play too many roles • Net effect: poor agility.
Product Owner • Assure team is pursuing a common vision • Establish priorities to track business value • Act as ‘the customer’ for developer
questions • Work with product management to plan
releases • Plan, elaborate and accept user stories
and iterations • Technical: understand and prioritize
refactors and infrastructure
© 2008-2009 Leffingwell, LLC.
EXCESSIVE ENTROPY?
16
© 2008-2009 Leffingwell, LLC.
Excessive Entropy?
Independent scrums teams with independent objectives (see the “12 tribes of Israel” post)
Differing sprint and release lengths. Maybe no release planning at all.
Difficulty communicating strategic intent across teams – logistics and practicalities
Teams coordinating (too many) interdependencies
Basic information model (user stories) inadequate for challenge of scale
Localized team tooling not supportive feature program, and portfolio level status
17
© 2008-2009 Leffingwell, LLC.
Needed for enterprise agility
1. A scalable organizational model to harness all the energy of the newly energized teams to a common strategic intent and product roadmap
2. A lean and scalable requirements information model to reason about requirements at enterprise scale
3. An agile, systematic process model to effect the intent
18
H
H H
H
Fordiscussion,seewww.scalingso2wareagility.wordpress.com
Inspiredbycollabora9onLeffingwell,LLC.&SymbianSo2wareLtd.
©2009 Leffingwell, LLC.
© 2008-2009 Leffingwell, LLC.
GOVERNANCE CONFLICTS
20
© 2008-2009 Leffingwell, LLC.
Governance Conflicts - waterscrumming As the teams become more agile, more corporate
impediments arise – Fixed date, fixed scope programs – Many many many projects and programs – Milestones reflect waterfall governance – Teams being “project and program managed” – not empowered – Thrashing and milestone/task switching overhead
Teams become discouraged, complacency sets in, revert to status quo
And/or “Clash of the titans” - PMO vs. Agile Teams – Teams: “our management just doesn’t get it” – Managers: “our teams don’t’ understand that we are held
accountable for fixed external deliverables’
21
© 2008-2009 Leffingwell, LLC.
DOES MANAGEMENT EXIST IN AGILE?
22
© 2008-2009 Leffingwell, LLC.
Management in Agile? Scrum - You are either a “chicken” or a “pig”
– Pigs participate – Chickens watch (who are the chickens?)
Agile teams are self-managing and self-organizing – What’s a manager to do?
From Scrumbutt test: – “There are no project managers (or anyone else) disrupting the
work of the team”. Who do they mean by ”anybody else”. You?
Agile is often bottom up – or exec level top down – But what about middle management?
23
© 2008-2009 Leffingwell, LLC.
Role of Leadership in Lean Thinking
The role of the leaders within the organization is the fundamental element of sustaining the progress of lean thinking.
Experienced kaizen members at Toyota, for example, often bring up the concepts of Sensei (Lean master coach) because they feel that transferring culture can only happen when Sensei continuously coach and guide less experienced lean teams
24
Womack and Jones, Lean Thinking. 1996,2003.
© 2008-2009 Leffingwell, LLC.
© 2008-2009 Leffingwell, LLC.
END
26