Can IT be leaner?
Recently, on LinkedIn the following question was asked: “Can IT be leaner?” My answer: Absolutely! In this post I take a look at how Lean (and Agile) concepts are being applied to IT tools and processes.
The terms DevOps and NoOps have begun to emerge over the past couple of years. Check out this blog post written about Netflix for an introduction to the concepts of Ops, DevOps, and NoOps.
A number of alternative implementations of IT automation tools are rapidly evolving. Shell scripting has been around the longest. More recently, frameworks like Ansible, Chef, Puppet, and SaltStack have emerged.
Virtual Machines are already very popular as a tool for getting better utilization from physical computing hardware. Now, Linux Containers, Solaris Zones, and BSD Jails are gaining popularity as ways of slicing Virtual Machines into smaller pieces. Docker is a very popular container implementation, recently getting traction with Google and Red Hat. Docker comes along with Red Hat Enterprise Linux 7.
Also check out Vagrant, designed to “create and configure lightweight, reproducible, and portable development environments.”
With IT automation tools, virtual machines, containers, and tools like Vagrant, new variants of Linux, like CoreOS, are emerging that are designed to maximize the potential of these automation technologies by minimizing the OS footprint. Larger Linux distributions like Red Hat Enterprise Linux include a number of software packages by default. In contract, micro distributions like CoreOS, include minimal components and are intended to be starting points for automated configuration of development environments.
Source code collaboration and management is another area of Lean in IT. Teams have moved from no source code configuration management to centralized configuration management, and now to distributed configuration management (Git + GitLab.org, Mercurial + BitBucket). At the Vanderbilt University Institute for Software Integrated Systems researchers are inventing the future of making software, that attempts to transcend textual source code with Model Integrated Computing. Last year, they announced that Google’s research division is beginning to look at their tools.
Agile is essentially “Lean for software development”. My favorite Agile reference is Mike Cohn’s Succeeding with Agile.
Last year, The Phoenix Project was one of the most popular Agile books. It is written in novel format, kind of like the Goal (which may be familiar to the Theory of Constraints community). Phoenix Project is about transitioning from a chaotic IT environment into a Lean IT environment. It’s a little slow to get started, but the second half of the book does a nice job illustrating the organizational transformation.
Recently, Agile has begun to transcend software. Team WikiSpeed is using Agile methods to change, integrate, and build a physical car. To do so, they’ve extended the traditional set of Agile tools to include object-oriented architecture and xP principles and they call the set of practices they use eXtreme Manufacturing.