An Agile Overview @ ShoreTel Sky


Published on

Overview of Agile as given to ShoreTel Sky. Part of a series of webinars around the Agile practices of ShoreTel Sky.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

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

No notes for slide
  • Iterative A development process which breaks the finished product into smaller projects (called iterations). The lessons from each iteration are applied in the next and subsequent iterations.WaterfallA sequential software development process where each phase is completed before moving to the next phase: requirements, software design, software development, system test, integration, and maintenance.ScrumA popular agile software development method for project management. Work is delivered in two- or four-week sprints. After each sprint, the team demonstrates their results to the product owner (and others). There’s a prioritized backlog of problems to solve.Rapid Application DesignA development methodology that uses CASE (computer-aided software engineering) tools, prototypes, and user-interaction to achieve the goals of high quality and speed.Extreme ProgrammingOne of several agile software development methodologies, prescribing a set of daily stakeholder practices that embody and encourage particular agile values. Proponents believe that exercising these practices—traditional software engineering practices taken to so-called "extreme" levels—leads to a development process that is more responsive to customer needs ("agile") than traditional methods, while creating software of better quality.Test-Driven DevelopmentA software development technique consisting of short iterations where new test cases covering the desired improvement or new functionality are written first, then the production code necessary to pass the tests is implemented, and finally the software is refactored to accommodate the changes.LeanLean manufacturing is the production of goods using less of everything compared to mass production: less human effort, less manufacturing space, less investment in tools, and less engineering time to develop a new product. Lean manufacturing is a generic process management philosophy derived mostly from the Toyota Production System and is often linked with Six Sigma.
  • An Agile Overview @ ShoreTel Sky

    1. 1. 5/7/11 Confidential Presentation ShoreTel Sky Agile Overview Generic Training
    2. 2. Agenda and Objectives • Overview of Agile 101 • Advantages of Agile thinking – What Agile Can do for you? • Concepts of Timeboxed Agile Objectives: • Understand the Agile 101 basics • Introduction to Agile @ ShoreTel Sky
    3. 3. Agile is NOT a Silver Bullet Embracing Agile promises faster time to market, higher quality and improved responsiveness to constantly changing market conditions. But…..
    4. 4. Wishful Thinking  • The customer knows what they want • The developers know how to build it • Nothing will change along the way 3 things we have to live with • The customer discovers what they want • The developers discover how to build it • Many things change along the way Product and/or Service System of Production and/or Service
    5. 5. Deming’s Shewhart Cycle Kaizen • CI (Continuous Improvement) • PDCA as a spiral • Birth of LEAN Plan Do Check Act
    6. 6. PDCA Applied to Agile TimeboxPlan Do Check Act Plan Do Tasks Review Retro
    7. 7. Simple Agility Input Output Feedback
    8. 8. Agile Manifesto “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: – Individuals and interactions over processes and tools – Working software over comprehensive documentation – Customer collaboration over contract negotiation – Responding to change over following a plan “That is, while there is value in the items on the right, we value the items on the left more” Signed by: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas © 2001, the above authors this declaration may be freely copied in any form, but only in its entirety through this notice.
    9. 9. Principles of Agile • Satisfying customer is top priority • Deliver working software frequently • Development teams and business work together • The primary measure of success is working software • The Team regularly reflects on work • Build projects around motivated people • Continuous attention to technical excellence and good design • Simplicity is essential – maximizing the amount of work not done • Architectures, requirements and designs emerge • Agile processes promote sustainable development
    10. 10. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. “Responding to change over following a plan” “Customer collaboration over contract negotiation” “Working software over comprehensive documentation” “Individuals and interactions over process and tools” Values “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.” “Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.” “Working software is the primary measure of progress.” “Agile processes promote sustainable development. The sponsors, developers, an d users should be able to maintain a constant pace indefinitely.” “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.” “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.” “Continuous attention to technical excellence and good design enhances agility.” “Business people and developers must work together daily throughout the project.” “Build projects around motivated individuals, give them the environment and support they need, and trust them to get the job done. “Simplicity -- the art of maximizing the amount of work not done – is essential.” “The best architectures, requireme nts, and designs emerge from self-organizing Principles
    11. 11. Lean and Agile Relationship LEAN AGILE Running enterprises and businesses Rapid delivery of complex products and services Minimize the time between customer request and customer fulfillment Minimizes risk by incremental delivery Emphasizes work simple enough to understand, do and manage Emphasizes real time collaboration, automation Continually improving the whole process – CI - Kaizen Mistake proof development practices Eliminate Waste and reducing non- value added work Uses business value as the primary measure of progress Develop individuals through team problem-solving, and engage people through their contribution to team performance Self-organizing, X-functional teams, working collaboratively Lean AgileTQM Value Stream Mapping SECI – Knowledge Dimensions TRIZ (TIPS) SPC – Statistical Process Control 6 Sigma
    12. 12. Agile is a Culture Agile Methods/Frameworks/Practices Scrum XP TDD Crystal Clear Agile PM - APM DSDM Atern KanbanFDD Lean Development RAD ShoreTel ??
    13. 13. The 5 Core XP Values • Communication - Building and disseminating institutional knowledge among development team, enables a shared vision. Happens through collaboration between users and developers, frequent verbal communication, and feedback, simple design, common metaphors. • Simplicity - Start with a simple solution. Extra functionality can be added later. • Feedback - Feedback looked in three dimensions : Feedback from the system, the customer and the developers. • Courage - Developers feel comfortable with refactoring, knowing when to throw away; courage to remove source code when obsolete • Respect – Respect for other as well as self-respect. – For example: developers should never delay the work of their peers
    14. 14. Agile Benefits • All the benefits of getting to “done”… frequently! • IT can focus on building things right • Business and IT have a better partnership for building the right thing • Every Sprint the business can – Get a demonstration of real working software – Change Portfolio and project level priorities – Change Portfolio level investments – Decide whether to release or not • Shared feeling of accomplishment
    15. 15. Iterative vs Incremental • Incremental • Iterative ©2008 Xavier Quesada Allue
    16. 16. Iterative Risk Reduction 18 Time Risk Waterfall Agile reduces risk by building and using
    17. 17. Incremental Delivery Feasibility Definition Design Construction Release Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Release #1 2 wks2 wks 2 wks2 wks 2 wks 2 wks 2 wks 2 wks Release #3Release #2 Agile What if this is enough? Waterfall
    18. 18. Iterative, Incremental development GUI Client Server DB schema C • Iterative = don’t expect to get it all right the first time • Incremental = build in ”vertical” slices (features) rather than ”horizontal” (layers) Monolithic development 1 2 3 4 1 Incremental development 2 3 Maybe we don’t even need to build the rest! C GUI Client Server DB schema
    19. 19. Waterfall vs. Incremental Delivery Feasibility Definition Design Construction Release Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 Iteration 7 Iteration 8 Release #1 2 wks2 wks 2 wks2 wks 2 wks 2 wks 2 wks 2 wks Release #3Release #2 Agile What if this is enough? Waterfall
    20. 20. Makes Money Faster Early delivery drives first to market, fast feedback, and profitability Market Value of a feature over time Waterfall Cumulative Gross Margins Agile Cumulative Gross Margins Time ValueDelivered
    21. 21. Delivers Better Fit for Purpose 23 What the Customer requested What the Customer would like Time Agile Adaptive Plan result Waterfall Plan result
    22. 22. Fixed vs. Variable Fixed Estimated Requirements TimeResources Time Features Plan Driven Value Driven The Plan creates cost/schedule estimates Release themes & feature intent drive estimates Waterfall Agile Resources
    23. 23. Agile Process Framework
    24. 24. Agile in 20 words: Some Values • Change – expect and embrace it, Adapt to your environment. • Communication - frequent verbal, building and disseminating knowledge. • Collaboration - between and amongst users and developers. • Feedback - from the system, the customer and the developers. • Courage - comfort in refactoring, finding your voice. • Respect - Respect for others as well as self-respect. • Transparency - Make work and a shared vision visible. • Sequenced - queue of work, Success is working software. • Quality - Continuous attention to excellence, Innovate on solutions. • Simplicity - Start with a simple solution, show Value. • Self-Organise - regularly reflect on work, determine the best way. • Motivate - build teams of motivated people, promote Sustainable cadence. • Satisfy customer and Deliver working software frequently.
    25. 25. AGILE OVERVIEW – DONE! Continues the series with: ShoreTel Scrum - How Scrum is implemented @ ShoreTel Sky