You are on page 1of 16

Software Process Models II

Farooq Ahmed, FAST-NU, Lahore


Unified Process Model
 Object-oriented
 Use-case driven
 Architecture-centric
 Iterative and Incremental

Combines the best features of Rumbugh, Booch


and Jacobson's methods

Farooq Ahmed, FAST-NU, Lahore


UPM Phases
 Inception
 Elaboration
 Construction
 Transition

Farooq Ahmed, FAST-NU, Lahore


Farooq Ahmed, FAST-NU, Lahore
Farooq Ahmed, FAST-NU, Lahore

Agile: Quick, Active


Adaptability to change
Basic Principles & Values
Agile Models
 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 left more


Basic characteristics
 Light-weight
 Short development cycle
 Incremental
 Feedback-oriented
Agile is not adhoc

Farooq Ahmed, FAST-NU, Lahore


Key Assumptions
 It is difficult to predict in advance which
requirements will persist and which will change
– and so are customer priorities
 For many types of software, design and
construction is interleaved (construction is used
to prove the design)
 Analysis, design, construction and testing are
not as predictable as we might like

Farooq Ahmed, FAST-NU, Lahore


Agile Manifesto

Customer satisfaction by 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-operation between business people and developers
 Face-to-face conversation is 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

Farooq Ahmed, FAST-NU, Lahore


Extreme Programming

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 Pair Programming Example
(taken from Wikipedia)
 Automated tools and test suites

Farooq Ahmed, FAST-NU, Lahore


SCRUM

Farooq Ahmed, FAST-NU, Lahore


Key Features of SCRUM
 More of a management methodology than an
engineering methodology
 Can be applied to other areas as well – not just
software development
 Doesn't prescribe any specific techniques for
software engineering
 User-stories may be used for requirements

Farooq Ahmed, FAST-NU, Lahore


Other Agile Models
 ASD
 Dynamic Systems Development
 Feature Driven Development
 Crystal

Farooq Ahmed, FAST-NU, Lahore


Factors for Agile 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

Farooq Ahmed, FAST-NU, Lahore


Problems with Agile

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

Customer collaboration is v. important. If customers
cannot collaborate, don’t 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

Farooq Ahmed, FAST-NU, Lahore


Point to Take-away

Agile is not adhoc

concerned or dealing with a specific subject, purpose, or end.
a committee formed ad hoc to deal with the issue.

Farooq Ahmed, FAST-NU, Lahore

You might also like