IBM Quality Software Engineering

Size: px
Start display at page:

Download "IBM Quality Software Engineering"

Transcription

1 Using Scrum to Complement Existing Organizational Transformation Methods Helen McKinstry, Director IBM Quality Software Engineering Elizabeth Woodward IBM Quality Software Engineering

2 Goal of this Session To help you identify ways to increase the likelihood of success in transforming your organization 2-E

3 Learning Objectives Identify points in Kotter s eight-step transformation process where Scrum can improve chances for success Engage stakeholders from across roles, geographies, and business units to identify transformation challenges and prioritize user stories in a transformation backlog Establish effective acceptance criteria for transformation stories to ensure business impact Work with teams using Scrum to demonstrate short-term wins at the end of each time-boxed Sprint that will help accelerate transformation Identify inhibitors through daily scrum and a cadence of reflections Work with change leaders to facilitate transformation and remove inhibitors Engage in daily scrums to synchronize transformation efforts across the organization 3-E

4 Background: About IBM Software Development Transformation 4-EH

5 About IBM Quality Software Engineering First, about IBM 400,000 IBMers world wide More than 200 countries 35,000+ Software development team members Quality Software Engineering (QSE) Responsible for improving software development practices across IBM business units, brands and geographies to improve the value that we deliver to our clients 12 QSE Staff Members in US (NC, TX, NY, MA), Greece, India, China 5-H

6 IBM s Diverse Software Development Environment Under 10 developers Team size 1000 s of developers Compliance requirement Low risk Critical, audited Geographical distribution Co-located Global Enterprise discipline Project focus Enterprise focus Diversity of Software Development in IBM Domain Complexity Straight -forward Intricate, emerging Organization distribution (outsourcing, partnerships) Collaborative Contractual Organizational complexity Technical complexity Flexible Rigid Homogenous Heterogeneous, legacy Modified from Scott Ambler presentation on Disciplined Agile Development, H

7 QSE s Community Approach to Scaling Transformation Efforts IBM Software Engineers 35,000 QSE Community 8,500 Volunteers QSE Unit Leaders 190 Business and Technical Representatives Practice Communities (up to 1300) Leader Teams Work Groups Event Teams Leader Teams Work Groups Work Groups 7-H

8 Kotter s Eight Steps for Leading Change: Example of a successful project Example of a not-sosuccessful project 8-HE 11:09

9 Kotter s 8-Steps: A Good Example Step Principle 1 Establish a sense of urgency 2 Create a powerful guiding coalition 3 Develop a vision and a strategy 4 Communicate the change vision 5 Empower a broad base of people to take action 6 Generate short-term wins 7 Consolidate gains and produce more change 8 Anchor the new approaches into the culture 9-E

10 Kotter s 8-Steps: A Not-So-Good Example Step Principle 1 Establish a sense of urgency 2 Create a powerful guiding coalition 3 Develop a vision and a strategy 4 Communicate the change vision 5 Empower a broad base of people to take action 6 Generate short-term wins 7 Consolidate gains and produce more change 8 Anchor the new approaches into the culture X X X X 10-E

11 Using Scrum to Complement Kotter s 8 Principles 11-E

12 Integrating Scrum with Kotter s 8 Steps Kotter s Principles 1 Establish a sense of urgency 2 Create a powerful guiding coalition 3 Develop a vision and a strategy 4 Communicate the change vision 5 Empower a broad base of people to take action 6 Generate short-term wins 7 Consolidate gains and produce more change 8 Anchor the new approaches into the culture 12-E Scrum Framework Element 5.1 Get input from stakeholders 5.2 Create and size user stories (agile) 5.3 Prioritize the transformation backlog 6.1 Sprint Planning to create Sprint Backlog 6.2 Daily Scrums every 24 hours, Remove blockers 6.3 Collaborate to deliver value during 2 week Sprints 7.1 Demonstrate to stakeholders 7.2 Reflect

13 Integrating Scrum with Kotter s 8 Steps KOTTER SCRUM 1 Establish a sense of urgency 2 Create a powerful guiding coalition 3 Develop a vision and a strategy 4 Communicate the change vision 5.1 Get input from stakeholders 5.2 Create and size user stories (agile) 5.3 Priori tize the backl og 6.1 Plan the Sprint; Create Sprint Backlog 6.2 Conduct Daily Scrums every 24 hours, Remove blockers 6.3 Collabor ate to deliver value; 2 week Sprints 7.1 Demo to stakeh olders 7.2 Reflect 5 Empower a broad base of people to take action 6 Generate short-term wins X X X X X X X 7 Consolidate gains and produce more change 8 Anchor the new approaches into the culture X X 13-E

