 |  |
|
난이도 : 초급 Scott W. Ambler, Practice Leader, Agile Development, Rational Methods Group, IBM
옮긴이: 박재호 이해영 dwkorea@kr.ibm.com
2008 년 6 월 24 일 성공을 위해서는, 프로젝트 팀은 사용자, 관리자, 기타 소프트웨어 전문가를 포함한 광범위한 사람들의 참여를 요구합니다.
프로젝트 이해 관계자는 다음과 같다.
- 직접적인 사용자
- 간접적인 사용자
- 일반 관리자
- 선임 관리자
- 운영진(이나 관리자)
- 지원(지원부서) 담당자(나 관리자)
- 개발 중인 시스템을 통합하거나 연결하는 다른 시스템에 관련된 개발자
- 소프트웨어 프로젝트 개발과 배포에 잠재적으로 영향을 받는 유지보수 전문가
애자일 모델링(이하 AM)을 위해(직전에 소개한 AM 팁 참조), 이번 정의에서는 비록 개발자가 작업 중인 프로젝트에 아주 중요한 역할을 확실히 맡고 있긴 하지만 프로젝트에 투입된 개발자를 제외시켰다. AM에서 "프로젝트 이해 관계자"라는 용어는 프로젝트에 직접 참여하는 개발자를 제외한 나머지 프로젝트 당사자를 말한다. 따라서 개발자와 프로젝트 이해 관계자를 독립된 그룹으로 간주하겠다. (개발자 프로젝트 이해 관계자와 비개발자 프로젝트 이해 관계자라는 용어를 대신 사용할 수도 있지만, 좀 그렇다.)
AM에서 활발한 이해 관계자 참여 방법은 XP에서 주장하는 사이트 고객 참여를 확장한 개념이다. 요구 사항(그리고 이에 따른 우선순위)을 고려하여 타당하고 시기 적절한 결정을 내려 시스템을 만들어 내도록 관련 정보를 제공하는 능력과 권한을 갖춘 사용자나 대표를 현장에서 직접 만날 필요가 있다. 이런 참여 수준은 소프트웨어 개발 노력을 효율적으로 만들기 위해 필요한 반면에, (특히 이성보다 정치가 앞서는 조직에서는) 많은 조직에서 여전히 충분하지 않다는 문제점이 있다. 프로젝트 성공은 종종 프로젝트 이해 관계자가 깊숙히 발을 담그길 요청한다.
- 선임 관리자는 프로젝트를 공개적이고 사적으로 지원할 필요가 있다.
- 운영과 지원 인력은 시스템을 받아들이기 위해 실제 운영 환경에 맞춰 프로젝트 팀과 활발하게 일해야만 한다.
- 다른 시스템 팀원은 통합 노력을 지원하기 위해 팀과 함께 일해야만 한다.
- 유지 보수 개발자는 시스템이 사용하는 기술과 기법을 맞추기 위해 일해야만 한다.
성공을 위해서는 모든 프로젝트 이해 관계자는 목표 추구를 위해 여러분 팀과 활발하게 일해야만 한다. 이런 방법이 주는 영향력을 몇 가지 정리했다.
- 직전에 언급했듯이 사용자는 프로젝트 범위와 요구 사항 우선 순위와 관련하여 타당하고 시기 적절한 결정을 내리고 팀과 비즈니스 지식을 공유할 준비를 갖춰야 한다.
- 선임 관리자가 프로젝트를 효과적으로 지원하기 위해서는, 우선 팀이 활용하는 기술과 기법을 이해하고, 팀이 이런 기술과 기법을 사용하는 이유를 이해하고, 이런 기술과 기법을 사용할 경우 일어나는 영향력을 이해해야 한다. 이런 지식으로 무장해야 조직이라는 정치판에서 적절한 시기에 올바른 방법으로 좀 더 효과적인 대응이 가능하다. 선임 관리자는 단순히 주간 프로젝트 상태 보고를 읽거나 월간 프로젝트 회의에 참석하는 정도로는 이런 필수적인 지식을 얻기 어렵다. 그 대신 선임 관리자는 관리에 필요한 사항을 익히도록 충분한 시간을 투자할 필요가 있다. 즉, 선임 관리자는 시스템 개발에 활발하게 참여할 필요가 있다.
- 운영과 지원 조직은 사용 중인 시스템과 기술 모두를 이해하도록 자원을 투자해야 한다. 지원 요원은 시간을 들여 시스템의 미묘한 차이와 설계된 방식이나 훈련받은 방식대로 시스템을 동작시키기 위해 필요한 관련 사항을 익혀야 한다. 또한 운영 요원은 시스템 설치와 운영 양쪽 측면에 모두 익숙해야만 한다. 개발 팀에서 한두 명 운영 엔지니어를 포함시키거나 다시 한번 말하지만 필요한 운영 요원을 교육시키는 방법으로 프로제스 자원에 투자해야 한다. 접근 방식에 무관하게 운영과 지원 조직은 프로젝트 팀과 활발하게 협력할 필요가 있다.
- 시스템이 다른 시스템과 통합될 필요가 있다면, 다른 프로젝트 팀이 여러분과 일할 필요가 생긴다. 예를 들어, 시스템은 기존에 구축된 데이터베이스에 접근하거나 온라인 시스템과 상호 작용을 하거나, 외부 시스템이 만든 파일을 사용하거나 다른 시스템에서 추출한 XML 자료를 제공할 필요가 있다. 통합은 종종 이런 개발자의 열성적인 참여 없이는 불가능하지는 않지만 어렵다고 판명난다. 데이터베이스 소유주가 데이터베이스 관련 정보를 제공하기 거부했을 경우 기존에 구축되어 있던 대규모 데이터베이스에 들어있는 정보에 접근하는 방법이 얼마나 어려운지 상상해보자.
- 유지보수 개발자는 시스템을 배우기 위해 함께 작업할 필요가 있다. 시스템 유지 보수를 다른 개발자에게 완전히 넘기든 일부만 넘기든, 원래 개발 팀원을 자유롭게 만들기 위해 현존하는 시스템을 유지보수하고 개선하는 분야에 필요한 소프트웨어 전문 기술을 전수해야 한다. 팀은 유지보수 개발자와 함께 일해서 시스템을 넘겨줄 수 있어야 한다. 원래 팀원이 여전히 관여하고 있을지라도 새로온 팀원에게 지식을 전달하는 노력을 게을리 하지 말아야 한다.
프로젝트가 성공하려면 광범위한 프로젝트 이해 관계자의 열성적인 참여가 필요하다. 잠재적인 프로젝트 이해 관계자가 누구며 개발 노력에 참여하는 잠재적인 임무가 무엇인지 이해하는 노력은 아주 중요하다.
참고자료
필자소개  | |  | Scott W. Ambler는 IBM 메서드 그룹에서 애자일 개발 책임자를 맡고 있다. Ambler는 프로세스 문서를 만들고, 컨퍼런스에서 연설하며, 소프트웨어 프로세스 개선을 돕기 위해 전세계에 흩어진 IBM 고객과 더불어 일한다. Ambler는 여러 책을 저술했으며, 웹 사이트인 www.ambysoft.com에서 목록을 제공한다. Ambler는 Rational Thought Leader이며, 홈페이지는 여기를 참조하기 바란다. |
기사에 대한 평가
 |
| 이 문서 북마킹 하기
|
|  |