UML kullanmak, yürürken ayaklarınıza bakmak gibidir. Genelde bilinçsizce yapabileceğiniz bir şeyi bilinçli ve açık hale getiriyor. Yeni başlayanların ne yaptıkları hakkında dikkatlice düşünmeleri gerekir, ancak profesyonel bir programcı ne yaptıklarını zaten bilir. Çoğu zaman, kodun kendisini yazmak, kod hakkında yazmaktan daha hızlı ve daha etkilidir, çünkü programlama sezgileri göreve ayarlıdır.
Bu sadece ne yaptığınızla ilgili değil. Bundan altı ay sonra gelen ve kodu hızlandırması gereken yeni işe ne olacak? Şu anda proje üzerinde çalışan herkes gittiğinde bundan beş yıl sonra ne olacak?
Projeye daha sonra katılan herkes için bazı temel güncel belgelere sahip olmak inanılmaz derecede yararlıdır. Metot isimleri ve parametreleriyle tam gelişmiş UML diyagramlarını savunmuyorum (YOLDA sürdürmek çok zor), ancak sistemdeki bileşenlerin ilişkileri ve temel davranışları ile temel bir diyagramının paha biçilemez olduğunu düşünüyorum. Sistemin tasarımı büyük ölçüde değişmedikçe, bu bilgiler uygulama değiştirilse bile çok fazla değişmemelidir.
Dokümantasyonun anahtarının ılımlılık olduğunu buldum. Hiç kimse birkaç sayfa içinde uykuya dalmadan tasarım dokümantasyonuna sahip 50 sayfalık tam gelişmiş UML diyagramlarını okumayacak. Öte yandan, çoğu insan 5-10 sayfalık basit sınıf diyagramları sistem bir araya getirildi.
UML'yi yararlı bulduğum diğer durum, kıdemli bir geliştiricinin bir bileşen tasarlamaktan sorumlu olduğu, ancak daha sonra tasarımı uygulaması için küçük bir geliştiriciye verdiği durumdur.