0% found this document useful (0 votes)
2 views

SDLC Methods

The document outlines various software development methodologies, including the Waterfall Model, Iterative Prototyping, Incremental approaches, and Rapid Application Development (RAD). Each methodology has its advantages and disadvantages, making them suitable for different project types based on factors like clarity of requirements, risk levels, and user involvement. The choice of methodology is crucial for successful software development and depends on the specific needs and context of the project.

Uploaded by

Niki Ashlyn
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

SDLC Methods

The document outlines various software development methodologies, including the Waterfall Model, Iterative Prototyping, Incremental approaches, and Rapid Application Development (RAD). Each methodology has its advantages and disadvantages, making them suitable for different project types based on factors like clarity of requirements, risk levels, and user involvement. The choice of methodology is crucial for successful software development and depends on the specific needs and context of the project.

Uploaded by

Niki Ashlyn
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Software Development Methodologies

The basic process steps of the SDLC (Software Development Life Cycle)
can be combined in many ways to create a successful software
methodology (process model) for software development.

The methodology chosen for a particular system depends on many factors


including the type of software product and the business practices of the
client’s organisation.

The development of a major system may use all three methodologies in


various combinations.
Sequential – The Waterfall Model (Linear Sequential Model)
The waterfall model is a heavyweight methodology with full
documentation of each step.

Requirement
s

Design

Developme
nt (coding)

Testin
g

Evaluati
Advantages: on
 Process visibility
 Separation of tasks Maintena
 Quality control at each step nce
 Cost monitoring at each step

Disadvantages:
 No working software is produced until late during the life cycle
 Cannot accommodate changing requirements
 Risk and uncertainty is high with this model, i.e., projects where
requirements are at moderate to high risk of changing
In practice, each stage reveals new understanding of the previous stages,
which often requires the earlier stages to be revised. The Waterfall Model
is not flexible enough.

Situations where most appropriate:

 Project has clear objectives and solution.


 Pressure does not exist for immediate implementation.
 Project requirements can be stated unambiguously and
comprehensively.
 Project requirements are stable or unchanging during the system
development life cycle.
 Strict requirement exists for formal approvals at designated
milestones.

Situations where least appropriate:


Large projects where the requirements are not well understood or are
changing for any reasons such as external changes, changing
expectations, budget changes or rapidly changing technology.

Iterative – Prototyping
This is a medium weight methodology with documentation created
during the process.

Office of Information Systems (2005) Selecting a Development Approach, p3.

Concept
 Create a prototype system early in the development process.
 Review the prototype with clients and test it with users, to improve
the understanding of the requirements and clarify the design.
 Refine the prototype in a series of iterations.
 Requirements are (can be) hard to understand until there is an
operational system, particularly with user interfaces.
 Mistakes in the requirements are the most expensive to correct.
 Users involved throughout the development.
 Development is done in cycles.
Iterative refinement uses various techniques that enable the client to
review the planned system early during development, e.g., user interface
mock-up; dummy modules.

Advantages:
 Addresses the inability of many users to specify their information
needs
 Can realistically model important aspects of a system during each
phase of the traditional life cycle
 Improves user participation in system development and
communication among project stakeholders
 Users are actively involved in the development
 Useful for resolving unclear objectives

Disadvantages:
 Approval process and control is not strict
 Requirements may frequently change
 Designers may prototype too quickly
 Can lead to poorly designed systems

Situations where most appropriate:


 Project objectives are unclear
 Pressure exists for immediate implementation of something
 User is not fully knowledgeable

Situations where least appropriate:


 Projects objectives are very clear
 Project risk regarding requirements definition is low
Incremental
The Incremental approach uses a set number of steps and development
goes from start to finish in a linear path of progression. This approach
combines elements of the linear sequential model (applied repetitively)
with the iterative philosophy of prototyping.

Concept
 The project is divided into a large number of small tasks, known as
sprints (increments).
 For each sprint, a team works through a full software development
cycle including planning, requirements analysis, design, coding,
testing, and acceptance testing, and release.
 Each sprint is completed in a fixed time period, e.g., four weeks.
 The size of a sprint is based on team size, e.g., 5-10 people.

Advantages:
 Generates working software quickly and early during the software
life cycle
 This model is more flexible – less costly to change scope and
requirements
 It is easier to test and debug during a smaller iteration
 In this model customer can respond to each build
 Lowers initial delivery cost
 Easier to manage risk because risky pieces are identified and
handled during each iteration

Disadvantages:
 Needs good planning and design
 Needs a clear and complete definition of the whole system before it
can be broken down and built incrementally
 Total cost is higher than waterfall

Incremental – The Spiral Model


The spiral model combines the controlled and systematic aspects of the
linear sequential model (applied repetitively) with the iterative nature of
prototyping.

Office of Information Systems (2005) Selecting a Development Approach, p6.

Advantages:
 Mostly concentrates on risk analysis
 Most useful for large and high risk projects
 Useful if requirements changing frequently or not well understood
 Strong approval and documentation control
 Software is produced early in the software life cycle

Disadvantages:
 Not useful for small projects
 Project duration and cost could be infinite because of spiral feature
 Documentation could be lengthy
 Risk analysis requires highly specific expertise

Situations where most appropriate:


 When costs and risk evaluation is important
 Users are unsure of their needs
 Requirements are complex
 For medium to high-risk projects

Situations where least appropriate:


 Risk avoidance is a low priority
Incremental – Rapid Application Development (RAD)
RAD is an incremental model that emphasises a short development cycle.
The RAD model distributes the analysis, design, build, and test phases into
a series of short, iterative development cycles. Following are the phases
of RAD Model:
 Business Modelling
 Data Modelling
 Process Modelling
 Application Generation
 Testing and Turnover

RAD Model, Software Development Life Cycle (SDLC), tutorialspoint.com, p23

Concept
 Fast development and delivery of a high quality system at a
relatively low investment cost
 Aims to produce high quality systems quickly through the use of
iterative prototyping (at any stage of development) and active user
involvement

Advantages:
 Reduced development time
 Increases reusability of components
 Quick initial reviews occur
 Encourages customer/user feedback
 Integration from very beginning solves a lot of integration issues

Disadvantages:
 Depends on strong team and individual performances for identifying
business requirements.
 Only system that can be modularized can be built using RAD
 Requires highly skilled developers/designers
 High dependency on modelling skills

Situations where most appropriate:


 Project is of small-to-medium scale and of short duration (60-90
days)
 Project scope is focused/constrained and business objectives are
well defined and narrow
 Requirements are well understood
 Senior management commitment exists to ensure end-user
involvement

Situations where least appropriate:


 When technical risks are high
 When a new application makes heavy use of new technology
 When developers and customers are not committed to the rapid-fie
activities necessary to complete the system in a much shortened
time frame
 Project scope is broad and business objectives are obscure
 Large, scalable projects where sufficient human resources are not
available to create the right number of RAD teams

You might also like