395b3a5322a50262927a3ed8dc50e0c6.ppt
- Количество слайдов: 32
® IBM Software Group Scaling Agile Software Development for the Real World Scott W. Ambler Practice Leader Agile Development © 2007 IBM Corporation
IBM Software Group | Rational software Scott Ambler - Background § Practice Leader Agile Development § Senior Contributing Editor, DDJ § Fellow – International Association of Software Architects § www. ibm. com/rational/bios/ambler. html § www. ibm. com/developerworks/blogs/page/ambler 2
IBM Software Group | Rational software Agenda § Warning! § Agile Software Development § Agile Adoption Rate § Scaling Agile § Successful Adoption 3
IBM Software Group | Rational software Warning! § I’m spectacularly blunt at times § Many new ideas will be presented § Some may not fit well into your existing environment § Some will challenge your existing notions about software development § Some will confirm your unvoiced suspicions § Don’t make any “career-ending moves” § Be skeptical but open minded 4
IBM Software Group | Rational software Agenda § Warning! § Agile Software Development 4 What is Agile? 4 How Agile is Different 4 Agile Mythbusters § Agile Adoption Rate § Scaling Agile § Successful Adoption 5
IBM Software Group | Rational software What is Agile? § An iterative and incremental (evolutionary) approach performed in a highly collaborative and self-organizing manner with just the right amount of ceremony to frequently produce high quality software in a cost effective and timely manner which meets the changing needs of its stakeholders. § Core principles 4 “Fits just right” process 4 Continuous testing and validation 4 Consistent team collaboration 4 Rapid response to change 4 Ongoing customer involvement 4 Frequent delivery of working software 6
IBM Software Group | Rational software How Agile is Different § Focus on collaboration: 4 Less paperwork and more conversation 4 Stakeholders actively involved § Focus on quality 4 We have a full regression test suite for our systems 4 We develop loosely-coupled, highly cohesive architectures 4 We refactor to keep them this way § Focus on working software: 4 Greater feedback makes agile projects easier to manage 4 Less documentation is required 4 Less bureaucracy § Agilists are generalizing specialists: 4 Less hand offs between people 4 Less people required 4 Specialists find it difficult at first to fit into the team § Agile is based on practice, not theory: 4 This is a significant change from traditional 4 You need to see how agile works in practice to truly understand it 7
IBM Software Group | Rational software Addressing Misconceptions about Agile 1. Agile teams write documentation 2. Agile teams model 3. Agile requires greater discipline than traditional approaches 4. Agile teams do more planning than traditional teams, but it’s just in time (JIT) 5. Agile is more predictable than traditional 6. Agile scales very well 7. RUP can be as agile as you want to make it 8. Agile is not a fad, it is being adopted by the majority of organizations 9. Agile can do fixed price, but it’s still poor practice to do so 8
IBM Software Group | Rational software Agenda § Warning! § Agile Software Development § Agile Adoption Rate 4 Survey overview 4 Adoption rates 4 Success rates 4 Iteration lengths § Scaling Agile § Successful Adoption 9
IBM Software Group | Rational software Has Your Organization Adopted One or More Agile Techniques? 18% of respondents indicated they’re still in the pilot stage 15% of “No” respondents hope to do Agile this year Source: Dr Dobb’s 2008 Agile Adoption Survey 10
IBM Software Group | Rational software Why Agile/Lean? It’s More Successful § Quality: 87% believe that delivering high quality is more important than delivering on time and on budget § Scope: 87% believe that meeting actual needs of stakeholders is more important than building the system to specification § Money: 80% believe that providing the best ROI is more important than delivering under budget § Staff: 76% believe that having a healthy workplace is more important than delivering on time and on budget § Schedule: 62% believe that delivering when the system is ready to be shipped is more important than delivering on schedule Source: Dr Dobb’s 2007 Project Success Survey 11
IBM Software Group | Rational software Why Agile? Because it Works! 12
IBM Software Group | Rational software Agile Projects Success Rates (%) (214 co-located projects, 210 near located, 129 far located) Source: Dr Dobb’s 2008 Agile Adoption Survey 13
IBM Software Group | Rational software Largest Team Size Attempted vs. Successful Source: Dr Dobb’s 2008 Agile Adoption Survey 14
IBM Software Group | Rational software Agenda § Warning! § Agile Software Development § Agile Adoption Rate § Scaling Agile 4 Challenges with Agile in the Mainstream 4 Agility is Relative 4 AMDD Practices 4 Agile Testing 4 RUP Agile 4 Agile Data Practices § Successful Adoption 15
IBM Software Group | Rational software Challenges with Agile in the Mainstream Compliance/regulations Enterprise discipline Project focus Enterprise focus Critical, Audited Low risk Geographical distribution Co-located Entrenched process, people, and policy Global Minimal Significant Agile Development Work groups Application complexity Simple, single platform Complex, multi-platform Team size Under 10 developers Third party In-house Governance 100’s of developers Informal Formal 16
IBM Software Group | Rational software Agility is Relative – It Depends on Project Dynamics Organizational Drivers Team Size Geographical Distribution Organization Distribution Entrenched process, people, policy § § § § Mature or existing projects Large teams Complex, multi-platform applications Distributed teams Need for scalability, reproducibility, and traceability Maturing projects Multi-platform Growing in complexity Remote or offshore work Greater need for coordination and handoffs Small team New projects Simple application Co-located Minimal need for documentation Technical and Regulatory Drivers Compliance Governance Application complexity 17
IBM Software Group | Rational software Agile Modeling Best Practices www. agilemodeling. com/essays/best. Practices. htm 18
IBM Software Group | Rational software Comprehensive Agile Testing TDD is a form of confirmatory testing TDD is a great start, but it’s not the full testing picture Effective agile teams push their working builds to an independent test team on a regular basis for investigative testing Change stories must be prioritized and put back on the team’s work stack Defects == Requirements Source: January 2007 Dr. Dobb’s Magazine (www. ddj. com/dept/debug/196603549) 19
IBM Software Group | Rational software Agile Database Practices § Database Refactoring 4 www. agiledata. org/essays/database. Refactoring. html § Database Regression Testing 4 www. agiledata. org/essays/database. Testing. html § Continuous Database Integration 4 www. martinfowler. com/articles/evodb. html 20
IBM Software Group | Rational software Scale Agile via Rational Unified Process (RUP) § Organizations have instantiated RUP to be very agile § Scaling strengths: 4 Risk-driven milestones 4 Explicit “go/no-go” decision points 4 Stakeholder concurrence gained during Inception 4 Architecture proven via working software during Elaboration 4 Managed deployment during Transition 21
IBM Software Group | Rational software Agenda § Warning! § Agile Software Development § Agile Adoption Rate § Scaling Agile § Successful Adoption 4 Measured Capability Improvement Framework (MCIF) 4 Critical IBM Agile Resources 22
IBM Software Group | Rational software Measured capability improvement framework Map business value to software delivery practices Target: Phase 1 Already implemented Outside scope Example: Financial Service Company Customer Business Challenges Operational Objectives Software Delivery Best Practices § Create financial products more quickly § Reduce time-to-market § Functionality of customer web falling behind competition § Improve productivity Continuous integration § Inconsistencies with integrated financial reporting § Increase innovation Shared vision § Recent SOX audit failure § Improve consistency/predictability § Improve oversight § Enable flexible/global resourcing § Satisfy compliance mandate Use-case driven development Whole team Risk-value lifecycle 2 -level project planning Test-driven development Asset-based development Asset governance Iterative development SOA modeling Ongoing Adoption Assessment Business Metrics Enterprise SOA Adopt Practice SOA governance Project Time to Market (M) Quality (Defect Density) A 22 2. 3 7 Security testing B 14 1. 4 4 Functional testing C 18 1. 6 6 Test management D 9 0. 3 10 E 6 0. 4 8 Structured testing … Innovation (Cust. Sat. ) Architecture modeling 23
IBM Software Group | Rational software Critical IBM Agile Resources www. ibm. com/rational/agile/ www. ibm. com/developerworks/blogs/page/ambler 24
IBM Software Group | Rational software © Copyright IBM Corporation 2007. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. 25
IBM Software Group | Rational software IBM Best Practices to Enable Agile Success Proven. Practical. Flexible guidance. IBM Rational Method Composer including RUP § A configurable process platform to capture processes and best practices § Adapt the process unique project needs § Templates provide process guidance to get teams up and running quickly IBM developer. Works § A thriving community of 5. 7 million practitioners § One of the industry’s predominant sources for learning and best practices Expert services so you don’t have to go it alone § IBM Software Services, Rational 4 Rational experts in Agile Development and RUP § IBM Accelerated Solutions Delivery Practice, Global Business Services 4 Focused on Agile discipline since 1998 4 Agile consulting, assessments, project delivery and transformational implementations 26
IBM Software Group | Rational software Lean Development Governance www. ibm. com/developerworks/ § Pragmatic Governance Body § Staged Program Delivery § Business-Driven Project Pipeline § Scenario-Driven Development § Align HR Policies With IT Values § Align Stakeholder Policies With IT Values Organization Mission & Principles § Promote Self-Organizing Teams § Align Team Structure With Architecture § § § Iterative Development Adapt The Process Risk-Based Milestones Continuous Improvement § Simple And Relevant Metrics § Continuous Project Monitoring Embedded Compliance Processes Measures Roles & Responsibilities Policies & Standards § Integrated Lifecycle Environment § Valued Corporate Assets § Flexible Architectures 27
IBM Software Group | Rational software Mainstream Agile Practices § Regular Deployment of Working Software § Non-Solo Development § Refactoring § Continuous Integration § Configuration Management § Test Driven Development (TDD) § Agile Testing § Agile Documentation 28
IBM Software Group | Rational software Survey Results § Agile Adoption Survey § Project Success Survey § February 2008 4 August 2007 § Message sent out to DDJ mailing list 4 Email to DDJ mailing list 4586 respondents 454. 8% were developers, 29. 4% were in management § 54% were developers/modelers, 30% were in management 441. 6% had 10 -20 years IT experience, 37. 2% had 20+ years § 73% had 10+ years in IT § 13% worked in orgs of 1000+ IT people 437. 7% worked in orgs of 1000+ people § 84% worked in commercial firms 471% worked in North America, 17% in Europe, 4. 5% in Asia § 69% North American, 18% European § 642 respondents: Data, summary, and slides downloadable from www. ambysoft. com/surveys/ 29
IBM Software Group | Rational software Service Offering: Health Assessment for Software Delivery § Identify drivers for delivery improvements § Current state: Showcase practice adoption level for target projects § Future state: An initial roadmap outlining how you can evolve your delivery approach to address your key business drivers § List of inhibitors that may prevent successful adoption of target practices § Identifies potential metrics that help you track progress on the implementation of your roadmap 30
IBM Software Group | Rational software IBM Rational Self Check for Software Teams The Assessment Tool Practice Comments Use Cases Big Picture of Practice Adoption Average Deviation Use Stories instead 7. 8 0. 50 Not enough, not in build 6. 8 1. 89 Stakeholder Feedback Want more 8. 5 0. 58 Time-Boxed Iterations Not well specified 8. 3 0. 50 Not Fridays 9. 3 0. 50 Test Early Not enough TDD 4. 5 1. 91 Reflections Need clear actions 8. 8 0. 50 Static Analysis Not automated yet. 3. 3 0. 96 Unit Test Daily Scrum Experience Report Deep Dive on Practice 31
IBM Software Group | Rational software References and Recommended Reading § § § § § www. agilealliance. com www. agilemodeling. com www. agiledata. org www. enterpriseunifiedprocess. com Ambler, S. W. (2002). Agile Modeling: Effective Practices for XP and the UP. New York: John Wiley & Sons. Ambler, S. W. (2003). Agile Database Techniques. New York: John Wiley & Sons. Ambler, S. W. (2004). The Object Primer 3 rd Edition: AMDD with UML 2. New York: Cambridge University Press. Ambler, S. W. and Sadalage, P. J. (2006). Refactoring Databases: Evolutionary Database Design. Reading, MA: Addison Wesley Longman, Inc. Larman, C. (2004). Agile and Iterative Development: A Manager’s Guide. Reading, MA: Addison Wesley Mc. Govern, J. , Ambler, S. W. , Stevens, M. , Linn, J. , Sharan, V. , & Jo, E. (2003). The Practical Guide to Enterprise Architecture. Prentice Hall PTR. 32
395b3a5322a50262927a3ed8dc50e0c6.ppt