Agile Principles.pptx

download Agile Principles.pptx

of 22

Transcript of Agile Principles.pptx

  • 8/10/2019 Agile Principles.pptx

    1/22

    Agile Principles

    Muhammad Shoaib

    1

  • 8/10/2019 Agile Principles.pptx

    2/22

    What is Agility?

    Effective (rapid and adaptive) response to change

    Effective communication among all stakeholders

    Drawing the customer onto the team

    Organizing a team so that it is in control of the

    work performed

    Yielding

    Rapid, incremental delivery of software

    2

  • 8/10/2019 Agile Principles.pptx

    3/22

    4 Practices to Successful Projects

    1. An early release of the evolving product to thecustomer.

    2. Getting rapid feedback from the customer and

    incorporating that feedback into new designexperiments.

    3. A team structure that will allow the rightdecisions to be made on the fly.

    4. Choosing a product architecture that allows forchange rather than attempting to get optimalperformance.

    MacCormack, A. D., Product-Development Practices That Work: How Internet Companies Build Software,

    Sloan Management Review 42, no. 2 (winter 2001): 75-84. 3

  • 8/10/2019 Agile Principles.pptx

    4/22

    Manifesto for Agile Software

    DevelopmentWe are uncovering better ways of developing software bydoing it and helping others do it. Through this work wehave come to value:

    Individuals and interactions overprocesses and tools

    Working software over comprehensive documentationCustomer collaboration over contract negotiation

    Responding to change overfollowing a plan

    That is, while there is value in the items on the right, wevalue the items on the left more.

    .

    4source: http://www.agilemanifesto.org

  • 8/10/2019 Agile Principles.pptx

    5/22

    The Proposed 5thManifesto

    Craftsmanship over Execution

    5

  • 8/10/2019 Agile Principles.pptx

    6/22

    12 Principles of Agile Software

    1. Our highest priority is to satisfy the customer

    through early and continuous delivery of

    valuable software.

    2. Welcome changing requirements, even late

    in development. Agile processes harness

    change for the customer's competitive

    advantage.

    6source: http://www.agilemanifesto.org

  • 8/10/2019 Agile Principles.pptx

    7/22

    12 Principles of Agile Software

    3. Deliver working software frequently, from a

    couple of weeks to a couple of months, with

    a preference to the shorter timescale.

    4. Business people and developers must work

    together daily throughout the project.

    5. Build projects around motivated individuals.

    Give them the environment and support they

    need, and trust them to get the job done.

    7source: http://www.agilemanifesto.org

  • 8/10/2019 Agile Principles.pptx

    8/22

    12 Principles of Agile Software

    6. The most efficient and effective method of

    conveying information to and within a

    development team is face-to-face

    conversation.

    7. Working software is the primary measure of

    progress.

    8source: http://www.agilemanifesto.org

  • 8/10/2019 Agile Principles.pptx

    9/22

    12 Principles of Agile Software

    8. Agile processes promote sustainable

    development. The sponsors, developers, and

    users should be able to maintain a constant

    pace indefinitely.

    9. Continuous attention to technical excellence

    and good design enhances agility.

    10.Simplicity--the art of maximizing the amount

    of work not done--is essential.

    9source: http://www.agilemanifesto.org

  • 8/10/2019 Agile Principles.pptx

    10/22

    12 Principles of Agile Software

    11.The best architectures, requirements, and

    designs emerge from self-organizing teams.

    12.At regular intervals, the team reflects on how

    to become more effective, then tunes and

    adjusts its behavior accordingly.

    10source: http://www.agilemanifesto.org

  • 8/10/2019 Agile Principles.pptx

    11/22

    Agile Appraoches

    eXtreme programming XP (Beck, 1999;Beck,2000)

    Scrum (Cohn, 2009; Schwaber, 2004; Schwaberand Beedle, 2001)

    Crystal (Cockburn, 2001; Cockburn, 2004)

    Adaptive Software Development (Highsmith,2000)

    DSDM (Stapleton, 1997; Stapleton, 2003), and Feature Driven Development (Palmer and Felsing,

    2002).

  • 8/10/2019 Agile Principles.pptx

    12/22

    XP

  • 8/10/2019 Agile Principles.pptx

    13/22

    XP

    Incremental development supported through small, frequent releases of the system

    Requirements are based on simple customer stories or scenarios

    Customer involvement is supported through the continuous engagement in the development team

    Customer representative takes part in the development and responsible fordefining acceptance tests for the system.

    People, not process, are supported through pair programming

    Change is embraced through regular system releases to customers test-first development

    refactoring to avoid code degeneration, and continuous integration of newfunctionality.

    Maintaining simplicity is supported by constant refactoring that improves code quality and by using simple designs

    that do not unnecessarily anticipate future changes to the system.

  • 8/10/2019 Agile Principles.pptx

    14/22

  • 8/10/2019 Agile Principles.pptx

    15/22

    Testing in XP

    Test-first development

    Incremental test development from scenarios

    User involvement in the test development andvalidation, and

    The use of automated testing frameworks.

  • 8/10/2019 Agile Principles.pptx

    16/22

    SCRUM

  • 8/10/2019 Agile Principles.pptx

    17/22

    SCRUM

    There are three phases in Scrum.

    The first is an outline planning phase where youestablish the general objectives for the projectand design the software architecture.

    This is followed by a series of sprint cycles, whereeach cycle develops an increment of the system.

    Finally,

    the project closure phase wraps up the project,completes required documentation such as systemhelp frames and user manuals, and assesses thelessons learned from the project.

  • 8/10/2019 Agile Principles.pptx

    18/22

    PROCESS COMPARISON

  • 8/10/2019 Agile Principles.pptx

    19/22

    Defining Characteristics of SCRUM

    Three Roles Team

    ScrumMaster (Project Manager)

    Product Owner (Product Manager)

    Five Time Boxes Sprint

    Sprint Planning

    Daily SCRUM Meeting

    Sprint Review Meeting (Demo)

    Retrospective Meeting (AAR)

    Three Artifacts Product Backlog

    Sprint Backlog

    Burndown Chart

  • 8/10/2019 Agile Principles.pptx

    20/22

    SCRUM

    Sprints are fixed length, normally 24 weeks.

    The starting point for planning is the product backlog.

    The selection phase involves all of the project team who work withthe customer to select the features and functionality to bedeveloped during the sprint.

    Once these are agreed, the team organizes themselves to developthe software.

    Short daily meetings

    Scrum master

    Unlike XP, Scrum does not make specific suggestions, however, these

    XP practices can be used if the team thinks they are appropriate. At the end of the sprint, the work done is reviewed and presented

    to stakeholders.

    The next sprint cycle then begins.

  • 8/10/2019 Agile Principles.pptx

    21/22

    Attributes of Sprint

    Team Does development and testing

    Product Owner Owns requirements, clarifies as needed

    ScrumMaster Keeper of process, facilitator, problem solver

    Start Date, Duration, End Dates Multi-team projects have all Sprints synchronized to the

    same schedule Capacity for work (Velocity)

    Depends on team composition and Sprint Duration

  • 8/10/2019 Agile Principles.pptx

    22/22

    Questions