hey guys welcome to the session by Intellipaat in today's video we'll be
discussing the differences between agile and waterfall both methodologies that
are used to develop software okay before we go ahead please make sure that you
subscribe and hit the bell icon so you don't miss any for future updates okay
now let's take a quick glance at our agenda first we will talk about what
exactly agile is and what exactly Waterfall is and then we will discuss
the impact both of these methodologies have had in the industry after which we
will go ahead and set a few parameters that we will use as criteria to compare
both of them and finally we will conclude by deciding which one is better
also guys if you're looking for end-to-end training in agile we do
provide the same for any further details check out the links given in the
description below okay now let's start the session okay guys before we go ahead
and compare both of these methodologies let us first have an overview of what
software development is now we know software development is a very long and
arduous process why because there are lot of things you need to do when you're
working with software and when you're especially developing software there are
multiple components you need to take care of the deadlines you need to
perform different analysis like risk analysis cost analysis you have to
follow all the phases there are you have to plan it out you have to then develop
it you have to implement it deploy it and monitor it now to make sure that you
are able to develop a software properly and in time and efficiently you need to
follow a particular software development methodology now there are multiple ones
out there like for example you have waterfall model your spiral model as a
model scrum and lead now these software development methodologies basically help
to plan out the whole software development lifecycle now each of these
methodologies promote different things and in this video we'll be comparing the
two methodologies that are waterfall model and agile model so we will start
off by discussing what exactly Agile now we know that agile is a software
development methodology so agile basically promotes shorter development
life cycles it makes sure that the life cycle of a particular software that is
being produced is very short and this is because it needs to make sure that the
customer feedback is prior and the feedback is then used to make
the changes in the next cycle so if we looked at the cycle of agile we will see
that there is planning designing developing testing deploying reviewing
and launching so this process keeps on repeating after receiving the feedback
from the customers end or the clients end it may not be abie to see where you
are only interacting with the customer you may have a b2b where you have a
another business client and they give you a feedback and once you receive that
feedback you make the changes accordingly and then plan ahead for the
next sprint or the next development lifecycle even though you have very
short term development life cycles in agile you have multiple of them and it
keeps on continuing until the whole project is completely finished or the
support for the project has been closed or shut down so if we look at the
benefits of agile there are a few let's discuss them so the first benefit is
transparency so this benefit is basically for the customer or the client
now if you have shorter term development life cycles and you always show your
components to your customers and clients and you take the feedback from them then
the client and the customer know what's happening with your product or your
service and accordingly they can tell you about the changes that they need and
this way they are kept to date about what's happening since the lifecycle in
agile is so short developers can only develop a few things
at a time so in every sprint a few things are developed and they're shown
to the customer and they get the feedback this way the customer is kept
up to date with what's happening with the whole project now another benefit is
predictable costs and schedule so this comes towards the developers end other
producers end when you're producing the software you need to be able to predict
the costs that are going to be indulge with the project now if a project is
going to take a long time to develop then it's harder to predict the cost
because the variables over time increase and they're unknown with shorter time
you're able to predict the costs much more effectively and you're able to
schedule all the tasks much more effectively then the next benefit is
basically that it allows for change now we know that today's market is very
fickle the audience's demand changes from one thing to
and they keep on chasing new trends every other second so to cope up with
this change you need to use a modern methodology like agile which allows you
to change your direction or change the direction of your project as a whole
since you have very short term life cycles you can change your goal very
easily and the last benefit you are going to talk about is that it improves
the quality it improves the quality by basically getting the feedback from the
customer or the client and then making the changes it improves the quality from
the perspective of the customer since they are able to ask for changes and the
developers are allowed to make those changes the changes improve the quality
of the product all right now let's discuss the next methodology that is the
waterfall methodology what exactly is it so the waterfall methodology is one of
the early software development model ever created and put to practice and
it's also spilled on to other engineering products as well and not
just software engineering now this type of software development model is
basically used for the projects which are very small and for the projects
where there are no uncertain requirements so let's look at how it
works quick in for you guys if you're looking for end-to-end training in agile
we do provide the same for any further details check out the links given in the
description below now let's continue with the session so in waterfall model
we have a model which acts like a waterfall
so we first start off with the phases so the model basically consists of all the
different phases through which one has to go through during the software
development process now let's discuss them so one of the
first ones is requirements so in this particular phase an organization or
whoever is using this model has to decide what are the requirements for the
software they're going to develop they have to look at all the different types
of requirements is functional requirements it's non-functional
requirements and they have to make sure that this particular idea this idea of
having the requirements is very clear because since this is a very long term
software development lifecycle they need to be clear with the idea of what
they're going to be developing and what are the different things or the
requirements they need for this particular software so they need to be
clear about their requirements then comes the next phase in which they have
to start designing it that is basically creating the architecture assigning and
developing and in the next phase comes implementation in this particular phase
the design the architecture of the whole software development is taken and
implemented the code is developed and the test scripts are written etc etc and
then comes testing into the testing all the test scripts are then ran on the
code or the testing happens with the particular software components that have
been created and then becomes the deployment phase in this particular
phase the particular application that has been developed is deployed onto a
production environment or on a testing environment or on a staging environment
then finally comes the maintenance phase in which once your particular product
has been deployed it has to be monitored and maintained now with this particular
model you can develop multiple components of the software
simultaneously different teams can work on different components and at the same
time while using the waterfall model all right now let's look at some of the
benefits of waterfall model so one of the benefits is that it's easy to manage
since they run you know it's not a short term life cycle you already have
everything planned out it's very easy to manage it then you can see that it works
very well for smaller projects because with smaller projects you have
everything clearly defined you know what are the requirements and the time period
is very less so waterfall model will work for you and then the another
benefit is that it's clearly defined stages since the stages are so clearly
defined you can easily manage it and you can easily go ahead with following all
of these phases or stages and then you can see that it's very well documented
since with waterfall model you have only one software development lifecycle you
document everything properly you write down what are your requirements during
the requirement phase you talk about you design your particular software
architecture you implement it etc so why are you doing all of it you document
every single aspect of it properly so these are the advantages of waterfall
model now let's look at the impact of all of these methodologies so first we
look at the impact of agile methodology now since agile is used a lot most
of the companies these days are using agile if not agile they're using DevOps
but a lot of companies are you can use agile and some companies
that have been established for a pretty long time have also been making use of
it as you can see British Telecom or National Bank of Canada or Cisco or Lego
these companies have shifted from an traditional model like waterfall model
onto agile and they have increased the profits to a new height after changing
to agile now we look at the impact of waterfall so what if all is one of the
earliest methodologies if you come up with so all the different older
companies like you have your Microsoft IBM HP Cisco these companies used to
make full use of waterfall before now they are changed on two different
methodologies or they've changed to hybrid methodologies or waterfall and
agile together but they don't use waterfall alone but there are some
agencies like government agencies like Ministry of Defense like DRDO in India
and DOD in America or Israel or NASA these kind of government agencies do not
have to fight for their market they have already established requirements which
they have to follow and they have to be followed in a very rigid manner so in
their case waterfall model is still used they do not have the requirement of
using agile they don't have to keep on competing with other companies here and
there they are not part of the business market they have a set goals and they
just have to follow them so that's where they still use them if they don't use it
the user hybrid version of it now let's see the comparison of agile and
waterfall let's see what are the criteria we'll be using to compare both
of them so the first thing we'll be measuring them on is the lifecycle then
planning then requirements then progress then Dean then emphasis and finally the
goal of the methodology now let's look at all of them so our first one is
lifecycle as you can see agile has multiple shorter life cycles whereas
waterfall has a very long one and the benefit of having a shorter life cycle
is very evident you can have you can adapt to the market you have
transparency with the customers etc we saw all of it in the benefits of agile
and with waterfall model you have a very long process even though it's very long
it has its own benefits whereas it's easily managed and in places where you
don't have to compete in the market it's very useful now let's look at planning
with agile the play running is generally done for a very
short-term period since the Shaw the lifecycle is going to be very short
around two to four weeks that's the development lifecycle the planning is
also done very fast for this particular period whereas with waterfall the
planning takes a long time because the product is going to develop over a very
long time so the in planning agile does it fast whereas waterfall takes a lot of
time because it's going to be a very long development lifecycle also then
comes to the requirements if you compare the requirements of agile and waterfall
with agile all the requirements aren't clearly defined in the start because you
go ahead with one direction but you don't exactly know what are your
requirements you only get to know your requirements over the development of
your product whereas a waterfall you need to know or you already know all the
requirements clearly that you have an end goal in your mind and you have all the
necessary steps that need to be taken to achieve that end goal then progress so to
measure the progress and height of these waterfall or agile we can see that in
agile you have the review of the progress every other day whereas with
waterfall the progress is checked every other week because you know in agile is
a shorter development lifecycle that's why you need to check the progress every
day whereas with waterfall it's a very long term it can go to two months three
months six months so it's done every week okay if you look at the team size
in now if we talked about the teams and the governance of these teams in agile
you can see that all the teams are self-governing whereas in waterfall all
the teams are governed by a single authority so you can see that agile
teams a little bit more independent whereas the waterfall teams will not be
that independent then emphasis in agile the focus is on delivering the end
product and increasing the business profit increasing the value of your
business and making sure that your customer is very satisfied whereas with
the waterfall model the whole emphasis is on implementing the end goal you know
your requirements and you need to implement them whereas with agile it's
for the customer satisfaction and increase in the business value then the
end goal what is the end goal of either of them for agile the end goal is to
deliver the product features in Sprint's to the consumer and customer that is to
increase the business value and to make sure the consumer
customer is satisfied whereas in waterfall the aim is to deliver a
complete product only once it has been completed and gone through all the
phases to give the final polished product to whoever requires it so these
were the differences between agile and waterfall now if you looked at which one
is better agile a waterfall you could definitely
say agile in a lot of cases but again this is very scenario based you may have
to decide for yourself if you have to choose between agile or waterfall you
first have to look at what kind of software will you be developing will you
be developing a software where the markets need may change every time here
and there all the market or the audience may need to give you a feedback if
that's the case you need to choose agile or if you do not have any business
profits in mind if you are working with an NGO or if you're working with a
government where only your requirements have to be established then you can go
ahead with waterfall as you can see with government agencies like hospitals or
you know Defense Department's they do not have to satisfy anyone's needs like
at least they don't have to satisfy any customers needs their main goal is to
implement a very rigid and polished system that will help them to finish
their task or complete their tasks with DRDO of the Defense Department it would
be to make really good defence software's
whereas with the hospitals it will be to make really good Hospital software's
this is not the same case of agile so you have to choose based on yours
requirements which one is better agile or waterfall if you wanted to say
it objectively you can say agile is better but a lot of places agile and
waterfall are used in hybrid with each other they basically hybrid
methodologies quicken for you guys if you're looking for end-to-end training
in agile we do provide the same for any further details check out the links
given in the description below okay guys this brings us to the end of the session
if you have any queries leave them in the comment below and we could get back
to you at the earliest thank you for watching