The Essence of Software Development

This is what I had been trying to articulate, but of course, Steve McConnell says it much better:

At its essence, software development consists of working out all the details of a highly intricate, interlocking set of concepts. The essential difficulties arise from:

  • the necessity of interfacing with the complex, disorderly real world;
  • accurately and completely identifying the dependencies and exception cases; and
  • designing solutions that can’t be just approximately correct but that must be exactly correct.

Even if we could invent a programming language that used the same terminology as the real-world problem we’re trying to solve, programming would still be difficult because of the challenge in determining precisely how the real world works. As software addresses ever-larger real-world problems, the interactions among the real-world entities become increasingly intricate, and that in turn increases the essential difficulty of the software solutions.

- Code Complete, Second Edition by Steve McConnell, p. 78.

26 October 2007 | Uncategorized | Comments

Comments:

  1.  
  2.  
  3.