Professional Documents
Culture Documents
There is a variety of traditional systems development methodologies that can be adopted within
the organisation. They include waterfall, Spiral, V-Model, Rational Unified Process (RUP)
and Rapid Application Development.
In this model software testing starts only after the development is complete. In waterfall model
phases do not overlap.
SPIRAL MODEL
The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A
software project repeatedly passes through these phases in iterations (called Spirals in this
model). The baseline spiral, starting in the planning phase, requirements are gathered and risk is
assessed. Each subsequent spirals.
The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A
software project repeatedly passes through these phases in iterations (called Spirals in this
model). The baseline spiral, starting in the planning phase, requirements are gathered and risk is
assessed. Each subsequent spirals builds on the baseline spiral. Its one of the software
development models like Waterfall, Agile, V-Model.
Planning Phase: Requirements are gathered during the planning phase. Requirements like ‘BRS’
that is ‘Bussiness Requirement Specifications’ and ‘SRS’ that is ‘System Requirement
specifications’.
What Is Spiral ModelRisk Analysis: In the risk analysis phase, a process is undertaken to identify
risk and alternate solutions. A prototype is produced at the end of the risk analysis phase. If any
risk is found during the risk analysis then alternate solutions are suggested and implemented.
Engineering Phase: In this phase software is developed, along with testing at the end of the
phase. Hence in this phase the development and testing is done.
Evaluation phase: This phase allows the customer to evaluate the output of the project to date
before the project continues to the next spiral.
V-shaped SDLC model is an expansion of classic waterfall model and it’s based on associated
test stage for the every development stage. This is a very strict model and the next stage is started
only after the previous phase. This is also called “Validation and verification” model. Every
stage has the current process control, to make sure that the conversion to the next stage is
possible.
ADVANTAGES
Every stage of V-shaped model has strict results so it’s easy to control
Testing and verification take place in the early stages
Good for the small projects, where requirements are static and clear
Disadvantages :
Lack of the flexibility
Bad choice for the small projects
Relatively big risks
It is a well-defined model, clearly explaining in a project what things need to be done, when and
who will do. This model works using Unified Modelling Languages (UML), which means that
all the phases, deliverables or outcomes are presented using UML diagrams (i-e: use cases, class
diagrams, etc). It is a huge model that almost supports the development of all types of software
products. This model works on three key features: 1) Incremental/Iterative, 2) Architecture
focused 3) Use Case Determined. It is a component-based design, which creates such software
systems that are easily understandable, supports software reuse and combines with Object-
Oriented programming projects. The key feature of this model is that all the information is
represented graphically. Also, the incremental feature supports the customer feedback,
minimizes the risk and helps the developers. Due to the dynamic nature of technology, new
methodologies keeps on being implemented to improve limitations encountered to its
predecessors. According to Jain and Chandrasekaran [9] in 2000, Kruchten introduced rational
unified process (RUP). It was introduced to consider the need for accommodating change
and adaptability during the system development process [26]. As a result RUP becomes
extremely flexible as it allows change to occur at any time at any stage of systems development.
RUP is made up of four stages namely inception, elaboration, construction and transition [27].
These stages are executed sequentially and iteratively throughout the systems development life
cycle. Every stage of RUP is composed of one or more iterations [28]. Any discrepancies, risks
and errors encountered in each stage are addressed in each iteration of that particular stage. The
final iteration forms part of the final system.
The aim of introducing new methodologies is to fill up the gaps encountered in the previous
methodologies. RUP has been adopted in the systems development industry as a model for the
reason that it is well defined and documented [30]. The documentation is accessible
electronically. RUP is an adaptable model allowing organisations to select elements of processes
that are most relevant to the particular project. RUP make use of unified modelling language
(UML) to emphasise object-oriented analysis and the maintenance model [31]. UML is
an industry-standard language that allows the systems development team to clearly communicate
requirements, architectures and designs visually [12]. Pictures or diagrams enable the entire
systems development team to visualise the inner workings the system to be built. It also makes it
easier for the team to explain the how the system is going to work.
The rational unified process (RUP) is a process framework that provides a disciplined approach
to define activities and responsibilities inside the organised system development [32]. The four
development stages are accompanied by the nine basic principles.
Prototyping model
Prototype Model
All Prototyping model is a process of making software that is repetitive and with rapid planning where
there is feedback that allows the occurrence of repetition and improvement of software until the
software meets the needs of the user.
Prototyping models are one simple model of making software which allows users to have an initial/basic
description of the program and carry out initial testing based on the working model concept.
The purpose of the prototype?
Prototyping models have the goal of developing the initial software model into a final system.
Prototype processes
The prototyping model processes are:
1) First communication is carried out between the customer and the software development team
regarding the specifications of the desired requirements.
2) Planning and modeling will be done quickly in the form of quick design (quick design) and then will
begin construction of the prototype.
3) The prototype will then be submitted to the stakeholders for further evaluation before being
submitted to the software makers.
4) Making software in accordance with the prototype that has been evaluated which will then be
submitted to the customer.
5) If it has not met the needs of the customer, it will return to the initial process until the needs of the
customer have been fulfilled.
The agile methodology is one of the easiest and uncomplicated routes to transform an idea and
varied needs into feasible software solutions. Agile method is an iterative and incremental tactic
to software design that utilizes constant planning, understanding, upgrading, team partnership,
development, and delivery. The agile process is fragmented into separate models that teams work
on, thereby encouraging flexibility to changes.
Driven by the principles of providing value and collaborating with stakeholders, the agile
methodology originates with customers defining the end uses of the final product and the kind of
problems the final product attempts to address. This exercise helps in resolving and clarifying the
customer’s anticipations and requirements for the project development team.
The below agile methodologies list comprises of famous types of agile methodology that one
can opt from:
1) Kanban.
2) Scrum.
3) Extreme Programming (XP)
4) Crystal.
5) Dynamic Systems Development Method (DSDM)
2) Scrum
One of the most popular agile methodology examples is the agile scrum development
methodology, which is depicted by various cycles of development. Similar to Kanban,
Scrum breaks down the development phases into stages or cycles called ‘sprints’. The
development time for each sprint is maximized and dedicated, thereby managing only
one sprint at a time.
Scrum and agile methodologies focus on continuous deliverables, and thus this method
lets designers adjust priorities to ensure that any incomplete or overdue sprints get more
attention.
Scrum Team has exclusive project roles such as a scrum master and a product owner with
constant communications on the daily scrum where the activities are harmonized to
devise the best way to implement the sprint.
3) Extreme Programming (XP)
Extreme Programming (XP) is a methodology that emphasizes teamwork,
communication, and feedback. It focuses on constant development and customer
satisfaction. Similar to scrum, this method also uses sprints or short development cycles.
This is developed by a team to create a productive and highly efficient environment.
Extreme Programming technique is very supportive in a situation of constant and varying
demands from the customers. It motivates the developers to accept changes in the
customer’s demands, even if they pop-up in an advanced phase of the development
process.
In Extreme Programming, the project is tested from the initial stages by collecting
feedback that progresses the output of the system. This also presents a spot check to
implement easily any customer requirements.
4) Crystal
Introduced by Mr. Alistair Cockburn, one of the monumental persons in formulating the
Agile manifesto for software development, Crystal is a group of smaller agile
development methodologies comprising of Crystal Yellow, Crystal Clear, Crystal Red,
Crystal Orange, and more. Each has its peculiar and exclusive framework that is
characterized by factors such as system criticality, team size, and project priorities.
Depending on the nature of the project or system criticality such as Comfort (C),
Essential Money (E), Discretionary Money (D), and Life (L), the kind of crystal agile
methodology is chosen.
Similar to other methodologies of Agile, Crystal also addresses prompt delivery of
software, regularity, less administration with high involvement of users, and customer
satisfaction. The Crystal family advocates that each system or project is inimitable and
necessitates the solicitation of diverse practices, processes, and policies to achieve the
best results, earning the name of the most lightweight methods of agile methodology.
5) Dynamic Systems Development Method (DSDM)
To address the need for a standard industry charter for the swift delivery of software, the
Dynamic Systems Development Method (DSDM) was developed. DSDM gives a
comprehensive structure that is defined and modified to create a plan, execute, manage,
and scale the procedure of software development. Based on a business-driven approach
and eight principles, the DSDM believes that modifications to the project are always
expected, and quality with timely delivery must never be negotiated.
Conclusion
A dynamic approach is required in choosing the right agile methodology among the
different types of agile methodology. The advantages and disadvantages of agile
methodology must always be considered to choose the framework for one’s business to
entice talent and convey remarkable digital experiences in this aggressively competitive
market.
The first limitation of the agile methodology is that it is not suitable for government agencies,
large organizations such as banks, insurance companies, etc. or long-term maintenance of the
systems because these both involve detailed and large documentations that were highly ignored
in this methodology.