Only the wisest and the stupidest of men never change. – Confucius
The word ‘Agile’ got popular in business circles a few decades back but how could any business survive without being agile? The businesses have always faced the challenge of changing market dynamics, competition with peers, environmental consequences due to geo-political nature and what not. They all have, in their lifetime, faced many such faceless behemoths who displaced their stability and every time the businesses have rolled up their sleeves to face challenges. Some survived and the remaining couldn’t. And it all boils down to an important question – What caused their inability to respond to such changes? In the case-studies such reasons are taught in classrooms of educational institutions and following are the most common ones –
Complicated decision making processes
Hierarchical structures unaware of ground realities
Inability of leadership team to foresee changing dynamics
Divisional mindset over connected thinking
Lack of direction in use of technology or new-age trends
And many more.
Agile is not ‘New’
There is nothing new in the world except the history that you do not know. – by Harry S Truman
Agile methodologies became popular in early 2000 with set beliefs which now is termed as Agile Manifesto on how software development should operate. Here is our attempt, to give you the snapshot of history –
Year
Incidence
Who’s Who?
80 years ago
IIDD – Iterative and Incremental Design and Development
Developed by Dr. W. Edwards Deming
Early adopters : DoD, NASA, US Airforce
Late 1940s
Lean & Kanban
Founded by Toyota & Kanban is articulated in software development environment by David J. Anderson in 2005 with other colleagues
Lean s/w development by Mary & Tom Poppendieck
1976
Time for movement in agile
Tom Gilb argued evolutionary development of adaptive development iterations that provided rapid results & more frequently visible benefits. Mentioned in his book Software Metrics
1980s-90s
Spiral Model
Rapid prototyping,
RAD (Rapid App. Development),
RUP (Rational Unified Process)
Developed in response to traditional methods like Structured Systems Analysis and Design Method and other Waterfall models
Spiral Model developed by – Barry Boehm
RAD developed by – James Martin
RUP developed by – Rational S/w Corp.
1995
Scrum (formally introduced)
Initial idea by Hirotaka Takeuchi and Ikujiro Nonaka
Formally introduced by – Ken Schwaber, Jeff Sutherland & others
1996
XP – Extreme Programming
Developed by Kent Beck at Chrysler corp.
1997
FDD – Feature Driven Development
Developed by Jeff De Luca at United Overseas Bank, Singapore
2001
Agile Manifesto
17 developers met to develop 4 essential values & 12 principles
What is Agile Methodology?
IN 2001, a group of IT pioneers met and shared with the world that Agile is a mindset defined by 4 values guided by 12 principles and manifested through many different practices. Agile isn’t adopting practices designed to achieve outcomes. The effectiveness of the practices, processes improves when we are aligned to such principles and values. Agile can also be treated as a flexible and adaptive approach to project management that emphasizes collaboration, adaptability, and delivering value to stakeholders. To make matters simple and easy to comprehend, Agile is about moving continuously, quickly in the right direction pausing at shorter intervals of time to inspect, adapt and course correct. This statement which describes agile is applicable to any project, program irrespective of the industry.
Why should you adopt the Agile Methodology?
There are plenty of reasons to adopt agile methodology in an organization.The answer is simple: in a VUCA ( Volatile, uncertain, complex, ambiguous) environment we need to continually customize the approach being used depending on the situation, often in small and subtle ways. Organizations adjust the methods to be most effective in such VUCA situations. This fast-moving, complex environment, calls for an agile approach. Another reason for adopting agile is because of its simplicity, flexibility and inexpensiveness. Agile reduces bureaucracy or shut-up-and-work culture. In a software era where software products are known for volatility the need for innovation is crucial. Customers cannot wait forever to build the right product. To reduce customers’ despair it is very much needed to adopt agile methodology.
What are the top reasons for adopting agile in an Organization?
Let’s understand the top reasons for adopting agile in an organization.
Faster time to market
With increase in customer demand and adoption of modern technologies it is very easy for an organization to lose to their competitors. One of the reasons for agile adoption is to deliver faster than the competition. Agile methodologies emphasize on iterative and incremental development with a focus on building smaller before you start building big. In other words deliver small, functional increments of a product and release them to enable teams to respond to the feedback from the customer. This approach in Agile promotes customer satisfaction and accelerates time to market. Faster time to market enables customers to realize revenue earlier in the project unlike traditional approaches where customers are able to get the release of the product only after the project has been completed. This way customers gets to review the product’s functionality many times during the project and also start getting some benefits from the functionality.
Early ROI
Agile focuses on value driven delivery where the value is realized by looking at the desirability, feasibility and viability. The incremental delivery allows organizations to realize benefits right from the early stages of the project unlike traditional approaches where the wait is until project completion. An investment in product development is made with understanding that there will be some form of financial benefits from the usage of a product. One of the reasons for adopting agile in an organization is to maximize the project’s return on investment (ROI) by quickly producing valuable deliverables and iterating through designs.
Feedback from real customers
Adopting agile in an organization is also about collaboration between the project team and the customer. The Agile Manifesto value “Customer collaboration over contract negotiation” lays emphasis on the same. The collaboration helps the team to focus on delivering value driven features.
Agile ways of working require more trust and openness between both customer and development teams to focus resources on what the team is trying to build, rather than bogging them with how changes will be negotiated or what are the completion criteria?.