14 Scrum Framework Element Empower a broad base to take action Generate short-term wins 5.1 Get input from stakeholders 5.2 Create User Stories 5.3 Prioritize your Backlog 6.1 Sprint Planning to create Sprint Backlog 6.2 Daily Scrums every 24 hours, Remove blockers 6.3 Collaborate to deliver value during 2 week Sprints Consolidate wins and create more change 7.1 Demonstrate to stakeholders 7.2 Reflect 14-EH 11:17

15 Four Categories of Stakeholders Control Budget and Resources Principals Insiders Others who are part of process of improving software development Invest resources because expect profit from their investment Partners End Users Our end customers in transformation 15-H

16 IBM Quality Software Engineering Collecting Input from Stakeholders Virtual conference work sessions 1-on-1 discussions with key stakeholders Leadership Team Meetings Meetings with members of work groups IBM-wide surveys QSE community surveys 16-H

17 Annual Agile Survey 17-H

18 Community Survey Question 6/09 Avg 6/09 StdDev Daily Scrum Do you participate in daily scrum meetings? Scrum of Scrums Does your team participate in a scrum of scrums? Did your scrum team work with the product owner to establish the vision for Vision your current project? Release Plan Did your scrum team work with the product owner on the release plan for your current project? Sprint Planning Do you participate in scrum sprint planning sessions User Stories Do you use user stories? Use Cases Does your team use use cases? Estimating Does your team work together to estimate the size of work items (user stories, use cases, etc)? Velocity Do you use your previous Velocity, (how much work was completed in your prior sprints/iterations) to help guide you when determining the amount of work your team will commit to delivering in each sprint/iteration? Stakeholder Feedback Time-box Prioritized backlog Reflections Do you conduct demos and use stakeholder feedback from your sprints/iterations to adjust content of the next sprints? This includes feedback from partners, insiders, principles, and end users Do you use time-boxed sprints--hold your sprint/iteration end dates fixed and adjust content if needed? Do you select content for your next iteration/sprint from a prioritized backlog (list of work items)? Do you hold retrospectives (reflections) at the ends of your iterations/sprints and take action in the next iteration/sprint? H

19 More from Community Survey June 2009 Average Time-box Stakeholder Feedback Reflections Prioritized backlog Daily Scrum 8.0 Scrum of Scrums 6.0 Vision Release Plan Sprint Planning Velocity Estimating Use Cases User Stories Who serves as Product Owner? Who serves as ScrumMaster? Biggest Challenge? Where do you need help? 19-H

20 Engaging Stakeholders Stakeholders Theme 1 Theme 2 Theme 3 Theme n 20-H

21 Themes in the 3Q QSE Agile Transformation Backlog Agile Metrics Team Assessments Tooling (RTC) Governance Deep Dive Education Coaching Continuous Integration Test Driven Dev 21-H

22 5 min Exercise 1. Identify Your Stakeholders Who are they? How do you engage? 22-H

23 Scrum Framework Element Empower a broad base to take action Generate short-term wins 5.1 Get input from stakeholders 5.2 Create User Stories 5.3 Prioritize your Backlog 6.1 Sprint Planning to create Sprint Backlog 6.2 Daily Scrums every 24 hours, Remove blockers 6.3 Collaborate to deliver value during 2 week Sprints Consolidate wins and create more change 7.1 Demonstrate to stakeholders 7.2 Reflect 23-EH 11:26

24 Transformation User Story Acceptance Criteria Consolidate the input into user stories Who needs to do what and why As a <role>, I can <goal> so that <business value> Acceptance criteria relates to definition of done Done Criteria Definition of deliverables Metrics Community activities Communications Demonstration of leadership Description of Elements that Must be Addressed What will be delivered to address the need (education module, coaching, experience reports, etc.)? How will you measure success? How will you engage the community to create, test, and build awareness of the deliverable What is the communications strategy over time before, during, after delivery? Can this deliverable be leveraged to give recognition to the community members and organizations? 24-E

25 Acceptance Criteria: Examples of Deliverables 25-E

26 Acceptance Criteria: Metrics Consider Levels of Impact Initiative Deliverables Level 1 Results: Reaction Level 2 Results: Transfer Level 3 Results: Transformation Level 4 Results: Customer Value Tool X 1. Guidelines and recommen dations for agility at scale for Tool X 2. Experience reports 2,000 team members engaged; 85% of Test Drive users agree or strongly agree content is valuable; 85% believe other teams would benefit Of the teams using Tool X who reviewed materials, follow-up survey indicates >50% implement suggestions from the guidelines and recommendatio ns $ increase in team productivity reported by teams using methods for Agility@Scale that have migrated to Tool X or are recent adopters of Tool X. Expected increase in productivity of 4 PD * 1,000 = 4,000 PD or $6M Product improvement suggestions shared with product management Experiences shared with product management Loosely borrowed from Kirkpatrick s 4 Levels of Evaluation (Training/Learning Industry): Reaction, Learning (skipped), Transfer, Results 26-E

