dell_cdm_4

Embed Size (px)

Citation preview

  • 7/27/2019 dell_cdm_4

    1/30

    Comparative

    Development Methodologies

    Lecture 4

    Agile Methodologies

    For the BSc IS&M Programme

    Dell ZhangBirkbeck, University of London

  • 7/27/2019 dell_cdm_4

    2/30

  • 7/27/2019 dell_cdm_4

    3/30

    Agile Methodologies

    Reaction against heavyweight methodologies The crushing weight of corporate bureaucracy

    The rapid pace of information technology change

    The dehumanizingof detailed plan-drivendevelopment

    Evolved from the mid 1990s Originally called lightweight methodologies

    Sounds not serious/robust enough

    Agile Alliance A weekend in February 2001 at Snowbird, Utah.

  • 7/27/2019 dell_cdm_4

    4/30

    Agile Methodologies

    eXtreme Programming (XP)

    SCRUM

    Dynamic Systems Development Method

    (DSDM) Feature-Driven Development (FDD)

    Adaptive Software Development (ASD)

    Crystal Clear Agile Modeling

    ......

  • 7/27/2019 dell_cdm_4

    5/30

  • 7/27/2019 dell_cdm_4

    6/30

    Agile Principles

    Our highest priority is to satisfy the customerthrough early and continuous delivery of valuablesoftware.

    Welcome changing requirements, even late indevelopment. Agile processes harness change forthe customer's competitive advantage.

    Deliver working software frequently, from a couple ofweeks to a couple of months, with a preference to

    the shorter timescale. Agile processes promote sustainable development.

    The sponsors, developers, and users should be ableto maintain a constant pace indefinitely.

  • 7/27/2019 dell_cdm_4

    7/30

    Agile Principles

    Business people and developers must work togetherdaily throughout the project.

    Build projects around motivated individuals. Givethem the environment and support they need, andtrust them to get the job done.

    The most efficient and effective method ofconveying information to and within a developmentteam is face-to-face conversation.

    Working software is the primary measure of

    progress.

  • 7/27/2019 dell_cdm_4

    8/30

    Agile Principles

    Continuous attention to technical excellence andgood design enhances agility.

    Simplicity the art of maximizing the amount ofwork not done is essential.

    The best architectures, requirements, and designsemerge from self-organizing teams.

    At regular intervals, the team reflects on how tobecome more effective, then tunes and adjusts its

    behavior accordingly.

  • 7/27/2019 dell_cdm_4

    9/30

    Ongoing Debate

    Are we returning back to cowboy coding?

    Not really.

    Agile Methodologies do have disciplines.

    Criticism

    Hacker Interpretations

    e.g.,

    responding to change over following a plan Great! Now I have a reason to avoid planning and to

    just code up whatever comes next.

  • 7/27/2019 dell_cdm_4

    10/30

    http://agilemanifesto.org/

    Would you like tosign it?

    http://agilemanifesto.org/http://agilemanifesto.org/
  • 7/27/2019 dell_cdm_4

    11/30

    The Planning Spectrum

    B. Boehm. Get Ready for Agile Methods, with Care. IEEE Computer, January 2002.

  • 7/27/2019 dell_cdm_4

    12/30

    Agility

    Agility (in a software development sense) The ability to respond quickly to change & environment

    The adaptability to suite new or unexpected challenges

    Where does agility come from? Agile methodologies derive much of their agility by

    relying on the tacit knowledge embodied in the

    team, rather than writing the knowledge down in

    plans.

  • 7/27/2019 dell_cdm_4

    13/30

    Developers

    Agile Methodologies

    put a premium on having premium people

    critical people factors: amicability, talent, skill and

    communication

    Plan-Driven Methodologies

    invest in life-cycle architectures and plans

    use these to facilitate external reviews

  • 7/27/2019 dell_cdm_4

    14/30

    Customers

    Agile Methodologies

    customers operate in dedicatedmode with the

    development team

    Plan-Driven Methodologies avoid tacit knowledge shortfalls via documentation

    avoid onsite-customer shortfalls via architecture

    review boards and independent expert projectreviews

  • 7/27/2019 dell_cdm_4

    15/30

    Requirements

    Agile Methodologies

    in turbulent, highly-change environments

    emergentrather than prespecifiable

    Plan-Driven Methodologies

    determined in advance

    including via prototyping

    remain relatively stable with change rates with

  • 7/27/2019 dell_cdm_4

    16/30

    Architecture

    Agile Methodologies

    emphasizes simplicity: maximizing the work not

    done

    designed for current requirements YAGNI

    Plan-Driven Methodologies

    emphasizes heavyweight architecture and designdocumentation

    designed for current and forseeable requirements

  • 7/27/2019 dell_cdm_4

    17/30

    Refactoring

    Agile Methodologies

    assumes that refactoring is essentially free (with

    great developers and small systems)

    Plan-Driven Methodologies assumes that refactoring effort increases with the

    number of requirements (with less-than-great

    developers or very large systems)

    the 20% problems (causing 80% rework) come

    largely from architecture-breakers

  • 7/27/2019 dell_cdm_4

    18/30

    Size

    Agile Methodologies

    need tightly coordinated teamwork

    e.g., face-to-face communication

    are suitable for small teams (< 15 or 20 people)

    Plan-Driven Methodologies

    scale better to larger (million-line) projects

  • 7/27/2019 dell_cdm_4

    19/30

    Primary Objective

    Agile Methodologies

    rapid value

    early and continuous delivery

    Plan-Driven Methodologies

    high-assurance

    predictability, repeatability, and optimization

  • 7/27/2019 dell_cdm_4

    20/30

    B. Boehm. Get Ready for Agile Methods, with Care. IEEE Computer, January 2002.

  • 7/27/2019 dell_cdm_4

    21/30

    Risk Management

    How much planning is enough?

    Risk Exposure

    RE = P(L) x S(L)

    Probability of Loss P(L)

    Size of Loss S(L)

    REQuality + RESpeed RE

    Quality

    is caused by inadequate plans

    RESpeed is caused by delays (market share erosion)

    B. Boehm. Get Ready for Agile Methods, with Care. IEEE Computer, January 2002.

  • 7/27/2019 dell_cdm_4

    22/30

  • 7/27/2019 dell_cdm_4

    23/30

  • 7/27/2019 dell_cdm_4

    24/30

  • 7/27/2019 dell_cdm_4

    25/30

  • 7/27/2019 dell_cdm_4

    26/30

  • 7/27/2019 dell_cdm_4

    27/30

  • 7/27/2019 dell_cdm_4

    28/30

    Agile Methodologies - Exercise

    What are the aspects of software

    development that all agile methodologies

    share?

    (A) User involvement is vital to success.

    (B) Build and release software in small increments.

    (C) Attention to quality and excellence.

    (D) Conformance to standards.

    Teach Yourself Extreme Programming In 24 Hours.

  • 7/27/2019 dell_cdm_4

    29/30

    Video

    Are You Agile or Are You Fragile?

    by Scott Ambler

    http://video.google.com/videosearch?q=+Are+You

    +Agile+or+Are+You+Fragile

    http://video.google.com/videosearch?q=+Are+You+Agile+or+Are+You+Fragilehttp://video.google.com/videosearch?q=+Are+You+Agile+or+Are+You+Fragilehttp://video.google.com/videosearch?q=+Are+You+Agile+or+Are+You+Fragilehttp://video.google.com/videosearch?q=+Are+You+Agile+or+Are+You+Fragile
  • 7/27/2019 dell_cdm_4

    30/30

    Take Home Messages

    Agile Manifesto

    Agile vs. Plan-Driven

    The Planning Spectrum

    Home Ground

    Comparative Risk Exposure Profiles