Discipline vs. Agility Report by Jason Cradit 1 For Review What are we talking about and who cares? • What is discipline? • What is agility? • What are the misconceptions? • Contrasts and home grounds • Five critical factors • Risk-based method • Projects from my past • Closing remarks • 2 What Are We Talking About? Agile? Discipline? Perplexity? • • Project management Getting things done − − • How Good practices Perplexity on: − − − Each have multiple definitions Distinguishing from use and misuse Overgeneralization based on most visible 3 Who Cares? Barry Boehm • • • B.A. Harvard 1957 M.S. UCLA 1961 Ph.D. UCLA 1964 Richard Turner • • • B.A. Huntingdon 1975 M.S. U of Southwestern Louisiana 1977 D.Sc. George Washington University 2002 You – Future KU Graduates 4 For Review What are we talking about and who cares? • What is discipline? • What is agility? • What are the misconceptions? • Contrasts and home grounds • Five critical factors • Risk-Based method • Projects from my past • Closing remarks • 5 Where Did Discipline Come From? Government • DoD guidance documents − − − MIL-STD-1521 DoD-STD-2167 MIL-STD-498 Large commercial companies • Internal standards of use − − − IBM Hitachi Siemens 6 What is Disciplined? Adjectives: Predictive • Process • Plan-driven • Documentation • Systematic • Methods: • • • Software capability maturity mode IEEE Cleanroom 7 What is Disciplined? Plan-Driven Concepts: Process improvement • Process capability Define Process • Organizational maturity • Process group • Risk management • Verification • Validation • Software system architecture • 8 Improve Process Control Process Perform Process Measure Process Quality in Discipline Specification and process compliance • • Requirements/design/build Gage success of how we met the plan − − − Estimated Cost Estimated Time Estimated Scope 9 For Review What are we talking about and who cares? • What is discipline? • What is agility? • What are the misconceptions? • Contrasts and home grounds • Five critical factors • Risk-based method • Projects from my past • Closing remarks • 10 Where Did Agile Come From? • Outgrowth of rapid prototyping • Programming more of a craft than a process − • Problem: − • Dehumanization of plan-driven processes After a long development cycle the product doesn’t meet expectations Chaordic = chaos + order 11 What is Agile? Read the Manifesto: We have come to value Individuals and interactions over process and tools Working software over comprehensive documentation Customer collaboration over following a plan That is, while there is value in the items on the right, we value the items on the left more. 12 What is Agile? Adjectives: • • • Iterations Test-driven Customer collaboration Methods: • • • eXtreme Programming (XP) Adaptive Software Development Feature Driven Development 13 Every 24 hours What is Agile? Agile Concepts: • • • • • • • Embrace change Fast cycle/frequent delivery Simple design Refactoring Pair programming Retrospective Test-driven development 14 Quality in Agile Customer satisfaction • • • Is the product fit for use? Is the product fit for purpose? Is the customer happy with the product? 15 Sounds Great, Why Not Use It? • Agile has trouble scaling − − • • Cost can go up with group size Plan-driven has trouble trimming − − • Size of project Size of group Heavy documentation Late cycle delivery No silver bullet 16 What Are The Key Differences? • • • • Plan-Driven value process over people Agile values people over process Document, Document, Document – chants the disciplined Waterfall vs. Cups-of-water 17 For Review What are we talking about and who cares? • What is discipline? • What is agility? • What are the misconceptions? • Contrasts and home grounds • Five critical factors • Risk-based method • Projects from my past • Closing remarks • 18 What are the misconceptions? Plan-Driven Methods Agile Plan-driven methods are uniformly bureaucratic Agile methods don’t plan Having documented plans guarantees compliance with plans Agile methods require uniformly talented people Plan-driven methods can succeed with a lack of talented people YAGNI is a universally safe assumption, and won’t alienate your customers • Silver bullet – that you have to pick one 19 Do What Makes Sense! CMM for Software like the dictionary • • Use the words that make the desired point Don’t use all the words Tool box • An organization should have the repository of “plugcompatible” process assets Philippe Kruchten from Rational 20 For Review What are we talking about and who cares? • What is discipline? • What is agility? • What are the misconceptions? • Contrasts and home grounds • Five critical factors • Risk-based method • Projects from my past • Closing remarks • 21 Contrasts and Home Grounds Home grounds depend on characteristics • • • • Application characteristics Management characteristics Technical characteristics Personnel characteristics 22 Application Characteristics Contrasts and Home Grounds Primary goals • • Rapid value and responsiveness to change Plan-driven goals are predictability, stability, and high assurance Size • • Agile works best on smaller projects Plan-driven is a necessity on large complex projects Environment • • Agile approaches are comfortable in high-change environments with some risks Plan-driven methods need stability 23 Management Characteristics Contrasts and Home Grounds Customer relations Agile encourages a dedicated collocated customer • Plan-driven methods depend on contracts and specifications • Agile methods use working software to build trust • Plan-driven methods use established process maturity • Planning and control Agilists see planning as a means to an end • Plan-driven methods use plans to communicate and coordinate • Agile is “planning driven,” rather than “plan-driven” • Project communication Agile methods depend on tacit knowledge • Plan-driven approaches use explicit, documented knowledge • 24 Technical Characteristics Contrasts and Home Grounds Requirements • • Agile uses informal, user-prioritized stories as requirements Plan-driven methods prefer specific, formalized requirements Development • • Agile advocates simple design Plan-driven methods advocate architecture to anticipate changes Testing • • Agile methods develop tests before code, and test incrementally Plan-driven methods test to specifications 25 Personnel Characteristics Contrasts and Home Grounds Customers • • Both methods need CRACK performers – Collaborative, Representative, Authorized, Committed, and Knowledgeable Plan-driven does not require them full-time Developers • • Agile developers need more than technical skills Plan-driven methods need fewer highly talented people than agile Culture • • Agilists like many degrees of freedom Plan-driven people need clear process and roles 26 For Review What are we talking about and who cares? • What is discipline? • What is agility? • What are the misconceptions? • Contrasts and home grounds • Five critical factors • Risk-based method • Projects from my past • Closing remarks • 27 Five Critical Factors Factors to measure: • • • • • Personnel Size Dynamism Criticality Culture 28 Five Critical Factors Personnel – Based on Cockburn scale • Agile − Requires continuous presence of critical mass of scarce Cockburn Level 2 or 3 experts. Risky to use non-agile Level 1B people. • Plan-Driven − Needs a critical mass of scarce Cockburn level 2 and level 3 experts during project definition, but can work with fewer later in the project – unless the environment is highly dynamic. Can usually accommodate some Level 1B people. - Range: (% level 1B / % level 2-3, Agile to Plan-driven) • • • • • 0%1B / 35% Level 2 and 3 10%1B / 30% Level 2 and 3 20%1B / 25% Level 2 and 3 30%1B / 20% Level 2 and 3 40%1B / 15% Level 2 and 3 29 Cockburn Scale Levels of Software Method Understanding and Use Level Characteristics 3 Able to revise in unprecedented situation 2 Able to tailor a method to fit new situation 1A With training can perform discretionary steps, can train to level 2 1B With training can perform basic procedural steps -1 May have technical skills but unable or unwilling to collaborate 30 Five Critical Factors Size • Agile − Well matched to small products and teams • Plan-Driven − Methods evolved to handle large products and teams – hard to tailor down - Range: (Number of personnel) • • • • • 3 10 30 100 300 31 Five Critical Factors Dynamism • Agile − Simple design and continuous refactoring are excellent for highly dynamic environments, but a source of potentially expensive rework for highly stable environments. • Plan-Driven − Detailed plans and Big Design Up Front excellent for highly stable environments, but a source of expensive rework for highly dynamic environments. - Range: (% Requirements-changing / month) • • • • • 50 30 10 5 1 32 Five Critical Factors Criticality • Agile Untested on safety-critical products − Potential difficulties with simple design and lack of documentation − • Plan-Driven Methods evolved to handle highly critical products − Hard to tailor down to low-criticality products − - Range: (Loss due to impact of defects) • • • • • Comfort Discretionary Funds Essential Funds Single Life Many Lives 33 Five Critical Factors Culture • Agile − Thrives in a culture where people feel comfortable and empowered by having many degrees of freedom. • Plan-Driven − Thrives in a culture where people feel comfortable and empowered by having their roles defined by clear policies and procedures. - Range: (% Thriving on chaos vs. order) • • • • • 90 70 50 30 10 34 Walking the Line – When to Use What 35 For Review What are we talking about and who cares? • What is discipline? • What is agility? • What are the misconceptions? • Contrasts and home grounds • Five critical factors • Risk-based method • Projects from my past • Closing remarks • 36 Risk-Based Method Use to determine balance between methods A Tailorable Method for Balancing Agile and Plan-Driven Methods Step1: Rate the projects environmental, agile and plan-driven risks. If uncertain about ratings, buy information via prototyping, data collection, and analysis. Step 2a: If agility risks dominate plan-driven risks, go risk-based plan-driven. Step 2b: If plan-driven risks dominate agility risks, go risk-based agile. Step 3: If parts of the application satisfy 2a and others 2b, architect the application to encapsulate the agile parts. Go risk-based agile in the agile parts and risk-based plan-driven elsewhere. Step 4: Establish an overall project strategy by integrating individual risk mitigation plans. Step 5: Monitor progress and risks/opportunities, re-adjust balance and process as appropriate. 37 Risk-Based Method Step1. Risk Analysis Rate risks Uncertain about rating Step 2. Risk Comparison Go risk-based agile Compare risks Go risk-based plan-driven Step 3. Architecture Analysis Architect application to encapsulate agile parts Blend methods Buy info Step 5. Execute and Monitor Deliver according to strategy Monitor and readjust as appropriate 38 Tailor process Step4. Tailor Life Cycle Risk-Based Method Categories of risk • Environmental − • Agile − • Risks that results from the project’s general environment Risks that are specific to the use of agile methods Plan-driven − Risks that are specific to the use of plan-driven methods 39 Risk-Based Method Environmental risks: • Risks that result from the projects general environment − − − E-Tech - Technology uncertainties E-Coord - Many diverse stakeholders to coordinate E-Cmplx – Complex system of systems 40 Risk-Based Method Agile risks • Risks that are specific to the use of agile methods − − − − A-Scale – Scalability and criticality A-YANGI – Use of simple design or YANGI A-Churn – Personnel turnover or churn A-Skill – Not enough people skilled in agile methods 41 Risk-Based Method Plan-driven risks • Risks that are specific to the use of plan-driven methods − − − − P-Change – Rapid change P-Speed – Need for rapid results P-Emerge – Emergent requirements P-Skill – Not enough people skilled in plan-driven methods 42 SupplyChain.com Turnkey supply chain management systems for manufactures • • • • • • • • Team size: 50 Team type: Distributed; often multi-organization Failure risks: Major business losses Clients: Multiple success-critical stakeholders Requirements: Some parts relatively stable, others volatile, emergent Architecture: Mostly provided by small number of COTS package Refactoring: More expensive, with mix of people skills Primary objective: Rapid value increase, dependability, adaptability 43 SupplyChain.com Step 1 - Rate the project risks • Environmental E-Tech – Uncertainties with agent-based system − E-Coord – Multiple suppliers and distributors − • Agile risks A-Scale – 50 person development team − A-YAGNI – Many stable components − A-Churn – Stable workforce − • Plan-Driven risks P-Change – Changing markets, technology and organizations − P-Speed – High speed competition − P-Emerge – Requirements due to change − 44 SupplyChain.com 45 SupplyChain.com Step 2 - Compare Agile and Plan-Driven Risks • Agile methods less risky Scalability – 50 person development team – Criticality – Loss due to defects, medium – • Plan-driven risks not deal breakers Rapid-change – Emerging requirements – Use a blended approach based in agile methods! No need for Step 3 46 SupplyChain.com Step 4a – Individual Risk Resolution Strategies • Environmental Technical risks • Prototype and benchmark agent technologies − Coordination risks • Add CRACK representatives − 47 SupplyChain.com Step 4a – Individual Risk Resolution Strategies • Agile risks − • YANGI risks − • Encapsulation – hide-information technique Churn risks − • A-Scale – break development teams into smaller teams Pair-programming and successful completion bonus Plan-driven risks − Mitigated based on using more agile techniques 48 SupplyChain.com Step 4b – System development • Three participant groups − Operational stakeholders – Representatives from each operation » Manufacturing » Supplier » Distributor – − CRACK performers Risk\opportunity management team Project managers – Senior members – See something – do something about it – − Agile teams – Developers doing the work 49 SupplyChain.com Step 4b - Three-phase development • Inception Build team − Build vision − • Elaboration Establish overall operational concept − Establish key COTS − Define first increment − • Implementation increments Agile teams develop successive increments − Develop\test − 50 For Review What are we talking about and who cares? • What is Discipline? • What is Agility? • What are the misconceptions? • Contrasts and Home Grounds • Five critical factors • Risk-Based method • Projects from my past • Closing remarks • 51 Projects from my past PM1 to PM2 • Access forms with Access DB to Web with SQL − − • Forms for revenue – project status – CRM ISO 9000 system Mythical agility failed − − − No documentation Poor communication No checks 52 Projects from my past MJHarden.com • Build new web presence for MJ Harden − − • Flash intro – new content – new navigation No function, just market Successful plan-driven project − − − − − − − Document requirements Froze requirements Developed Tested - functions and design(marketing) Bug-fix Change management Deploy 53 For Review What are we talking about and who cares? • What is Discipline? • What is Agility? • What are the misconceptions? • Contrasts and Home Grounds • Five critical factors • Risk-Based method • Projects from my past • Conclusions • 54 Conclusions No silver bullet • Plan-driven has issues − − • Late value recognition Documentation heavy Agility has issues − − Scaling up – ineffective in large projects Requires skilled personnel 55 Conclusions Remember the home grounds • • • • • Personnel – Skilled workers Criticality – Loss due to defects Size – Number of personnel Culture - % Thriving on chaos vs. order Dynamism - % Requirements - change/month 56 Conclusions Future projects will need both Agility and Discipline • • Past shows no intermingling between home grounds Future shows more combination of methods − − − There will always be huge projects and small projects Large projects will require large rate of change Small projects are scaling up 57 Conclusions Balanced methods are emerging • Risk based method only one way − − − − Crystal Orange DSDM FDD Lean Development 58 Conclusions Build your Method up • • Start with minimal agile techniques Build as required Don’t tailor it down • • Starting with full plan-driven requires high experienced personnel Tailoring waists resources and time 59 Conclusions Focus less on methods • • • • More on people Values Communication Expectations management Good people and teams trump any other factors 60 Conclusions 61 Questions? 62 Bibliography • Boehm, Barry, and Richard Turner, and . Balancing Agility and Discipline: A Guide for the Perplexed. Addison-Wesley Professional, 2003. 63