3. The Building Blocks of DevOps
03_01 Agile
- Increasing level of bureaucracy was being layered on to projects in the hopes of efficient results, but the outcome was opposite. Previous approach to software development was a waterfall model, because software moves down from stage to stage in the following manner. There is too much throwing over the wall between teams.
- In Agile, the process is more iterative, trying to complete each phase upfront. It stresses flexible collaboration between both workers and customers around frequent deliverables of working software.
-
This can quickly generate solutions that better address customer needs with fewer lingering quality problems. Surveys have shown that 85% of agile teams have shown increased productivity and 80% have reported faster time to the market.
-
Agile teams also report better delivery predictability in 81% of the cases and enhanced software quality in 79% of the cases. Learning about Agile is a major endeavor on is own. Agile Manifesto talks about working software, but has no mention of Operations. Also the manifesto doesn’t mention anything about the last part of the software delivery pipeline, where infrastructure is built and the apps are deployed and maintained in production.
-
Is DevOps same thing as Agile? You can’t practice DevOps without Agile and vice versa, but DevOps should be implemented as an extension of Agile, since DevOps has such strong roots in Agile. Replace Software with Systems and add operations to the list of Stakeholders. DevOps isn’t just an outgrowth of Agile, it owes a lot to lean software.
03_02 Lean
- Move fast but delay decisions in enhanced feedback loops and group context is what Lean Software is all about.
- Eliminating waste means finding activities that add value to the product or service you offer and which do not. Activities that don’t add value are called waste. Lean has 3 major kinds of waste, viz:
- Build, Measure, Learn is an improvement over Plan, Do, Check, Act cycle recommended by Kaizen initially.
- Good books about lean development:
03_03 ITIL, ITSM and the SDLC
- DevOps stands on the shoulder of giants. There are various concepts from various ITSM and SDLC frameworks and maturity models that are worth learning.
-
ITSM: IT Service Management is a realization that service delivery is an important part of overall software development life cycle. It shoul dbe managed from design to development to deployment to maintenance to retirement. Earlier, SDLC really just focused on the code writing and tended to stop at handoff or if they mentioned deployment and maintenance went into very little detail on them. In this way, ITSM is clearly one of DevOps ancestors.
-
ITIL: Information Technology Infrastructure Library, was the first ITSM framework. ITIL is a UK government statndard that grew out of Thatcherism in the 1980s. Central IT division of UK government published a set of guidelines on how to manage services in late 80s and the early 90s. In 2001 v2 of ITIL was published with the intent of being used by others, v3 came in 2007 and v4 in 2019.
-
ITIL recognizes 4 primary phases of the service lifestyle.
03_04 FAQs
-
Which software development methodology is discouraged by the DevOps approach? waterfall. The DevOps approach aligns more with Agile than waterfall delivery, focusing on small, frequent delivery of value.
-
DevOps is an extension of _____ infrastructure in which its process is _____. Agile; iterative. DevOps has roots in Agile and the process are iterative which generates quick product or solution delivery.
-
Let’s say your colleague wants to know more about the central tenet of Lean. How would you explain it to them? The objective of lean is to ensure that value stream reaches the customer through products and services while eliminating waste.
-
Which term is identifies waste in the form of work that does not add value in Lean? muri. The term muri means major waste in Japanese and describes activities that consume effort but do not create customer value in the product.
-
Information Technology Infrastructure Library or ITIL provides a comprehensive process-model based approach of designing, managing, and controlling IT processes. TRUE