The Humbling Nature of Progress

A few years ago I traveled to a rural town, not to meet with a County Extension Agent, but to meet with a software engineering colleague I hadn't previously met in person. Immediately after we introduced ourselves, he asked me, "Writing a book the size of Code Complete was awfully audacious for someone your age, wouldn't you agree?"

Much as I like being called audacious, I would not agree. My writing of Code Complete is representative of the way that knowledge is transferred from generation to generation in scientific and engineering fields, and of the way knowledge ultimately advances. Early pioneers in software engineering such as Victor Basili, Barry Boehm, Larry Constantine, Bill Curtis, Tom DeMarco, Tom Gilb, Capers Jones, Harlan Mills, David Parnas, and others struggle to create leading-edge concepts from ill-defined bits of knowledge. They work against backgrounds of erroneous theories, conflicting data, and sketchy or nonexistent previous work. Later, others have the benefit of reading the early pioneers' work, and they are not exposed to all the false turns and mistaken assumptions. Newcomers who haven't struggled to come up with original concepts themselves are sometimes better able to explain the work of the early pioneers than the pioneers themselves were. Larry Constantine performed the original work that led to structured design. Ed Yourdon explained Constantine's structured design work, but that explanation was still inaccessible to most readers.[30] It wasn't until Meilir Page-Jones[31] explained Yourdon's explanation that Constantine's work finally became accessible to the average practitioner.[32] Later, the concepts of structured design were absorbed into object-oriented design. And the cycle began again.

Over the long-term, knowledge that took early pioneers whole careers to master will be taught to undergraduate college students in a few semesters. It took me three and a half years to write Code Complete. Someday, a software developer even more "audacious" than I was will write a better book in only a few months. That is the way that lead turns slowly into gold in knowledge-intensive fields like software engineering, and that is the way it should be.



Professional Software Development(c) Shorter Schedules, Higher Quality Products, More Successful Projects, [... ]reers
Professional Software Development(c) Shorter Schedules, Higher Quality Products, More Successful Projects, [... ]reers
ISBN: N/A
EAN: N/A
Year: 2005
Pages: 164

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net