Just like Software Delivery Life Cycles (SDLCs), assembly lines are highly repeatable processes that have been designed to incrementally construct things by building upon and enhancing work done earlier in the process until the construction is completed during the last activity of the process. The process is meant to ensure that large quantities of uniform-quality products are delivered at relatively low cost.
Unlike the use of assembly lines in other industries, the IT industry has not been able to achieve the results of high productivity, low cost, and uniform quality. In fact, the IT industry has largely failed to deliver at a pace and quality acceptable to their companies. As a result, many companies have employed off-shore outsourcing strategies based on labor arbitrage to control cost.
This article explains why the IT industry has not been able to successfully adapt the assembly line concept and why simply off-shoring commodity IT tasks will not achieve better results; and potentially achieve worse results. This article also introduces a strategy for achieving the desired results of lower cost, uniform-quality, and higher productivity.
Let's start by reviewing the history of the assembly line. The assembly line achieved significant gains in efficiency and productivity for the meat packing industry during the 1870s. Other industries ignored this innovation until Henry Ford adapted it to manufacture automobiles in 1913. In doing so, he reduced the effort for assembling a car from 12.5 hours to 1.5 hours, drastically reducing the price of cars which in turn resulted in making car ownership affordable to the average person.
Ford's success revolutionized the entire manufacturing industry. Other manufacturers were essentially forced to follow suit or perrish in their status quo.
The assembly line significantly changed the nature of work by compartmentalizing it into many small, well formed tasks that could be performed by lower skilled workers. This produced fantastic gains in productivity and reductions in cost. However, it increased management overhead to oversee pools of lower skilled workers.
One of the downfalls of assembly line production is that reduces many tasks to highly repetitive and dull work that requires little to no thinking. While this drives down the cost of labor, it effectively dehumanizes the assembly line worker in a way that ultimately reduces quality and productivity. This issue was eventually addressed by automation in many manufacturing industries. Machines have been designed to perform the repetitive, mundane tasks that humans cannot perform effectively.
The introduction of automation technology to the assembly line has allowed humans to focus on the knowledge work that only humans can perform; the work that adds true value.
The assembly line concept has already been adapted to the IT industry in the form of SDLCs. An SDLC breaks the process of software delivery into discrete activities that produce artifacts used by subsequent activities in the process. Unfortunately, SDLCs have only been able to approximate assembly lines because their artifacts aren't really enhanced or built upon from activity to activity. In fact, they are often times disregarded. SDLCs also fail to describe the methods used to consistently produce uniform-quality artifacts that are necessary for continuity of the line.
Nascent Blue has completed adapting the assembly line concept to the IT industry. First, we provide well-documented, robust methods for each activity in the SDLC to consistently produce uniform-quality artifacts. Secondly, we have solved the problem that prevents artifacts from being built upon throughout the process. Thirdly, we have developed the automation technology that eliminates the need for large pools of low skilled, commodity labor, and thereby have eliminated the need for increased overhead to oversee and manage the work of large, low skilled labor pools.
We call this innovation the Model Driven Process (MDP). The MDP produces models that are directly used and refined by subsequent activities in the SDLC using automation technology that eliminates the mundane and repetitive code. The MDP flows as follows:
- Business models express the business using formal models. These models provide a horizontal view of the business organization, its value chain, processes, roles, events, and tools.
- Requirements models are created to document the business needs/requirements
- Screen models are created from requirements models to express the intended user experience through an interactive task flow
- Solution models express solutions for the business requirements that can be mapped to computable solutions using architecturally sound blueprints and automated transformations
- Software architecture models are codified technical reference architectures, design patterns, transformation mappings, and customizable code templates that provide key input to architecturally compliant code generation engines
- Industrial strength transformation engines transform software architecture models into production quality code
The result is an SDLC that permits IT to serve the business need in time frames required in today's global marketplace. We automate traditional programming tasks using model-driven code generation machines. There is no need for large pools of low skilled, cheap labor or middle managers to oversee large pools of low skilled workers. There is no need to hold labor intensive reviews of every finished product; the software architecture is guaranteed to be perfectly consistent.
Nascent Blue refers to this transformation of IT process as the Model Driven Process.