+ All Categories
Home > Documents > Attachment 3.1

Attachment 3.1

Date post: 06-Apr-2018
Category:
Upload: rurouni-kenshin
View: 219 times
Download: 0 times
Share this document with a friend

of 21

Transcript
  • 8/3/2019 Attachment 3.1

    1/21

    June 19, 2002 1

    Introduction to

    Agile Software Management

    Presented by Jim Murray

    Based on work done by

    Dottie Acton of LM Mission Systems

    301-897-6458

    [email protected]

  • 8/3/2019 Attachment 3.1

    2/21

    June 19, 2002 2

    Topics

    Introduction

    Terminology

    The Agile Manifesto

    Some Agile Methodologies Summary

    References

  • 8/3/2019 Attachment 3.1

    3/21

    June 19, 2002 3

    Terminology

    Agility

    The ability to both create and respond to change in order to profitin a turbulent business environment

    Companies need to determine the amount of agility they need to becompetitive

    Chaordic

    Exhibiting properties of bothchaos andorder The blend of chaos and order inherent in the external environment and

    in people themselves, argues against the prevailing wisdom aboutpredictability and planning

    Things get done because people adapt, not because they slavishlyfollow processes

    An agile view is a chaordic view Balanced between chaos and order, perched on the precipice at the

    edge of chaos.

    Some people are not comfortable in this environment; others thrive onit

  • 8/3/2019 Attachment 3.1

    4/21

    June 19, 2002 4

    1910

    1920

    1930

    1940

    1950

    1960

    1970

    1980

    1990

    2000

    WWI

    Great

    Depression

    Korean

    WarWWII Vietnam WarDesertShield/DesertSto

    rm

    OperationIraqiFreedom

    RiskM

    gmtGuidefor

    DoDA

    cquisition

    Program

    Evaluationand

    ReviewT

    echnique(PERT)

    BerlinWallFalls

    Willou

    ghbyTemplates

    SolvingtheRiskEquation

    LineofB

    alanceTechnology

    TotalQuality

    Manag

    ement

    CriticalPathMethod(CPM)

    Cold War

    BattleoftheAtlantic

    WWII Production

    Aircraft 296,429

    Naval Ships 71,062

    Cargo Ships 5,425

    Artillery 372,431

    Tanks / SP Guns 102,351

    Trucks 2,455,964

    LeanProduction

    Concu

    rrentDevelopment

    Spiral

    Development

    1910

    1920

    1930

    1940

    1950

    1960

    1970

    1980

    1990

    2000

    WWI

    Great

    Depression

    Korean

    WarWWII Vietnam WarDesertShield/DesertSto

    rm

    OperationIraqiFreedom

    RiskM

    gmtGuidefor

    DoDA

    cquisition

    Program

    Evaluationand

    ReviewT

    echnique(PERT)

    BerlinWallFalls

    Willou

    ghbyTemplates

    SolvingtheRiskEquation

    LineofB

    alanceTechnology

    TotalQuality

    Manag

    ement

    CriticalPathMethod(CPM)

    Cold War

    BattleoftheAtlantic

    WWII Production

    Aircraft 296,429

    Naval Ships 71,062

    Cargo Ships 5,425

    Artillery 372,431

    Tanks / SP Guns 102,351

    Trucks 2,455,964

    LeanProduction

    Concu

    rrentDevelopment

    Spiral

    Development

    1910

    1920

    1930

    1940

    1950

    1960

    1970

    1980

    1990

    2000

    WWI

    Great

    Depression

    Korean

    WarWWII Vietnam WarDesertShield/DesertSto

    rm

    OperationIraqiFreedom

    RiskM

    gmtGuidefor

    DoDA

    cquisition

    Program

    Evaluationand

    ReviewT

    echnique(PERT)

    BerlinWallFalls

    Willou

    ghbyTemplates

    SolvingtheRiskEquation

    LineofB

    alanceTechnology

    TotalQuality

    Manag

    ement

    CriticalPathMethod(CPM)

    Cold War

    BattleoftheAtlantic

    WWII Production

    Aircraft 296,429

    Naval Ships 71,062

    Cargo Ships 5,425

    Artillery 372,431

    Tanks / SP Guns 102,351

    Trucks 2,455,964

    LeanProduction

    Concu

    rrentDevelopment

    Spiral

    Development

    Program Management Evolution

    Program management is an evolving science

    Continuing to seek efficient methods to address new

    development methods

  • 8/3/2019 Attachment 3.1

    5/21

    June 19, 2002 5

    Current Problem in PM & SW

    development

    31.1% of projects will be canceledbefore they ever get completed 52.7% of projects will

    cost 189% of their original estimates.

    The Standish Group

    Plus project complexity is increasing

    Demand for quicker delivery of useful systems

    Increasingly vague, volatile requirements

    Greater uncertainty/risk from limited knowledge of:

    Underlying technologies

    Off-the-shelf (OTS) components used

    Are conventional development/management

    practices addressing the problem?

  • 8/3/2019 Attachment 3.1

    6/21

    June 19, 2002 6

    What is the core challenge?

    * Phillip Armour. Zeppelins and Jet Planes: A Metaphor for Modern

    Software Projects Communications of the ACM, October 2001.

    Team = Product

    Process = Product

    McCarthy

    What is the nature of system/software development?

    Well-understood, static problems, demandingdefinable, predictable process, like

    Manufacturing a widget

    Constructing a building

    Shooting zeppelins with cannons*

    OR

    Exploration of many evolving unknowns, demandinga fluid, social learning process, like

    Mountain climbing Jazz jam session

    Tracking jet fighters with self-guiding missiles*

  • 8/3/2019 Attachment 3.1

    7/21

    June 19, 2002 7

    Agile Manifesto

    Developed by 17 of the leaders in agile methodologiesin Feb 2001.

    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 planThat is, while there is value on the items on the right, we

    value the items on the left more.

  • 8/3/2019 Attachment 3.1

    8/21

    June 19, 2002 8

    Supporting Agile Sentences

    1. Our highest priority is to satisfy the customer through early andfrequent delivery of valuable software.

    2. Deliver working software frequently, from a couple of weeks to a

    couple of months, with a preference for the shorter time scale.

    3. Working software/product is the primary measure of progress.

    4. Welcome changing requirements, even late in development. Agileprocesses harness change for the customers competitive advantage.

    5. Business people and developers work together daily throughout the

    project.

    6. Build projects around motivated individuals. Give them the

    environment and support they need, and trust them to get the job

    done.

  • 8/3/2019 Attachment 3.1

    9/21

    June 19, 2002 9

    Questions for Reflection

    The first step in looking at any Agile method is to askthe following questions:

    How close are your customers views and values to the

    views and values expressed in the Agile Manifesto?

    How close are your programs views and values to theviews and values expressed in the Agile Manifesto?

    How close are your organizations views and values to

    the views and values expressed in the Agile Manifesto?

    How close are yourpersonalviews and values to theviews and values of the Agile Manifesto?

    Adopting Agile Methods where they do not fit with the value system

    will not be successful.

  • 8/3/2019 Attachment 3.1

    10/21

    June 19, 2002 10

    When to Apply Agile Methodologies

    Problems characterized by change, speed, andturbulence are best solved by agility.

    Accelerated time schedule combined with significant

    risk and uncertainty that generate constant change

    during the project. Is your project more like drilling for oil or like

    managing a production line?

    Oil exploration projects need Agile processes.

    Production-line projects are often well-served by

    rigorous methodologies.

    On projects with more than 250 people, methodology will have almost no impact on

    success or failurepolitics will dominate. Jim Highsmith

  • 8/3/2019 Attachment 3.1

    11/21

    June 19, 2002 11

    Some Agile Methodologies

    Extreme Programming (XP) Scrum

    Feature-Driven Development (FDD)

    Adaptive Software Process Crystal Light Methodologies

    Dynamic Systems Development Method (DSDM)

    Lean Development

  • 8/3/2019 Attachment 3.1

    12/21

    June 19, 2002 12

    Summary of Agile Characteristics

    Adaptability rather than predictability People rather than development process

    Being agile means accepting that outcomes are not

    predictable and that processes are not repeatable

    Collaborative values and principles

    A barely sufficient methodology

    the conventions we agree to

    Processes are described in manuals; practices are whathappen in reality

  • 8/3/2019 Attachment 3.1

    13/21

    June 19, 2002 13

    Agile PM issues to facilitate SW

    development

    Need a cohesive culture able to support and facilitate avariety of management and development methods

    Management needs a defined Info. Tech. framework

    Management processes

    Management tools/tool suite Management needs to be supportive of the

    development team

    Interfaces to other functions offloaded

    Training occurs up front and in-depth Experienced core of the team

    Variety of communication and collaboration tools(available for use)

  • 8/3/2019 Attachment 3.1

    14/21

    June 19, 2002 14

    Agile Program Management Issues

    Promote teambuilding and trust, keep politics out ofthe effort

    Set an open tone with the customer(s) organizations

    Interpret and translate risks for overall program

    integration and a common view.

    Have a robust, flexible, and adaptable configuration

    and data management system

    Integrated Product Teams to some extent (need immediate value)

  • 8/3/2019 Attachment 3.1

    15/21

    June 19, 2002 15

    Extraordinarily robust test program through out thedevelopment process

    Anticipate the development and test needs developing

    test data and cases in advance

    Agile Program Management Issues

    Contd

    Involves Testing For:

    Pre-Conditions

    Post-Conditions

    Class Invariants

  • 8/3/2019 Attachment 3.1

    16/21

    June 19, 2002 16

    Agile Program Management Issues

    Storyboard the development and assign story actors tolive the role

    Use automated tools for organizational and summary

    tasks

  • 8/3/2019 Attachment 3.1

    17/21

    June 19, 2002 17

    Develop a Componentized Architecture

    Principles We do the simplest thing that could possibly work

    making future changes or additions easier

    The right design at the right time, no more up-front high-level system architecture

    up-front high-level component architecture

    up-front high-level data model

    details are determined when the time comes for functionality tobe built

    Benefits Less is faster, cheaper, and leads to better

    Flexibility minimizes the cost of change

  • 8/3/2019 Attachment 3.1

    18/21

    June 19, 2002 18

    Product Build Philosophy

    Principles Build the complete product, all the time

    One button builds everything, including Product executables

    Installation materials Test harness and test components

    Generated documentation

    Build can be accomplished from the command line

    The same build process is used by everyone

    Benefits

    Easy to manage; easy to add new team members

    Integrates well with testing environment

  • 8/3/2019 Attachment 3.1

    19/21

    June 19, 2002 19

    Testing

    Principles All code must have tests, with the test created first

    Unit tests are executed daily during the automated build

    When a bug is found, new tests are created

    All unit tests must pass before code can be released

    Benefits

    Provides constant visibility into areas of the system at

    risk

    The result is rapid progress and a system that always

    works better than it did the day before

  • 8/3/2019 Attachment 3.1

    20/21

    June 19, 2002 20

    Testing Meeting Configuration

    Management

    Test code maintained alongside project code Tests can be run from the command line

    Coverage statistics tell you how thorough the testing is

  • 8/3/2019 Attachment 3.1

    21/21

    June 19, 2002 21

    References Agile Software Development Ecosystems, Jim Highsmith

    Agile Software Development, Alistair Cockburn

    Agile Modeling: Effective Practices for Extreme Programming andthe Unified Process, Scott Ambler

    Agile Development, Rich McCabe, May 2003

    Agile Software Development with Scrum, Ken Schwaber and MikeBeedle

    Extreme Programming Explained: Embrace Change, Kent Beck

    Refactoring: Improving the Design of Existing Code, Martin Fowler

    Adaptive Software Development, A Collaborative Approach toManaging Complex Systems, Jim Highsmith

    A Practical Guide to Feature-Driven Development, Stephen Palmer

    and John Felsing Foundations of Lean Development: The Lean Development

    Managers Guide, Vol 2, Robert Charette

    Agile Software Development, Dottie Acton, Lockheed Martin MissionSystems Oct, 2002 (Unpublished


Recommended