리스크 관리(Risk Management)는 개발 프로젝트를 이끌어 나가는 데 가장 핵심적인 역할을 합니다. 그러나 이 분야에 대한 구체적인 지침이나 실용적인 사례가 부족하여, 많은 프로젝트에서 제대로 된 접근을 하지 못하는 경우가 많습니다.
개인적으로 이 부분을 강조하는 이유는, 프로젝트 진행이 순조롭지 않다면, 그것이 리스크 관리의 문제일 가능성이 높기 때문입니다.
간단한 예시로는 다음과 같습니다
이러한 상황들은 많은 사람들이 경험해 본 일들일 것입니다
간단히 리스크 관리 (Risk Management )에 대해 알아보겠습니다.
위에서 언급된 대로, 리스크 관리는 프로젝트 매니저가 단독으로 책임져야 하는 것이 아니라 모든 팀원이 함께 책임져야 하는 부분입니다.
이 점이 조금 안타까운 부분입니다.
사실 프로젝트 매니저가 풀스택 개발자 출신이라면 다양하고 심도 있는 경험을 가지고 있을 수 있겠지만, 현실적으로는 그런 경험이 없는 경우가 많습니다. 따라서, 개발자들의 적극적인 참여가 필요하며, 리스크 관리에 충분한 시간을 할애하여 관리되어야 합니다.
저는 개인적으로 "리스크 관리"를 다른 말로 "어려움 회피법"이라고 부르기도 합니다. 왜냐하면 대부분의 리스크가 제때 관리되지 않으면, 그 결과로 인한 피해를 개발자들이 직접 감당해야 하기 때문입니다.
따라서, 리스크가 초기에 발견되면 좋겠지만, 중간에라도 발견되면 적극적으로 토론하여 최상의 해결책을 찾아야 합니다.
또한, 개발자 여러분도 중요한 변경사항 (중요 라이브러리 변경, 대규모 리팩토링 등)이 있다면 반드시 공유해야 한다고 생각합니다.
이것이 가장 중요한 부분입니다.
서로 충분한 논의를 통한 다면 효율적인 대응 방안을 찾을 수 있는 여지가 있습니다.
이 때 대응 방법이란, 대규모 변경이 발생하더라도 시스템이 정상적으로 동작하고 일정에 문제가 없도록 보장하는 방법들을 의미합니다.
예를 들어, 세심한 유닛 테스트, 데일리 통합 빌드 등의 방법들이 있습니다.