Buzzwords for 2017 are “Go Agile” and “Adopt DevOps”, but for 2018 no surprise if corporate leaders call it “Practice Agile Ops” or “Practice Agile Dev Ops”. Biggest puzzle corporate decision makers are trying to solve is “Can an organization be Agile without Adopting DevOps?” or “Can DevOps be adopted without going Agile?”.
There are quite a few books which are published on the same topic. Good to have these reads for individual library:
Let us go back to 90’s and try to understand the journey of this change and need for this transformation. During early days of development when most of the software giants got established, they started with traditional way of development where sales team used to gather requirements and their delivery arm use to execute those business needs into a product. Conventionally building a product following a big bang approach was norm and accepted practice. For more than a decade traditional practice for project management using series of phases was implemented in the IT service industry. As it has been articulated very clearly top classic mistakes, there was a pressing need to change how IT giants were operating. Manufacturing industry which was very matured in executing Lean Management Principles from late 80s, taught other software gurus how to be lean i.e., Value Customer need (#ADOPT_OUTCOME_DRIVEN_CULTURE) and focus on efficiencies and process by Continuous improvement (#ADOPT_AUTOMATION). Lean principles brought a major shift in approach from Push (Waterfall) and Pull (Agile).
Novices or Customers cannot be blamed for confusion over What is Agile and DevOps or how they are different, as cooperates are marketing and selling so well on Agile practices because it is INTANGILE but go low on DevOps execution as it TANGILE. Isn’t it tricky? Agile practices are INTANGILE because anyways even if agile will not be followed, it would require Interaction, Project Management, Collaboration and Project plan whereas for DevOps there will be a Tangible view for Continuous Outcome.
Key objective of AGILE and DevOps is “To be Lean” and “To Maximize Throughput”, yet Deliver Business Value
Agile Lean Engineering + DevOps >> Client Value + Operational Efficiencies
Agile – Art of Grooming using Intelligent Lean Engineering. Tuning to the Agile practice is all about change in mindset to bring AGILITY in execution. Agile can be either Scrum, Kanban, Scrumban, Xp or pair programming…Agile Manifesto (Manifesto for Agile Software Development) is
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan.
That is, while there is value in the items on the right, Agile manifesto value the items on the left more.
Let us try to understand what is DevOps. In the era of astonishing know-how be it Technology or Tools, DevOps seems easy to pick and go. Principally DevOps is all about strong collaboration between Developers and Operations team using T&T (Technology and Tools). Without going lean, DevOps cannot be successful. DevOps help adopt and deliver CONSISTENCY and REPEATABILITY. DevOps help exercise, Smart Automation, to be more productive and efficient in how things are executed by following below concepts:
- Continuous Build & Continuous Testing
- Continuous Integration & Continuous Delivery
- Continuous Deployment
- Continuous Catalogue operations
- Continuous Monitoring
I had covered in details about DevOps model in my earlier blog please refer that for more details,
Both Agile and DevOps sound inter changeable to few but they are very different and no doubt complement each other. Can Agile be successful without DevOps and vice versa? Oh YES, they are independent, but complement each other very well as stated earlier. One can practice Agile principle and do not have to embrace DevOps to be successful in implementing Lean Methodology. Agile if adopted halfcocked or partial it hurts badly but even if DevOps is executed partially it will still bring value and benefits on the table.
Let me help review key differences between two:
- Agile is focused on SOFTWARE REQUIREMENTS whereas DevOps is focused on RAPID DELIVERY.
- Agile PROVIDES PLATFORM to the organization to be responsive to customer needs whereas DevOps FASTTRACK AND ENABLE an organization to meet the goal to be responsive to business needs.
- Being Agile is an adoption of LEAN MANAGEMENT PRINCIPLES whereas Being DevOps ready is an adoption of LEAN EXECUTION TECHNIQUES.
- Agile is the SOFT ASPECT of management whereas DevOps is the HARD ASPECT of execution framework.
- Agile focuses on SMALLER CHUNKS of business needs while DevOps focuses on CONSOLIDATION i.e., it consolidates into a single Continuous Delivery outcome. That’s the perfect example of adopting opposite yet complementing each other well.
- Agile focus on LOWERING THE COMPLEXITY level by breaking feature details whereas DevOps CONSOLIDATES ALL EXECTUION STEPS to get ultimate desired outcome.
- Agile practices are INTANGILE because anyways even if agile will not be followed, it would require Interaction, Project Management, Collaboration and Project plan whereas for DevOps there will be a TANGILBLE view of continuous Outcome.
- Agile is P&P (PEOPLE and PRACTICES) whereas DevOps is T&T (TECHNOLOGIES and TOOLS).
- Agile is based on 2I’s and 2C’s (ITERATIVE, INCREMENTAL, CUSTOMER VALUE and CONTINOUS FEEDABCK) whereas DevOps is based on 2C’s and 2I’s (COLLABORATION, CONTINOUS, INCREMENTAL and INTEGRATION) philosophy.
To conclude, though it is clear Agile and DevOps are very different and they come to existence to solve different problem however there is no doubt both Agile and DevOps complement each other i.e., they both work together very well to help meet desired outcomes i.e., Repeatability and Agility. Most of the time extenuating circumstances forces organization to adopt mix and best of both worlds i.e., Agile and DevOps. There are key KPIs to measure the success of Agile and DevOps as below:
- Cycle time to market.
- Time to ROI
- % reduction in Cost to Server or TCO
- Number of releases
- Frequency of releases
- Volume of defects
- Time/cost per release
- Mean Time to Resolve
- Availability and Uptime
Outstanding Outlier: “AG”
The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations