This document discusses different project approaches and methodologies. It describes various process models including waterfall, V-model, evolutionary delivery, incremental delivery, agile, DSDM, and extreme programming. It provides pros and cons of each approach. The document also discusses factors to consider when selecting a methodology, such as risk, technology used, and project deliverables. Macro and micro processes are defined, and rules of thumb for selecting between approaches based on uncertainty, complexity, and schedule are outlined.
2. WHAT IS A PROJECT APPROACH?
ï‚¢ An approach is a method(s) used to run the project
from inception to completion.
ï‚¢ Often called Methodology.
ï‚¢ Why use project methodology?
ï‚— To determine how the project is going to run.
ï‚— To define properties of the product
3. WHAT METHODOLOGY TO USE?
ï‚¢ This is determined by the following factors
 Risk – clear requirements
 New technology – need to do skills transfer or research
project deliverables
ï‚— Application type
ï‚¢ How simple is the application being built
ï‚¢ Is it accessible in all platforms
In Software houses the client might be the one to determine.
4. TYPES OF PROCESS MODELS
 Waterfall ‘one-shot’ ,’once through’
 Pros –
 ‘classical’ this mean this is a traditional model, tried and tested
ï‚¢ Gives a project structure
ï‚¢ Cannot progress till each stage is completed and signed off
 Cons – once stage is signed off not iterations might be
done
ï‚— A V-process model is a kind of waterfall
ï‚¢ One side is verified against the other
5. TYPES OF PROCESS MODELS(CONT…)
 Evolutionary delivery : Prototyping – Quick , live models
to test requirements and assumptions
ï‚¢ Types
 ‘throw away’ – proof of concept
 ‘ evolutionary – extend functionality
ï‚¢ Reasons
ï‚— Reduce cost of maintenance
ï‚— Improve communication
ï‚— Learn by doing
 Dangers – user confusion in role of product
ï‚— Expense
ï‚— UI changes
 Categories – sensitizing uses of product
ï‚— With small toys, little functionality
6. TYPES OF PROCESS MODELS(CONT…)
 Incremental delivery – ‘eat a cow’
ï‚¢ Outline plan
 Steps – 1-5% of total, 1-3 months to produce benefit to
customer
ï‚— Include manual steps
ï‚— Step dependency
ï‚¢ Benefits
ï‚— Benefits earlier
ï‚— Project might be put aside without affecting other deliverables
 Reduces ‘gold plating’ – polishing product over and above
requirements
o Disadvantages –
o no economies of scale – cost of producing one product against mass
production
o Which step – pre-requisites, no preferred order, value to cost
7. TYPES OF PROCESS MODELS(CONT…)
 Agile – type of structure development methods
ï‚¢ Benefits can sometimes be seen as disadvantages
Large unreadable documentation
Updating documents time consuming
Communication points increase
No user involvement
No delivery due to long lead times
‘You want all these benefits then ‘Agile’ is your answer’
8. TYPES OF PROCESS MODELS(CONT…)
 Dynamic System Development Method – DSDM is
project management method
 Time-boxing – fixed schedule , fixed team. 2 -6
weeks
 MOSCOW priorities – have(s) Must, should, could,
want.
ï‚¢ Nine core DSDM principles
9. TYPES OF PROCESS MODELS(CONT…)
 Extreme programming – Agile Process
ï‚— Stress customer satisfaction - customer can change
solution at any point.
 Meet current needs only – deliver what is needed as it is
needed.
 Test cases before design – give feedback by testing
from inception and after each increment test cases are
consolidated.
ï‚— Team work is emphasized
10. MACRO AND MICRO PROCESSES
 Macro – break huge project into phases
 Micro – have repeating steps in each phase. E.g.
requirements gathering, testing, implementation then
move to another phase
11. RULE OF THUMB – WHICH APPROACH?
 If high uncertainty – evolutionary
 If high complexity and low uncertainty – incremental
 If low complexity and low uncertainty – waterfall
 If tight schedule – evolutionary or incremental
ï‚¢ Can use combination of approaches one for
installation and one for construction.
12. GRADY BOOCH’S CONCERN
ï‚¢ Is concerned with requirement driven projects in
that.
ï‚¢ Conceptual integrity suffers because requirements
might be vague and not give motivation to deal with
software quality.
ï‚— Scalability
ï‚— Extensibility
ï‚— Portability
ï‚— Or reusability