소프트웨어 개발의 성패를 좌우하는 출발점인 요구사항 분석을 수행하며 기능적 측면과 비기능적 측면을 아우르는 시야를 확보했다.
사용자가 원하는 동작뿐만 아니라 시스템이 갖춰야 할 품질 속성까지 꼼꼼히 정의하여 완성도 높은 서비스의 기반을 마련했다.
시스템이 무엇을 해야 하는지 정의하는 기능 요구사항과 성능, 보안, 가용성 등 품질 목표를 뜻하는 비기능 요구사항을 명확히 구분했다.
단순히 기능의 유무를 넘어 응답 시간이나 데이터 암호화 같은 비기능적 요소가 서비스의 신뢰도에 미치는 결정적인 영향을 파악했다.
사용자가 직접 요청하지 않더라도 눈에 보이지 않는 품질 요소들이 결국 시스템의 가치를 결정한다는 사실을 깨달았다.
요구사항 수집 단계부터 비기능적 측면을 포함하여 분석함으로써 향후 발생할 수 있는 아키텍처 수정을 사전에 방지했다.
기능 구현에만 급급했던 좁은 시야에서 벗어나 시스템 전체의 품질과 사용자 경험을 조망하는 안목을 길렀다.
요구사항 이면에 숨겨진 품질 목표들을 발굴하고 이를 설계에 반영하여 겉과 속이 모두 탄탄한 소프트웨어를 구축했다.
정교한 요구사항 분석이 개발의 방향을 잡아주는 가장 확실한 나침반임을 프로젝트를 통해 확인했다.
명확한 정의가 결국 구현의 완성도로 이어진다는 사실을 다시 한번 가슴 깊이 새겼다.