Agile — The Tech Buzzword
Be agile, do agile!
Authored by Arpita Talukdar
Agile, to me, seems like a distant cousin of division of labor!
Wait, before you call it a technical term!
The word agile has been so much in use in the technology industry that now when we think of if it, the term seems connotative of the domain. Even, the dictionary meaning has one general definition and one specific to software development.
When diving into the origin of this word or methodology, you will find that it was not connected even remotely to the technological sphere. Time and again the innovative minds of people came up with methods which gave us a glimpse of this method. Be it the formation of Shewhart Cycle (Plan-do-Check-Act) or the implementation of this in the post WWII Japan by W. Edwards Deming.
However, the concept took some time to take concrete shape. It was February 2001, when 17 exponents believing in various methodologies from the world of software development decided to bring in a methodology which all agreed on. Thus, in the meeting held at Snowbird, Utah, the term ‘agile’ was adopted for this methodology and the Agile Manifesto came into existence, and so did the core value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
As we can gauge, the first half of each value gains more importance over the second half, though both are considered in the development cycle.
With the changing times, it was becoming difficult to carry on the waterfall and other traditional methodologies in product development. Agile came as an answer to these difficulties and has since then proved to be efficient.
This iterative process allows us to make changes as and when needed rather than wait for the entire product to be developed before we get to know about any glitches.
Remember the comparison between agile and division of labor?
This is where scrum comes into picture. Out of the many agile practices like XP (eXtreme Programming), DSDM (Dynamic systems development method) and FDD (Feature-Driven Development), Scrum is the most popular one.
All the requirements/features of a product are termed as user stories each and these stories sum up to a product backlog. This is further divided into the release backlog which is again divided into sprints (typically a sprint extends upto two weeks or more depending on the release cycles). At the end of a sprint, it is necessary to have a ship ready product and if there is any delay, it calls for change in plan or retrospection.
This brings in the concept of a burndown chart. Through this chart we get to get a clear view of the progress of the project, especially the work which is undone. This chart also helps to estimate the sprint time as well as the time when the product will be ready for release.
But, how do we keep a track of all these?
The Scrum (stand-up) meetings… rings a bell?
Yes, these meetings are integral to a sprint planning and every day all the members of the team meet for 15 minutes to discuss the progress of the project. These meetings are mostly about three questions:
(1) What they have worked on since last scrum meeting
(2) What they are planning to work on in that day &
(3) If there are any problems they are facing
Therefore, you now know the importance of these meetings.
This was a glimpse into the world of agile. We will soon be back with other aspects of it.
This then, be as agile as possible. Remember! It’s not a technical term and can be applied to any sphere of life.