27 Example of a Transformation User Story As a software development team member, I am able coordinate development with other Scrum teams so that we prevent blockers due to dependencies. Acceptance Criteria Education module on Lookahead planning for Agility at Scale has been delivered to QSE Community Leveraging Community: SMEs have been engaged in development and SME Review Updates Member of Community have engaged in Test Drive Metrics # of contributors and users of each module 85% satisfaction rating or better Communications Plan Module announced on Web site Module announced in QSE Newsletter Tools Not related in this series no plan 27-E

28 Exercise 2. Create a User Story for Transformation 5 min As a <role>, I can <goal> so that <business value> What are your acceptance criteria? 28-E

29 Scrum Framework Element Empower a broad base to take action Generate short-term wins 5.1 Get input from stakeholders 5.2 Create User Stories 5.3 Prioritize your Backlog 6.1 Sprint Planning to create Sprint Backlog 6.2 Daily Scrums every 24 hours, Remove blockers 6.3 Collaborate to deliver value during 2 week Sprints Consolidate wins and create more change 7.1 Demonstrate to stakeholders 7.2 Reflect 29-EH 11:36

30 Identify Criteria by Which to Prioritize the Backlog Discussing criteria helps the transformation team to understand prioritization Having criteria helps you to focus energy on what s most important to your organization Prioritizing based on criteria enables you to explain the prioritization rationale to stakeholders Example Criteria Aligns with our organization s mission Requested by our stakeholders Impact across the business units and brands Impact across geographies Investment level Expected return on investment (ROI) Support of other key strategic initiatives Availability of Subject Matter Expert Volunteers 30-H

31 5 min Exercise 3. Prioritization Criteria What criteria would you use to prioritize your transformation efforts? 31-H

32 Scrum Framework Element Empower a broad base to take action Generate short-term wins 5.1 Get input from stakeholders 5.2 Create User Stories 5.3 Prioritize your Backlog 6.1 Sprint Planning to create Sprint Backlog 6.2 Daily Scrums every 24 hours, Remove blockers 6.3 Collaborate to deliver value during 2 week Sprints Consolidate wins and create more change 7.1 Demonstrate to stakeholders 7.2 Reflect 32-EH

33 Sprint Planning Same as Sprint Planning for Software Development Prepare Part 1. What will be done in the (2 week) Sprint? Part 2. How will we do the work? (Create the Sprint Backlog) Groom the backlog Identify which high priority stories will be completed Design the work Confirm prioritization Identify the Sprint goal Identify tasks Determine capacity and velocity of team 33-E

34 Disaggregating Transformation User Stories As a member of an agile development team, I am able to implement recommended practices for agility at scale, so that I can get my job done more efficiently. As a member of an agile development team, recommended practices for organizing large-scale teams. As a member of an agile development team,... recommended practices for collaborating as a distributed team... As a member of an agile development team, recommended practices for organizing the product* backlog for large-scale teams... *release Etc. 34-E

35 Disaggregating Transformation User Stories VALUE: Discussion with Experts As a member of an agile development team, I am able to participate in discussions about organizing large-scale teams for agility at scale *release 35-E As a member of an agile development team, I am able to implement recommended practices for organizing large-scale teams so that I can get my job done more efficiently VALUE: Concise content on recommended practices As an experienced member of a distributed agile development team, I am able to participate in a review of content that captures recommendations for organizing large scale teams... VALUE: Education format with reinforcement As an experienced member of a distributed agile development team, I am able to participate in a review of an education module that captures recommendations for organizing large scale teams...

36 Example: Tasks for a Transformation User Story Tasks for 2-week Sprint VALUE: Discussion with Experts As a member of an agile development team, I am able to participate in discussions about organizing large-scale teams for agility at scale Place a call for participation (experts and target audience) Select participants Develop proposed questions to drive discussion Schedule discussion sessions Conduct discussion sessions Announce recording and notes 36-E

37 Exercise 4. Sprint Planning 5 min Disaggregate transformation user story Create tasks for a transformation user story 37-E

