Ever wondered why new technologies or processes evolve? There can be many reasons: they save time and/ or effort, they solve some problem(s) that the older methods couldn’t, they deliver better results or all of these!
Businesses and industries keep adopting new, smarter methodologies to grow better and faster. In line with this, the software development industry has been harping about a new technology trend: Agile. Being agile in life means working in a swift, responsive way. Similarly, in software development, Agile is an iterative, interactive methodology that has adaptability to its core! Let us understand it in a simpler way….
What Exactly is Agile?
Agile is a process wherein a software project is broken down into several smaller parts and constant collaboration between teams and with stakeholders for continuous improvement happens at every stage. The Agile methodology begins with clients describing how the end product/ solution should be like or what should it solve. Keeping customer’s expectations in account, the project team starts the cyclical process of planning, executing, and evaluating, which might just change the final deliverable to fit the customer’s requirements better. Agile is not a set of rules or guidelines but a set of principles that encourage flexibility, adaptability, communication and working software over plans & processes. It is a software development approach where a self-sufficient and cross-functional team works on making continuous deliveries through iterations and evolves throughout the process by gathering feedback from the end users.
The framework of Agile methodology was developed by 17 people in 2001 in written form, better known as the Agile Manifesto of Software Development which aims at delivering value based product and collaborating with customers. The four key principles of Agile are:
- On-time project delivery without cost overturns
- Working software with good code design over comprehensive documentation
- Constant collaboration & communication with Customer
- Responding to change over following a plan
How to Practice Agile?
There are various Agile Methodologies that are in practice in various industries, the most popular among them are:
- Extreme Programming
All these methodologies focus on lean software development and help in building better software effectively and efficiently.
Where there is success, there is a story behind! Let us see from a couple of real, industry examples which further testify that scaling Agile is not just possible, but has also yielded great benefits.
One such example of the use of Scaled Agile Framework (SAFe) is of Lego. In 2015, there were 20 product teams working in the organization. Initially, only 5 teams were transformed into self-organizing Scrum teams; eventually the rest 15 followed suit. The initial change of individual teams becoming Agile couldn’t bear much fruit. LEGO then followed the SAFe pattern and added another level of abstraction — the program level, where you have a ‘team of teams’. This ‘team of teams’ would meet every 8 weeks for a big planning session, that lasted for a day and half. During this meeting, teams put forth their work, worked out the dependencies, estimated risks, and planned for the next release period. Finally, there is the portfolio level, which is the top layer of the system. This is where you work on long-term business plans with stakeholders and top management. Such division into organizational levels is typical for the SAFe framework. The results of the changes were for all to see! There was significant reduction in documentation & other unproductive practices; more accurate estimates; and of course better bonding between the various teams at Lego.
Likewise, Telecom giant Cisco made use of SAF on a specific Cisco product — the Subscription Billing Platform. The project used to follow the Waterfall methodology earlier, wherein Cisco had separate dedicated teams responsible for design, build, test, and deploy. The defects were many, deadlines were being frequently missed, and employees had to work overtime. Eventually they switched to SAFe methodology wherein they started to release often, and introduced Continuous Integration (CI). What they achieved in turn was outstanding: a 40% decrease in critical defects, a 16% decrease in DRR (Defect Rejected Ratio), a 14% improvement in DRE (Defect Removal Efficiency) thanks to CI & increased interaction between international teams, product increment delivery on time and most importantly no overtime for employees.
Thus, Agile processes establish a disciplined project management process that encourages frequent inspection & adaptation; develop a leadership philosophy that encourages teamwork, self-organization & accountability; specify a set of engineering best practices that allows rapid delivery of high-quality software; and advocate a business approach that aligns development with customer needs and company goals. With benefits such as these, Agile is here to stay!