574 Agile Development-Successful Delivery & Implementing Across the Enterprise Tuesday, June 8th, 2010 Brian Moore Senior Consulting Director Guidewire Software Kurt Bittner CTO - Americas Ivar Jacobson International kbittner@ivarjacobson.com www.ivarjacobson.com Michael Foerst Chief Information Officer Missouri Employers Mutual Insurance 573-499-4161 mfoerst@mem-ins.com LinkedIn: www.linkedin.com/in/michaelfoerst Twitter: twitter.com/michaelfoerst Agile is not a Silver Bullet! Software is built by people, but it is built well by collaborative teams Agile Key Principles Agile is about: • Customer collaboration • Embracing and anticipating change • Delivering working software often • Building high performance teams Sidebar: – Different approaches exist for Agile – Extreme Programming (XP), Scrum, Lean Development, CORE – Today’s discussion is focused more on Scrum Customer Collaboration Work with users and ensure visibility into the progress being made Visibility and frequent delivery helps to reduce the impact of major changes • Users can and should provide regular feedback and be familiar with the system long before anything goes into production Responding to change Scrum embraces change and provides reasonable facilities to support the management of business priorities and implementation scope Working software With a focus on working software, teams are able to design and build functionality into the system based on priorities In typical software implementations, more than half of all requirements are not implemented due to project overruns Individuals and Interactions People build and implement software systems Be adaptive and collaborative to find the process that brings the best benefit Work with the users to understand their requirements Agile Key Principles Agile is NOT about: • A design methodology • A project uses design and documentation standards that the team is comfortable with, communicates effectively and is no more than the task requires • A set of tools • A project uses tools they are comfortable with; however, scrum project management tools are available • Avoiding documentation • A project documents all workshops and other forms of communication to a level needed to define what is to be implemented Scrum Roles Product Owner Scrum Master Team Scrum Roles Product Owner • Constantly re-prioritizes project scope • Synthesizes interests of stakeholders • Negotiates sprint goals and backlog items with team • Final arbiter of requirements questions • Accepts or rejects each product increment Scrum Roles Scrum Master • Helps resolve impediments • Facilitates Agile process • Supports Product Owner with planning and prioritization • Keeps artifacts visible • Shields team, enforces time boxes, advocates improvements Scrum Roles Team • • • • • • Cross functional Autonomous Self organizing Responsible for commitments Co-located 6-10 team members Agile Process An Agile Process Lifecycle Inception Elaboration Iteration * Iteration * 1…………….2…..…..n 1…………….2…..…..n Construction Iteration * Transition Iteration * 1…………….2…..………..3……….n 1………..n Proposal is approved as a project GATE A GATE B GATE C GATE D GATE E Inception Elaboration Construction Transition Project Viability Agreed Business Risk Mitigated Project Approach Proven Architectural Risk Mitigated Useable Solution Available Construction Risk Mitigated Release Successfully Deployed Deployment Risk Mitigated AGILE PROJECT CASE STUDY Claims System Modernization Have you ever had a new concept that sounds great in all of the articles and reviews… … only to have it come crashing down when you put it to the test? Nature of effort Legacy claims system replacement • First time the claims system was being replaced • The existing system was highly customized • Not all of the customization was well documented Project size • At the peak roughly 60 team members, on-shore and off-shore • One of the largest projects ever attempted by the company • 15 months from team formation to implementation Project plan • • • • First use of Scrum internally Inception phase Six development sprints, seven tracks in each sprint Three integrated testing sprints An agile team needs the proper environment to succeed! Flexible Adaptable Collaborative Empowered Trusting Our Keys to Success Business Case Objectives Governance Model Dedicated Team Collocated Team handful of parameters guiding independent decision making rules of the road defining decision making expectations develop confidence in teammates and expectations to deliver timely responsive Lessons Learned Educate • • • • Product owner ScrumMaster Team members Others interacting with the agile team Communicate, communicate, communicate • Delivery • Daily scrums • Sprint reviews Incrementally improve • Sprint, assess, sprint again • Improve the process as well as delivery Empower the team Lasting effects Scrum is now the default for all strategic projects Claims system maintenance releases follow an agile approach Adopted for numerous non-project efforts – scrum meeting format, etc. IT planning follows a conceptual plan with quarterly reviews for the maintenance of projects in the “product backlog” More dynamic, more transparent, shorter timeframes and focused on functional deliverables.