process models ii

Upload: musab-zain

Post on 08-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Process Models II

    1/16

    Farooq Ahmed, FAST-NU, Lahore

    Software Process Models II

  • 8/6/2019 Process Models II

    2/16

    Farooq Ahmed, FAST-NU, Lahore

    Unified Process Model

    Object-oriented

    Use-case driven

    Architecture-centric Iterative and Incremental

    Combines the best features of Rumbugh, Boochand Jacobson's methods

  • 8/6/2019 Process Models II

    3/16

    Farooq Ahmed, FAST-NU, Lahore

    UPM Phases

    Inception

    Elaboration

    Construction Transition

  • 8/6/2019 Process Models II

    4/16

    Farooq Ahmed, FAST-NU, Lahore

  • 8/6/2019 Process Models II

    5/16

    Farooq Ahmed, FAST-NU, Lahore

  • 8/6/2019 Process Models II

    6/16

    Farooq Ahmed, FAST-NU, Lahore

    Agile Models Agile: Quick, Active

    Adaptability to change

    Basic Principles & Values

    Individuals and interactions over processes and tools

    Working software over comprehensive documentation

    Customer collaboration over contract negotiation

    Responding to change over following a plan

    while there is value in the items on the right, agile value the items on the leftmore

    Basic characteristics

    Light-weight

    Short development cycle

    Incremental

    Feedback-oriented

    Agile is not adhoc

  • 8/6/2019 Process Models II

    7/16

    Farooq Ahmed, FAST-NU, Lahore

    Key Assumptions

    It is difficult to predict in advance whichrequirements will persist and which will change and so are customer priorities

    For many types of software, design andconstructionis interleaved (constructionis usedto prove the design)

    Analysis, design, construction and testing arenot as predictable as we might like

  • 8/6/2019 Process Models II

    8/16

    Farooq Ahmed, FAST-NU, Lahore

    Agile Manifesto

    Customer satisfactionby rapid delivery of useful software

    Welcome changing requirements, even late in development

    Working software is delivered frequently (weeks rather than months)

    Working software is the principal measure of progress

    Sustainable development, able to maintain a constant pace

    Close, daily co-operationbetweenbusiness people and developers

    Face-to-face conversationis the best form of communication (co-location)

    Projects are built around motivated individuals, who should be trusted

    Continuous attention to technical excellence and good design

    Simplicity

    Self-organizing teams

    Regular adaptation to changing circumstances

  • 8/6/2019 Process Models II

    9/16

    Farooq Ahmed, FAST-NU, Lahore

    Extreme Programming

  • 8/6/2019 Process Models II

    10/16

    Farooq Ahmed, FAST-NU, Lahore

    Key XP Practices

    User-stories

    CRC cards & Spike Prototypes

    Refactoring Improving the design of existing code

    Pair Programming

    Test first approach

    Write unit tests before writing the code

    Automated tools and test suites

    Pair Programming Example(taken from Wikipedia)

  • 8/6/2019 Process Models II

    11/16

    Farooq Ahmed, FAST-NU, Lahore

    SCRUM

  • 8/6/2019 Process Models II

    12/16

    Farooq Ahmed, FAST-NU, Lahore

    Key Features of SCRUM

    More of a management methodology than anengineering methodology

    Canbe applied to other areas as well not just

    software development

    Doesn't prescribe any specific techniques forsoftware engineering

    User-stories may be used for requirements

  • 8/6/2019 Process Models II

    13/16

    Farooq Ahmed, FAST-NU, Lahore

    OtherAgile Models

    ASD

    Dynamic Systems Development

    Feature Driven Development Crystal

  • 8/6/2019 Process Models II

    14/16

    Farooq Ahmed, FAST-NU, Lahore

    Factors forAgile Success

    Competence

    Common Focus

    Deliver working increments to customers Collaboration

    Decision-making ability

    Fuzzy Problem-solving ability Continually deal with ambiguity

    Mutual trust and respect

    Self-organization

  • 8/6/2019 Process Models II

    15/16

    Farooq Ahmed, FAST-NU, Lahore

    Problems with Agile

    Generally suitable for small projects with small teams(< 10 co-located resources)

    Customer collaborationis v.important. If customerscannot collaborate, dont use this

    Generally works with experienced programmers A mentor experienced in agile methodology is a must Useful in an environment where requirements may

    change v. frequently Financial forecasting is difficult to acheive, because of

    lack of a definitive plan

  • 8/6/2019 Process Models II

    16/16

    Farooq Ahmed, FAST-NU, Lahore

    concerned or dealing with a specific subject, purpose, or end.

    a committee formed ad hoc to deal with the issue.

    Point to Take-away

    Agile is not adhoc