10Software Design

Now that you have mastered the mechanics of developing quality products on predictable schedules, it is time to address more advanced topics. The first of these is design. Software design is important because good design is the key to scalability, and scalability is the key to producing cost-effective and high-quality systems. To appreciate the impact of scalability on software development, consider building a boat. A competent amateur could probably build a 10-foot rowboat in his or her garage. However, building a 1,000-foot ship would be a totally different matter. Scaling up a boatbuilding job by 100 times changes almost every aspect of the job. With software, however, we attempt to build million-LOC systems with the same ...

Get PSP now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.