Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

XP Practices as Scaffolding for Breakthrough Companies

202 views

Published on

XP Practices as Scaffolding for Breakthrough Companies

Published in: Technology
  • Be the first to comment

  • Be the first to like this

XP Practices as Scaffolding for Breakthrough Companies

  1. 1. XP PRACTICES AS SCAFFOLDING FOR BREAKTHROUGH COMPANIES Vu Tung Lam XP Day VN 2015
  2. 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. 3. OUTLINE Breakthrough Companies, their challenges & required “scaffolding” Answering big questions § Keep delivering business value while addressing legacy engineering challenges § Sustain the changes
  4. 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. 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. 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
  7. 7. Legacy code looking like this
  8. 8. With engineering best practices
  9. 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. 10. HOW TO KEEP DELIVERING BUSINESS VALUE WHILE ADDRESSING LEGACY CHALLENGES?
  11. 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
  12. 12. 12 Valtech Confidential
  13. 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
  14. 14. GAME-STORMING TO EMPOWER TEAM MEMBERS TO CHANGE
  15. 15. GAME-STORMING TO EMPOWER TEAM MEMBERS TO CHANGE
  16. 16. MAINTAIN A TECHNICAL DEBT BACKLOG
  17. 17. MAINTAIN A TECHNICAL DEBT BACKLOG
  18. 18. ITERATIVELY ADDRESS DEBT STRICTLY DRIVEN BY BUSINESS VALUE & REFINE BACKLOG
  19. 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. 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
  21. 21. AUTOMATION – WEB SITES
  22. 22. AUTOMATION – MOBILE LITE SITES
  23. 23. AUTOMATION – MOBILE APPS
  24. 24. BUGS CAUGHT WITH AUTOMATION (WEB)
  25. 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
  26. 26. HOW TO SUSTAIN THE GOOD CHANGES?
  27. 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. 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. 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. 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. 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. 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. 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. 34. Q&A Vu Tung Lam Agile Coach, Engineering Director
  35. 35. THANK YOU!

×