The movie Seabiscuit starts with a narrator talking about how Henry Ford revolutionized manufacturing. The narrator says, “When Ford first conceived the Model T, it took 13 hours to assemble. Within five years, he was turning out a vehicle every 90 seconds. Of course, the real invention wasn’t the car; it was the assembly line that built it. Pretty soon, other businesses had borrowed the same techniques. Seamstresses became button sewers. Furniture makers became knob turners.”
The narrator is describing how workers were transformed from skilled craftsman to semi-skilled, and finally to unskilled workers. Instead of craftsmen creating the entire automobile an individual completed a single task. The unskilled worker learned to do one thing very well and as many learned doing one thing well can lead to a very dull work life. Henry Ford just applied what Adam Smith understood that nothing improves productivity as much as specialization.
In the early nineteenth century a skilled seamstress performed all the roles necessary to make a dress. The textile industry specialized as it matured. The industry matured until several specialists performed all the roles once performed by the seamstress. Designing, planning, and marketing became a specialization too. This caused clothes to be developed using a waterfall methodology or a sequential overlapping process. Marketing would work with the designers to create clothing that could be sold. The designer would create patterns, choose fabrics and a series of factory workers would cut and sew all the pieces fabric together. The clothes would be inspected to make sure they conformed to some original specification. Project managers would oversee all the activities from design to finished product. There were engineers that specialized in plant layout and another set of engineers that specialized in making the machinery necessary to create the clothing. There are even specialty outlet stores. Specialization allowed the textile industry to move forward and it caused rapid increases in productivity, quality and sales.
The same type of specialization is occurring in software development. There are software development organizations such as Macromedia that specialize in creating development tools. Developers of the first websites had to understand native html and java to create a website. Dreamweaver, and other Internet development tools, has automated and simplified the process of creating websites just like a sewing machine simplified and automated creating clothing. Much of the code that had to be done by hand is handled automatically behind the scenes. There has been a shift of skill sets from coding to design.
The future of software development will be specialization along industry lines and specialization in a specific part of the product development process. As the software industry moves forward, software developers will start learning more and more about less and less. The best in class companies have developers who are becoming domain experts and not generalist software developers. When developers start to specialize along industry lines organizations get a leap in productivity. They often improve their productivity rates by 3 and 4 times.
Once upon a time furniture making was like software development. The roles of engineering, designer, craftsman, tester were all done by a single person or a small group of individuals. The craftsmen roles were separated into many parts. One person can cut out the pieces, another one sand, someone assembles the chair, and another person would paint or finish the chair. Not only were the craftsmen’s roles divided the role of engineer, designer and even accountant were divided. This allowed for higher rates of productivity and quality.
When roles are segmented and specialization begins a natural sequential process develops. It is painfully obvious some tasks need to take place before other tasks. The chair needs to be sanded before it can be painted. The designer needs to design the chair and raw materials need to be purchased before the chair can be built. There is also a natural sequence of events for software development. As more and more developers specialize a natural sequential process will emerge.
Just like Henry Ford those organizations that specialize get tremendous leaps in software productivity. It was not the idea of the assembly line it was the idea of specialization that caused the leap in productivity. Software productivity ranges in the 30 to 40 hours per function point. I have several clients that reach a plateau of productivity between 15 to 20 hours per function point, but those organizations that specialize achieve productivity rates below 5 hours per function point.
The differences between a software programmer, developer, architect, and designer will become more defined, and each will have its own unique skill sets. Just as there are industrial designers and engineers who specialize in the aerospace industry, there will be software designers and software engineers who specialize solely in just aerospace. There will be those individuals who become software designers for the travel industry, or software engineer for the insurance industry, and the trend will continue until no one remembers when a programmer was just a programmer who programmed for any industry. Those software professionals who grasp this idea will have a long and prosperous future, but those who refuse to specialize will become obsolete.