INCREMENTAL MODEL
CHARACTERISTIC :
- Hybrid model that combines elements of the waterfall and evolutionary paradigms
- The specification, design, andimplementation phases are broken in smaller increments
- The system is created so that it can be delivered in pieces, enabling the users to have some functionality while the rest is being developed.
STRENGTH :
- Provides better support for process iteration
- Reduces rework in the software construction process
- Allows early delivery of parts of the system
WEAKNESS :
- Increments need be relatively small
- Mapping requirements to increments may not be easy
- Common software facilities may be difficult to identify
APPLICABLE :
- When it is possible to deliver the system part- by-part
- Software/System Projects are involve with new technology.
- There is a need to know the early realization of benefit from the system.
PROTOTYPING MODEL

- Prototyping is a technique for providing a reduced functionality or a limited performance version.
STRENGTH :
- Encourages active participation among users and producer.
- May provide the proof of concept necessary to attract funding.
- Enables a higher output for user.
WEAKNESS :
- Producer might produce a system inadequate for overall organization needs.
- User can get too involved whereas the program can not be to a high standard
- Structure of system can be damaged since many changes could be made
APPLICABLE :
- Prototype are good in demonstration.
- Incomplete versions of the software program being developed
SPIRAL MODEL

CHARACTERISTIC :
- Four sectors per loop: objective setting, risk assessment and reduction, development and validation, planning
- Risk is explicitly taken into consideration
- Also a hybrid model that support process iteration
STRENGTH :
- Risk reduction mechanisms are in place
- Supports iteration and reflects real-world practices
- Systematic approach
WEAKNESS :
- Requires expertise in risk evaluation and reduction
- Complex, relatively difficult to follow strictly
- Applicable only to large systems
APPLICABLE :
- Internal development of large systems
- The goals are unstable but the architecture must be realized well enough
- Requirement are complex and complicated
EXTREME PROGRAMMING
- intended to improve productivity and introduce checkpoints where new customer requirements can be adopted.
- needed, a flat management structure
- simplicity and clarity in code
- more free-form and unplanned
STRENGTH :
- Not necessarily have to define a stable set of requirements.
- Cost effectiveness on formal overhead.
- Help developers to produce high quality software.
- Difficulty coordinating larger teams
- Can result in a never-ending project if not managed properly
- Tendency to not document thoroughly
APPLICABLE :
- when the system functionality is exected to change every few months.
- if customer do not set the dateline for the system to be done, if else, the risk will be more greater.
- XP is suitable within small number of programmer, and the dont need the programmer with Ph.D to use XP.
REFFERENCE :
http://www.softdevteam.com/Spiral-lifecycle.asp
http://en.wikipedia.org/wiki/Spiral_model