38 Scrum Framework Element Empower a broad base to take action Generate short-term wins 5.1 Get input from stakeholders 5.2 Create User Stories 5.3 Prioritize your Backlog 6.1 Sprint Planning to create Sprint Backlog 6.2 Daily Scrums every 24 hours, Remove blockers 6.3 Collaborate to deliver value during 2 week Sprints Consolidate wins and create more change 7.1 Demonstrate to stakeholders 7.2 Reflect 38-H 11:46

39 Daily Scrums for Transformation Team Transformation team meets daily to answer the three questions: What did you do yesterday? What are you going to do today? Any blockers? 39-H

40 Scrum Framework Element Empower a broad base to take action Generate short-term wins 5.1 Get input from stakeholders 5.2 Create User Stories 5.3 Prioritize your Backlog 6.1 Sprint Planning to create Sprint Backlog 6.2 Daily Scrums every 24 hours, Remove blockers 6.3 Collaborate to deliver value during 2 week Sprints Consolidate wins and create more change 7.1 Demonstrate to stakeholders 7.2 Reflect 40-H

41 Communities, Sub-teams and Transformation Team Collaborate throughout the Sprint Tip: Execute Scrum of Scrums for initiatives to: Discuss progress Build awareness of what s happening next (and how others can get involved) and Identify issues and find people to address the issues 41-H

42 Scrum Framework Element Empower a broad base to take action Generate short-term wins 5.1 Get input from stakeholders 5.2 Create User Stories 5.3 Prioritize your Backlog 6.1 Sprint Planning to create Sprint Backlog 6.2 Daily Scrums every 24 hours, Remove blockers 6.3 Collaborate to deliver value during 2 week Sprints Consolidate wins and create more change 7.1 Demonstrate to stakeholders 7.2 Reflect 42-H

43 Sprint Reviews/Demos with Target Audience Deliverables with tangible value SME Review of an education module Test Drive by target audience Presentation Delivered, feedback gathered 43-H

44 Sprint Reviews/Demos to Confirm Acceptance Criteria Did we meet the acceptance criteria? 85% agreed or strongly agreed Answers available in repository Communications plan addressed Etc. Who attends? People who contributed to the work community members, leaders of subteams Other stakeholders Why? Recognition Direct Feedback 44-H

45 Exercise 5. Demonstrate to Stakeholders 5 min Who will you invite to your demos? How will you demo? 45

46 Scrum Framework Element Empower a broad base to take action Generate short-term wins 5.1 Get input from stakeholders 5.2 Create User Stories 5.3 Prioritize your Backlog 6.1 Sprint Planning to create Sprint Backlog 6.2 Daily Scrums every 24 hours, Remove blockers 6.3 Collaborate to deliver value during 2 week Sprints Consolidate wins and create more change 7.1 Demonstrate to stakeholders 7.2 Reflect 46-H

47 Sprint Retrospectives What worked well Where can we improve What one thing will we change for next Sprint? 47-H

48 Summary 48-E 11:56

49 Use Scrum to Reinforce Change Principles Kotter s Principles 1 Establish a sense of urgency 2 Create a powerful guiding coalition 3 Develop a vision and a strategy 4 Communicate the change vision 5 Empower a broad base of people to take action 6 Generate short-term wins 7 Consolidate gains and produce more change 8 Anchor the new approaches into the culture Scrum Framework Element 5.1 Get input from stakeholders 5.2 Create and size user stories (agile) 5.3 Prioritize the transformation backlog 6.1 Sprint Planning to create Sprint Backlog 6.2 Daily Scrums every 24 hours, Remove blockers 6.3 Collaborate to deliver value during 2 week Sprints 7.1 Demonstrate to stakeholders 7.2 Reflect 49-E

50 Rational Team Concert Makes agile real A unified client UI Best current offering according to Forrester Wave: Agile Dev Mgmt Tools report Q Unified Work Items, Agile Planning, SCM, Build Mgmt, Reporting Single UI, storage and process Reduces Cost of Ownership Work Items Planning Administrative costs Training/Adoption Customizations SCM Visit our booth in the exhibit hall. Pickup your FREE copy of Rational Team Concert! Build Management Reporting One Tool! With unified storage DB LOGIC 50-E

51 Succeed with Scrum in Even the Largest, Most Complex Distributed Development Projects A comprehensive, practical guide for Scrum practitioners working in large-scale distributed environments. Using real-world examples, the book demonstrates how to apply key Scrum practices, such as look-ahead planning in geographically distributed environments. by Elizabeth Woodward, Steffan Surdek, and Matthew Ganis 51-E ISBN: June 2010 Available Now - Visit the Agile 2010 Conference Bookstore. 51

52 Thank You! Contact: Helen McKinstry, Elizabeth Woodward, 52-E