Friday, March 03, 2006

Industrializing Software - a 1920s Way of Efficiency

The Industrial Revolution of the early 20th Century key achievement was the invention of the modern production line. Ford Motor Company® was one of the commercial pioneers in this. This method lowered the costs to produce them which enabled them to be sold at a lower cost which then allowed more people to buy them while still making more money than before for the company.
The only drawback to this method was on the workers were now regimented and did only a few tasks - efficiently true - but without any creative input into the process.
Modern software development is going down the same path of industrialization:each person is only allowed to do a particular item as part of the whole.
Vertical Integration systems enforce this rule, "desktop management" is locking down a system to ensure uniform look and block personal changes are signs of "production line" mentality of gaining efficiency from people.
This enforcement however is re-creating a fallacy of efficiency going back to the 1920s. If is forcing people to adapt their thinking and work to a pre-designed system and not design a system to allow people on how they mentally and physically function. The time and motion studies of the 1920s cemented this fallacy.
Microsoft® research, as well as other universities and companies, all look into improving the efficiency of the input and operation of software interfaces in order to lessen the counter-intuitive way that software has traditionally been presented to the user -  which was forcing the user to adapt to it. This has been going on since the C:\> prompt days of DOS®. (Which still lives on in .NET® - a web.config file is for every app - its own customized space - which is what every DOS app had before by using a config.sys and an autoexec.bat file to define its space. Thus, after 20 years, we are back using a DOS style environment construct in a multi-task switching system. DOS LIVES!)
Management and software vendors are all moving to have discrete software components do a single task - web services - but do it well. Have interchangeable parts - XML - that can be used everywhere. The people using the software have to take what they are given from central databases and are only allowed to read it and not allowed to alter how it is presented - a production line worker - to turn out the product - in this case information - to management.
The worker has no say about the data, how it is analyzed, how it is formatted, or even if the work being done is useful - it is just ordered to be done and you are to do it.
The modern computer user is just a 1920s factory worker doing the same thing over and over again while sitting instead of standing along a production line. 
 

0 Comments:

Post a Comment

<< Home