Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 1 Agenda About us Agile manifesto Assessing your agility Assessment methods Our results Post assessment Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 2 About us ANA, Network management platform, developed in NMTG, Cisco Practicing Scrum, XP for 2 years Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 3 Timeline 10/06 3/07 Pilot team First team Scale Phase 3 engineers ~10 engineers ~30 engineers Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 12/07 today 100+ engineers 4 The Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. http://agilemanifesto.org/ Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 5 Assessing your agility Why do it? The team Peer teams Upper management When is it the right time to assess? Post project assessment Predetermined points in time What aspects are measureable? Basically everything, we chose to focus on foundations of XP Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 6 Assessment methods Iteration overview, reflection/retrospective On going metrics, standard, ad-hoc and custom Iteration 5 250 200 150 100 50 0 17.4 18.4 19.4 22.4 23.4 25.4 Satisfaction Rate 2.5 10 2 8 1.5 6 1 4 0.5 2 0 0 2.5 3.5 6.5 7.5 8.5 9.5 16.4 © 2006 Cisco Systems, Inc. All rights reserved. 17.4 18.4 Date Date Presentation_ID Customer/Manager presence Hours Hours Over Time Cisco Confidential 19.4 22.4 6 5 4 3 2 1 0 20 .6 21 .6 24 .6 25 .6 26 .6 27 .6 28 .6 1. 7 2. 7 3. 7 4. 7 5. 7 16.4 Date 7 Radar chart Overview Preparations (Goal setting) Execution (Data collection) Analysis Results (and decision making) programming 5 4 3 2 team 1 planning Example questions : • Is code checked-in daily by each pair? 0 • Have you paired with everyone in the team? pair Presentation_ID customer © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 8 Assessing our Agile – Release 1 programming 3.8 3.6 3.45 3.4 team 3.2 3.66 planning 3.65 3.0 3.42 3.82 pair Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential customer 9 Zoom into Programming Programming code quality 4 3.67 3 simple design 2 3.50 refactoring 1 3.03 0 2.54 testing Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 3.91 continous integration 10 Assessment over releases 1, 2, 3 code quality 4 3 2 simple design 1 refactoring Release 1 0 testing Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Release 2 Release 3 continous integration Cisco Confidential 11 Post assessment Relating to the results Communication Act! Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 12 Don't fear change, embrace it. Anthony J. D'Angelo Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 13 Q and A Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 14 Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 15 Backup Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 16 “Insanity: doing the same thing over and over again and expecting different results.” Albert Einstein Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 17 Agile Software Development Methods : • Adaptive • Crystal • DSDM • Extreme Programming (XP) – Focuses on the team • Scrum – Focuses on project management • FDD • Lean Development We take on practices from Scrum and XP Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 18 Extreme Programming Practices Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 19 Practices taken from Extreme Programming (XP) • Planning game The customer prioritizes the user stories. The programmers breakup the stories into tasks. The programmers estimate the tasks. • Customer tests The Customer defines what is it that he wants and how does he want to know it is working Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 20 Practices taken from Scrum • Daily Standup meetings Last about 15 minutes. Each team member updates about what was achieved yesterday, and what he will do today. Standing up during the meeting in order to avoid too much talking … • Business Days Held between each iteration. Stories are presented to the customer, as demos. Planning is done for the next iteration. • Reflections Reflections are held during Business Day and last 1 hour. During reflections, the team discusses what’s going well and what needs improvement. The team members learn from their experiences and adjust their behavior accordingly. • Product Backlog The Product Backlog is the master prioritized list of all functionality desired in the product. The Product Backlog is allowed to grow and change as more is learned about the product and its customers. Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 21 Practices taken from Scrum • On-site customer On-site customers are responsible for choosing and prioritizing features. The features are then presented to the customer and accepted on business Day. • Scrum master Responsible for improving the lives and productivity of the development team ,enabling close cooperation across all roles, removing barriers, shielding the team from external interferences and ensuring that the process is followed. The ScrumMaster is like a coach, responsible for cheering on the team, being their leader and being their guide • Burndown Chart Burndown 40 35 30 Unit 25 20 15 10 5 0 23.7 24.7 25.7 26.7 29.7 Date Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 22 Other Practices • Roles - Methodologist Tester Designer Documenter Tracker Satisfaction Rate 10 8 6 • 4 Measurements 2 0 16.4 17.4 18.4 Iteration 5 19.4 22.4 programming Date 3.8 250 3.6 200 3.45 3.4 team 3.2 3.66 planning 3.65 3.0 150 3.42 3.82 100 pair customer Over Time 50 2.5 2 16.4 17.4 18.4 19.4 22.4 23.4 Hours 0 1.525.4 1 0.5 0 2.5 3.5 6.5 7.5 Date Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 8.5 9.5 23 Team G – Sub release 1-3 programming 4 3.5 3 team planning 2.5 sub release 1 sub release 2 2 sub release 3 pair Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. customer Cisco Confidential 24 Team G – Sub release 1-3 Programming All Team G Team T code quality 4 Team Y 3.41 3 2 3.61 simple design refactoring 1 2.73 0 2.97 3.12 testing Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential continous integration 25 Questions with maximum score : Does the team demonstrate its progress to the customer at least once per month? (4.8) Do all team members sit in one room? (4.8) Is the status of each story checked during the daily standup meeting? (4.3) Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 26 Questions with minimum score : Do you write tests before writing new code? (1.12) Have you paired with everyone in the team? (2.2) Are all acceptance tests and unit tests run daily? (2.4) Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 27 Questions with largest variance : Have you paired with everyone in the team? Does the integration build currently complete in less than 15 minutes? Is code checked-in daily by each pair? Presentation_ID © 2006 Cisco Systems, Inc. All rights reserved. Cisco Confidential 28