630 likes | 688 Views
Discipline vs. Agility. Report by Jason Cradit. 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.
E N D
Discipline vs. Agility Report by Jason Cradit
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
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
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
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
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
What is Disciplined? Adjectives: • Predictive • Process • Plan-driven • Documentation • Systematic Methods: • Software capability maturity mode • IEEE • Cleanroom
What is Disciplined? Plan-Driven Concepts: • Process improvement • Process capability • Organizational maturity • Process group • Risk management • Verification • Validation • Software system architecture Improve Process Define Process Control Process Measure Process Perform 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
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
Where Did Agile Come From? • Outgrowth of rapid prototyping • Programming more of a craft than a process • Dehumanization of plan-driven processes • Problem: • After a long development cycle the product doesn’t meet expectations • Chaordic = chaos + order
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.
What is Agile? Adjectives: • Iterations • Test-driven • Customer collaboration Methods: • eXtreme Programming (XP) • Adaptive Software Development • Feature Driven Development Every 24 hours
What is Agile? Agile Concepts: • Embrace change • Fast cycle/frequent delivery • Simple design • Refactoring • Pair programming • Retrospective • Test-driven development
Quality in Agile Customer satisfaction • Is the product fit for use? • Is the product fit for purpose? • Is the customer happy with the product?
Sounds Great, Why Not Use It? • Agile has trouble scaling • Size of project • Size of group • Cost can go up with group size • Plan-driven has trouble trimming • Heavy documentation • Late cycle delivery • No silver bullet
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
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
What are the misconceptions? • Silver bullet – that you have to pick one
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 “plug-compatible” process assets Philippe Kruchten from Rational
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
Contrasts and Home Grounds Home grounds depend on characteristics • Application characteristics • Management characteristics • Technical characteristics • Personnel characteristics
Application CharacteristicsContrasts 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
Management CharacteristicsContrasts 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
Technical CharacteristicsContrasts 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
Personnel CharacteristicsContrasts 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
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
Five Critical Factors Factors to measure: • Personnel • Size • Dynamism • Criticality • Culture
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
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
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
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
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
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
Risk-Based Method Use to determine balance between methods
Risk-Based Method Step4. Tailor Life Cycle Go risk-based agile Step1. Risk Analysis Step 2. Risk Comparison Go risk-based plan-driven Rate risks Compare risks Uncertain about rating Step 3. Architecture Analysis Blend methods Buy info Architect application to encapsulate agile parts Step 5. Execute and Monitor Tailor process Deliver according to strategy Monitor and readjust as appropriate
Risk-Based Method Categories of risk • Environmental • Risks that results from the project’s general environment • Agile • Risks that are specific to the use of agile methods • Plan-driven • Risks that are specific to the use of plan-driven methods
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
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
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
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
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
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
SupplyChain.com Step 4a – Individual Risk Resolution Strategies • Environmental • Technical risks • Prototype and benchmark agent technologies • Coordination risks • Add CRACK representatives
SupplyChain.com Step 4a – Individual Risk Resolution Strategies • Agile risks • A-Scale – break development teams into smaller teams • YANGI risks • Encapsulation – hide-information technique • Churn risks • Pair-programming and successful completion bonus • Plan-driven risks • Mitigated based on using more agile techniques
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
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