Agile methods: An unexpected journey Diane Strode PhD Faculty of Business and Information Technology Whitireia Polytechnic Victoria Business School Victoria University of Wellington Overview • Motivation • Pre-history, agile methods in 2000, adaptation, optimal environments, adoption, governance...agile software development today • References and resources 2 Motivation...teaching • Project management to future PMs – A project manager coordinates and controls software projects – Gantt charts, PERT charts • Analysis and design to future IT BAs – Analyse, then design, then code, then test, AND document • Programming to future developers – Testing – separation of concerns – Meeting specifications So what’s new in this area – Ahhh...agile methods 3 Primary sources • Doctor of Philosophy (Information Systems) 2012 – A theory of coordination in agile software development projects • Master of Information Sciences (Information Systems) 2005 – The agile methods: An analytical comparison of five agile methods and an investigation of their target environment • 15 individual software development projects 4 Agile pre-history • 17 practitioners decided to meet at Snowbird in USA, 2001 – Based on their experiences, they rejected waterfall processes and traditional project management practices “heavyweight methodologies” – All working on individual “lightweight” methodologies based on their experience in development teams • Discussed and agreed on a manifesto 5 http://agilemanifesto.org 6 7 Focus on business value of software No detailed upfront requirement specification Frequent demos and feedback / Frequent releases to production Very close customer contact 8 Focus on business value of software No detailed upfront requirement specification Support the team Trust the team Co-location Frequent demos and feedback / Frequent releases to production Very close customer contact No last minute rush / burnout 9 Focus on business value of software No detailed upfront requirement specification Support the team Trust the team Co-locate Completed functionality No last minute rush / burnout Frequent demos and feedback / Frequent releases to production Very close customer contact Design and quality No gold plating Self-organising Continuous process improvement 10 Acronym DSDM 2 Agile Method Dynamic Systems Development method Crystal methods Crystal Cockburn (1998) Cockburn (2002) 3 Extreme Programming XP Beck (1999), Beck (2000) 1st Edition Beck and Andres (2005) 2nd Edition 4 Adaptive Software Development ASD Highsmith (2000) 5 Scrum Scrum 6 Feature Driven Development FDD Beedle, Devos, Sharon, Schwaber, & Sutherland (1999) Schwaber & Beedle (2002) Palmer & Felsing (2002) 7 Lean Development LD Charette (2002) Poppendiek & Poppendiek (2003) 8 EVO EVO Gilb (2005) 9 AgileUP AUP Ambler (2008) First published on-line 2005 1 Source DSDM (Dynamic Systems Development Method, Version 2, 1995), Stapleton (1997) 11 Purpose • Scrum –for project management of iterative projects • XP –software development practices for high-change environments • DSDM - a framework for iterative projects • Crystal methods - for designing a methodology 12 Agile Software Development XP ... Lean DSDM Agile Methods FDD Crystal Scrum ASD 13 Scrum One-month “Sprints” or repeated cycles of activity 14 XP – Extreme Programming Iterations of 1-4 weeks 15 Agile practices 16 Agile software development • Each agile method consists of a set of practices • Initially the belief was that a method should be adopted in its entirety • In projects, practices are “cherry picked” or tailored • So if you use any method, any combination of methods, or one or more agile practices, you can say you are doing… Agile software development 17 Agile method combinations • XP + Scrum • XP provides software development techniques + Scrum provides management practices 18 Commonalities – 5 agile methods • • • • • • • • All published between 1995 – 2002 in USA and UK Developed by practitioners (not academics) Project manager and developer perspective Incremental development Iterative development - 1 month iterations optimal Suitable for projects undergoing constant change Active user involvement Feedback (from testing, from users) and learning 19 Commonalities – 5 agile methods cont’d. • • • • • Teamwork and empowered teams Communication between all stakeholders is critical Small teams of 3-10 programmers is optimal Frequent meetings, daily is optimal Working software is the main product of development • Modelling techniques are not mandated • Minimise documentation 20 When should you use an agile method? • Research study... Nine projects, different types of organisation, different types of product, questionnaire Calculated agile method usage Looked at correlation between agile method usage and factors in the development environment 21 When should you use an agile method? • Began with a definition of success • Success is when a project is using all of the practices from their selected method – e.g. if using XP then you are using all XP practices 100% of the time 22 Research design • First, developed a list of factors that various authors believe are necessary for successful agile software development - 31 • Then, isolated all practices from five agile methods (XP, Scrum, ASD, Crystal, DSDM) – 45 • Studied correlation between environmental factors and adoption of practices 23 Research design • Questionnaire – Included questions to assess use of 31 environment factors – Included a randomised list of 45 practices from five agile methods – Completed by nine experienced project leaders • Interview – Each project leader was interviewed to ensure consistency of understanding about the various practices 24 The projects Project Method Org type Org size Type of system Alpha XP P 100-150 Control system Beta XP SOE 150-200 Information presentation Delta XP/ Scrum G 13000-14000 Web development Zeta DSDM P 300 DSS/MIS Theta RUP/XP P 1400-1500 MIS Iota RUP G 600 Transaction processing Rho Ad hoc G 4500-5000 MIS Tau Ad hoc P 5-10 Shrink wrapped software Chi Ad hoc G 300-400 MIS Key G – Government department or fully government funded organisation SOE – State Owned Enterprise P – Privately owned company DSS – Decision Support System MIS – Management Information System 25 Organisational factors investigated • Organisation factors – social interaction is trustful, collaborative, competent… • Domain factors – Internet application domains, gaming, inventory … • Technological factors – automated testing, object-oriented technology… • Project factors – time pressure, requirements stability… • People factors – CRACK customers, experienced developers… Collaborative, Representative, Authorised, Committed, Knowledgeable 26 Agile method usage Project Alpha Beta Delta Delta Theta Zeta Iota Tau Chi Rho Development method used XP XP XP Scrum XP Scrum XP RUP DSDM RUP Ad hoc Ad hoc Ad hoc Compared with XP XP XP Scrum XP DSDM XP XP XP XP 96% 56% 67% 67% 63% 94% 40% 54% 30% 18% Agile method usage Result: Certain organisational factors correlate with higher usage of agile practices Key Blue area shows non-agile projects All non-agile projects were assessed against XP 27 Agile method usage Project Alpha Beta Delta Delta Theta Zeta Iota Tau Chi Rho Development method used XP XP XP Scrum XP Scrum XP RUP DSDM RUP Ad hoc Ad hoc Ad hoc Compared with XP XP XP Scrum XP DSDM XP XP XP XP 96% 56% 67% 67% 63% 94% 40% 54% 30% 18% Agile method usage Result: An agile project can tailor their agile method so much that it is the same as using ad hoc development (no method) Key Blue area shows non-agile projects All non-agile projects were assessed against XP 28 Typical result The team members are actively involved in decision making (Q34) 120.00 Agile usage % 100.00 80.00 60.00 40.00 20.00 0.00 0 1 2 3 4 5 6 Extent Scatter plot of organisation enables empowerment of people Q34. Spearman’s Rho, 2 tailed, 0.05 significance level 29 Target environment for agile methods • Organisation – Values feedback and learning. Social interaction in the organisation is trustful, collaborative, and competent – Values teamwork, is flexible and participative, and encourages social interaction. The project manager acts as a facilitator – Enables empowerment of people – Is results oriented – Is based on loyalty and mutual trust and commitment – The management style is that of leadership and collaboration – Leadership in the organisation is entrepreneurial, innovative, and risk taking • Project – Projects undergoing constant change 30 • Is this generalisable, or cause and effect? - No • Sample too small, as usual, further studies needed! Keep in mind that you might have fewer problems using an agile method if these factors are present in your organisation or project 31 Implications • Many practices work well together, so… • If you change the method too much you loose some advantages, however… • If you don’t change the method you may need to change your organisation; this can be difficult, painful, and sometimes impossible. 32 Agile software development impact... • Organisation – Structure – peoples’ roles – manager, project manager, business analyst, developer, tester.... – Culture – command & control self-organisation – Human resource practice – rewards, individual team, skill sets – Customer involvement – Contract negotiation • Software project – – – – System quality - negotiable Learn as you go/ incremental delivery Software for communication (but it’s still star of the show) Co-located & cross-functional teams (can understand and do each others work) • Technical practices – Test driven development , Continuous integration, Refactoring 33 IT governance and agile projects • Are compatible, but not seamlessly compatible • Depends on the organisation’s ability to be flexible in their implementation of governance processes... “Agile thought leaders have not provided much clear or detailed guidance about scaling Agile practices to the enterprise level, where many governance issues are ready to pounce. To make Agile work within enterprise governance, managing the people issues first is critical. Next, organizations must apply a common-sense approach to processes, enabling transitioning teams to manage demand and deliver efficiently without adding layers of bureaucracy. In addition, organizations should use tools to provide the transparency necessary to ensure that demand is prioritized and selected based on the value the finished product will deliver to the organization.” Forrester Research July 2012 34 Technical requirements Conflict in the need to meet governance requirements with the agile team’s focus on only delivering business value to their client Functional requirements Governance requirements Stories (work tasks) for processing by the agile team 35 Agile today • Coaches and coaching – Internal and external (consultants) • Certification – – – – – Certified IC Agile Professional (Alistair Cockburn) Certified ScrumMaster and Scrum practitioner certifications DSDM foundation/practitioner PMIs Agile Certified Practitioner certification Agile Project Management Certification (integrates with PRINCE2!) – APMG examination institute • Agile encroachment – IIBA - Agile extension integrated into the BABOK – Agile and PMBOK – remain incompatible on many fronts – Agile and SWEBOK – remain incompatible on many fronts 36 http://www.eweek.com/developer/agile-developers-needed-demand-outpaces-supplystudy/ Development positions 37 Adoption rates • Wide variation in reported adoption rates world wide – 14% (Dyba & Dingsoyr, 2008) – an academic report – 35% (West & Grant, 2010) – a Forrester research report – 69% (Ambler, 2009) – an agile guru’s report • Indisputable - agile software development - has grown in popularity in the last 12 years • Advocated as one of the top ten “best practices” of IT project management (Nelson, 2007) 38 Further information… • APN – Agile Professionals Network – Not-for-profit – Monthly meetings in Wellington with seminars from industry on success and issues with agile software development – http://www.agileprofessionals.net/ 39 Resources • Doctor of Philosophy (Information Systems) 2012 – A theory of coordination in agile software development projects • Master of Information Sciences (Information Systems) 2005 – The agile methods: An analytical comparison of five agile methods and an investigation of their target environment • Please contact me if you would like copies of any of the resources mentioned in this seminar • [email protected] • My research site • https://sites.google.com/site/dianestrodepublic/ 40 Agile methods: An unexpected journey
© Copyright 2024