Information Technology Reference
In-Depth Information
service. There is no concept of “them,” as in “hand off to them”; there is only “us”—the
team working on the product. Team members are largely generalists with deep specialties.
Most DevOps organizations are focused on clear business objectives such as scale, effi-
ciency,andhighuptime.Byemphasizing peopleandprocessoveradhoctooluse,DevOps
allows tight alignment of operations with business needs and thus with customer needs.
By mandating that operations, development, and business departments work together,
the operations process in a DevOps environment becomes a shared responsibility that can
respond more quickly and efficiently to needs of the service being operated. The result of
the DevOps approach is higher uptime and lower operational costs.
8.2 The Three Ways of DevOps
TheThreeWaysofDevOps isastrategyforimprovingoperations.Itdescribesthevalues
andphilosophiesthatframetheprocesses,procedures,andpracticesofDevOps.TheThree
Ways strategy was popularized by Kim et al.'s ( 2013 ) topic The Phoenix Project . It bor-
rows from “Lean Manufacturing” ( Spear & Bowen 1999 ) and the Toyota Production Sys-
tem's Kaizen improvement model.
8.2.1 The First Way: Workflow
Workflow looks at getting the process correct from beginning to end and improving the
speed at which the process can be done. The process is a value stream —it provides value
to the business. The speed is referred to as flow rate or just simply flow .
If the steps in the process are listed on a timeline, one can think of this as improving the
process as it moves from left to right. On the left is the business (development) and on the
right is the customer (operations).
Forexample,asoftwarereleaseprocesshasmultiplestages:codeiscommittedtoacode
repository, unit-tested, packaged, integration-tested, and deployed into production. To put
an emphasis on getting the process correct from start to end:
Ensure each step is done in a repeatable way. Haphazard and ad hoc steps are
replaced with repeatable processes.
Never pass defects to the next step. Testing is done as early as possible rather
than only on the final product. Each step has validation or quality assurance
checks.
Ensure no local optimizations degrade global performance. For example, it
might be faster to not package the software but instead have each step pull the soft-
ware from the source repository. This saves time for the developers because it
eliminates a step for them. At the same time, it introduces uncertainty that the re-
Search WWH ::




Custom Search