Upload
agile-day-vietnam
View
46
Download
0
Embed Size (px)
Citation preview
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.
OUTLINE
Breakthrough Companies, their challenges & required “scaffolding”
Answering big questions
Keep delivering business value while addressing legacy engineering challenges
Sustain the changes
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
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 theirhigh innovation pace.
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
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?
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
ACKNOWLEDGE PUBLICLY THAT YOU HAVE LEGACY PROBLEMSo 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
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
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
RECAP
1. Implement an Agile flavor…
2. Manage technical debto 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
UNDERSTAND HUMAN PSYCHOLOGY WITH RESPECT TO CHANGES1. 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
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”
31 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
• Successful first sprint and readiness to continue Scrum process
• Report of recommended practices
Week 2-4
Sprint 0
32 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 recommendedpractices
Deliverables
• Skills transferred
• Measurable improvements
Weeks 3-4 Weeks 5-8
33 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 deliveryDuration: 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/knowledgetransfer.
Weeks 2-6
BUILD SUSTAINABLECOMMUNITIES 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.
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