FIT2001 Lecture Notes - Lecture 2: Scope Creep, Waterfall Model, Iterative And Incremental Development
L2 - System development approaches, Stakeholder management,
Investigating system requirements
Development approaches
Most projects fall on a continuum between predictive and adaptive
Predictive SDLC
Requirements are well understood and well defined. Low technical risk
Examples:
- Traditionally structured: Waterfall Model
Adaptive SDLC
Requirements and needs uncertain. High technical risk
Examples:
- Iterative development where a piece is ‘grown’ piece by piece through multiple
iterations
- Unified Process (UP)
- Extreme programming (XP)
- Agile
Waterfall Model
A linear approach to software development. In this methodology, each of these represents a
distinct stage of software development, and each stage generally finishes before the next one
can begin
Pros:
- Developers and client agree on
what will be delivered early →
easier planning and design
- Full scope is know in advance →
less scope creep
- Clients not required after
requirements stage
- Favours projects with multiple
software components which
need to be designed together
or in parallel for integration with
external systems
- Software can be designed
completely and more carefully
as you have a more complete
understanding of ALL
deliverables → software
components fit well together
Cons:
- Clients don’t always know what
they want straight away
- Client may be dissatisfied with
final product as all deliverables
based on initial documented
requirements.
- Clients don’t see what will be
delivered until it’s almost
finished → difficult to make
changes
Agile Methodology
- An iterative, team-based approach to development.
- Emphasis on rapid delivery of an application in complete functional components.
- Short sprints, planned one sprint in advance are used rather than long schedules
- Deliverables prioritised by business value according to client
- Work is continuously reviewed during each sprint by client → relies on high level of client
involvement throughout the project
Pros:
Cons:
Document Summary
Most projects fall on a continuum between predictive and adaptive. Iterative development where a piece is grown" piece by piece through multiple iterations. In this methodology, each of these represents a distinct stage of software development, and each stage generally finishes before the next one can begin. Clients don"t always know what they want straight away. Client may be dissatisfied with final product as all deliverables based on initial documented requirements. Clients don"t see what will be delivered until it"s almost finished difficult to make changes what will be delivered early easier planning and design. Full scope is know in advance less scope creep. Favours projects with multiple software components which need to be designed together or in parallel for integration with external systems. Software can be designed completely and more carefully as you have a more complete understanding of all deliverables software components fit well together. Emphasis on rapid delivery of an application in complete functional components.