2009. 3. 5 일부 갱신: 캐빈님 글 소개 및 견해 덧붙임
마치고 나서 기분이 좋았다. 기대하는 수준 정도는 교감이 있었다고 느꼈기 때문이다. 예년보다 늘었지만 60분도 여전히 짧다.
창준님처럼 주어진 시간을 활용할 능력이 부족해서이니 분발한 일이다. 자칭 성공적인 발표를 하는데 참가자가 일조했다. 준비가 충분하면 긴장을 하지 않는다. 전날 예행연습을 하고 자겠다던
약속을 지키지 못하고 잠들고서 아침에 후다닥 약식으로 한 시간 정도 연습을 했다. 그래서 부족한 만큼 긴장을 했는데, 강연 시작 후 호의적인 눈빛 그리고 열심히 메모하는 분 덕분에 용기를 얻었다.
이분들의 격려 덕분에 자신에 찬 목소리로 강연을 마칠 수 있었다.
청자의 의견을 들어보고 싶어 구글링을 해보았는데 결과가 많지 않다. 뒤풀이도 행사 담당자 위주라서 아예 세션을 듣지 못하는 사람이 많았다. 그나마도 제 세션을 들은 분을 만났는데 외국인(Michael Isvy) 옆자리를 지키느라 대화할 시간도 짧았고, 구체적인 피드백은 발표 초반 여친에게 감사하는 발언에 대한 의견뿐이었다. 하지만, 반갑게도
serapian님 블로그에서 사진 한 컷을 구했다.
내 모습이 잘 보이지 않는다. 오랜만에 만난 지인이 한결같이 하는 말은 살이 쪄서 못 알아보겠다는 말이었다. ㅡㅡ;
준비한 발표 자료는 총 78쪽이고 발표 시간은 60분인지라 분량이 많다. 더구나 사용자 정의 슬라이드를 추가한 터라 실제 화면 장수는
88장이다. 애초부터 무리인 시간싸움이지만, 현장에서 상황에 맞게 추릴 예정이었다. 전에 발표 장소에 시계가 없어서 낭패를 본 일이 있어 시계를 빌렸더니 조절을 할 수 있었다. 중간에 약간 흥분해서 불필요한 이야기를 더 한 점을 빼면 주어진 시간을 최대한 활용을 했다. 발표를 마치고 질문까지 받느라 현장 지휘하는 jco 스태프를 곤란하게 했다. 발표 직전에 아셈에서 이희승님 랩 시간이 늦어져 압박을 가하다 온 터라 느낌이 묘했다.
소감은 이 정도로 마치고, 발표 이후 질문이 오간 내용과 온라인의 다른 글에 대해 소견을 밝혀보겠다.
1.
포크맨님 글을 보면, 제 발언이 약간 잘못 전달된 듯하여 교정합니다.
강사는 Agile을 쓰는 이유로 문제를 현장에서 해결하기 위해서라고 한다. 그런 것을 가능하게 하는 것은 사람이며, Agile의 특성상 반복이 자연스럽기 때문에 반복관리자가 중요한 부분으로 간주되고 있다고 본다.
애자일' 도입과 상관없이 '문제를 현장에서 해결하는 능력'은 과거부터 강조되었다는 내용에서 비롯한 오해인 듯합니다. RUP 등이 주도적으로 쓰일 때 문제 해결에서 아키텍트라는 특정한 역할이 강조되었다면, 유사한 역할에 대한 다른 이름으로 반복 관리자, 애자일 코치, 스크럼 마스터 등은 팀의 협업을 강화하는 촉매제로서의 역할이라고 전달하려 했습니다.
현장에서 질문을 대여섯 개는 받았는데 두 개 밖에 생각이 나지 않는다.
2. 유스케이스나 사용자 스토리 크기 기준
유스케이스 크기 기준을 잡느라 지나친 소모를 말자고 했는데, 그렇더라도 유스케이스 크기 기준은 필요하지 않느냐며 질문을 주셨다. 일반화 한 형식으로 산출물을 수정해야 하기 때문에 우리의 진화 과정을 공개하긴 힘들다. 그래서 핵심만 제시하면, 린 소프트웨어 개발 방식에서 취하는 적시 JIT(Just-in-Time) 의사결정이다. 유스케이스를 사용하든 사용자 스토리를 사용하든 그 단위의 중요함은
고객과 개발자 사이에서 효과적인 대화가 가능한 항목으로 정의해야 한다는 점이다. 항목이 다소 많고 레벨이 다르면 그저 대, 중, 소 등으로 분류하면 그만이다. 요구사항 설명에 있어서도 뻔히 아는 내용이나 이슈가 없는 부분을 기술하며 인생과 프로젝트 비용을 허비할 필요가 있을까?
물론 투영하는 관점을 명확하게 하면
MECE 등이 주는 효과처럼 결과물 분류가 쉬워 중복 작업을 줄이는 등의 효과는 있지만, 기준이 되는 요구사항 분류 항목을 개발 과정에서 나누고 합치고 한다고 해서 문제가 생기지는 않는다. 물론 누락은 없어야 한다.
캐빈님이 올려준 덧붙임은 마치 내 생각을 조리 있게 설명한 글처럼 시원한 느낌을 받았다:
유스케이스나 사용자스토리 크기 기준
유스케이스에 대한 캐빈님의 견해에 100% 동의한다. 다만, 유스케이스가 사용자스토리와 분명히 다르지만, 프로젝트 현장에서 둘을 혼용하지는 않기에 무엇을 쓰든 크기에 대한 기준보다는 크기에 집착하지 않는 실용적 태도가 더 중요하다. 작업하기에 너무 크면 일정 관리에 탄력이 줄어든다. 또, 너무 작으면 관리의 복잡도가 늘어난다. 적절한 기준을 찾으려는 시도는 논문을 준비하는 사람에게 맡겨놓고, 프로젝트를 기간 내에 높은 품질로 완수하는데 시간을 써야 한다.
3. 팀 구성이 전부 초급 개발자인 터라 협업 도구/인프라 소프트웨어(svn, ant, hudson, trac) 사용이 어려울 때 어찌해야 하는가?
질문하신 분이 전제하길 '보통 개발 2~3년차 정도에 PM을 하지 않느냐?'라고 했다. 경험이 참 다르구나 싶었다. 나는 개발 9년차에 처음으로 PM을 했다. 게다가 개발자 역할만을 수행하지 않았다. QA, 방법론 tailoring, 업무 분석, 기술 책임자(Technical Lead) 등을 하면서 프로젝트를 다양한 시각으로 보는 능력을 키워왔다. 그런 경험이 성공적인 첫 프로젝트 관리 사례를 만든 근간이다. 아마 2~3년차 PM은 프로젝트에서 특정 부분을 담당해 개발하는 보통 PL이라고 부르는 역할에 대한 소규모 개발 업체의 호칭이 아닐까 싶다. 이렇든 저렇든
한창 배워야 할 2~3년차에 누군가 가르쳐서 끌고 간다는 점은 안타까운 현실이다.
SI를 표방한 직업소개소 업주가 만들어낸 현실이다. 나는 이들이
곧 문 닫을 것이라 확신한다. 인터넷 등장으로 단순 중개인(intermediary)이 사라진 것처럼.
열악한 상황이지만 2~3년차 개발 리더가 초급 개발자를 데리고 개발할 경우라면 다른 도구에 욕심을 부리지 말고
최우선으로 svn/cvs부터 확실히 가르쳐서 소스 공유와
작업 결과의 투명한 노출을 장려하라고 조언하고 싶다.
4. 고객이 요구하는 산출물 형식에 맞추기
아래는
장선진님께서 현장에서 마지막에 주셨던 질문이 길어지자 메일로 보내신 내용입니다.
저 역시 쉽고 빠른 개발을 위하여 Agile 을 바탕으로 Trac과 MyLyn을 적용하고자 여러모로 노력하고 있습니다. 하지만 가장 어려운 점이 갑에서 요구하는 문서에 저희 산출물을 맞추는 작업이라고 생각합니다. 물론 갑이 잘 이해를 하여주면 좋겠지만, 대부분 갑들은 RUP 기반의 산출물을 요구하는 경향이 많습니다. 유스케이스부터 객체모형 및 일정 등에 관한 여러가지 문서를 작성해야 하는데요~
이때 요구하는 문서의 틀과 많이 다르기 때문에 추가 작업을 해야할 필요가 있습니다. Trac 등을 사용하시면서 갑에서 요구하는 산출물을 쉽게 맞출 수
있는 방안이나 노하우가 있으시면 공유 부탁드립니다.
저의 경우 얼마 후 정부 관련 프로젝트를 진행하게 될 듯합니다. 이때 Agile을 효과적으로 적용하여 관리하고 싶지만, 대부분의 정부 쪽 갑들은 항상 RUP 기반이나 EA 기반의 표준 산출물들을 요구하는 경향이 많아서 염려되어 여쭈게 되었습니다. 아무쪼록 좋은 조언부탁드립니다.
아울러 이번 강의 정말 잘 들었습니다. 실제 경험을 이야기해주셔서
더욱 좋았던 것 같습니다. 아쉬운 것은 시간이 짧은 관계로 실제 예나 데모가 부족하였던 것이 아쉽습니다. 다음에 시간이 많을 때 많은 분들에게 실제 예나 데모를 해주시면 더욱 좋을 것 같습니다.
산출물 형식은 프로젝트 초기에 결정하기 마련이죠. 정부 관련 프로젝트는 경험이 없으나, 대부분 조직에서 품질 관련 부서나 품질 보증 담당자가 표준으로 제시하는 형식이 있습니다. 현실적으로 Trac의 내용으로 요구 분석이나 설계 산출물을 그대로 대치할 수는 없습니다. 따라서 공식 산출물에 등장하는 내용과 Trac 항목을 연결짓는 수준이 바람직합니다. 고객이 인지하는 활동과 산출물이 작업 관리에 쓰이는 Trac 작업 및 결과물과 구분해서 쓰이면 의사소통 혼선이나 오해가 빚어질 수 있습니다.
* 참석하신 분들의 피드백 기다리고 있습니다. 질문도 좋고, 비평도 좋습니다. :)