welcome to agile tutorial from simply learn i am cmr chandra mr a professional consultant and coach certified agile scrub master pmp principal practitioner itl for managing professional kobit 5 and devops as part of this video tutorial we are going to understand what is agile the basic details one should know about agile to understand this better let us look at a time in the late 90s what was happening with software development forms so they used to follow waterfall methodologies so there used to be expression like said we have a problem so what happened so our client
want a new feature to the software we are already midway creating the software we can't add the feature so what does it mean so there is a scenario where the change is asked so why change change may be because of adding certain features removing certain features modifying certain things already given what is wrong in that why can't we do the change so now point here is not about doing the change itself it's about the effort additionally it takes cost money in terms of which is going out the effort then the scope which is going to
change at the same time you also need to put more efforts which will delay the project so now is it okay so nineties it was okay today is it okay a big question mark so why is that not okay so may to understand that very clearly right i knew we should not have used the waterfall methodology for development so is that an issue with the waterfall methodology so answer is no if it is today's scenario answer would be yes if it is 90s answer would be no so what changed in this 20 years or 15
years the dynamics of the market changed the behavior of consumers changed so if you look at anyone who is using any product it may be a software product or a hardware like if your mobile phone or a television or any application mobile application or application used on your systems the upgradation of the new features and functionality of that is improved more and more and consumer wants it more and you have a very less time to respond that is one thing second thing there is lot of competition if you do not respond quickly competition will take
over so for you to sustain and grow it is very essential that you understand this dynamics and you need to respond quickly which was bit difficult when it comes to approach what is called waterfall model now how do we address this so what is that waterfall model is all about why is it difficult for us so the methodology where waterfall model is used involves teams following a series of steps and only going forward after the previous steps are completed so there is a wait time involved so until the previous steps are completed only then i
can move to the next so it is a slower thing it would take certain longer duration so it is best used in the scenarios where the teams are small and the project is expected to move in a predictable manner so predictability is very important when we follow waterfall methodology predictability the variation should be as lesser as possible so what is the predictability i'm speaking about as i create this product as a result comes up if it takes six months one year two years three years it's okay so this is how the product would look like
the predictability how the product would look like how that particular output would come so when is that going to come is it okay if i bring that result after two years is that okay so if everything is okay that way without very less without any variations as such very less variations then it's fine so because of following waterfall model uh what is that methodology what is that flow we need to understand that so requirements gathering and documentation is the first thing what used to happen which is true in agile methodologies also but the main difference
here is the requirements gathering and documentation happens in detail a comprehensive one now once that is signed off only then it is more to the design now based on that requirement which is gathered which is full comprehensive then the design will happen based on that the consideration of process the products the people the environment then the design happens which is again a detailed design now once the implementation starts if you find any deviations the correction needs to be done since the design is in detail the deviation possibilities as less as possible but the challenge comes
up when the dynamics in the market when the dynamics of customer changes customer asks for change then you may require to do the change now when you want to do that change you might require to do the change only after understanding what would be the impact of this change in the entire output which you are going to create which is very comprehensive one so because of this it consumes time it consumes extra effort so it may be a scenario where the scope of work is reduced as well even after that this exercise has to be
done which will delay the project so this was okay so when this model when the things were done things were taken up for changes it was okay because the consumer behavior as i mentioned there is a lot of wait time for the consumers also so there was less competition but today it is not i need to go quicker so because of this what are the disadvantages which just came up to the consumers or to the organization who actually follow waterfall methodologies in today's scenario so what could be those so making changes would be difficult as
i mentioned uh earlier so then it doesn't focus on end user client customer perspective value so today i think more and more we're speaking about creating a value in the consumer perspective customer perspective and the time it takes for consumer to realize the value how long it takes the more it delays in realizing the values by the consumer there is a delay in terms of making your product impression better in the consumer's mind so competition will take over so your existence will be in bigger threat so testing phase is delayed until most of the project
is completed because it has to follow step by step wait the things to complete and then testing happen then measuring the progress within the stages is difficult so why is it difficult measuring the progress within the stages because the deliverables or the metrics what are defined are defined to measure at a milestone and at a end of the phase to understand whether everything is delivered as part of it now let us look at how agile is going to help us to address these disadvantages mentioned in what fall model so what is agile the basic meaning
of agile is to move faster be flexible respond to change etc but to accomplish this there are a lot of methodologies now there is something called agile manifesto on 12 principles of agile which we need to understand so following this accomplishing this can only help us in becoming a child so in 2001 agile was introduced so that's where the term agile came into picture where people start realizing what is agile and why should we adopt that agile methodologies so while it was introduced so agile manifesto was also released it's a set of principles used in
project management and software development so basically there are four points which we need to understand very correctly very clearly so that we can able to understand what is agile is all about right it enables team to deliver value to their customers with ease so agile team deliver work in small but usable increments then evaluation of the requirements plans and results takes place continuously this allows teams to respond to changes quickly now change was one of the scenario what we were speaking about now responding to change quickly is one of the disadvantages what we spoke about
and here it is addressed it is considered to address that is very important now when we respond to change quickly it is not that i just quickly responded but i did not address that problem or that scenario it is very essential to address that scenario as well effectively and efficiently so now agile is a concept right so it has a detailed manifesto based on which all the agile methodologies are created so what is this agile manifesto is all about so it is created it was created during february 2001 so which details out the values and
principles of agile processes which says there are some values which is mentioned in the left which has more weightage compared to the one which is in the right now when we say this for example let us take let us go one by one individuals and interactions over process and tools so are we saying we don't value the process processing tools that is not the case now let us look at what were the typical issues or challenges anyone would have expressed regarding the processes so delay may be bureaucracy and they cannot have a flexibility to move
faster so basically delays because of the approval which is not happening because of the processes now how do we address this so can i eliminate the process itself answer is no because in the absence of tools and processes none of the things which we can do easily can exist so it should be there process and tool should be there the way it should be defined it should also ensure there is individuals and interactions encouraged to have that individuals and interactions while having the process and tools so next is working products or comprehensive documentation so when
we say comprehensive documentation as i mentioned in the waterfall methodology during the requirement gathering during designing there is a detailed documentation which is made so which take lot of efforts in creating those now while delivering the challenge what anyone was faced was the change which is coming up and making changes to these documentations which is an additional effort now if we have a working products if i have a bigger product in that a module of that i keep creating every small small modules of it and start integrating to the base model now i will only
focus on the documentation for that particular model working piece which i am going to create in the next iterations then my documentation changes are less and also the way i'm making the documentation is initially i would have a full skeleton of the entire product which i'm going to create the roadmap and upon that i am going to making the detailed documentation for that only for that working piece rather than the full product itself then these working piece documentation which i am going to create as i create the working pieces i am also getting the feedback
because i'm doing the interactions with the users the consumers the end users so i get the feedback i keep making the changes quickly and then documentation will become accordingly the small pieces of documentation which happens with those small small small working models which are created and those are consolidated over a period of time by the time the product ends you have a comprehensive documentation the project hands you have a comprehensive documentation so it saves lot of time so documentation is important but the way we accomplish the documentation is one by one not in one go
next is customer collaboration or contract negotiation so any engagement or any relationship or any business can it happen in the absence of contract answer is no there should be a contract now how this contract should be when we want to follow an agile it should allow the customer collaboration why are we collaborating to understand what customer is required to understand what customer needs is fulfilled right so now this requires a lot of flexibility in the contract itself so that commercial is one area which gets impacted and there should be guidelines for that also in the
contract so that during the collaboration during the change during the effort being put customer is also informed what is the change which is going to happen in terms of commercial as well as time and everything so that it is documented in the contract so there is no confusion responding to change or following a plan now i cannot have a rigid plan as we were speaking about waterfall methodology so that we need to go like this only so based on the scenarios changes so we require to change your directions and move faster so responding to change
requires a specific flexibility which is required in the plan so that you i don't have a plan which is very rigid and that provides some flexibility that's how i can able to create my plan so that i can able to move or respond to that specific scenarios which are changing so this is called agile manifesto and this agile manifesto has 12 principles associated with this now keeping this agile manifest on 12 principles all the agile methodologies have created their own approaches and framework now let us look at what are those 12 principles the agile principles
so agile principles so here are some of principles that need to be followed to make a processes agile so first principle is about customer satisfaction so one need to satisfy the customer through early and quick delivery of the product now someone who is hungry if you give them a water or a food immediately a piece of bread at least there is some satisfaction there is some realization as i got it what i need so energy is back so it is very much required to ensure seeing things in a customer perspective and customer is satisfied so
customer satisfaction is not a result of the survey what i do it's about how i deal with the consumer what is that impact the perceptions i'm building with the consumer and what do i know about my customer do i really understand the pulse of my customer how associated am i how close am i how am i collaborating with the customer that will help you to understand how satisfied your customer is it is very essential to consider customer satisfaction and the second principle would be welcome change so changing needs need to be addressed even late in
the development process so change can happen anytime now these changes should not become a challenge so there should be a flexibility in your design itself which will bring in so that is the reason i think when you move faster so it doesn't mean that you eliminate or you just keep introducing the defects and move faster no that is not allowed so whenever there is a change in the feature whenever there is a change to some specific product functionality accommodating that should become easier whatever the methodology i follow that should help me in terms of accommodating
so i should be welcoming changes it's okay for me to have the change so that is not a challenge anymore for me so principle three deliver frequently so ensure software is delivered frequently focusing on shorter time scales as i was mentioning while discussing the manifesto point like i keep creating a smaller piece of product modules so that i keep putting into the base model and integrating those and ultimately once all the features functionalities are integrated we have a product with all the features and functionality so this needs to happen more frequently so the release of
those working page should happen more frequently more repeatedly so that the customer is seeing those working piece and experiencing and giving their feedbacks so quick changes to those working piece making that will become easier then work together so when as i work together it is very essential that developers and business individuals need to work together through the course of project which means involvement of customers involvement of suppliers involvement of your own team everyone should work together each one should understand each other's perspective view if there is no proper understanding about each other's perspective view it
is quite obvious what was expected what was delivered would not match so there should be correct understanding to have that correct understanding one should work together collaborate so they should speak express which is very important so feedback has to be given by consumers regularly similarly the organization who is doing the project should also keep giving the feedbacks to the suppliers to make necessary changes and once it works together in a unison i think that would help in terms of bringing out the results the way it is required that would help customer to get the value
motivated team so projects need to build around motivated individuals and they must be trusted to get the job done means when will the team get motivated when the work what they are doing is acknowledged when the work what they are doing the results are seen experienced and then feedback is given there is an opportunity for learning and contribution their contribution is acknowledged only then team is motivated when there is a motivated team when team feels there is someone with whom they can look up to it's quite obvious team will also come up with certain set
of innovation in their mind giving their feedback as well involving themselves in terms of getting the results what is required so it is always essential to ensure the team which is involved in creating the products is always motivated so i think when we say team the conflict also come across there may be a clash between the various different thoughts and preferences so one cannot just shy away being a manager one cannot shy away from it he or she should involve it with the team resolve those put things in the right direction so right lead interpersonal
skills are very important here next face-to-face interactions so which helps in terms of most efficient means of communication which helps in terms of giving a proper clarity in terms of what is required so that i sent an email i expect the person to do it that is not the case what we're discussing about so more and more interactions which should happen face to face so that each other understand what requires to be done and there is a quick feedback which can happen when that particular interactions conversation which keeps happening so one can understand other perspective
view as well then working software so it is a primarily the deliverable which you're speaking about which has to come regularly so more and more working peace as it comes customer can give feedback based on their experience on this working piece instead of just imagining something and then giving the feedback so it should not look like an hypothesis or something which is in the dreamland so i told something the person would heard visualize something else it should not end up that way instead of that give the working piece expect the consumer the user to give
the feedback so that it helps in terms of creating that particular product ultimately which is usable and which is going to create value to the consumers so next is constant pace so agile process promotes sustainable development so it should not i did it and i sleep i did it and then i'm waiting for something else no there should be frequent deliverables which is happening so there should be constant moment from left to right from beginning to end so that the deliverables which are expected keeps happening so that consumers or users are realizing the value of
it so it should be constant pace the velocity the speed which needs to be adopted then good design agility can be improved by focusing on technical excellence and good design so when we say technical excellence and good design it is very essential to understand insight towards what is that product being delivered insight towards what is the technology being used insight towards the processes the capabilities skills so all this comes together when people sit together and focus on creating that product or services so they are putting the effort towards designing it appropriately so that that will
fit for purpose so since things are more step by step in terms of creating a working piece the detailed designing of that small working piece would happen which can happen quicker as well and since these are going and fitting into the architecture which is basically open architecture kind of scenarios what you're speaking about so all those modules what you create you keep plugging into it so that you were designing that small piece which is quicker so instead of designing the entire system as a whole in detail you're just creating the small pieces and fitting into
that architecture which is open so pluggable so that gives flexibility as well and changes to the design will become easier if it's not working and agility helps in accomplishing that simplicity the amount of work that's not being done needs to be minimized meaning when we say simplicity doesn't mean less right so the appropriate number of tasks the minimum number of tasks it needs to be done and mostly i think all non-value adding activities and processes would be removed it has to be removed so the more optimized more simpler in terms of handling things is always
good so that only those what is required to be done are done so it is very clearly visible and there will be clarity self-organization so when we say self-organized teams who is not capable of everything but when you look at a team has a whole each one has different different skills many skills not one or two skills many skills which they are complementing to each other so they come together they discus together they focus on the architectures requirements and design and address it together so team is also owning the ownership is one thing when it
comes to picture when we say team so here since team is actually taking up that ownership and organizing themselves to accomplish the results the products what is required so then obviously the results will happen the way it is needed and they will become accountable as a team so they cannot have a blaming scenario where because of one or two members it is happening they should collaborate better they should be self-organizing what should happen so next is reflect and adjust so when are we going to reflect reflect upon what is that happening learn understand keep learning
it having a reflection to that what is happening means responding to that so that improvement can happen quicker effectiveness can be improved by the team regularly reflecting on it so team is also understanding team is also having that accountability to ensure that necessary adjustments necessary actions are taken to make those changes and corrections quickly so these are about 12 principles so which supports which helps that accomplishment of manifesto points the four manifesto points what is mentioned so keeping these four manifesto points four values which is mentioned in manifesto and then twelve principles so keeping these
in mind any agile methodologies have their own approaches and they accomplish all of this so further let us look at some of the advantages what would be there when following agile so we looked at the disadvantages what we have when we follow waterfall so did we overcome those the disadvantages what we had in waterfall did we overcome that using agile so what are the advantages of agile so agile is uh helpful in terms of handling large amounts of interactions between client and project team because it is throwing lights on it's the importance of interactions the
importance of collaboration what is that self-organized teams it is spoken more and more then improve transparency to claims in every phase of the project how this transparency because customer is seeing those products the products with features and functionalities are seen they're experiencing it and based on that they're giving the feedback there is nothing something hidden like when i go with waterfall till the end of the project customer don't know what is going to come out as a whole but here since the working piece is given regularly customer is seeing it the users are using it
and giving their feedback so interactions increased so visibility towards what we are creating results is more right then the delivery of the output is predictable and can sometime be earlier than expected because we know what is being delivered more and more clarity users are obtaining at the same time the team which is creating is obtaining because of it the pulse of the customer the directions are clear accommodating changes which was the challenges in it was a big challenge in waterfall methodology has become easier here so then the cost of the project are predictable and follow
a rigid schedule so it is very easy to handle the schedules because more and more you interact and more iterations are in creation of small small working piece of a product working model of the product so now as you progress in that you understood the environment better you understood the clients better the customers better the expectation better and moving faster so that will become easier for you now you have become predictable you can predict easily what is that going to happen ultimately so more and more visibility you start getting so handling things will become easier
so then it allows for changes to refine and re-prioritize the product backlog so when i say product backlog we need to understand the various different user stories what is written to deliver so that is a list of deliverables product backlog what are there since we already know what other things needs to be created so this helps in terms of prioritizing those changing the priorities based on the change scenario and then taking the pace taking the speed accordingly the client can provide the priority of features allowing the team to ensure maximum project value so since it
is visible what are the user stories what are the effects written what is that order priorities order of priority what we are kept now the change scenario obviously tells us do we really need to change this priority of which feature has to be done first so that will become easier because you have the list only changing that order in the list and then going forward accordingly integration is not an issue because we have the base model which can integrate all of this together with no issues now then by focusing on needs of the users the
team can deliver value to the customers so users are involved more often so user pulse is understood what user requires is clearly understood so delivering that value to the customer will become more easier and simpler so then project is broken into smaller units with high quality development testing and collaboration because you have the flexibility so since you have better visibility you can able to do this and you move one by one iteration by iterations you progress further so those were the advantages of adopting agile now keeping that agile manifesto on 12 principles of manifesto so
what are the types of typical agile methodologies would come across so there are few which we are going to look at as part of it which we need to know so these agile methodologies definitely considers the agile manifesto points and then they demonstrate it in their own way now agile methodologies perspective let us go one by one so some of them to look at the first one is xp that is extreme programming so this is the framework that enables teams to create high quality software and improves their quality of life so it enables software development
with appropriate engineering practices so and then when is it applicable so it is applicable to the scenario where changing software requirements to handle risks caused due to new technology while working with a small extended development team to use technology to allow automated unit and functional tests so that is about extreme programming so next let us look at kanban so kanban is a methodology which is used to design manage and improve the flow of system it is actually called as pull system so visual system so everything which is actually put on a board and it is
visible to everyone what work need to be done what is in progress who has to do it is very clearly visible so organizations can visualize their flow of work and the limiting their work in progress so what is limiting what is stopping is clearly visible so generally if i look at whenever i'll just take a scenario of a meeting and minutes of meeting which always discuss about it now when there is a minutes of meeting shared with many people who have participated in the meeting there are certain action items given to them for example now
these action items i will have a target date to complete and accordingly those needs to be closed now when the next meeting happens when you look at the action item status majority of them are not addressed what could be the reason is that people are not sensitive about answering or addressing those so more than that the prioritization changes so one important thing we need to understand how kanban works here is it is a visual system compared to that minutes of meeting which is not visible to us always the kanban board is visible to us always
so one which is visible to us always makes us put a conscious effort to close it because our name is indicated on the board the work need to be completed is mentioned against our name then we need to take it up and then close it so it pushes it it will put a conscious effort because it is visible and i cannot build any storage telling that why i did not do why did i not consider this as a priority rather than consider something else as a priority so this kanban strategy addresses it and then it's
also called as pull system because people pull the work from it and then complete right so where is this applicable it can be used in situations where work arrives in an unpredictable fashion so that means it gives lot of flexibility in terms of adopting to the changes which are happening the dynamics environment so it is also used to deploy work immediately without waiting for other work items so since it is visible i think things can go smoother easier so that people are owning it rather than just disowning it so now let us look at lean
so when we say lean it is very important for us to understand that value is always in customer perspective and elimination of waste these are the two things mainly spoken about so lean is a set of tools and principles that aims to identify and remove waste to increase the speed of process development it focuses on maximizing the value to the client ensuring waste is minimized so when you look at visualize a processes process interfaces and the flow so the interface certain way so unless the output of one process or procedures getting into an another process
so that flow should be smoother like many pipes connected together and water is flowing so let us assume series of pipes which is of around one feet in terms of diameter of each of the pipes water is flowing in between if you have a pipe which is off half a feet now what happens to the downstream after that half feet pipe the entire capacity in the downstream even though it has one feet diameter pipe it leads to the waste under utilized capacity because this has become bottleneck now such bottlenecks such the one which contributes to
the waste has to be eliminated that is very important so value should be seen in the consumer perspective and that value would happen only through the series value streams then in this value stream the identification of the constraints and bottlenecks and elimination of waste now what are the contributors of waste so waiting time more often changing things moving from one place to another place allowing defects to flow which leads towards a rework so all this likewise many things which actually end up in giving the ways so one has to visualize understand realize what are those
non-valuing activities and eliminating those is very important right so now when is it applicable lean principles apply to any sector where there is waste of any form so it can be applied easily so one is to know that so it should effort which needs to be put with the objective to accomplish so your ability to move faster your ability to create that product which is more efficient so only you can achieve it the effective results can happen only when there is a lesser delays or lesser waste non-valuing activities that needs to be understood and eliminate
those so next one of the popular methodology would be scrum so scrum is a framework that is used by teams to establish a hypothesis trying it out reflect on the experience and digest it is used to enable teams to incorporate practices from other frameworks depending on the team's requirement it's a simple framework which speaks about a product owner a scrum master a self-organizing team so some of the terminologies what it uses is sprint daily scrum product backlog sprint backlog so it's very essential to understand this framework simpler and able to adopt it is also very
easy when is it applicable it is used when cross-functional teams are working on product development when working split into more than one two to four week iterations so these iterations are called as sprints small time-boxed iterations so this will also help in terms of accomplishing the results provides that flexibility and able to move faster then crystal so crystal is an approach to the software development that focuses on people and their interactions rather than tools and processes it is aimed to streamline processes and improve optimization it works on principle that projects are unique and dynamic each
requiring its specific methods so where is it applicable it focuses on strengthening teams communication it also focuses on continuous integration active user involvement and configurable processes so these are the few agile methodologies which are there which are more popular more heard however we can come across many other methodologies like safe agile which is a scaled scenario for more complex projects so likewise we have many methodologies which organizations adopt and these are few for us to understand so that's about understanding what is agile thank you so much for being here hope this particular tutorial helped you
to understand the basic information required to know by a practitioner of agile so thank you so much take care so until then we see you next time have a great time hi there if you like this video subscribe to the simply learn youtube channel and click here to watch similar videos turn it up and get certified click here