सादगी के दृष्टिकोण से, हम अवश्य ही यह कह सकते हैं कि प्रणाली विकास के लिये कोडिंग, परीक्षण और श्रवण पर्याप्त हैं। यदि वे गतिविधियां भली-भांति पूर्ण की गईं हैं, तो परिणाम के रूप में हमें सदैव ही एक कार्यशील सिस्टम प्राप्त होता है। परंतु व्यावहारिक रूप से, यह कार्य नहीं करेगा। डिज़ाइन के बिना भी व्यक्ति एक लंबा रास्ता तय कर सकता है, लेकिन किसी विशिष्ट बिंदु पर आकर वह फंस जाएगा. सिस्टम बहुत अधिक जटिल बन जाता है और सिस्टम के अंतर्गत निर्भरताएं स्पष्ट नहीं हो पाती हैं। सिस्टम में प्रयुक्त तर्क को व्यवस्थित रूप से रखनेवाली एक डिज़ाइन संरचना का निर्माण करके इससे बचा जा सकता है। अच्छा डिज़ाइन किसी सिस्टम के अंतर्गत अनेक निर्भरताओं से बचा सकता है; इसका अर्थ यह है कि सिस्टम के एक भाग में परिवर्तन करने पर अन्य भाग प्रभावित नहीं होंगे। 

कोडिंग
फीडबैक
डिज़ाइनिंग
लक्ष्य