इसे ठीक से समझाने के लिए, हमें एक छोटे इतिहास के पाठ की आवश्यकता है। सॉफ्टवेयर इंजीनियरिंग के शुरुआती दिनों में, अक्सर इस्तेमाल की जाने वाली उपमा एक घर का निर्माण कर रही थी। एक वास्तुकार और संरचनात्मक इंजीनियर एक ग्राहक के साथ योजनाओं पर चर्चा करते हैं और एक डिजाइन के साथ आते हैं। बिल्डर्स तब वास्तविक घर बनाने के लिए उस डिज़ाइन का पालन करते हैं। वास्तविक घर बनाने के लिए राइटिंग कोड को बराबर के रूप में देखा गया था। इस प्रकार, इससे पहले कि निर्माण हो सकता है सामने डिजाइन की आवश्यकता थी। विभिन्न ग्राफिकल डिज़ाइन टूल बनाए गए, जिनमें से यूएमएल उनमें से एक है।
मूल रूप से यूएमएल के साथ विचार यह था कि कोई पूरी तरह से यूएमएल के साथ एक प्रणाली डिजाइन करेगा, फिर कोडर्स को उस डिजाइन को कोड में अनुवाद करने के लिए सौंप देगा। वास्तव में, यह सिर्फ काम नहीं करता है, और "डिज़ाइनर" के बजाय "कार्यान्वयनकर्ता" के रूप में देखे जाने वाले प्रोग्रामर के वर्षों के लिए नेतृत्व किया गया, परियोजनाओं को देर हो रही है, डिजाइनों को लगातार बदलने के बाद वे पूर्ण होने वाले थे आदि।
वजह साफ है। कोडिंग डिजाइन है । घर सादृश्य के साथ, कोड वास्तुकार के चित्र है। कंपाइलर बिल्डर है जो उन डिज़ाइनों को लेता है और उनसे एक प्रोग्राम बनाता है। इस अहसास ने तब चुस्त तकनीक, टीडीडी आदि को जन्म दिया: उपकरण उस कोड डिजाइन की गुणवत्ता में सुधार करने में मदद करते हैं।
जिस तरह एक वास्तुकार उसकी और उसकी टीम की समग्र डिजाइन की कल्पना करने में मदद करने के लिए प्रारंभिक रेखाचित्रों का उत्पादन कर सकता है, इसलिए एक डेवलपर को आवश्यक डिजाइन की कल्पना करने में मदद करने के लिए यूएमएल या अन्य उपकरणों का उपयोग कर सकता है। जैसे उन रेखाचित्रों का नेत्रहीन पालन नहीं किया जाता है, वैसे ही यूएमएल का भी नेत्रहीन पालन नहीं किया जाना चाहिए। कोड डिजाइन फुर्तीली पुनरावृत्तियों से बाहर निकलना चाहिए और टीडीडी का उपयोग करना चाहिए। LIkewise, जिस तरह एक वास्तुकार घर के एक मॉडल का निर्माण कर सकता है, उसकी मदद करने के लिए और उसकी टीम चित्र बना सकती है, इसलिए UML का उपयोग कोड संरचना की कल्पना करने में मदद के लिए किया जा सकता है।
जैसा कि अंकल बॉब कहते हैं, आप UML को मान्य नहीं कर सकते, आप केवल कोड को मान्य कर सकते हैं। इसलिए कोड प्राइम डिज़ाइन डॉक्यूमेंटेशन है और यूएमएल, यदि उपयोग किया जाता है, तो केवल माध्यमिक डॉक्यूमेंटेशन है।