Developing software for an end user is vitally important as people
rely on software for computers to go about their lives. Whether it is just browsing
the internet or using different applications, software is essential for
computers.  As software is being developed,
the main decision that developers must consider is how their software will be
used by the end user. The best way to develop software is through different
project management frameworks and there are a variety of ways to do this. Some
methods are through structured methodologies whereas some are just simple plans
made between a team and they all have advantages and disadvantages, so it’s
always important to decide which one developers are going to use at the start
of a project as there are many ways to get software to the end user.


The waterfall methodology is a popular model when developing
software and was one of the first process models to be introduced in software
development, developed by Winston W. Royce in 1970. The Waterfall method is a
type of life cycle model that is linear-sequential and it is very simple to use
and understand. The waterfall model is sometimes planned with a Gantt chart, which
is a type of bar chart that shows the start and end dates for each task. When developers
are using this method, it is known that each step must be completed before the
next phase can begin and because of its linear cycle there is no overlapping in
the process. It is known as a linear sequence because the end of one of the phases
of development acts as the input for the next phase and the next phase can only
begin if the phase before is complete.  The
design of the waterfall model was used widely in software development because
it ensured the success of a project.  The
waterfall method is easy to follow because there are usually between five to
eight sequential phases that are followed to develop the software for the end


There are a few advantages when using the waterfall method
and the main one is that it allows for structure and control of the project.
This means that a schedule can be set for each of the stages in the development
process and the developers can proceed through the model one phase at a
time.  This also allows each phase of
development to proceed in a strict order. As mentioned, the waterfall model is
also easy and simple to understand and manage due to the rigidity of the model
because each phase has specific requirements of what is expected. The waterfall
method is best used for small, simple and unchanging projects because of its
linear sequence, which means that it is easy to arrange tasks and allow the
process and results to be well documented. As the process is well documented,
it allows businesses and the end user to see more detail about a certain phase
within the development process.


The main disadvantage about using the waterfall model is
that any changes can’t be easily accommodated.
This means that once a phase has been completed and a feature was missing for
the requirements phase, they can’t go back unless the whole
process is restarted and this is very difficult and expensive. Another
disadvantage is that the software being produced doesn’t
work until late during the development cycle because of the many phases it must
go through and because of this there are high amounts of risk and uncertainty.



Agile method was founded in 2001 under the name of Agile
manifesto and is one of the most common project management frameworks because
it is based on an iterative approach. When beginning to create an Agile method,
not much in depth planning is needed because overtime the requirements will
change and Agile methods are open to that. It is useful to use the Agile method
because firstly it allows cross functional teams to work on a product over a
short period of time and it also allows constant feedback from end users that
can update the plan as the teams go along which is useful in getting ideas
quickly and efficiently without developing the software again. The goal of this
is to produce a working product effectively, keeping the end users interests in
mind throughout the project. The Agile method encourages teamwork and
leadership and it provides a good face to face communication with the
developers and the businesses. The two collide and must work together to reach
the companies goals as well as keeping the customer’s needs.


When using the Agile methodology, it is usually referred to
in a few principles and these are a basic guide on how to develop software with
agility. Usually the main priority is the customers and how software is continuously
developed to meet their needs. There are many advantages to using this type of
method because it focuses on continuous improvement and flexibility along with
speed. When using the Agile method, it is also easy to accommodate change
during the project. It is also beneficial to use the Agile method when the end
goal for a project is unknown. This is because as the project advances on, the
goals will become clearer and development can easily adapt to any changes that
arise.  Agile method relies a lot on face
to face communication because this allows teams to work together more efficiently
and take responsibility on different parts of the project. As I mentioned, customers’
needs are always the most important and they may have the opportunity to see
the project as it is being developed, which allows them to share their input
and have an impact on the end-product.


Written by

I'm Colleen!

Would you like to get a custom essay? How about receiving a customized one?

Check it out