Assignment of MIS
Assignment of MIS
Assignment of MIS
Subject: MIS
Submitted by: Santosh Kumar Shrestha, Edifice.
Waterfall
Prototyping
Application
Development Life Spiral
Cycle
Methodologies Agile
V model
1) Waterfall
It is known as the traditional methodology, Waterfall is a sequential and linear flow for
developing a software application. The process is outlined by a series of finite stages, each
of which must be fully completed before moving on to the next one. The Waterfall
approach follows this order: requirements, design, execution, testing, and release.
Advantages of Waterfall: It is structured and easy to follow. The activities are well
defined and it fosters careful planning of the project. Additionally, it has specific
deliverables at each stage of the process.
Disadvantages s of Waterfall: It is unyielding and complex to go back to any stage
after it is finished. It has little flexibility to adjust to a changing scope. Additionally, it
is relatively more expensive than other methodologies and is more time-consuming.
2) Prototyping
This methodology creates prototypes of the software application to simulate the
functioning aspects of a desired, final product. Prototyping is mainly used to visualize
components of the software solution and match them with customer requirements. There
are several variants of prototyping but they are mainly categorized into throwaway and
evolutionary. Throwaway prototyping creates a model that will eventually be discarded
and evolutionary prototyping refers to a robust prototype that will be constantly refined to
reach its final version.
Advantages of Prototyping: A functioning version of the software solution can help
identify potential risks and threats that can be dealt with in a timely manner, reducing
costs and time investment. Additionally, the user is involved and can visualize a
working version of the software.
Disadvantages s of Prototyping: A working prototype may cause confusion with the
finished version of the system. Oftentimes, developers end up wasting a significant
amount of time creating a prototype, and their time could have been t used in a more
valuable manner. Additionally, it can be costly to implement functioning prototypes.
3) Spiral
The Spiral methodology can be thought of as a combination of the Waterfall methodology
and the prototyping methodology. It is typically the methodology of choice for large and
complex projects because it uses the same stages as the Waterfall methodology but it
separates them into planning, risk assessment, and prototype building.
Advantages of Spiral: It provides more realistic estimates in terms of workloads,
budget, and schedule as it discovers challenges and issues in its early stages. It involves
developer's right from the get-go and manages both risks and the system’s development
in small phases of segments.
Disadvantages s of Spiral: It is a costly methodology that consumes a significant
amount of time to reach the desired solution. Additionally, it requires a team of highly-
skilled specialists who help evaluate risks and assumptions.
4) Agile
The iterative and incremental methodology known for excellence, Agile is a framework
that evolves through collaboration between teams. It is a dynamic and interactive
methodology that works in sprints that have a defined duration with lightweight
deliverables that help reduce the time in which software is released. It advocates for
adaptive planning, evolutionary development, early delivery, continuous improvement,
and rapid and flexible responsiveness to changes.
Advantages of Agile: High-quality software, which can then be further built upon with
successive iterations, is delivered in the least possible amount of time. It includes a
deep involvement from the client but it remains a very flexible methodology as changes
can be introduced at virtually any stage of the project. Additionally, Agile fosters a
high degree of collaboration between cross-functional teams and all the involved
parties.
Disadvantages s of Agile: It requires a team of specialized developers who are solely
focused on the project at hand and have a specific set of skills. Agile can be challenging
when scaling projects and it also presents constant refactoring as changes are frequent
and even more so if the scope is not properly defined from the early stages of the
project.
5) Iterative and incremental
The iterative and incremental methodology is designed to overcome any fault or
shortcoming of the Waterfall methodology. The iterative and incremental methodology
begins with initial planning and ends with the deployment of the solution, with cyclic
interaction in between. In essence, it develops a software application via iterative and
repeated cycles that are performed incrementally so developers can learn from the
development of previous portions of the software.
Advantages of iterative and incremental: It delivers business value early in the
development lifecycle and makes better use of limited resources via incremental
development. It is flexible enough to adapt to changing requests between increments
and is more customer-focused than linear approaches.
Disadvantages of iterative and incremental: This methodology requires heavy
documentation efforts as it follows a stringent set of processes. It requires a deep level
of customer involvement and can turn problematic when delimiting functions and
features.
6) V model
V model methodology is considered an extension of the Waterfall methodology, but instead
of flowing down in a linear way, the steps are designed upward to form a V shape. In this
methodology, the relationships between each phase of the development lifecycle are
associated with a testing phase. The horizontal and vertical axes display the time or project
completeness (left to right) and abstraction level (coarsest-grain abstraction).
Advantages of V model: It is relatively easy to use and understand as it has specific
deliverables throughout each phase of the process. It carries out test plans early on in
the lifecycle which helps verify and validate the product from the beginning.
Disadvantages s of V model: It is considered an inflexible model which makes it
difficult to adjust the project’s scope, which can ultimately turn expensive. There are
no early prototypes of the software and no clear path for issues discovered during the
testing phases.