+ All Categories
Home > Documents > AGILE PROGRAMIN

AGILE PROGRAMIN

Date post: 30-May-2018
Category:
Upload: hungry2fly
View: 222 times
Download: 0 times
Share this document with a friend

of 25

Transcript
  • 8/14/2019 AGILE PROGRAMIN

    1/25

    Chapter 3

    Agile Process Models

  • 8/14/2019 AGILE PROGRAMIN

    2/25

    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 workperformed

    Yielding

    Rapid, incremental delivery of software

  • 8/14/2019 AGILE PROGRAMIN

    3/25

    Principles

    Satisfy customer through early and continuous delivery ofvaluable software

    Welcome change in requirements, even late in development

    Deliver working software frequently.

    Business people and developers must together daily. Build projects around motivated individuals

    Have face-to face conversation

    Working software is the primary measure of progress

    Simplicity- the art of maximizing the amount of work not

    done. Self organizing team

    At regular intervals performance tuning.

  • 8/14/2019 AGILE PROGRAMIN

    4/25

    An Agile Process

    Is driven by customer descriptions of what is required

    (scenarios)

    Recognizes that plans are short-lived

    Develops software iteratively with a heavy emphasis on

    construction activities

    Delivers multiple software increments

    Adapts as changes occur

  • 8/14/2019 AGILE PROGRAMIN

    5/25

    Extreme Programming (XP)

    XP has four Framework activities : planning, design,coding, and testing.

    XP Planning Begins with the creation of a set of user stories

    The customer assigns a value to the story. Agile team assesses each story and assigns acost- measured in

    development weeks, if more than 3 then split.

    Stories are grouped to for a deliverable increment

    A commitment is made on delivery date

    After the first increment project velocity is used to helpdefine subsequent delivery dates for other increments

  • 8/14/2019 AGILE PROGRAMIN

    6/25

    Extreme Programming (XP) XP Design

    Follows the KIS (keep it simple) principle

    Encourage the use of CRC (class-responsibility collaborator) cards

    For difficult design problems, suggests the creation of spike solutionsa designprototype

    Encourages refactoringan iterative refinement of the internal program design

    XP Coding Recommends the construction of a unit test for a store beforecoding commences

    Encourages pair programming- 2 people work together at one computer workstationto create code for the story.

    XP Testing

    All unit tests are executed daily

    Acceptance tests are defined by the customer and executed to assess customer visiblefunctionality

  • 8/14/2019 AGILE PROGRAMIN

    7/25

  • 8/14/2019 AGILE PROGRAMIN

    8/25

    Analysis

    Design

    Code

    Test

    Waterfall Iterative XPWaterfall Iterative XPWaterfall Iterative XP

  • 8/14/2019 AGILE PROGRAMIN

    9/25

    XP Practices

    Planning game.

    Small releases.

    Simple design.

    Testing.

    Refactoring.

    Coding standards.

    Pair programming.

    Collective ownership.

    On-site customer.

    40-hour week.

    Open workspace.

    Continuous integration

  • 8/14/2019 AGILE PROGRAMIN

    10/25

  • 8/14/2019 AGILE PROGRAMIN

    11/25

    Pair

    Programming

    Continuous

    Integration

    100% Unit

    Tests Passed

    Acceptance

    Tests Passed

    CreateUnit Test

    Failed

    Passed

    End ofTask

    Run all unittests

    ExtremeProgramming.org

    Summary of testing

  • 8/14/2019 AGILE PROGRAMIN

    12/25

    Adaptive Software Development

    A technique for complex software system.

    Focus on human collaboration and team self-organization

    ASD life cycle

    Speculation

    Collaboration

    Learning

  • 8/14/2019 AGILE PROGRAMIN

    13/25

    adapt ive cycle planning

    uses mission stat ement

    project co nst raints

    basic requirements

    t ime-boxed release plan

    Requirement s gat hering

    JAD

    mini-specs

    component s implemented/ t est ed

    focus groups for feedback

    formal t echnical reviews

    post mortems

    soft ware increment

    adjustments for subsequent cycles

    Release

  • 8/14/2019 AGILE PROGRAMIN

    14/25

    Dynamic Systems Development Method

    systems which meet tight time constraints incrementalapproach.

    Follows the 80 percent rule Only enough work is required for each increment for the movement

    to next increment, the remaining details can be completed later

    Life cycle Feasibility study basic requirement

    Business study functional and informational requirement

    Provide buss. Value

    Defines appl arch.

    Functional Model iteration f/b as they exercise prototypes Design and build iteration- revisits prototype to provide operational

    buss. Value.

    Implementation not 100% complete

  • 8/14/2019 AGILE PROGRAMIN

    15/25

    Dynamic Systems Development Method

    DSDMdistinguishing features Similar in most respects to XP and/or ASD Nine guiding principles

    Active user involvement is imperative.

    DSDM teams must be empowered to make decisions.

    The focus is on frequent delivery of products. Fitness for business purpose is the essential criterion for

    acceptance of deliverables.

    Iterative and incremental development is necessary toconverge on an accurate business solution.

    All changes during development are reversible. Requirements are baselined at a high level

    Testing is integrated throughout the life-cycle.

  • 8/14/2019 AGILE PROGRAMIN

    16/25

  • 8/14/2019 AGILE PROGRAMIN

    17/25

    Scrum

    Principles

    Small working teams

    Max. comm.,

    Min. overhead

    Max. sharing of knowledge Process should be adaptable to both technical and business

    changes

    Process yields frequent software increments

    Developers are partitioned into clean, low coupling partition

    or packets.

    Constant testing and documentation

    Ability to declare a product done whenever possible.

  • 8/14/2019 AGILE PROGRAMIN

    18/25

    Scrum

    Framework activities Requirement

    Analysis

    Design

    Evolution Delivery

    Work occurs in sprints and is derived from a backlog ofexisting requirements

    Meetings are very shor t and sometimes conducted withoutchairs

    demos are delivered to the customer with the time-boxallocated

  • 8/14/2019 AGILE PROGRAMIN

    19/25

    Backlog (prioritized list of requirements or features theprovide business value to customer, items can be added at anytime)

    Sprints (work units required to achieve one of the backlogitems, must fir into a predefined time-box, affected backlogitems frozen)

    Scrum meetings (15 minute daily meetings) addressing thesequestions: What was done since last meeting? What obstacles

    were encountered? What will be done by the next meeting? Demos (deliver software increment to customer for

    evaluation)

  • 8/14/2019 AGILE PROGRAMIN

    20/25

    Scrum Process Flow (used with permission)

  • 8/14/2019 AGILE PROGRAMIN

    21/25

  • 8/14/2019 AGILE PROGRAMIN

    22/25

  • 8/14/2019 AGILE PROGRAMIN

    23/25

    Crystal Principals

    Its always cheaper and faster to communicate face-to-face

    As projects grow in size, teams become larger and methodologiesbecome heavier

    As projects grow in criticality some degree of formality will need to beintroduced in parts of the methodology

    As feedback and communication become more efficient the need forintermediate work products is reduced

    Discipline, skills, and understanding counter process, formality, anddocumentation

    Team members not on the critical project path can spend their excess

    time improving the product or helping people who are on the crit icalpath

  • 8/14/2019 AGILE PROGRAMIN

    24/25

    Incremental development strategy used with 1 to 3month time lines

    Reflection workshops conducted before project begins,during increment development activity, and after

    increment is delivered Crystal methodologies

    Clear (small, low criticality projects)

    Orange (larger, moderately critical projects)

    Orange Web (typical e-business applications)

  • 8/14/2019 AGILE PROGRAMIN

    25/25

    The following characteristics are notable for each of theagile models discussed:

    XP user stories, pair-programming, refactoring, andcontinuous integration, incremental delivery

    ASDadaptive cycle planning, time-boxing, risk-drivenplanning, collaborative learning, self-organizing teams

    DSDMoperationalized prototyping

    Scrumbacklog, sprints, scrum meetings

    Crystal a set of example agile processes, usefulprinciples


Recommended