การใช้ UML ก็เหมือนกับการมองเท้าของคุณในขณะที่คุณเดิน เป็นการทำสิ่งที่มีสติและชัดเจนซึ่งคุณสามารถทำได้โดยไม่รู้ตัว ผู้เริ่มต้นต้องคิดอย่างรอบคอบเกี่ยวกับสิ่งที่กำลังทำ แต่โปรแกรมเมอร์มืออาชีพรู้อยู่แล้วว่ากำลังทำอะไรอยู่ โดยส่วนใหญ่แล้วการเขียนโค้ดนั้นรวดเร็วและมีประสิทธิภาพมากกว่าการเขียนเกี่ยวกับโค้ดเนื่องจากสัญชาตญาณในการเขียนโปรแกรมของพวกเขาถูกปรับให้เข้ากับงาน
ไม่ใช่แค่เกี่ยวกับสิ่งที่คุณกำลังทำ แล้วผู้จ้างงานรายใหม่ที่เข้ามาในอีกหกเดือนนับจากนี้และต้องเร่งแก้ไขโค้ด? ห้าปีนับจากนี้เมื่อทุกคนที่ทำงานในโครงการนี้หายไป?
การมีเอกสารพื้นฐานที่ทันสมัยสำหรับทุกคนที่เข้าร่วมโครงการในภายหลังเป็นประโยชน์อย่างเหลือเชื่อ ฉันไม่สนับสนุนไดอะแกรม UML ที่เต็มไปด้วยชื่อเมธอดและพารามิเตอร์ (วิธีดูแลรักษายากเกินไป) แต่ฉันคิดว่าไดอะแกรมพื้นฐานของส่วนประกอบในระบบที่มีความสัมพันธ์และพฤติกรรมพื้นฐานเป็นสิ่งที่ประเมินค่าไม่ได้ เว้นแต่การออกแบบระบบจะเปลี่ยนแปลงอย่างมากข้อมูลนี้ไม่ควรเปลี่ยนแปลงมากนักแม้ว่าจะมีการปรับแต่งการใช้งานก็ตาม
ฉันพบว่ากุญแจสำคัญในการจัดทำเอกสารคือการกลั่นกรอง ไม่มีใครจะอ่านไดอะแกรม UML แบบเต็ม 50 หน้าพร้อมเอกสารการออกแบบโดยไม่ต้องหลับไปสักสองสามหน้าในทางกลับกันคนส่วนใหญ่ชอบที่จะได้รับแผนภาพคลาสง่ายๆ 5-10 หน้าพร้อมคำอธิบายพื้นฐานเกี่ยวกับวิธีการ ระบบถูกรวมเข้าด้วยกัน
อีกกรณีหนึ่งที่ฉันพบว่า UML มีประโยชน์คือเมื่อนักพัฒนาอาวุโสรับผิดชอบในการออกแบบส่วนประกอบ แต่จากนั้นมอบการออกแบบให้กับนักพัฒนารุ่นเยาว์เพื่อนำไปใช้