, from design through operation to reengineering. At each stage, steps can be taken to minimize the occurrence and effects of … human errors. These include defensive design philosophies, architectural patterns to guide developers, and collaborative … design that incorporates operational experiences and surprises into design efforts. We conclude by looking at three aspects …