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 –
|80 years ago
|IIDD – Iterative and Incremental Design and Development
|Developed by Dr. W. Edwards Deming
Early adopters : DoD, NASA, US Airforce
|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
|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
|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.
|Scrum (formally introduced)
|Initial idea by Hirotaka Takeuchi and Ikujiro Nonaka
Formally introduced by – Ken Schwaber, Jeff Sutherland & others
|XP – Extreme Programming
|Developed by Kent Beck at Chrysler corp.
|FDD – Feature Driven Development
|Developed by Jeff De Luca at United Overseas Bank, Singapore
|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?.
Agile methodology also requires the customer to be more involved in providing feedback on deliverables after every iteration thus helping the teams to incorporate the feedback to make them more aligned with the customer need. Along with this frequent feedback from customers also enables the development team and product owner to reprioritise the planned deliverable based on the value.
- Building the right products
One of the top reasons for adopting agile in an organization is to seek shorter feedback loops, continuously. Feedback on the iteration deliverable allows business and technology to build the right products.
Inspect and adapt is one such element that helps the development teams to tweak or rebuild the product based on the customer feedback received early in the project unlike the traditional approaches where the feedback comes around the completion of product development. Continuous releasing of a product keeps the development team motivated even though it invites a lot of changes while in a traditional approach the changes aren’t frequent during the development phase but it gets very disappointing when you get to know that what you developed for months and years is no longer in use or liked by customers. Hence, building a product that is market-fit is a pursuit which is a key reason for businesses to adopt agile.
- Early risk reduction
In traditional project or program management, risk management is one of the areas to be addressed at the beginning of the project. Agile methodology takes care of the risks or uncertainties implicitly as Agile focuses on principles like incremental and iterative development, inspect and adapt.
Agile focusses on iterative planning by incorporating lessons from the previous iterations. By reassessing the deliverable/product frequently Agile methodology focuses on reducing the risk of building the right product from the beginning. Intrinsic principle of collaboration between the development team and customers allows the team to prioritize the features to be built based on the amount of risk removed by building these products/features.
- Better quality
In traditional project management approaches the customer engagement during product development was minimal. Most of the customer engagement happens during the requirement gathering phase and near the closure when the product is sent out for UAT. So any changes to quality of the product are undertaken after most of the product development is completed. Another scenario that is observed in traditional product development is when changes are requested or when there is new addition of a requirement during the development phase, the quality of the product takes a hit or becomes compromised to meet the agreed timelines.
In agile ways of working, practices like Definition of Done (DOD), Definition of Ready (DOR) and changes in requirements are embraced without compromising the quality. It is strongly recommended to use one of the frameworks of Agile or at least imbibe the traits of agile in your current ways of working. During iterative development the focus on quality is built intrinsically in the product. Agile recommends frequent engagement with the customer from the start of the project to the end. Henceforth, customer representation is a must in the development team.
- Increased Customer satisfaction
Agile methodologies focus on delivering value to customers and promoting continuous feedback, leading to improved customer satisfaction and stronger customer relationships. Continuous engagement with customers right from the start of the project, throughout the project inculcates confidence in the customers as they are involved in frequent planning and reviewing of the product.
Agile approach of iterative and incremental development focuses on frequent and continuous value delivery, emphasizing on listening to customers, understanding the changing market trends, figuring out market rhythms and continuous innovation to provide enticing options to customers will make them happy and stay with you.
- Improved team morale
Agile methodologies promote collaboration, communication, and teamwork leading to improved team morale and better engagement among team members. As the focus is also on visualization of work across all stakeholders there is more collaboration across all the participating teams thereby breaking the silos, better accountability of work undertaken.
Continuous feedback loops, inspection and adaptations encourage teams to do things better & bring meaning to their efforts. Freedom to experiment with an open mind requires individuals to work together in order to experiment, imbibe learnings, and make decisions about how to iterate on their findings which automatically motivates the teams intrinsically and thus improve the team morale and make them more productive.
- Enhance Project Visibility and predictability
Agile project management and the supporting frameworks in agile follow progressive planning. Unlike traditional approaches where planning is a one time event, planning happens throughout the project. Iterative planning and development approach in agile allows customers to get some form of value every iteration.
Through sprint planning & backlog refinement events, the features to be developed in each iteration is published to all stakeholders. Based on continuous feedback, we pivot and republish the plan due to change in priority. Agile approaches to estimations help customers to make important prioritization and trade off decisions. It also focuses on visualizing work through lists of Product Backlog Items (PBIs) created by stakeholders which are then developed by the team.
- Increased Adaptability
Agile methodologies are designed to be flexible and adaptable to change in business requirements, evolving technology and customer demand which allows organizations to respond to change faster.
How consulting firms are helping business?
Agile business consulting firms like Benzne help organizations move from traditional to agile ways of working. We partner with internal stakeholders and bring positive tension in the system, and it happens at all the levels. No transformation is a true one if it doesn’t shake-up the established processes and systems. The complacency needs to be addressed. The fear of failure and experimentation needs to be gradually removed. The attitude of ‘What’s in it for me?’ needs to be course-corrected and much resistance which slows the progress.
When external Agile consultants from Agile transformation service companies like Benzne are engaged in helping organizations transform the existing state the results are faster and more structured as the consultants work with a structured approach and a time bound plan.
External agile consultants bring a sense of urgency & empowerment along with the leadership team which helps teams achieve their agility goals on time. Consultants conduct initial assessment to gauge the current state and share their findings, recommendations and tailor the approach to contextualize to the serving organization. Agile consulting firms also provide training to the staff to understand Agile, its principles and frameworks. They provide support in selection of pilot projects for agile adoption and help in implementing agile ways of working in the select teams, slowly building the rigor and cadence required for the sustenance of agility within the projects . The initial success stories should cross pollinate and lead to wider agile adoption within the larger organization. The consultants also help organizations to identify and coach internal staff to take on Agile roles.
1. What value, by adopting Agile, can offer to an organization?
Organizations adopting Agile become more flexible, less resistant to change, willing to learn and adapt, more resilient. The teams operate with one team mindset, and the organization becomes less bureaucratic.
2. What is adopting agile?
Adopting agile is about bringing in flexibility, transparency in work, openness, close engagement with the customers, adapting to frequent changes, imbibing the values of agile, ensuring the work being built is around motivated individuals, frequent retrospection, continuous learning & improvement.
3. What are the steps in adopting Agile successfully?
- Agile adoption is an ongoing activity. Regularly pivot,assess and adapt the processes.
- Ensure there is continuous support from the leadership while adopting agile organization wide.
- Undertake baseline assessment of the maturity of current practices, identify gaps if there is some form of agile being practices, bridge the gap by creating an action plan
- Provide initial training on agile, its frameworks etc
- Find a suitable framework for project/program management based on organization’s existing release cycle, project management practices, tools used to manage projects, various roles involved, levels of hierarchy within management frameworks, the business model currently being used.
- Focus on adaptive and progressive plans. Plan only for the visible future and avoid upfront detailed planning
- Incorporate mechanisms to capture feedback at various levels within the organization and incorporate lessons learned.
- Focus on building the product in increments and getting feedback from customers.
- Provide a fail-safe environment to the teams. Encourage teams to innovate in a safe environment.
- Inculcate customer centricity. Shift from delivering as per the timelines and scope to delivering what’s most needed by the customer and product that is relevant should be the focus.
- Provide necessary tools and infrastructure to support agile practices.
- Establish communities of practice, encourage knowledge sharing within teams
- Conduct periodic assessment of agile maturity to evaluate how well an organization adopted agile principles and practices
4. What are the challenges of adopting Agile?
Every organization when undergoing Agile transformation faces certain challenges. These challenges once noted have to be addressed as part of the inspect and adapt cycle.These when ignored often lead to under realization of benefits of agile adoption. Below are commonly seen bottlenecks-
- Most important element for a successful adoption of agile is leadership buy-in. If leadership does not render continuous support and promote Agile across the organization it becomes very difficult to motivate teams and the change doesn’t stick.
- Resistance to change from many people for the fear of losing their position/role due to addition of various agile specific roles
- Moving away from the command control environment by the management is one of the biggest hurdles. When focussing on empowerment of teams, management finds it difficult to step away and help the teams to manage by themselves. Bringing in decentralized decision making is a blocker
- Agile focuses on open and transparent communication across all the teams and emphasizes on visual status indicators. Focussing on old ways of communication management (hierarchical) also is a blocker.
- Having legacy systems and running in a traditional project management style creates roadblocks while other parts of the organization adopt agile. Agile teams face delays, blockers when there are dependencies on teams working on different project approaches thereby not fully exploiting the benefits posed by agile.