Tuesday, May 13, 2003

Software
Ideas I need to put together and write about: I'm reading Christopher Alexander's A New Theory of Urban Design, written a few years after A Pattern Language. If you're a software geek, you should know all about Design Patterns. If you don't, start here. A New Theory of Urban Design is built around one overriding rule: Every increment of construction must be made in such a way as to heal the city. In other words, the whole must always be considered in each and every addition.

I'm also reading Robert L. Glass's Facts and Fallacies of Software Engineering, in which Glass states that maintenance is the most important life cycle phase of software. He supports this by pointing out that 60% of maintenance is really enhancement, not error correction.

How do these ideas intersect? Both assume that they're building in and around what already exists. Both believe that solutions must be designed within the existing context, and that those solutions should improve the whole. Glass provides the justification for the importance of maintenance. Alexander provides an intellectual framework that can be adapted to software maintenance in the same way his pattern language was adapted to software development.

No comments: