A Story of Agile


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

58