hey guys welcome to this session by Intellipaat in today's market the
consumers need for more and more is ever rising and our traditional software
development methodologies are just not built for this we need a methodology
which can handle them and this is where agile comes in our topic for the day ok
guys before we get into it make sure that you subscribe and hit the bell
Icon so you don't miss any for future updates ok guys now let's take a quick
look at our agenda first we will discuss what the agile manifesto is and why do
we need to use agile in the first place and then we will learn what exactly agile is
after which we will talk about the different concepts of agile and finally
we will conclude by discussing how we can implement agile ourselves and how
does it actually work also guys if you're looking for end-to-end training
in agile we do provide the same for any further details please check out the
links given in the description below now let's start the session let's start off
by discussing what issues does agile help us resolve now to discuss this
first we have to go and look at the previous methodology that was used now
traditionally waterfall model is the one that was used for software development
now the waterfall model consists of various phases you have your
requirements phase your design phase implementation phase testing phase
deployment phase and maintenance phase now waterfall model as a whole promotes
a very long term development lifecycle and it was used to develop monolithic
applications instead of the microservices we have these days and
this is what the issues start to develop as you can see with waterfall you need a
very long time to develop a particular software these days this is not feasible
as the demand for software is crazy high and we need to be able to change
according to the markets needs and you know develop software every other months
or so and because of these issues our new particular software methodology were
created to tackle the issues and this is where agile comes in so with agile you
are not creating software in a very long period whereas you'll be doing it in
multiple sprints you will start off with four phases like planning implementing
testing reviewing now you'll create one of the components of the software and
once you're done with that you will move on to create the next comp
and similarly you would go ahead and create the software as a whole now in
this manner you're completing the software as well as providing the
different components of software to the customer getting her feedback and
changing accordingly considering in all of these factors agile ability to change
and adapt with the market satisfy the markets needs and do so in a very short
term you know all of these factors combined make agile very suited for
developing software these days all right guys now called as agile methodology
but in actuality it's rather a set of values and principles if you use these
values and principles to make decision then you're working in an agile manner
so rather than being a methodology it's rather a basically set of values and
principles that you have to follow if you want to be agile now let's go ahead
and discuss those values those agile values so they come under agile
manifesto so the agile manifesto basically states
that we are uncovering better ways of developing software by doing it and
helping others do it through this work we have come to value certain things now
those what are those 13 things are the values now what I'm going to do here is
show you the left side compared to the right side and this is how to listen in
the manifesto also you'll have a few values on the left side and you have a
values on the right side while you've posted these values we try to say that
the left side values have much more meaning than the right side values that
is while there is value in the items on the right also reaches valued items on
the left more let me start off by giving you an example so we have individuals
and interactions and processes and tools so individuals and interactions are on
the left side and processes and tools are on the right side so even though we
do value processes and tools we just value individuals and the interactions
these individuals have between each other even more than the processes and
tools involved and this is the value that agile promotes this is the part of
the agile manifesto now there are similarly three more values so let's
discuss them all so we have working software and comprehensive documentation
here we value working software over having a comprehensive documentation
which is kind of obvious right you need to have a functioning software
that you're going to provide to your customer before you even have any type
of documentation before you even think about going for documentation and this
is what agile promotes and again customer collaboration is valued more
than contract negotiation so we want to prioritize the feedback we get from
customers and apply it into a software development over any type of contract
that they're going to be signing with them this is another value that agile
promotes and the final value that agile promotes is basically responding to
change V value responding to change more than following a plan because agile is
suited for you know ever-changing market and that's why responding to a change
has greater value than following a plan quick info here guys if you're looking
for end-to-end training in agile we do provide the same for any further details
please check out the links give in the description below and now let's continue
the session so guys these are the different values that are promoted in
agile in the manifesto if you ever read it by yourself you will see that
basically every item on the Left has more value than the item on the right
this does not mean that the items on the right are not valued this is the items
on the Left have just a lot more value and that's why I have you have to follow
them every time we are trying to make a decision so whenever you make a decision
you have to keep these values in mind now let's discuss the different
principles that agile promotes so we have the first principle that stays that
our highest priority is to satisfy the customer through early and continuous
delivery of valuable software the second principle states that welcome
changing requirements even late in development as I processes harness
change for customers competitive advantage then the third principle says
that deliver working software frequently from a couple of weeks to a couple of
months with preference to shorter timescale then the fourth principle
states that business people and developers must work daily throughout
the project and the fifth principle states that build project around
motivated individuals given the environment and support their need and
trust them to get the job done the next principle stays
the most efficient and effective method of conveying information to and within
the development team is face-to-face conversation the next principle states
that working software is the primary measure of progress then agile processes
promote sustainable development the sponsors developers and users should be
able to maintain a constant pace indefinitely
the ninth principle says that continuous attention to technical excellence and
good design enhances agility then simplicity the art of maximizing the
amount of work not done is essential and the second last principle states that
the best architectures requirements and designs emerge from self-organizing
teams and the final principle basically tells us that at regular intervals the
team reflects on how to become more effective then tunes and adjusts its
behavior accordingly so guys these were the different principles that agile promotes
now remember if you want to be in agile team then you have to make all of your
decisions based on these principles and based on the values that agile promotes
otherwise you are not an agile team all right now let's look at the different
benefits that agile provides us so the first benefit is basically transparency
now this is pretty clear by the idea of transparency itself if you are
transparent in your development process then the customer or the client knows
what you're doing they have more trust in you because you'll be telling them
what you're doing and you'll be doing this as you'll be providing them
software every other sprint they'll know what kind of software they're getting
and accordingly they provide you a feedback and you will improve upon the
next iteration by using that feedback in your planning stage then comes
predictable cause and schedule you now since as agile promotes very short term
development life cycles the number of variables that will be there when you're
calculating the cost and schedule will be less and hence you'll able to predict
the cost and schedule all the tasks much more efficiently now another benefit and
the primary benefit is that it allows for change now the values and principles
that agile tells us about basically promote for change because if you are
able to adapt and change according to the mark
then you're able to increase your business profits as well as satiate the
markets needs or as well as satisfy your customer or client and then in the end
it helps us to improve the quality of the product overall not just the
polishing aspect you increase the morale of your employees you increase the
morale of your team and this way they want to make a better product and hence
a better product is made so these are the benefits of agile now let's move on
and see how we can implement agile ourselves now when are you going ahead
with implementing agile you have to keep in mind that any decision you take has
to be based on the values and principles set by agile otherwise you're not going
to be having an agile development all right so when you're going ahead with
these principles and values set in your mind you have to follow the normal
sprints now they're going to be a lot of practices that you'll have to choose
from now one of the practices is to having a
sprint where you you have a small sprint small iteration where you develop a
small component of the software and give it to the client so you'll first plan it
out then design it then develop it then test is then deploy it then review it
from your own feedback from the customers feedback to another clients
feedback then launch it and you know then move on to the next iteration now
this is a part of the practice of agile so there are a lot of agile practices
out there you have daily stand-ups Sprint's splitting user stories pair
programming and test-driven development now you can go ahead and choose any
practice you want to but remember you have to choose these practices based on
your own needs and based on the values and principles that are being set by
agile Oh that'll be promoted by agile otherwise you're not agile or you're not
following an agile development and hence you won't get the benefits of
agile you keep this in mind when you're going ahead with any of the practices of
agile all right now let's move on and discuss the different frameworks of
agile with scrum you focusing more on the openness the focus the commitment
the courage and the respect for different people
whereas in lean you're trying to focus on eliminating all the waste amplifying
as much as learning as possible decide as late as possible deliver as fast as
possible empower the whole team built integrity
in the team then see the whole process through and in Kanban you're basically
focusing on reducing multitasking decreasing the waste overall produced
then putting the customer's needs first and basically return of investment or
ROI so these the different free works now when you go ahead to implement agile
you need to first think of all the basic principles and values that have been
said by agile and then see what suits you the best
what kind of environment then check out the different frameworks now this is
just three most popular frameworks out there there are lot more frameworks you
can go through them you can decide which one is the best for you then you choose
that particular framework and guys that's agile whether you want to call it
a methodology or whether you want to call it a set of principles or values it
basically helps us to create really good software quicken for here guys if you
looking for end-to-end training in agile we do provide the same for any further
details please 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 please leave them
in the comments below and we will get back to your the earliest thank you for
watching