Scaling Agile and distributed development webinar v1.0

514 views

Published on

The webcast is on agile development is overview of agile being done distributed. In this day and age when outsourcing is the standard and no development is co-located how does a company do agile development. You have license to do what every you want as long as it loosely fits the topic. Please send me the PowerPoint before or right after the presentation.

Published in: Software, Technology
  • Be the first to comment

  • Be the first to like this

Scaling Agile and distributed development webinar v1.0

  1. 1. © 2014 IBM Corporation Adopting Agile Agile and Distributed Development Webinar Reedy Feggins – rfeggins@us.ibm.com Certified ScrumMaster (CSM), PMP
  2. 2. 2 Scaling Agile Practices Innovation is increasingly being driven by software Source: Mobile banking: A catalyst for improving bank performance, Deloitte, 2010; and This Car Runs on Code, Robert Charette, IEEE Spectrum, 2009. Mobile banking will be the most widely used banking channel by 2020, if not sooner The average 2010 automobile contains more lines of software code than a fighter jet
  3. 3. 3 Scaling Agile Practices Source: Numerous sources, see speaker notes for details 2010 Spending in U.S. on governance, risk and compliance was $29.8 billion Increasing Mandates 62% of projects fail to meet intended schedule Unpredictability in Software Delivery 50% of outsourced projects are expected to under perform Globally Distributed Software and Product Supply Chains Complex, Multi-platform Systems and Applications 62% of companies have agile projects requiring integration with legacy systems 30% of project costs are due to rework and poor execution of requirements Changing Requirements and Time to Market Cost Reduction 70% budget locked in maintenance and 37% of projects go over budget 2010 Spending in U.S. on governance, risk and compliance was $29.8 billion Increasing Mandates 62% of projects fail to meet intended schedule Unpredictability in Software Delivery 50% of outsourced projects are expected to under perform Globally Distributed Software and Product Supply Chains Complex, Multi-platform Systems and Applications 62% of companies have agile projects requiring integration with legacy systems 30% of project costs are due to rework and poor execution of requirements Changing Requirements and Time to Market Cost Reduction 70% budget locked in maintenance and 37% of projects go over budget Software-driven innovation is challenging
  4. 4. 4 Scaling Agile Practices What is required to deliver high-quality Software on time and budget ?
  5. 5. 5 Scaling Agile Practices Agile flips the Iron Triangle
  6. 6. 6 Scaling Agile Practices Agile values Individuals Interactions Individuals Interactions Respond to Change Respond to Change Source: www.agilemanifesto.org Processes and Tools Processes and Tools Following a Plan Following a Plan over We value That is, while there is value in the items on the right, we value the items on the left more. Customer Collaboration Customer Collaboration Contract Negotiation Contract Negotiation Working Software Working Software Comprehensive Documentation Comprehensive Documentation
  7. 7. 7 Scaling Agile Practices Agile Framework XP • Based on simplicity, communication, feedback, courage, and respect • Start simple and add complexity through refactoring Scrum SCRUM • Small teams of 6-9 people • “Backlog” defined requirements that will be addressed in each Sprint • Daily 15 minute Scrum meeting to discuss work for the day Crystal • Frequent delivery • Reflective improvement Lean • Based on 7 core principles (e.g.,, • Eliminating waste, • amplifying learning • Building Integrity in from start • Uses Kanban and Value stream mapping to improve team performance Feature Driven • Develop feature list • Plan, Design, Build by Feature Test-driven development Planning game Pair Programming Refactoring Agile Practices - The above methods involve a range of techniques including: Continuous integration Design improvement Small releases Simple design Static Analysis Coding standard Sustainable pace Whole team “Agile” is generally a overloaded term in the industry… Disciplined Agile • People-first, learning-oriented hybrid agile approach to IT solution delivery. • It has a risk-value lifecycle, is goal- driven, is scalable, and is enterprise aware. Unified Process
  8. 8. 8 Scaling Agile Practices Comparing Agile vs. Waterfall Approach % 100 Working Code Time MONTHS Architecture DesignReqts Coding Test Deployment 1 2 3 4 5 6 7 8 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15
  9. 9. 9 Scaling Agile Practices Common Agile Inhibitors
  10. 10. 10 Scaling Agile Practices * Greater opportunity for language and cultural differences. Types of Geographical Distribution Increasing Challenge
  11. 11. 11 Scaling Agile Practices Get to know each other Culture, customs, personality, family, likes, dislikes…
  12. 12. 12 Scaling Agile Practices Why are we distributed? Speed to Market with “Follow the Sun” Acquisitions Access to Needed Skills Improved Distance Collaboration Tools Many people work from home even when they are less than 10 miles from office “We conclude that there was an approximate 10% reduction in development duration -- rather than the theoretical 50% of FTS.” Erran Carmel, et al. Follow The Sun Software Development: New Perspectives, Conceptual Foundation, and Exploratory Field Study
  13. 13. 13 Scaling Agile Practices Distribution is a major challenge for Agile teams 338 But many teams still do it. China 40 Westford 22 Dublin 10 India,20 Sydney 44 Raleigh 79 Boeblingen, 123 Core Team US 101 Germany 123 China 40 Sydney 44 Dublin 10 India 20 Total 338 Here is an example from an IBM software team
  14. 14. 14 Scaling Agile Practices Dealing with Distribution Strive for the Richest Communication Channel Possible Critical Tools for Distributed Team Communication
  15. 15. 15 Scaling Agile Practices Strive for the Richest Communication Channel Possible
  16. 16. 16 Scaling Agile Practices Edward T. Hall (1959), a renowned social anthropologist, argued that in a normal conversation: “More than 65 percent of social meaning occurs through the nonverbal channel.” Nonverbal Communication
  17. 17. 17 Scaling Agile Practices Trust and Connection http://flickr.com/photo/19364701@N00/2982998577 Joe Mabel
  18. 18. 18 Scaling Agile Practices Adopt new practices to handling time zone issues Use a Liaison Use a Liaison Whole team Consistent Date/time Whole team Consistent Date/time Whole team Alternating Meeting Times Whole team Alternating Meeting Times Documentation (and chat) Documentation (and chat)
  19. 19. 19 Scaling Agile Practices Using documentation • Anyone who cannot attend documents their answers in an e-mail or wiki • The Scrum Master reads their answers in the meeting BUT… Lack of opportunity for Q&A Less rich communication vehicle People don’t always read about what team mates are doing Reduces the whole team experience Reduces peer pressure DocumentationDocumentation 1 9
  20. 20. 20 Scaling Agile Practices Meeting via instant messaging (form of documentation) Transcript of session produce notes for the meeting Makes the meeting easier for non-native speakers BUT… Complete loss of non-verbal communication Difficult to gauge if everyone is paying attention Depends on the Scrum Master to start on time Hard to follow if the meeting is not structured Instant MessagingInstant Messaging
  21. 21. 21 Scaling Agile Practices Taking a Liaison Approach Team schedules the meeting at two different times Team members attend at the meeting time most convenient to them One team member serves as a liaison and attends both meetings Liaison communicates information from the other meeting 2 1
  22. 22. 22 Scaling Agile Practices Taking a Liaison Approach Pros Better for sustainable pace Allows for a degree of visibility on everyone’s work Can be better than docs because people can ask questions. Richer communication medium. Cons The liaison is basically “playing telephone” The liaison may not present all the details Risk of fracturing of the team Negative impact on “whole team” view Negative affect on the work- life balance of the liaison
  23. 23. 23 Scaling Agile Practices Whole Team Primary roles: – Stakeholder – Team Lead – Product Owner – Agile Team Member – Architecture Owner Secondary/optional roles: – Domain Expert – Technical Expert – Independent Tester – Integrator – Specialist
  24. 24. 24 Scaling Agile Practices “Whole Team” Approach A True Story Austin, TX USA Austin at Night by eschipul St John, NB Canada Bangalore India http://www.flickr.com/photos/eschipul/5731604153/lightbox/ 4:00 a.m. 6:00 a.m. 2:30 p.m.
  25. 25. 25 Scaling Agile Practices Or, you can alternate meeting times for whole team • Team identifies two different times for the meeting • Team alternates the time used for the daily scrum at a set frequency (every day, every week) • Everyone is encouraged to attend • Anyone who cannot attend documents their answers in an e-mail or wiki • The Scrum Master reads their answers in the meeting 2 5
  26. 26. 26 Scaling Agile Practices 3 Important Questions 1 2 3
  27. 27. 27 Scaling Agile Practices Alternating Meeting Times Pros Everyone shares equally in the compromise Aligns best with interactive spirit of Scrum and Agile Verbal communication Opportunity for Q&A Greater pressure to deliver on commitments Cons Challenging for sustainable pace Some may not be willing to share the pain Loss of information from members if team members don’t show up during the hours that are bad for them
  28. 28. 28 Scaling Agile Practices That Was Basic Communication…What About Collaboration? Silo’d teams; disconnected data Important discussions are lost to email -project records are missing the “real reason” for decisions Unified team shares linked data ALM environment tracks what is important for delivering “Am I blocking others” “Are others waiting for my approval” www
  29. 29. 29 Scaling Agile Practices Critical Tools for Distributed Team Communication
  30. 30. 30 Scaling Agile Practices Collaborating in Real-time and in Context of Project Work Team Awareness Shows team members and their online status Discussions kept with work for all time Team Awareness Shows team members and their online status Discussions kept with work for all time Change Awareness Automatically links to changes if mentioned in chat Drag and drop any work item or query into chat Change Awareness Automatically links to changes if mentioned in chat Drag and drop any work item or query into chat Avoid Duplication Find potential duplicates Subscribe team members Move / Copy work between projects Avoid Duplication Find potential duplicates Subscribe team members Move / Copy work between projects Rational Team Concert
  31. 31. 31 Scaling Agile Practices Distributed Planning May have to do planning in two chunks of time rather than one solid (4-hour) block Will need/want an electronic agile planning tool to pull stories into the Sprint plan Typically use electronic modeling, drawing tools and screen sharing. May do some diagrams offline and share electronically. Easy Planning Poker (Chat, everyone enters the number of story points) Teams will share files and links to facilitate discussions 31
  32. 32. 32 Scaling Agile Practices Cultural Differences The meaning of “Yes”
  33. 33. 33 Scaling Agile Practices Cultural Differences
  34. 34. 34 Scaling Agile Practices Handling Distributed Sprint Activities
  35. 35. 35 Scaling Agile Practices Distributed Daily Scrums
  36. 36. 36 Scaling Agile Practices Distributed Retrospectives “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.”* * http://agilemanifesto.org/principles.html
  37. 37. 37 Scaling Agile Practices Distributed Demos
  38. 38. 38 Scaling Agile Practices Summary There may be good reasons for having distributed teams Aim for lowest level of distribution possible in a given situation Choose richest form of communication possible Foster understanding and collaboration between team members Actively address language and cultural barriers
  39. 39. 39 Scaling Agile Practices © Copyright IBM Corporation 2013. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. www.ibm.com/software/rational

×