Agile Development Overview


Published on

Published in: Technology, Economy & Finance
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • X85726
  • Source:
  • Source:
  • Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods Barry Boehm University of Southern California Richard Turner OUSD(AT&L)/DS/SE (George Washington University) STC 2004 Tutorial April 19, 2004
  • Source:
  • Balancing Agility and Discipline: A Guide for the Perplexed , authors Barry Boehm and Richard Turner
  • Source:
  • Balancing Agility and Discipline: A Guide for the Perplexed , authors Barry Boehm and Richard Turner
  • Agile Development Overview

    1. 1. Agile Development Overview Mark Kovacevich [email_address]
    2. 2. Purpose The purpose of this presentation is to provide an overview of Agile Development
    3. 3. Agile Development Defined <ul><li>An iterative and incremental (evolutionary) approach to software development </li></ul><ul><li>which is performed in a highly collaborative manner </li></ul><ul><li>by self-organizing teams within an effective governance framework </li></ul><ul><li>with &quot;just enough&quot; ceremony </li></ul><ul><li>that produces high quality software </li></ul><ul><li>in a cost effective and timely manner </li></ul><ul><li>  which meets the changing needs of its stakeholders. </li></ul>
    4. 5. Principles Behind the Agile Manifesto <ul><li>Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. </li></ul><ul><li>Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. </li></ul><ul><li>Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. </li></ul><ul><li>Business people and developers must work together daily throughout the project. </li></ul><ul><li>Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. </li></ul><ul><li>The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. </li></ul>
    5. 6. Principles Behind the Agile Manifesto (Continued)‏ <ul><li>Working software is the primary measure of progress. </li></ul><ul><li>Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. </li></ul><ul><li>Continuous attention to technical excellence and good design enhances agility. </li></ul><ul><li>Simplicity--the art of maximizing the amount of work not done--is essential. </li></ul><ul><li>The best architectures, requirements, and designs emerge from self-organizing teams. </li></ul><ul><li>At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. </li></ul>
    6. 7. Types of Agile Development <ul><li>Adaptive Software Development (ASD)‏ </li></ul><ul><li>Agile Modeling </li></ul><ul><li>Crystal methods </li></ul><ul><li>Dynamic System Development Methodology (DSDM)‏ </li></ul><ul><li>eXtreme Programming (XP)‏ </li></ul><ul><li>Feature Driven Development </li></ul><ul><li>Lean Development </li></ul><ul><li>Scrum </li></ul>
    7. 8. Generic Agile Lifecycle
    8. 9. Which Projects are Suited to Agile? <ul><li>Agile home ground: </li></ul><ul><ul><li>Low criticality </li></ul></ul><ul><ul><li>Senior developers </li></ul></ul><ul><ul><li>Requirements change very often </li></ul></ul><ul><ul><li>Small number of developers </li></ul></ul><ul><ul><li>Culture that thrives on chaos </li></ul></ul><ul><li>Plan-driven home ground: </li></ul><ul><ul><li>High criticality </li></ul></ul><ul><ul><li>Junior developers </li></ul></ul><ul><ul><li>Requirements don't change too often </li></ul></ul><ul><ul><li>Large number of developers </li></ul></ul><ul><ul><li>Culture that demands order </li></ul></ul>
    9. 10. Tools to Support Agile Development <ul><li>Attributes </li></ul><ul><ul><li>Sprint Planning </li></ul></ul><ul><ul><li>Backlog Management </li></ul></ul><ul><ul><li>Testing/ Coordination </li></ul></ul><ul><ul><li>Resource Planning </li></ul></ul><ul><ul><li>Documentation </li></ul></ul><ul><ul><li>Integration (Quality Center, Clearcase, etc.)‏ </li></ul></ul><ul><li>Candidates </li></ul><ul><ul><li>IBM Jazz </li></ul></ul><ul><ul><li>Microsoft Solutions Framework (MSF) for Agile </li></ul></ul><ul><ul><li>VersionOne </li></ul></ul><ul><ul><li>Rally Software </li></ul></ul>
    10. 11. Resources/ More Information <ul><li>Agile Alliance: </li></ul><ul><li>Agile Software Development: </li></ul><ul><li>Agile Manifesto: </li></ul><ul><li>Agile University: </li></ul><ul><li>Extreme Programming: </li></ul>
    11. 12. Appendix
    12. 13. Core Scrum Practices <ul><li>Backlog . Product, Release, Sprint Backlog - lists of all functionality in product, release and sprint respectively. Product Owner responsible for the backlog management and maintenance. </li></ul><ul><li>Iterative development . The whole project gets divided into sprints usually 4 weeks duration each. Sprints have fixed duration (time boxing). Time boxing enables regular deliveries, supports project heart beats and helps development teams to focus on a shippable product in the end of each sprint. </li></ul><ul><li>Scrum meetings . Daily meetings where team members answers the following questions: What have you done since the last scrum meeting? What has impeded your work? What do you plan on doing between now and the next scrum meeting? </li></ul><ul><li>Burn Down Charts . Scrum Sprint Burn Down chart shows implementation progress during a single sprint. It provides answers on the following questions: When sprint could be completed based on previous progress? What is the most possible scrum team Velocity in future sprints? </li></ul><ul><li>Sprint review meeting . Facilitated by Scrum Master and provides an inspection of project progress at the end of the every Sprint. The goal is to improve development process by introducing new practices, changing existing practices, etc. </li></ul>
    13. 14. Agile Software Development Lifecycle
    14. 15. Characteristics Agile Plan-driven Application Primary Goals Rapid value; responding to change Predictability, stability, high assurance Size Smaller teams and projects Larger teams and projects Environment Turbulent; high change; project-focused Stable; low-change; project/organization focused Management Customer Relations Dedicated on-site customers, where feasible; focused on prioritized increments As-needed customer interactions; focused on contract provisions; increasingly evolutionary Planning/Control Internalized plans; qualitative control Documented plans, quantitative control Communications Tacit interpersonal knowledge Explicit documented knowledge Technical Requirements Prioritized informal stories and test cases; undergoing unforseeable change Formalized project, capability, interface, quality, forseeable evolution requirements Development Simple design; short increments; refactoring assumed inexpensive Architect for parallel development; longer increments; refactoring assumed expensive Test Executable test cases define requirements Documented test plans and procedures Personnel Customers Dedicated, collocated CRACK* performers CRACK* performers, not always collocated Developers At least 30% full-time Cockburn level 2 and 3 experts; no Level 1B or -1 personnel** 50% Cockburn Level 3s early; 10% throughout; 30% Level 1B’s workable; no Level -1s** Culture Comfort and empowerment via many degrees of freedom (thriving on chaos)‏ Comfort and empowerment via framework of policies and procedures (thriving on order)‏ * Collaborative, Representative, Authorized, Committed, Knowledgeable ** These numbers will particularly vary with the complexity of the application