Developing Defensively: Part 1 - Defensive Architecture

Free registration required

Executive Summary

This series of paper advocates the practice of defensive development, a way of looking at system design, software process design, and system development in such a way that one won't be caught unawares when things go wrong. Taking the driving analogy further, one could make these parallel definitions: Defensive driving: Driving to save lives, time, and money, in spite of the conditions around someone and the actions of others (Wikipedia). Defensive development: Developing software to avoid downtime and prevent errors, in spite of the conditions around and the actions of others. To understand defensive development in practice, consider these three subject areas that together form the defensive software development process: Defensive architecture, Defensive design and Defensive programming.

  • Format: HTML
  • Size: 0 KB