Agile Gnostic

Introspection to Lean, Agile, DevOps and Project Management !

Monthly Archives: July 2016

Agile reborn in new Avatars!


Agile In New Avatars

Agile software development is not limited to small teams but being profoundly practiced at scale. Many people argue that the original concept of ‘Agile is Dead’ due to continued erosion of its core values and principles. The over-emphasis on the need for Agile scaling, hybridization, and DevOps movement are the key attributing factors sought out; because of which the original intents behind the Agile manifesto have lost its charm.

Whether Agile is Dead?

If you Google search on ‘Agile is Dead‘, you will find plenty of articles and posts on this topic suggesting that the Agile has lost its way and derailed from original values and principles. There are a couple of Agile Manifesto founders – Andrew Hunt, Dev Thomas; who have publicly written and spoken about this trend. In my view following are four signs that potentially justify that the ‘Agile is Dead’…

1. DevOps Movement –

The overhyped DevOps movement is seen as the replacement to Agile, a game changer, and paradigm shift to the ways software development and delivery happens. Companies like Google, Facebook, Amazon etc. have revolutionized the word with continuous delivery powered by DevOps movement. Many organization’s like Microsoft considers DevOps as entire product delivery lifecycle and not just the automation or collaboration between development and operations. DevOps helps in optimizing the agility in today’s distributed development environment, which is the fact of the life in many organizations. Under the DevOps storm, Agile methods are losing shine as Software Development Methodology and considered as the replacement.

2. Hybridization of Agile –

Many organizations have engaged in developing their own version of hybrid frameworks by a) merging the Waterfall with Agile methodology,  b) merging two or more Agile methodologies and c) tailoring a defined methodology by adding or removing the defined practices to suit specific software development situation.

  • Scrumbut, Wagile, and Scrum Hybrid – terminologies are some of the terms coined demonstrating the deviation from using one of the defined Agile methods or hybridization of the waterfall and/or agile methods. Hybrid methodology, doing some of the agile practices over waterfall plan-driven milestones and phases based approach are prevalent in many organizations. Especially, when some organizations at the early stage of Agile transformation, tend to mix-and-match practices from both the world suitable for their slow adoption or shifting away renouncing or tailoring some of the prescribed practices of an existing agile methodology such as Scrum, Kanban etc. Such shift happens mainly due to organizational immaturity,  dysfunctional practices, and management directives; which may or many not be aligned with Agile culture and mindset.

  • Bimodal IT published by Gartner is becoming very popular in organizations; where there are two types of IT practices to structure, build and maintain the IT systems – one with traditional old style (Type-1) and another with modern-style (Type-2) lean-agile ways supported by DevOps transformation. The Type-1 IT focus of maintaining the back office legacy systems that are the backbone of organizations functioning consisting of ‘system of records’ and Type-2, related to front office ‘system of engagements’ usually requiring innovation and experimentation, early time to market, and end-users feedback. Whereas, Type-1 IT focusing on stability and up-time, tends to follow traditional project management approach, whereas Type-2 focusing on Lean-Agile product delivery lifecycle backed by DevOps automation. Suddenly with bimodal coming in, the concept of speed and urgency to Lean-Agile transformation at the enterprise level has weakened or sidelined; especially for the maintenance of legacy systems.

3. Scaling Agile –

The need for scaling Agile and cloud around it has given birth to many Scaled Agile frameworks, that are mushrooming across the IT industry. Many organization has also developed their localized version of Agile methods. There are many descriptives and defined Scaled Agile frameworks that tweak the basic agile principles to make it more suitable to scaling at the enterprise level. Widely acknowledged SAFe Framework have developed its own version of Lean-Agile Principles with scalability in mind.  Large Scale Scrum (LeSS) principles emphasize more on lean thinking, system thinking, empirical process control and whole product views. Though these modified scaling values and principles are rooted to core agile values and principles; but have proliferated to such an extent that the originally Agile manifesto appear to be insufficient and bleak.

With scaling in mind, people forgetting the original values and principles are often forced to follow more dogmatic processes with rigid rules, magnified rituals, and hierarchical model.

The whole concept of ‘Inspect and Adapt’ has got weakened because of  the performance limiting rule-bound descriptive methods.

4. Eclipsed Agile Values –

There are augments against all four core values that they do not reflect the enterprise agility and were overly simplified; that have paved ways for open interpretation and leading to numerous descriptive methodologies and practices around agility. Scott Ambler writes blog “Agility@Scale: Strategies for Scaling Agile Software Development” weakening the values and rewrites them as “The Disciplined Agile Manifesto” which forms the Disciplined Agile Delivery Framework.

  • Individuals and interactions over processes and tools” appears to have lost its ground as there is more emphasis towards the right part ‘tools and technologies’ due to the following facts even though Agile is being practiced.
    • Distributed Development – the need for distributed development almost mandates using tools and technologies extensively and teams have to renounce practices of co-location and face-to-face communication and collaboration.
    • DevOps Automation – apart from communication and collaboration among development and operations teams, we can’t think of DevOps without tools and their systematic application across the delivery lifecycle of product development.
  • Working software over comprehensive documentation” – Delivering incremental working software is not enough. Working software merely means to smaller aspects or subset of enterprise solution delivery. Enterprise focus is required not just for software development, rather the complete solution delivery. Teams need to focus on delivering a consumable solution at regular cadence ensuring the delivered solution provides real values to customer/end-users by delivering complete usable business functions.
  • Customer collaboration over contract negotiation” – Developing solution not only require communication and collaboration with customer/end-users, but a whole lot of stakeholders and IT ecosystem who are represented by end users, program managers, product managers, architects, different teams working on the same solution, systems engineers, operations engineers etc. Close collaboration would be required for requirements clarity as well as their implementation and productionizing using supporting hardware and software.
  • Responding to change over following a plan” – Planning is equally important to responding to changes by accommodating them in certain iterations. In my view, Agile ways of working are all about planning with a range of reoccurring planning events – daily stand-ups, iteration planning, release planning, solution/product planning, program planning, and portfolio planning; which involves Agile teams, Product Managers, and other stakeholders to revisit plans regularly. In facts, in Agile ways we do more planning than what we do in Waterfall, where its just a few times to decide the phase-gates, deliverable, and fixed dates.

