agile programming mehodologies

Upload: bhuvan-sharma

Post on 05-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Agile Programming Mehodologies

    1/17

    Agile Software

    DevelopmentMethodologies

    Date 04 February 2010

    Pramod Poolathodi

  • 7/31/2019 Agile Programming Mehodologies

    2/17

    2 17 May 2012

    Agenda

    Definition

    Principles

    Methods

    Scrum X P

    Practices

    Q & A

  • 7/31/2019 Agile Programming Mehodologies

    3/17

    Definition

  • 7/31/2019 Agile Programming Mehodologies

    4/17

    4 17 May 2012

    Definition

    Agile refers to a set of software development

    methodologies based on iterative development,

    where requirements and solutions evolve throughcolla

    boration between self organizing cross-

    functional teams.

    Agile methods generally promote a disciplinedproject management process that encouragesfrequent inspection and adaptation,

    A leadership philosophy that encouragesteamwork,

    Self-organization and accountability, A set of engineering best practices that allow for

    rapid delivery of high-quality software, and

    A business approach that aligns development

    with customer needs and company goals.

  • 7/31/2019 Agile Programming Mehodologies

    5/17

    5 17 May 2012

    Definition

    Agile methods break tasks into small incrementswith minimal planning and do not directly involvelong-term planning.

    Time frames.

    Team compositions.

    Team communications.

    Customer Representative

    Progress Measure Quality

  • 7/31/2019 Agile Programming Mehodologies

    6/17

    Principles

  • 7/31/2019 Agile Programming Mehodologies

    7/177 17 May 2012

    Principles Customer satisfaction through early and continuous delivery of

    valuable software. Welcome changing requirements, even late in development.

    Deliver working software frequently.

    Business people and Developers must work together daily throughoutthe project.

    Build projects around motivated individuals. Give them theenvironment and support they need, and trust them to get the jobdone.

    Face to face conversation to and within the development team.

    Working software is the primary measure of progress.

    Agile processes promote sustainable development.

    Continuous attention to technical excellence and good designenhances agility.

    Simplicity the art of maximizing the amount of work not done isessential.

    The best architectures, requirements and designs emerge from selforganizing teams.

    Monitoring and suggest improvements.

  • 7/31/2019 Agile Programming Mehodologies

    8/17

    Methods

  • 7/31/2019 Agile Programming Mehodologies

    9/179 17 May 2012

    Scrum Scrum is an agile process for software development. With Scrum,

    projects progress via a series of iterations called sprints. Each sprint istypically 2-4 weeks long. Scrum is ideally suited for projects with rapidlychanging or highly emergent requirements.

    3 Roles Product Owner

    Scrum Master Self organized Team

    3 Ceremonies Sprint Planning Meeting

    Daily Scrum Meeting

    Sprint Review Meeting 3 Artifacts

    Product Backlog

    Sprint Backlog

    Burndown Chart

  • 7/31/2019 Agile Programming Mehodologies

    10/1710 17 May 2012

    Scrum

  • 7/31/2019 Agile Programming Mehodologies

    11/1711 17 May 2012

    eXtreme Programming

    XP is a set of practices that conform to the valuesand principles of Agile. XP is a discrete method,whereas Agile is a classification.

    XP is a suite ofpractices, principles, and valuesinvented by Kent Beck in the late 90s. Nowadaysthe principles and values are not as well known,

    but the practices survive.

  • 7/31/2019 Agile Programming Mehodologies

    12/1712 17 May 2012

    eXtreme Programming

  • 7/31/2019 Agile Programming Mehodologies

    13/17

    13 17 May 2012

    eXtreme Programming

    The Practices are Planning Game

    Whole Team

    Customer Tests

    Small Releases

    Continuous Integration Collective Ownership

    Coding Standard

    Metaphor

    Sustainable Pace

    Pair Programming

    Test Driven Development

    Refactoring

    Simple Design

  • 7/31/2019 Agile Programming Mehodologies

    14/17

    14 17 May 2012

    Success Story

    Several successful large scale agile projects havebeen documented.

    BT has had several hundred developers situated inthe UK, Ireland and India working collaboratively

    on projects and using Agile methods. Whilequestions undoubtedly still arise about thesuitability of some Agile methods to certain projecttypes, it would appear that scale or geography, bythemselves, are not necessarily barriers to

    success

  • 7/31/2019 Agile Programming Mehodologies

    15/17

    Manifesto for Agile Software Development

    We are uncovering better ways of developing software by doing it andhelping 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 theitems on the left more.

    Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, WardCunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt,Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, KenSchwaber, Jeff Sutherland, Dave Thomas

  • 7/31/2019 Agile Programming Mehodologies

    16/17

    Q & A

  • 7/31/2019 Agile Programming Mehodologies

    17/17

    Technology for better business outcomes

    2009 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice.