Silver Bullets and Other Mysteries
Diomidis D. Spinellis · IEEE Software · 2007
What can developers do when faced with an aged software system? This is where a silver bullet comes in handy. At various times, this silver bullet has been known by names such as structured programming, object-oriented languages, 4GLs (fourth-generation programming languages), CASE (computer-aided software engineering) tools, RDBMSs (relational database management systems), XML, visual programming, n-tier architectures, managed code - the list goes on. What's important is that the move suits everybody perfectly. Software ages and becomes increasingly expensive to maintain. New technologies offer modest but not spectacular improvements in productivity. It's therefore sensible from time to time to rebuild a system from scratch. It might be harmless and politically expedient to claim that we've found a silver bullet, but it's even better to know what we're really doing