
오랜만에 UML 관련 책을 다시 읽었다.
학생 때는 UML이 그냥 “그림 그리기”처럼 느껴졌다. 클래스 다이어그램, 시퀀스 다이어그램을 그리면서도 “이걸 왜 하지?”라는 생각이 컸다. 코드 한 줄 더 치는 게 더 생산적이라고 믿었으니까.
그런데 취업하고 현업에 들어오니 생각이 완전히 달라졌다. 실무에서는 UML을 생각보다 훨씬 자주 쓴다. 특히 팀으로 일할수록, 그리고 시스템이 커질수록 더 그렇다.
요구사항을 받아 바로 구현으로 들어가면 처음엔 빨라 보이지만, 중간에 방향이 틀어지거나 빠진 케이스가 드러나면 비용이 훨씬 크게 돌아온다. 반대로 초반에 분석과 설계에 시간을 쓰면 이후 개발 속도와 품질이 훨씬 안정적이다.
이번 독서는 “행동”보다 먼저 “분석과 설계”에 시간을 투자하는 것이 결국 가장 빠른 길이라는 점을 다시 확인하는 계기였다.
프로젝트는 결국 사람과 사람이 이해를 맞추는 일이고, UML은 그 이해를 맞추기 위한 공통 언어라는 생각이 든다.