In 1913, Henry Ford revolutionized the manufacturing industry by developing the moving assembly line and revolutionizing the mass manufacturing production. In the decomposition of his automobile, assigning each component to individual stations, and aligning those stations into a moving assembly line, Henry Ford was able to mass produce his automobiles at a quantity and speed that was far ahead of what his competitors could do. The new practices of automation and standardization in the manufacturing process revolutionized the industry.
Manufacturing and the Evolution of 'One Feature Flow'
This process has evolved over the years. In the 1980s, Toyota brought its spin to the production system and introduced the Toyota production system. New revolutions such as Just in Time, Continuous Improvement, and Lean Manufacturing brought on the next stage of production and efficiency in the manufacturing industry. Toyota got the industry to embrace the concept of “one piece flow” - a process where each station in the assembly line only builds what the next station needs and nothing is produced unless there is a specific customer order. The result is minimal inventory, minimal waste, and an ability to deliver the new items to market faster.
The influence of manufacturing on the development of software systems is clear. Extreme Programming was developed by the team working on payroll systems for Chrysler. Kanban, an agile methodology, is named after one of Toyota’s practices. Many suggested reading lists for agile development include books on Toyota’s methodologies, Lean Manufacturing, the Theory of Constraints, as well as other industrial manufacturing processes. Mary Poppendieck adapted Toyota’s ‘7 Wastes in Manufacturing’ into the ‘7 Wastes in Software Development”. In addition, the disciplines of Continuous Integration, Deployment, & Delivery all share a similar goal with Toyota’s Continuous Improvement practices.
DevOps: Not About Automation
A new discipline called DevOps is evolving with new advances in virtualization, cloud computing, and the software defined data center. Some organizations are in the early adoption phases and have embraced virtualization in a manner similar to the early 20th century techniques of Henry Ford. By using a few basic images as “molds” for other virtual machines, it becomes easier to spin up new virtual compute environments faster. Other organizations are moving beyond virtualization and looking at hybrid cloud environments as well as container technologies such as Docker. This container approach is similar to the process of using shipping containers to package and deliver goods as part of the manufacturing process.
Yet while organizations will continue to adopt automation to deliver their IT systems faster and more consistently, the goal of DevOps is not about automation. Instead the goal is about achieving “one feature flow” - a process where all steps in the IT system “assembly line” are aligned to ensure the delivery of a single business capability.
Netflix: a DevOps Pioneer
Netflix, a pioneer in DevOps, has streamlined their process to “move fast, fail fast (and small)”. Flickr does at least 10 Releases per day using DevOps processes with each release focused on specific features and measured by business activity metrics. PayPal can provision 50 servers in less than 30 minutes. AOL learned that by realigning the responsibilities in the moving software “assembly line”, they could take what once was a 6-hour deployment and reduce it to 45 minutes. By eliminating waste and achieving the “one feature flow” ideal, these companies were better able to react to what their customers and the overall business market needs.
'One Feature Flow' & the DevOps Toolchain
DevOps Toolchain components like Puppet, Chef, Ansible are the equivalent of the CAD systems used in today’s industrial manufacturing. Vagrant, Packer, and Docker are the equivalent of the castings and molds that are used to mass-produce the tools and machine parts. The devops toolchain staples such as Jenkins, Archiva, Artifactory and Nexus are just as critical in increasing automation and promoting Continuous Improvement.
However, the competitive advantage for today’s businesses is not in the tools themselves, but in how they are effectively used to achieve “one feature flow”. Is a company able to bring new business capabilities to their customers faster than their competition? If the market shifts and these capabilities become obsolete, how quickly can a company adapt to the new demands?
Vizuri is already working with our clients to enable them to build and deliver new business capabilities faster. Our years of Agile Engineering experience have served as a solid foundation when guiding our clients in accelerating the delivery of their IT systems that are critical for the roll out of new business capabilities.
Hopefully you found this insightful. Please leave a comment and let us know what you think - we want to hear from you!
Are you planning for or working on a DevOps initiative? Let our experts assist you! Click here to schedule a complimentary consultation with one of our DevOps leads.