XP Practices as Scaffolding for Breakthrough Companies
1. XP PRACTICES AS SCAFFOLDING FOR
BREAKTHROUGH COMPANIES
Vu Tung Lam
XP Day VN 2015
2. Vu Tung Lam
Agile Coach, Engineering Director
Ò Certified Scrum Master
Ò Certified Scrum Professional
Ò Certified SAFe Agilist
Ò Expert in Agile Training & Coaching,
Agile Transformation & Scaling,
Leadership, IT Organization &
Management.
Ò Scrum Alliance Profile
Ò Have successfully guided companies of
varied size (from a single team to
multiple teams geographically
distributed) through their transformation
to higher Agile fluency level.
Ò Experiences scaling Agile transformation
to multiple teams, multiple departments
beyond IT.
Ò Practical approach for Agile
implementation with a combination
Scrum, XP, Kanban, Lean, DevOps, LeSS
and SAFe.
Ò Decade of experience managing,
building engineering team and
implementing best technical practices
such as pair-programming, unit testing,
test driven, automation, CI/CD.
3. OUTLINE
Breakthrough Companies, their challenges & required “scaffolding”
Answering big questions
§ Keep delivering business value while addressing legacy engineering challenges
§ Sustain the changes
4. BREAKTHROUGH COMPANIES
☑Have built successful innovative
products, typically with large user base
☑Have beach-headed and captured
their market niches
☑Well positioned financially (profitable
or well funded)
☐Prepare to expand horizontally and/or
vertically
5. SCAFFOLDING
“Scaffolding, also called staging, is the
basis of most construction projects it is a
temporary structure used to support a
work crew and materials to aid in the
construction, maintenance and repair of
buildings, bridges and all other man made
structures.” – Wikipedia
In software engineering context, it is a
metaphor for practices & processes
required to be in place for companies to
sustain their high innovation pace.
6. CHALLENGES BREAKING-THROUGH
Product
o Adapt the successful formula to similar
areas
o Keep out-pace competitors in terms of
innovation and new feature development
o Figure the right things to build
IT
o Rapid expansion of engineering team
o Career transition, “new blood” infusion
o Legacy code base – enough said
o Curse of scalability – exponential cost
o Pace of technological changes
o Pressure to deliver from business
9. BIG QUESTIONS
Q1. How to keep delivering business value
while addressing legacy engineering challenges?
Q2. How to sustain the changes
and avoid falling back to old habits?
10. HOW TO KEEP DELIVERING BUSINESS VALUE
WHILE ADDRESSING LEGACY CHALLENGES?
11. IMPLEMENT AN AGILE FLAVOR
Scrum, XP, DevOps, Lean, whatever…
My opinions
o Start small, think about a MVP for process
o Don’t be purists – make Agile works for organizations
o Pick and choose appropriate tools from your Agile toolbox based on
business value, regardless of flavors
o Maturity of technical practices is more important than processes
13. ACKNOWLEDGE PUBLICLY THAT
YOU HAVE LEGACY PROBLEMS
o It requires a lot of courage to acknowledge
this publicly
o Helps business to understand, gain support
(time, resources, roadmap)
o Encourage team members to speak up, they
know best what wrong and how to fix
o Focus energy to drive changes, improve the
situation and avoid “blaming the ex-”
o Opportunities for big achievements
19. ARCHITECTURE FORUM
A community of volunteers who care about the technical quality aspect of software
development
o Ultimate owner of technical debt
o Drive problem discovery, solutions, proof-of-concept
o Consensus-based decision making (coding standard, technology choices, etc.)
o Favor team autonomy over standardization
o Promote de-coupling and reducing of inter-team dependencies
20. BUILD “SCAFFOLDING”
o Light weight automation tools that quickly give feedback (e.g. link checker)
o Unit testing core functionalities (20/80)
o High coverage with unit testing
o GUI automation
25. RECAP
1. Implement an Agile flavor…
2. Manage technical debt
o Acknowledge publicly that you have legacy problems
o Empower team members to suggest changes and to drive solution
o Maintain a technical debt backlog
o Prioritizing debt repayment based on $ value & effort
o Repay technical debt as part of development
o Architecture forum as the driver of this process
3. Build scaffolding to safe-guard technical changes
o Automation, automation, automation
o CI/CD => super fast feedback loop
27. UNDERSTAND HUMAN PSYCHOLOGY
WITH RESPECT TO CHANGES
1. Understand why people resist changes
2. Understand what drive & motivate people
3. Bottom-up approach in driving changes
4. Talk value, measure value, track progress, show wins
5. Reinforce positive feedback
28. STRENGTHEN YOUR SCAFFOLDING
WITH EXTERNAL HELP
Benefits
o Know-how experiences from
multiple implementation
o Expert opinions/assessments
o Objective, unbiased views
o Benefits as an outsider who is
less affected by an organization’s
“political minefield”
29. 29 Valtech Confidential
PATTERN 1: BOOTSTRAPPING
Kick start Agile: Train all
team members and
stakeholders, advise on
setting up appropriate
organizational structure, and
facilitate Sprint 0 for
pioneering team.
Duration: 1 iteration,
typically 2-4 weeks.
Preparation
Training/Setting Up
• Training: Agile Fundamentals
• Training: Scrum Essentials
• Assessment of Agile readiness for the
organization
• Advice of optimal organizational setup for
succeeding Agile adoption
• Logistical preparation:tooling, artifacts
Executing the First Sprint
• Play the role of an Agile Coach or Scrum Master to execute
the first Sprint
• Facilitate standard Scrum ceremonies:huddle, planning,
review, retrospective
• Remove impediments and coach the team situational
problem solving
• Deliver role-specific coaching with team members:product
owner,scrum master and the team
Week 1
Deliverables
• Knowledge transfer to team members
• Advices of optimal implementation
strategy for Agile adoption
Deliverables
• Successfulfirst sprint and readiness to continue Scrum
process
• Report of recommended practices
Week 2-4
Sprint 0
30. 30 Valtech Confidential
PATTERN 2: ACCELERATING
Accelerating Agile
adoption: Ideal for
teams are trying Agile
but inexperienced.
Designed to speed up
adoption and achieve
concrete, tangible
improvements.
Duration: 3-4 iterations,
typically 6-8 weeks
Overall Assessment
• Retrospective workshop
• Technical debt workshop
• One-to-one interview with team
members
• Agile/Scrum assessment
• Observation of existing Agile
practices
• Agree on success criteria
Bridging the gaps
• Identify skill/knowledge gap
and prepare workshops
• Deliver role-specific
training/coaching with team
members
Team Coaching
• Coincide with the current sprint/iteration cadence
• Product management skills for Product Owners
• Facilitation techniques for Scrum Masters/Project Managers
• Pair with technical team members to help on engineering best
practices
Week 1-2
Deliverables
• Assessment report &
recommended course of
actions
• Gap analysis & Engagement
plan
Deliverables
• Training/workshop help team
members bridging identified
gaps
• Report of recommended
practices
Deliverables
• Skills transferred
• Measurable improvements
Weeks 3-4 Weeks 5-8
31. 31 Valtech Confidential
PATTERN 3: CONTINUOUS IMPROVEMENT
Break that Barrier: Ideal for
teams who are comfortable
with Agile but face several
challenges of a fluent Agile
team: e.g. speed &
predictability of delivery
Duration: Depends on topic
& context, typically 4-6
weeks
Problem Defined
• Agile/Scrum assessment
• Investigate deep under the surface to
identify symptoms and problem.
• Define problem and measurable
success criteria
• Consultancy approach with team
members to come up with solution
Problem Solved
• Iteratively tackle the problem while maintaining metrics to guide
progress.
• Collaboratively work with team members and other relevant
stakeholders for a comprehensive solution.
• Depending on the nature of the challenge at hand, coaching team
members to address the underlying issues and prevent them from
occur again in the future.
Week 1
Deliverables
• Assessment report of the problem
and recommended course of actions
• Gap analysis & action plan
Deliverables
• Agree success criteria met
• Report of recommended practices & skills/knowledge transfer.
Weeks 2-6
32. BUILD SUSTAINABLE
COMMUNITIES OF PRACTICE
Agile
Practitioners
Agile Product
Management
Agile Technical
Practices
Agile Testing
DevOps
Architecture
Forum
Lean
Management
Build Communities Around Interests
o Start with a community of Agile
practitioners/supporters
o Core groups: Product, Technical, Testing
o Other more specialized groups: Security,
Architecture, DevOps.
Changes are sustainable when people believe in
and continuously seek for ways to advance status
quo, without much management interventions.
33. RECAP
1. Understand human psychology with respect to changes
2. Strengthen your scaffolding with external help
o Pattern 1: Bootstrapping
o Pattern 2: Accelerating
o Pattern 3: Continuous Improvement
3. Build communities of practices to carry the torch
34. Q&A Vu Tung Lam
Agile Coach, Engineering Director