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

System Development Methodologies Notes

These are frameworks that are used to structure, plan, and control the process of developing an information system. Some of the main methodologies discussed include the waterfall model, prototyping, rapid application design, the spiral model, incremental development, agile development, and joint application development. Each methodology has strengths and weaknesses for different types of projects.

Uploaded by

Jemma Pearl
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

System Development Methodologies Notes

These are frameworks that are used to structure, plan, and control the process of developing an information system. Some of the main methodologies discussed include the waterfall model, prototyping, rapid application design, the spiral model, incremental development, agile development, and joint application development. Each methodology has strengths and weaknesses for different types of projects.

Uploaded by

Jemma Pearl
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

SYSTEM DEVELOPMENT METHODOLOGIES

These are frameworks that are used to structure, plan, and control the process of developing an
information system.
They include but not limited to the following:

WATERFALL MODEL
The waterfall method is considered the traditional software development method. It’s a rigid linear
model that consists of sequential phases (requirements, design, implementation, verification,
maintenance) in which distinct goals are accomplished. Each phase must be 100% complete before
the next phase can start, and traditionally there is no process for going back to modify the project
or direction.

Pros:

1. Easy to understand and functional


2. Simple enough to handle as model is rigid
3. Saves significant amount of time
4. Allows for easy testing and analysis

Cons:

1. Only matches precise needs


2. Not applicable for maintenance projects
3. No option to know possible outcome of a project
4. Not excellent for long and ongoing projects

PROTOTYPING

Prototyping is defined as the process of developing a working replication of a product or system


that has to be engineered. It offers a small scale facsimile of the end product and is used for
obtaining customer feedback.
Framework Type: Iterative

Pros:

1. Gives clear idea about the functional process of the software


2. Reduces the risk of failure in a software functionality
3. Assists well in requirement gathering and the overall analysis

Cons:

1. Chances of extension in management cost


2. Excessive involvement of client can affect processing
3. Too many changes affect the workflow of the software

RAPID APPLICATION DESIGN (RAD)

The RAD model is based on prototyping and iterative development with no specific planning
involved. The process of writing the software itself involves the planning required for developing
the product.

Rapid Application Development focuses on gathering customer requirements through workshops


or focus groups, early testing of the prototypes by the customer using iterative concept, reuse of
the existing prototypes (components), continuous integration and rapid delivery.

Framework type: Iterative


Pros:

1. Makes the entire development process effortless


2. Assists client in taking quick reviews
3. Encourages feedback from customers for improvement

Cons:

1. Dependant on the team for performance


2. Works on modularized system confined on this methodology
3. Requires extremely skilled personnel to handle complexities
4. Not applicable for the small budgeted projects

SPIRAL MODEL

The spiral model combines the idea of iterative development with the systematic, controlled
aspects of the waterfall model. This Spiral model is a combination of iterative development process
model and sequential linear development model i.e. the waterfall model with a very high emphasis
on risk analysis. It allows incremental releases of the product or incremental refinement through
each iteration around the spiral.
The spiral model has four phases. A software project repeatedly passes through these phases in
iterations called Spirals.

i. Requirements identification and analysis


ii. Design
iii. Construct or build
iv. Evaluation and risk analysis

Framework type: Combination of Linear and Iterative

Pros:

1. Risk factors are considerably reduced


2. Excellent for large and complex projects
3. Allows for additional functionality later
4. Suitable for highly risky projects with varied business needs

Cons:

1. Costly model in software development


2. Failure in risk analysis phase may damage the whole project
3. Not appropriate for low-risk projects
4. Might get continued and never finish

INCREMENTAL MODEL

Incremental Model is a process of software development where requirements are broken down into
multiple standalone modules of software development cycle. Incremental development is done in
steps from analysis design, implementation, testing/verification, maintenance.

Each iteration passes through the requirements, design, coding and testing phases. And each
subsequent release of the system adds function to the previous release until all designed
functionality has been implemented.

Framework type: Combination of Linear and Iterative


AGILE DEVELOPMENT METHODOLOGY

Agile SDLC model is a combination of iterative and incremental process models with focus on
process adaptability and customer satisfaction by rapid delivery of working software product.
Agile Methods break the product into small incremental builds. These builds are provided in
iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves
cross functional teams working simultaneously on various areas like −

 Planning
 Requirements Analysis
 Design
 Coding
 Unit Testing and
 Acceptance Testing.

At the end of the iteration, a working product is displayed to the customer and important
stakeholders.
The advantages of the Agile Model are as follows −

 Is a very realistic approach to software development.


 Promotes teamwork and cross training.
 Functionality can be developed rapidly and demonstrated.
 Resource requirements are minimum.
 Suitable for fixed or changing requirements
 Delivers early partial working solutions.
 Good model for environments that change steadily.
 Minimal rules, documentation easily employed.
 Enables concurrent development and delivery within an overall planned context.
 Little or no planning required.
 Easy to manage.
 Gives flexibility to developers.

The disadvantages of the Agile Model are as follows −

 Not suitable for handling complex dependencies.


 More risk of sustainability, maintainability and extensibility.
 An overall plan, an agile leader and agile PM practice is a must without which it will not
work.
 Strict delivery management dictates the scope, functionality to be delivered, and
adjustments to meet the deadlines.
 Depends heavily on customer interaction, so if customer is not clear, team can be driven in
the wrong direction.
 There is a very high individual dependency, since there is minimum documentation
generated.
 Transfer of technology to new team members may be quite challenging due to lack of
documentation.

JOINT APPLICATION DEVELOPMENT (JAD)

JAD (Joint Application Development) is a methodology that involves the client or end user in the
design and development of an application, through a succession of collaborative workshops called
JAD sessions.

Pros:

1. Allows for simultaneous congregation and alliance of excessive information.


2. Produces huge amount of valuable information in short period
3. Immediate resolving of differences with suitable assistance
4. Provides forum to explore multiple points
Cons:

1. Takes excessive amount of time for planning and scheduling


2. Requires significant investment of time and effort
3. Calls for highly trained experts, which is tough to find

Others may include:

i. Extreme Programming Methodology


ii. Feature Driven Development
iii. Lean Development Methodology

etc

You might also like