Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

30년전 고서 "Wicked Problems,Righteous Solution"

번역본인 "고약한 문제 합당한 해결" 에서 폭포수와 모델과 관련한 중요 주요 문구만 요약하였습니다.폭포수 모델의 한계를 설명하기위해, 폭포수모델에 대해 필요한 만큼만 잘 정리되어 있는 책입니다.

애자일을 학습하기전 읽어보는 것을 추천합니다.

Table of Contents

폭포수 모델의 기원

...

  • 지나치게 오래걸린다 : 문서 작업들과 승인 과정은 모두 빠른 개발을 방해한다방해한다. 산출문 문서는 생명주기 내내 '겉치레' 역활에 그치며 내재된 가치가 있다라고 생각한다.
  • 최종사용자와 의사소통에서 생기는 틈 : 맥크래켄은 다음과 같이 말했다. 폭포수 모델의 생명주기는 진열대를 돌아다닐 기회도 주지 않고 슈퍼마켓 입구에서 고객이 점원에게 완벽하게 주문하도록 강요하는 슈퍼마켓과 비교할수 있다. (진열대를 돌아다니면, 가격을 비교할수도 있고, 쇼핑 목록에 없는 항목을 기억할수도 있고, 그냥 외식하러 가기로 결정할수도 있다)
  • 어떻게에서 '어떻게'에서 분리된 '무엇' : 문제를 정의할 때까지 해결책을 미룬다는 생각도 구조적 분석과 설계의 신조 가운데 하나다. 물론 문제 정의를 먼저하고 해결책을 나중에 내는것은 논리적인 귀결이다. 하지만 불행히도 사람들은 현실에선 그런 식으로 행동하지 않는다. 사람들은 문제를 고려할때 보통 일정한 범위 안에서 가능한 해결책을 동시에 고려한다.
  • 에러관리 : 맥팔랜드는 모듈의 기능과 인터페이스에 대한 정의를 내리는 동안 발생 가능한 특정 에러 상황을 정의하는 것도 가능은 하다. 하지만 이렇게 에러에 대해 내부 반응을 정의하는 것은 설계자가 모듈의 상세 구현을 고려하고 있음을 있음의미하는 것이다. 이것은 추상화 원리를 위반하기도 하거니와 적절하지도 않다. 폭포수 모델 하향식 원칙에 위배되지만 초기 설계를 하면서 정의하고 사용해혼 사용해온 모듈의 인터페이스는 바뀔 가능성이 높다.(대부분 변경된다.)
  • 합당한문제 고약한문제 : 합당한 문제는 정의될수있고, 해결책이 나올수 있다. 하지만 고약한 문제는 문제정형화되어 있지않으며, 해결책의 일부가 문제 공간안에 있다. 특히 문제를 해결하고 나서야 완전히 이해할수있다. 이것은 최종 해결책에 도달하기 전에 중간 결과를 반드시 얻어야 한다는 것을 뜻하거나, 아니면 문제가 정의되면서 동시에 해결된다는 것을 의미한다. 폭포수의 하향식 접근방식으로는 고약한 문제를 해결할수가 없다.


내 공격목표 폭포수 모델이 아니다. 내가 공격하려고 한 것은 매우 많은 사람이 폭포수 모델의 적용성과 효율성에서 보이는 교조적(dogmatic)인 접근 방식이다.

우리 분야의 헤겔이 폭포수 모델만이 소프트웨어를 개발하는 효과적인 방법이며 유일한 진리라고 자신을 방어하기 때문에 결국 아무런 결과도

얻지 못하는 교조주의를 공격하는것이다. 

폭포수 모델의 변종

폭포수 모델은 변종이 많아서 설명하기 쉽지 않다. 전통적으로는 9 단계이지만,  13단계까지 될수도 있으며,

대개 6~9단계를 사용하지만 3단계만 사용하는 사람도 있다. 그리고 폭포수모델을 베이스로 사용하다가, 전혀 다른 모델이 생긴 경우도 있다.

폭포수의 변종은, 폭포수일수도 있지만 폭포수의 단점을 극복하기위해 무의식적으로 생성된 경우도 있다.


시작과 끝점이 다른경우

비즈니스 시스템일경우 시작점은 상위 경영진이 될수 있다. "조직내 절차,실현가능성" 이 시작점이 될수 있으며

...

  • 프로토타이핑 : 시스템이 어떻게 작동하는지 설명하는 '모델'을 만드는 프로세스
  • 즉각모델 : 외부 관찰자에게 모든활동이 동시에 끝나는 것처럼 보인다. 문제해결 분석이 되지 않는 고약한 문제를 해결 할때 사용한다유용할수 있다.
  • 사시미 : 폭포수 단계를 네개로 4단개로 줄여, 유연성을 위해 전통적인 단계들을 약간씩 겹치게함 (회 여러 조각이 앞뒤로 약간씩 겹치는데서 유례, 상위단계 피드백이 가능해지며 유연성이 생김 스크럼의 실질적인 기초개념에 기인 )
  • 스크럼 : 사시미 방식의 4단계조차 한단계로 줄여 겹치게함, 럭비에서 공을 차지하려고 상대팀을 앞으로 밀어야하는데 이때 사용되는 팀의 기본 대형(스크럼)에 유례
  • 투맨접근-수갑채우기 : 스크럼 2인용 버전 , 최종사용자와 프로그래머를 함께 일하게하는 방식
  • 원맨접근-해킹 : 스크럼 1인용 버전 , 해결할 문제에대한 상세한 지식을 프로그래밍 지식이나 기술과 결합

애자일 인식의 뿌리

30년전 고서 고약한 문제 합당한 해결에서, 폭포수모델의 단점을 지적하면서 어떻게 가야하는가? 란 질문을 계속하며

이 책이 놀라운점은 이 책이, 폭포수모델을 단점을 분석하고 개선된 방향을 인식하는 관점이 2020년 업데이트된 위키-애자일 소프트웨어 개발 의 인식과 큰 차이가 없다.(시대를 띄어넘는 고전)

IT에서 30년은 고서라고 봐야하며이책이 쓰이는 시점 애자일이란 용어자체는 없었던것으로 보이며, 애자일 인식의 뿌리가 되는 책입니다.뿌리가되는 시대를 뛰어넘는 고전입니다.