Rather, Agile is Reborn in Avatars!

Agile is not dead and not going to die in near future; at least for a couple of decades. It has reborn to new ‘Avatars’. Yes, it’s being constantly improvised, innovated with new ideas, ways and methods. The core values and principles of agile are consistently being inspected within the practices of agile ways and improvements are being made for adoption to scenarios that were never thought of initially. The industry will consistently find the methodical and structural weakness in existing methods and practices in order to continuously improve them. Agile Scaling and DevOps are such new Avatars. Even today and more likely in near future the Agile Manifesto will be taught and understood first when someone enters to the Agile world before they get opportunities to explore further. The core will remain same, and the crusts will change  due to  industry weathering effects.

“The new Avatars of Agile are – Enterprise Level Agile Frameworks and Continuous Delivery / DevOps; which are based on many core concepts like Distributed Development, Lean Principles, System Thinking, and amalgamation of many agility practices.”

  1. New ways are evolutionary: Many of us will agree that Waterfall is not yet dead, still, it’s being used in industry by a community of IT professionals. But, Agile has definitely taken over manifold releasing IT professional from the age-old pain of traditional software development approach. It came as a recipe from the rebellion of legendary approach in the form of Agile Manifesto. Basic concepts and ideas don’t die, rather forms the basis for innovation, ideation, and renovation. The foundation laid down are evolving with time making it suitable for prevailing situation. Both Waterfall and Agile development were good at their time so be the new Avatars in current time.
  2. Removed the pain of over-simplification: Agile (and initial methods) adopted the path of over-simplification, which resulted in a huge level of ambiguity to certain aspects. The industry had to find a solution around this ambiguity through multiple practices and descriptive approaches. Especially, for the agile transformation at the enterprise level or for teams having inadequate experience in agile, transformation become very challenging leading to failure in agile adoption. The new methods provide descriptive processes and practices, format & purpose of various events and ceremonies at different level of engagements, well-defined team structure and roles, approaches to requirement management, build and integration practices, agile testing practices, auditing and reporting mechanism etc.; which makes the agile adoption and implementation quite smooth and simple.
  3. Handling Distributed Delivery Model: In the case of Distributed Agile  Development where the teams are distributed across the geography and time zones, the original concepts required rethinking in order to align processes and practices. In an enterprise there are many internal and external (subcontracting or offshoring) teams works together; forming huge teams setup; managing the whole process of solution development and delivery required conceptualization of Scaled Agile methods. It also needed to the whole bunch of tooling platform in order to support teams, without which agility is unthinkable.
  4. Scaling Agile To Enterprise Level: In the larger enterprises, all groups do not have the same level of agile maturity. They may have different ways of working, different schedules and delivery requirements; in order to align them to a single way of working, synchronized development and delivery cadence, and allow them to align with the strategic organizational goal and vision; it’s imperatives to have defined and structured framework and methodologies in place. Without having descriptive well-defined and just-follow as-is  approach, the agile adotion and trasformation may mislead; which might lead to failures. Sometimes, larger enterprise might need co-existance of non-agile and agile setups (Bimodel) in order to phase tranformation maintaing the business continuity without disrupting or reorganizing the whole organizational structures and IT setup.
  5. DevOps is the current big thing in the software industry: Agile software development was successful in creating frequent incremental working software, but the pace at which software was produced, business did not realize the value delivered at the same pace; because incrementally delivered software were not available to end-users for actual uses under the grave concerns of production environment stability and robustness. Agile could not address this concerns, but DevOps did by bringing the development and operations together and automating the entire software delivery pipeline. Industry identified the bottlenecks at the software delivery side in productionizing the product increments built iteratively and incrementally; that is where Continuous Delivery and DevOps concepts came into existence.

The new Avatars of Agile are still mutable in nature, in spite of detailed and defined practices, they can be modified as per requirements and given business needs. As an example of such mutability, you can follow Scale Agile Framework for Enterprise (SAFe) but still can adapt to concepts of Agile Modeling and Envisioning phase practices  of Disciplined Agile Delivery (DAD), where SAFe do not clearly specify the practices in detail. Scaled Agile methods can be customised and DevOps can partially be implemented as per the organizations need.

Conclusion

The evolutionary process and new ways to work will continue in future. New ideas will come and go, and so the buzzwords around it.  This is by natural and implicit to an evolutionary process. But the one which makes the real improvement and solves the industry challenges will survive and adopted in the industry for long.

%d bloggers like this: