목록애자일 (12)
행복한 아빠
애자일을 한다고 야근을 완전히 막지는 못합니다. 애자일 역량이 뛰어난 팀이라 해도 야근을 하는 경우가 많습니다. 그렇습니다. 여러분은 제목에 낚인 것입니다. ^^ 그러나 애자일을 하면 야근을 막을 수 있는 몇 가지 이유는 있습니다. 팀원 - 내 성과를 인정받을 수 있다.개개인의 성과를 측정하기 애매한 환경에서 팀원들은 자신이 인정받기 위해 할 수 있는 일은 하나 밖에 없습니다. 오래 일하는 것입니다. 그렇습니다. 이런 환경에서는 야근을 많이 하고 주말 근무를 많이 하는 직원이 인정받게 됩니다.스크럼의 개발방법은 사실 성과주의적인 면이 있습니다. 팀이나 개인 얼마나 성과(백로그)를 냈는지가 만천하에 투명하게 공개됩니다. 성과를 충분히 내었다면 불필요한 야근을 할 이유가 없습니다. 스크럼마스터 - 팀 속도 ..
진척률 98.1%의 전설을 아시나요. 프로젝트 초반에는 10%, 20% 순조롭게 가던 진척률이 프로젝트 막판에는 98.1%, 98.2% 이런 식으로 진척률이 진행됩니다. 도대체 0.1% 진척향상이 뭘 의미하고 이렇게 되는 이유가 뭘까요? 제가 경험한 바로는 프로젝트 막판에 더 열심히 일(야근, 밤샘)을 하던데... 갑자기 생산성이 급락하는 이유가 뭘까요? 로그함수 형태의 진척률의 원인 이는 대부분 주관적인 판단에 의한 진척률 측정에 기인합니다. 프로젝트 초반의 일들이 분석이나 설계등의 일이고 이 진척들은 순조롭게 진행되는 경향이 있습니다. 문제는 "이 분석이나 설계가 100% 완료되었는지 검증이 가능한가?"라는 것입니다. 완벽한 분석이나 설계라 두번 다시 재작업이 없을 거라고 누구도 장담하지 못할겁니다...
애자일 추정에서 많이 사용하는 플래닝 포커 사용법을 소개합니다. 애자일에서 추정은 매우 중요합니다. 추정은 단지 계획을 세우기 위해서만 이루어지는 활동은 아닙니다. 플래닝 포커를 이용한 추정을 통해 어떤 효과가 있는지 알아보도록 하겠습니다. 플래닝 포커 구성 점수(0, 1/2, 1, 2, 3, 5, 8, 13, 20, 40, 100, ?, 무한대, 커피)가 표기된 4벌의 카드로 구성되어 있습니다. 점수는 많이 사용하는 피보나치 수열을 이용합니다. 플래닝 포커 1. 모든 사람들은 카드를 한 벌씩 나누어 가집니다. 모든 팀원들이 같이 추정을 합니다. PM이나 스크럼 마스터 혼자 추정하는 것은 의미 없습니다. 모든 팀원이 같이 추정함으로써 작업에 대한 이해를 공유할 수 있습니다. 기억하십세요. 이해하기 전에는..
많은 경우 프로젝트 실패의 원인을 요구사항 변경관리 실패에서 찾습니다. 그래서 프로젝트 초반 철저한 분석을 통해 요구사항을 확정하고 철저한 요구사항 변경프로세스로 함부로 요구사항변경을 하지 못하게 하는 경우 프로젝트가 성공하는지 생각해 보았습니다. 사실 이런 프로젝트가 현실에서 발견하기 어렵기 때문에 아래와 같이 사고실험을 해 봅니다. (이미지출처) 어떤 프로젝트가... 6개월동안 모든 프로젝트 이해관계자가 정확한 일정관리와 빈틈없는 요구사항 관리로 프로젝트를 제때에 끝냈습니다. 프로젝트에 참여한 사람들의 회고입니다. 개발자 내게 주어진 업무를 정확하고 깔끔하게 제때 모두 끝냈것 같아. 자 봐 이렇게 완벽한 테스트케이스가 걸린 소스코드를 찾아보기란 쉽지 않을 거야. 게다가 소스코드는 누가 봐도 읽기 쉽게..
세상이 계획대로 흘러가면 좋겠지만 항상 그렇지는 않습니다. 항상 제일 바쁠 때 일이 생기고 항상 급할 때 장애물이 발견됩니다. 우리 부서는 제품도 개발하고 제품 시연도 해야하고 특히 기술 지원도 해야 합니다. 제품 개발이야 정확한 추정에 따른 계획으로 진행되지만 기술지원 같은 것은 예상치 못한 때 발생합니다. 스크럼에서 팀원들이 업무에 집중할 수 없도록 방해하는 이런 것들을 퉁쳐서 "잡음(noise)"라고 하죠. (이미지출처) 내 인생의 방해물 노이즈 이처럼 계획을 망치는 잡음을 줄이는 책임은 스크럼마스터가 주로 담당합니다. 즉 스크럼마스터가 얼마나 업무 잡음을 줄이는가에 따라 프로젝트 계획(스프린트)들의 성공여부가 결정되는 경우가 많습니다. 스크럼마스터나 팀의 역량 그리고 상황에 따라 이런 잡음을 막느..
새로운 형태의 작업들을 수행하게 되었습니다. 팀원들이 이제 추정에 익숙해 웬만한 작업들은 2~3번의 플래닝포커로 상당히 정확한 추정치를 내놓습니다. 그러나 세상은 그리 간단하지 않은가 봅니다. 추정에 대해 좀처럼 의견일치를 보이지 않습니다. (이미지출처) 상황 제품 리뉴얼 작업을 진행하고 있는데 작업 개수가 상당합니다. 기능이나 난이도는 잘 알고 있는 내용이라 추정을 빨리 끝내고 싶습니다. 그런데 이 모든 작업을 하나하나 논의를 거쳐 모두 추정하기를 어렵습니다. 그리고 작업의 형태로 아직 정확하지 않습니다. 어떤 이는 각 작업이 상당히 쉽게 끝날 것이라고 예상하고 어떤 이는 시간 걸리는 작업이 많다고 주장합니다. 스프린트를 멈추고... 직접 수행해보고 속도를 측정하기로 합니다. 일단 스프린트를 멈춥니다...
한국소프트웨어기술진흥협회에서 애자일 강의를 했습니다. 이제 기술과 관련된 강의는 그만 하고 오직! 애자일 강의만 하려고 합니다. 우리 회사 강사들이 하는 강의의 특징이 실습을 많이 한다는 것이라 애자일 강의도 실습을 위주로 기획하려고 했습니다. (이미지출처) 애자일 실습이라니... 애자일로 실습을 하려니 참 난감하더군요. 소프트웨어 쪽은 아무리 말로 강의하는 것보다는 하나라도 직접 돌려보는 것이 효과가 좋습니다. 방법론(저는 애자일을 방법론으로 보지는 않습니다만)도 마찬가지입니다. 아무리 책을 보거나 들어도 직접 그 방법대로 일을 해보지 않으면 뜬 구름 잡는 소리 같습니다. 그런데... 강의시간은 4시간 5일.. 이 시간동안 애자일 프로젝트를 하나 할 수도 없고... 그래서 생각한 것이 게임입니다. 칸반..
간만에 블로그에 들어와봅니다. 2011년이 되면서 새로운 사업들 때문에 바쁘다는 이유로 내 블로그에는 정제된 글만 올리겠다는 욕심으로 벌써 반년이 후딱 지나갔네요. 그런 욕심 버리고 일단 아무 글이나 올려봐야겠습니다. 이 글은 고객에게 받은 agile 질문을 답한 글인데 다음 링크에서 볼 수 있습니다. Agile에 대한 12가지 질문들
지금 우리는 복불복 스프린트를 진행하고 있습니다. 가끔은 이런 스프린트가 생기기도 하네요. 상황은 다음과 같습니다. 이미지출처 상황 우리 제품이 MySQL을 쓰고 있는데 Oracle도 지원해달라는 요청이 왔습니다. 그래서 스프린트 하나 잡아서 진행하기로 했습니다. DB 접속과 관련된 컴포넌트가 28개입니다. 이 컴포넌트들이 Oracle도 지원하게 refactoring 작업을 해야 합니다. 테스트커버리지도 거의 모든 컴포넌트가 80%이상이고 SQL만 바꾸면 되기에 기계적인 작업이 될 것 같습니다. 음 잘못하면 지루한 작업이 되기 쉽상입니다. 스프린트 계획 5명이 스프린트 계획을 세웠습니다. 각 컴포넌트 변환작업을 하나의 백로그로 잡았습니다. 이제 추정을 해야 합니다. 28개의 백로그가 생겼고 이것을 컴포넌..
우리팀에서 일일회의를 시작한지도 4년 가까이 되어가고 있습니다. 그동안 잠시 외부 프로젝트 나갔다가 오기도 했고 같이 일하던 팀원들도 교체되기도 했습니다. 그런데 한참 일일회의를 하다보니 어느 순간 이게 일상이 되어가는 듯 합니다. 무슨 말인즉 틀에 박힌 일상(routine)이 된다는 말입니다. 이러다 보면 팀의 활력이 떨어지게 됩니다. 여러 원인이 있겠지만 우리가 추구하는 개발방법의 기본이 되는 일일회의가 루틴스럽게 돌아가는 것을 막아야겠습니다. 이미지출처 그래서 몇가지 방법을 시도해봤습니다. 돌아가면서 회의 주재하기 이제는 팀원들이 회의시간에 발언하는 것에 어느 정도 익숙합니다. 그래서 돌아가면서 일일회의를 주재하기로 합니다. 처음에는 부담스러워하는 팀원들도 있지만 금방 익숙해지고 색달라집니다. 이 ..