애자일적용후기

불확실성과 화해하는 프로젝트 추정과 계획

애자일 핵심 1.정확 하려고 하다 틀리는 것보다는 대충 이라도 맞는 것이 낫다. 2.스토리 점수 추정 / 예상 소요 시간 추정 등에 있어서 논쟁은 의미 없다. 3.한 팀이라는 소속감과 항상 같이 작업한다는 의식 중요 4.계획에 대해 자주 의견을 나누는 것이 중요 5.속도는 all or nothing( 다 완료하지 못하면 무조건 0점) 6.얼마나 많은 일을 했는지 아는것보다 얼마나 많은 일들이 남아있는지 살피는것이 핵심 7.진행 중인 일들은 다음 이터레이션으로 넘기지 않는다.

  • 이터레이션이 끝날때, 진행중인 작업들은 전부 제거. 어떤 기능의 구현을 완전히 끝내지 못했다손 치더라도, 그 기능 구현을 다음 이터레이션에 반드시 계속할 필요는 없다는 뜻.(계속해야 할 경우도 가끔 있을수 있지만)

8.빈틈을 두라. 주어진 시간을 100% 프로젝트에 쏟아 부을 것이라는 가정 하지 않는다.

애자일 기법의 목적 어떤 자원을 가지고 어떤 기능을 어떻게 개발할 것인가 하는 질문에 대한 최적의 답을 반복적이고 점진적으로 찾아나가는 것.

애자일 기법을 적용하기 위한 단계 1.종이 카드에 스토리들을 적는다.

  • <사용자 유형><방법>을 하여 <효과>를 할 수 있다.

2.각각의 스토리들에 대한 규모를 추정하여 점수화한다.(p54)

  • 점수화 할때 1,2,3,5,8식의 피보나치 수열 이용

3.각각의 스토리들에 대한 우선순위를 부여한다.

  • 위험성과 가치를 동시에 고려하여 기능 간 우선순위를 결정

  • 어떤 기능의 위험성과 가치에 대한 평가는 시간의 흐름에 따라 달라짐을 유의

  • 고객 만족에 따른 카노 모델

    • 우선순위1 : 필수기능(성공적인 제품을 위해 반드시 포함되어야 하는 기능)

    • 우선순위2 : 선형기능(더 많을수록 좋은 기능)

    • 우선순위3 : 감동요인(예상하지 못한 좋은 추가적인 좋은 기능들)

  • 필수 / 선형 / 감동인지 파악하기 위한 설문지

  • 설문지에 따른 필수 / 선형 / 감동 분석

4.우선순위가 부여된 스토리들 중에 이번 이터레이션 동안 작업할 스토리들을 찾는다. 5.스토리들을 작업 목록으로 확장시킨다(구체적으로 작업단위를 쪼갬). 6.이번 이터레이션 동안 실제 코딩을 완료지을 거라 서약 할 수 있는지 묻는다. 7.최대로 서약할 수 있을때까지 계속하고 계획이 다 차면 이터레이션 계획완료. 8.나머지 스토리들은 한 이터레이션이 끝난 후 검토, 회고를 거친 후 다시 작업

릴리스 소멸 차트 예시

(중간에 그래프가 올라간 이유는 계획대로 마쳐도 이터레이션이 도는 동안 스토리 규모가 생각보다 더 크다는 것을 발견해서 그와 관련된 모든 추정치를 수정)

이터레이션 동안 사용하는 작업 보드 예시

한 개발자가 한번에 두 카드를 고르는 것은 금지 개발자들은 작업 카드에 적힌 추정치를 언제든 수정 할 수 있어야 함

실제 적용

종이 카드에 스토리 적기

점수 추정

이번 이터레이션 동안 할 작업 선정

애자일 작업보드

이터레이션 소멸 차트

후기 1.2주 단위 이터레이션 보고활동은 휴학상태 아니면 현실적으로 지키기 어려움 2.형식적인 일정짜기를 안해도 되는 장점 3.팀원 모두 애자일이 처음이라 특수한 상황에 대처가 쉽지 않았음 4.주기적인 고객의 피드백 수용가능 5.개발자 3명이서 모든 프로젝트를 담당하다 보니 한계점 존재

6.계획에 없던 디자이너가 추가됨에 따라 스토리가 '사용자 중심'에서 '기능 중심'으로 바뀔수 밖에 없는 문제 발생 ex) '사용자는 내가 수강한 강의 목록을 확인 할 수 있다.' 이 스토리를 실제로 구현하기 위해서는 기능 + 테스트 + 디자인 까지 한번에 완료되어야 한다. 그런데 우리 프로젝트는 디자이너가 후반에 참가하게 됐다. 그에 따라 개발 속도와 디자인 속도가 다를 수 밖에 없게 되고 선 기능구현 후 디자인 적용으로 갈수밖에 없었다. 결국 스토리도 'Q&A 댓글 기능 구현' , '메인페이지 디자인 적용' 이렇게 기능중심적으로 갈수 밖에 없었다. 7.나태해지지 않게 잡아주는 장점

Last updated