'애자일'에 해당되는 글 2건

  1. 2008.05.06 사양은 고정되어 있는가?
  2. 2008.04.26 애자일 단상

사양은 고정되어 있는가?

Project 2008.05.06 01:35
이것도 짧은 마인드멥이다.

프로젝트의 요구 사양은 변화하는가?

만약 사양이 고정되어 있다면 사양을 분석하여 정교한 모델을 만드는데
시간을 투자하는 편이 만들고 테스트 하는 방법보다는 ROI가 높을것이다.

하지만 변화한다면 어떻게 만드는것이 가장 효율적일까?
먼저 개발하려는 사양을 2가지 분류로 나눈다.

1.고정된 사양
2.변화하는 사양


1.먼저 고정된 사양은 연역적 판단을 통해 개발가능하다.
하지만 문제는 사양의 연역적 추론을 통해 만들수 있는 아키텍쳐는 셀수없이 많다.
때문에 성공적인 아키텍쳐를 판단하는 기준이 필요한데 이러한 기준은 연역적 추론 가운데서도
연역적 논리보다 실험적 추론이 훨신 더 유효할 수 있다.
*실험적 추론을 위해서는 어느정도 실패를 통한 정보가 필요하다.


2.변화하는 사양은 빠른 feedback을 통해 개발가능하다.
  - 수렴(짧은 Feedback을 통한 조율, 즉 환경의 변경과 개발사이에 *스래싱을 줄인다)
  - 집합기반 개발(다옵션 개발 , 즉 여러 프로토타입의 모델을 동시에 진행시킨다.)
  - 동기화 (변화의 동기화, 접합점을 통해 관리, *스패닝)
  - 동시개발(확정된 사양을 구성하는 모듈들을 동시에 개발한다. 즉 세부사항을 조율하는것은
              나중으로 미루고 불변하는 사양을 파악해 필요한 모듈의 개발을 동시에 진행시킨다.)
   - 프로젝트관리기술(*당김 시스템pull system,*대기행렬이론)
   - 통합성 관리(인식통합성, 개념통합성)

변화하는 환경에 맞는 성공적인 아키텍쳐를 만드는것은 과학이라기 보단 기예에 가깝다.



*스래싱 - 개발이 완료되기전에 새로운 요구사항이 들어와 개발에 지연이 생기는것
             목표한 사양을 구현하기전에 다른 사양을 구현한다면 그 두사양 사이에
             목표하려는 구현이 모호해질것이다.
             예를들면 목욕탕의 온도계의 변화와 물의 온도의 변화사이에 큰 간격이 있다면
              물이 차가워 온도를 올리고, 물이 뜨거워 온도를 올리는 작업으로 인해 실제 원하는
              온도를 맞추지 못할것이다. 즉 하나의 온도를 향해 수렴하는것을 말함.

*스패닝  - 분리된 모듈간의 영향을 빠르게 분석하기 위해 각 모듈간의 연결을 구현하는
               골격을 확보

*당김시스템 - 해야할일을 전달해주는것이 아니라 직접 선택하여 가져가도록 한다.
                    토요타의 칸반시스템 참고.

*대기행열이론 - 순환시간(대기하는 시간)을 줄인다.
                      요소( 일정한 도착율,일정한 서비스율,여유slack)
                      *자세한것은 TOC(제약조건이론)참고


Trackbacks 2 : Comment 0

애자일 단상

Trivia 2008.04.26 22:53
 애자일은 쉽게 말하자면 진화하는 프로세스이다.

이 통찰은 다른 말로 바꾸면 ,
토요타의 카이젠(改善kaizen) 또는 경제학의 복잡 적응 시스템 , Lean soft development등등
모두 진화론에 기반한 적응 시스템을 말한다.

 이것이 말하고 있는것은 복잡하게 변화하는 상황에서 딱 들어맞는 방법론, 프로세스는 없으며
유일한 방법은 현재의 프로세스를 상황에 맞게 개선해나가는 것뿐이다.

 이것을 이해하면, 수많은 방법론이 왜 아직도 수렴및 정리 되지 않고 있으며 왜 상황에 맞는
방법론을 선택하는것이 어려우며, 어떤 방법론이든 부족한부분이 있는것이 설명된다.

 물론 시간이 지나며 방법론은 고도화 되지만, 아마 이 진화는 세상이 변하는것과 같이 멈추지 않을듯 보인다.
tags : lean, 애자일, 진화
Trackback 0 : Comment 0