One day Mickey was sitting at a train station when Minnie came running to him
Mickey – Hey Minnie, what happened?
Minnie – Hi Mickey, I have been looking for you
Mickey – Tell me
Minnie – I was reading all day about Agile, but could not actually get it
Mickey – Ok, I know you understand better with story
Minnie – Yes
Mickey – Ok, we have some time before your train arrives, Let’s go and find a place to sit
(Mickey and Minnie found a silent space and sat there)
Mickey – Let’s first look at the word Agile, it comes from Agility that means ability to move quickly and easily
AGILE = able to move quickly and easily
Minnie – Okay
Mickey – Agile is an approach to project management and software development that helps teams to deliver faster and efficiently
Minnie – How is this made possible
Mickey – An agile team delivers work in small, but consumable increaments and not all at once like a bing-bang.
Minnie – Ok, I need some examples. Why do we need Agile way of development
Mickey – Ok, Minnie, So do you remember the waterfall model of software development. It contains of following stages
- Requirement Gathering
- Design
- Code
- Test
- Deploy
- Maintain
Minnie – Yes
Mickey – So here we have step by step stages and we go in a flow. The team works on one stage, freezes it and then moves to other
Minnie – Right
Mickey – Now lets suppose if in the middle of the project, say in testing phase, a customer requests for a change, we cannot accommodate it in the same cycle and will have to take this change in the next cycle of the project
Minnie – That’s correct
Mickey – Also in the traditional model, suppose a customer needs to get an application developed. He will give all the requirements at once and the team will study and freeze the requirements and provide the time duration for development.
Now lets say if the team says that it will take 9 months to deliver the app
Minnie – That’s a long time
Mickey – Yes, and in the waterfall model we do not have much scope of adding changes in middle of the process and not much options to see sections of the app getting developed and usable in frequent time intervals. Customer/Users cannot give feedback unitl the complete app is ready
Minnie – You are right
Mickey – And suppose the customer gets new ideas 3 months down the line, there is not much scope of incorporating the changes in the waterfall model
Minnie – Yes, I see
Mickey – So with the growing demands, time constraint, need for more flexibility and need for getting the app developed in small incremental process the waterfall model was not the best. We needed a more flexible, dynamic methodology and that gave birth to the Agile model of Software Development
Minnie – I get it now.
Mickey – So in the Agile model of Software Development, we break the big project into multiple smaller chunks. Each of this small chunk becomes a small project that has its own requirements and a small workable and usable feature or module is developed at the end of each cycle. This makes the process faster, flexible, and increases ability to incorporate changes
Minnie – Can I say that in Agile we implement waterfall model for each smaller module and not for the complete project
Mickey – Yes, we can say that in a way for every small module we have most of the stages of waterfall model implemented, and its done in a way that we get a workable/consumable module and any client feedback or valid and approved changes can be incorporated
Minnie – Wow, all my doubts getting cleared now
Mickey – Great
Minnie – I have a question, I have also read about Scrum, what is it and is it related to Agile
Mickey – Great question Minnie, Scrum is a framework that helps teams to implement Agile methodology
Minnie – Okay
Mickey – There is no direct relation between Scrum and Agile, however scrum framework can help teams become more agile. Scrum describes a set of processes, tools, and roles that help teams structure and manage their work
Minnie – Okay
Mickey – In Scrum the project is built into series of iterations called Sprints. We breakdown big, complex projects into smaller pieces and each piece is worked upon in a Sprint.
A Sprint can be 1 week to few weeks long.
This makes the project more manageable, faster, increases flexibility and increases ease of incorporating changes
Minnie – Wow, I can now relate things. Looks like some secrets of the Universe are getting unfolded
Mickey – That’s a heavy statement
Minnie – I am so happy I met you today
Mickey – Me too, Minnie, I hear the announcement for your train
Minnie – I am going to miss my train
Mickey – Why
Minnie – Don’t worry, I will take the next one, Just want to spend some more time with you
Mickey – Okay then, let’s have something to eat
Minnie – You are my best friend Mickey
Mickey – I am always here for you 🙂
about the author | more stories
References
https://www.atlassian.com/agile
https://www.atlassian.com/agile/scrum