CMP's TechWeb
spacer
spacer Click Here!
spacer
spacer
 Write to Byte
 Editorial Calendar

 Categories
 Previous Weeks
 Columns
 Features
 Audio

 Search:
Byte
Research Center


 Resources
 WebTools
 Java Resources
 Downloads
 History Of Byte

 BYTE Humor
 Ian Shoales' Page

 Print Archives
 By Issue    By Topic

 About Us
 Byte Editorial Staff
 Sales Staff
 Privacy Policy


Sponsored by:
Click Here!

TechWeb Sites
 Bank Systems
     & Technology
 CMPmetrics
 eBusiness Expo
 File Mine
 InformationWeek
 Insurance & Technology
 InternetWeek
 Network Computing
 PC Expo
 Planet IT
 TechCalendar
 TechEncyclopedia
 TechLearning
 TechReviews
 TechWeb News
 TechWeb Today
 Wall Street & Technology

 Ad Info

spacer
infielder

A Business Perspective
(Evolution of Programming Methodology, Part I , Page 4)

By Bill Nicholls

February 28, 2000

In This Article
  Evolution of Programming Methodology, Part I

  Spaghetti Software

  Snarled Storage

  A Business Perspective

Print This Article
The failure of SP to be the answer to all problems also caused a recognition that the whole programming process was far more complex than had generally been realized. A broader perspective on the whole issue of delivering complex software, its perils and pitfalls, arrived in an insightful book, The Mythical Man-Month by Frederick P. Brooks, referenced in my columns a number of times.

This book is important for a number of reasons. It was written by a man who had full responsibility for controlling the development of IBM's flagship operating system, OS/360, in all its versions -- PCP, MFT, and MVT. The book contained things to do and to avoid, and honestly reported numerous lessons learned the hard way. The book taught lessons at all levels from beginning programmer through upper management, and had a substantial impact on practices in the industry. It also stimulated further research into solving these problems.

Most importantly, this book looked at programming outside of the academic world and placed it in a business environment. No longer was programming looked at as simply a problem-solving exercise. It was clearly placed as part of a business organization that had to meet such annoying requirements as schedule, function and reliability. Programming was now part of a system and the process had to expand to deal with all of the human and business issues as well as the technical ones. This large rock dropped in the pond of programming has generated ripples we see even today.

Teams
Another paper, "Chief Programmer Team Management of Production Programming" by F.T Baker, explored the approach of building a support team around one super-programmer. This person would be responsible for delivering the most difficult code. Other programming tasks could be done by mere humans, who were in turn supported by tool builders and librarians. It was a powerful concept that stumbled on human hubris, as most programmers consider themselves to be in the super class. But the team concept and supporting people and tools have become a standard part of the programming environment.

Teams rapidly evolved into small groups of programmers with a team leader, who might not be the best programmer. Work was usually aligned with skills, and good teams with internal support between members could create working programs very effectively. But when the job required multiple teams and multiple years, communications problems and turnover created invisible monkey wrenches in the works.

Another level of organization had to be added to manage large projects, with project managers. Efforts at using planning tools were unreliable at accurate forecasting because many projects broke new ground for the participants and their past experience was not effective at providing good estimates. Changing specifications in mid-stream, tools with hidden bugs, unclear communications, all took their toll on productivity. It seemed that even the team approach had reached its limits by the mid 1970s.

More To Come
In the next column, I will describe the MVC concept and how it differed from earlier concepts. Then the development of client-server, the creation of objects, MVC again and finally, patterns. After discussing the implications of what we have learned in the past 40 years, I'll suggest a few possible steps for the future.


Bill Nicholls was educated as a physicist, but early in his college career became seduced by the computing side of the force. Since then he has badgered mainframes, minis and micros into mostly doing what he wanted, though with varying degrees of difficulty. Software has always been his primary interest, from writing an OS to applications. Don't ask him to do another payroll though.

For more of Bill's columns, visit the Utility Infielder Index.  

    <<<Previous Page


Related Articles/Links:
  • Building Software In An Organized Fashion Part I(05/31/99)
  • Part II (06/28/99)
  • Part III (07/26/99)
  • Part IV (08/30/99)


  • CMPnet spacer Click Here!