University of Southern California Center for Software Engineering C S E USC 05/25/06 © USC-CSE 27 No Silver Bullet: Brooks Automated solutions are good for accidental software problems –Simple inconsistencies, noncompliance, inferences They do not do well on essential software problems –Changeability: adapting themselves to unanticipated changes –Conformity: working out everything the computer needs to know Devoid of intuition, commonsense reasoning –Complexity: integrating multiple already- complex programs –Invisibility: communicating their likely behavior to humans Closest thing to silver bullet: great designers
{}