Versions Compared

Key

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

폭포수모델(워터폴)에서 시작하여 애자일까지 다양한 IT와 관련한 개발방법론및 필요한것들을 정리를 하였으며

이미 성공한팀은 더 휼륭한 방법론과 철학이 존재하겠지만

처음시작하는 개발팀에서 우리의 수준은 어디까지이고?, 무엇을 채택하면 될지? 참고또는 도움되었으면 좋겠습니다  무엇을 채택할지, 우리만의 방식을 찾는데 도움이 되고자합니다.

폭포수모델

폭포수모델은 형식을갖춘방법이다.

소프트웨어를 개발하는질서 정연하고 체계적인방법이다.

폭포수는 나일강을 따라내려가는 여왕의유람처럼복잡하고장엄한 프로세스이며

수직적인 절차의 제일 하부목표는 성공이며, 규칙이 없는 팀이 처음 적용하기에 도움이될수 있다.

그래서 대개 큰조직에서 소프트웨어를 생산하는데 사용한다.

(또는 비즈니스 모델을 잘 이해하는 쪽이 제일 상부에 있다면, 폭포수모델을 따르는것이 비즈니스성공가능성이 높다.)

한마디로 폭포수모델은 프로젝트의 복잡성과 규모를관리하는하나의방법이다.

- 고약한문제 합당한 해결 책중에....

폭포수 모델의 오해

폭포수모델을 이해할때, 대기업 SI프로젝트를 진행하면 따르는 개발모델이기때문에 

...

SI와 폭포수모델을 분리해서 이해할필요가 있습니다.

SI란

윈도우가 나오기 이전 일반인들에게 IT는, 어떤 기능을 가진 컴퓨터(하드웨어)를 사는 것이었습니다. 그런데 PC는 조립이 간단했지만 기업용 서버는 설치 환경까지 고려해야 하기 때문에 복잡했습니다.

그래서 시스템 통합(System Integration)이란 분야가 등장했습니다. 즉 SI는 초기에 사용자가 요구하는 기능을 가진 하드웨어를 만들어 판매하는 행위였습니다.
업체들은 사용자가 원하는 기능을 만들기 위해 솔루션이나 패키지를 설치하고 필요한 기능을 직접 개발하기도 했습니다. 그런데 하드웨어가 발전화되면서 표준화되고 소프트웨어의 비중이 커지게 되자

SI는 자연스레 소프트웨어 개발 아웃소싱을 지칭하는 말이 되어버렸습니다. 초창기 SI시장은 대부분 수작업을 전산화하는 경우로 ‘불확실성’이 적었습니다. ‘주민등록 관련 업무’나 ‘회계 업무’ 등을 생각하시면 됩니다.

오랫동안 반복적으로 해왔던 업무이므로 기성품을 선택하거나 기능을 새로 만들기도 어렵지 않았습니다. 그리고 납품되고 나면 소프트웨어 변경이 거의 필요없었습니다.

이후 IT가 발달하자 온라인 비즈니스가 중심에 서기 시작했습니다.

기존에 없었던 새로운 일들을 바로 시스템으로 만들게 됩니다. 어떤 비즈니스는 매일 변화가 필요합니다. 인터넷 쇼핑몰, 인터넷 뉴스 서비스, 인터넷 뱅킹 서비스 등을 생각하시면 됩니다.

그래서 이 시스템들은 매번 개발자들의 손이 필요합니다. 사업 환경이 수시로 변하다보니 ‘설계 후 개발’을 하는 것도 어려워 졌습니다. 또한 개발이 완료되어도 종료라고 보기 힘들어졌습니다. ‘불확실성’이 높아진 것입니다.

참고링크 : https://okky.kr/article/499014

폭포수 모델의 논리적 근거

소프트웨어 개발에는 반드시 필요한 하위 목표가 있다. 하나의 단계를 성공시키면

...

애자일이란 큰 변화가 발생하지만, 폭포수모델의 단점을 극복하려는 수많은 개발모델들은 애자일의 기원으로 볼수 있습니다.

애자일 선언

2001년, 소프트웨어 업계를 주도하는 17인의 리더들이  모여 다음을 선언하였다.

...

워터폴은 한번 정해지고 개발착수가되면, 그것이 완료될때까지 방향조정이 불가능한것과 비교해야하며 워터폴이 시원한 절차에의해 개발이 완료 되었다라고하면

오히려 워터폴이 스피드할수 있다.

키워드로 살펴보는 애자일맵


우리의 시장상황

우리의 시장은 과거와는 달리 변덕스럽고,불확실하며,복잡하고 모호하다

...

애자일은 변화를 만들고 변화에 대응하는 능력이며, 불확실하고 급변하는 환경에서 궁극적으로 성공을 거두기 위해 그 환경을 다루는 방법이다.

애자일의 기원

다음은 1950년 애드워즈 데밍이 한 이야기이다.

...

더자세한 이야기 : https://steemit.com/kr/@loum/w


애자일 인식 뿌리 - 소프트웨어

소프트웨어 개발 중에 고약한 성질을 품은 문제를 만났을 때 그를 합당하게 해결하는 방법을 찾아나가고 있다.

...

메타인지와 애자일

문제를 팀이 정의를 하고 해결해나가는 힘을 키우는것은 , 개개인의 성장과함께 일정수준이 되어야함을 의미한다.

...

팀의 공유된 메타인지(shared meta-cognition)라고 부르기도합니다.


DDD와 애자일

소프트웨어가 일반적으로 복잡해지는 이유는, 우리가 사용하는 기술자체의 복잡성 때문이 아니라

...

애자일의 오해

  • 구성원들이 일을 지금보다 빨리해서 결과물이 빨리나오길 기대하면, 그것은 애자일이 아니라 스피드이다. 팀이 지시를 받아 수동적으로 움직이는게 아니라 권한을 위임받아 주변 환경 변화에 스스로 민첩하게 대응할수 있게만드는것이 애자일이다. 사실은 변화에 대응하여 우리의 프로덕트가 살아남을수 있을까? 생존과 관련된것이다.
  • 선거제도(애자일 프랙티스)만 있다고 민주주의 국가가 아니지만, 애자일 프렉티스를 작게 수행하다보면 애자일이 어디쯤 있는가? 가늠은 할수 있다.
  • 애자일 마인드셋과 환경제공을 하는것 'Being Agile'은 탑다운에서, 실천하는 'Doing Agile' 은 바텀업을통해 균형을 이루어질때 작동된다. 
  • 애자일을 하면서 생기는 문제가 애자일때문이 아닐수 있다. 원래 드러나지 않았던 고약한 문제이며 애자일을 통해 발견할 가능성이 더 크다.
  • 애자일에 숙련되기전 애자일을 위한 조직변경은 추천되지 않는다. 애자일을 하면서 성숙도가 생기면 스스로 팀이 어떻게 구성되야 효율적일지 생각하게된다. 좋은 애자일팀은 변경이되는것이 아니라 오래 지속된다.


애자일과 수평

수평적 개발문화를 이해하기위해 애자일의 선언을 다시 살펴보자

...

20년도 전에 애자일을 도입하여 성공하는 기업들은 수직적 의사결정에서 수평적 기업문화로 조금씩  발전하기 시작하였으며

한국에서는 유독 MZ세대와 의사소통을 이야기하면서 수평적 기업문화에 접근을 하고 있는것같습니다. 이것은 수평이아닌 직원경험또는 맥락전달로 분리되어야하는 내용입니다.

수평적 개발문화를 워라벨(일을 적당히하는/워터폴 보다 스트레스가 적은)로 생각하면 큰 오산입니다. 오히려 애자일을 너무 열심히 한나머지 번아웃이 올수 있습니다.

수평은 가만히 있어서 유지할수 있는 상태가 아니라, 연필을 손바닥에 세워 떨어트리지 않으려고 계속 균형을 맞추는 

사실은 모두의 구성원이 능동적이고 적극적으로 프로젝트에 참여하는 밸런스 게임이며 구성원이 적극적이지 않고 움직이지 않으면 그 수평은 유지될수 없습니다.

애자일 조직에서 OOO , 자기 직군을 검색해보면 

개발방법론 지속발전과 직원경험

어떠한 개발방법론이던지, 그 목표는 비즈니스의 성공에 있습니다.

...

등이 필수조건이 아니기때문에 럭셔리하지 않은 중소기업개발문화에서도 생존을위해 투자하고 도입할수 있는것으로 보여집니다. (물론 럭셔리하지 않게~)


직원경험 관련 명언/사례

고객을 우선순위에서 내렸다기보다 직원이 행복해야, 고객을 만족시킬수 있다란 의미입니다.

...

기존방식의 변화

기획 - UI/UX는 디자이너에게 맡기세요

모든것(UI/UX/작동방법)을 표현하지말고 중요한것(요구사항분석,스토리보드,플로우)을 이야기할것

...

링크: https://brunch.co.kr/@cysstory/163

PM - WBS를 바라보는 인식과 개선

핵심은 작업에 있지 않다는것입니다. 가치를 어떻게 인식하느냐입니다.

...

wbs 방식이 구식인건 맞는데... 근데 그래도 산업군에 따라 그런 방식이 필요합니다. 고객에 의한 “가치 폭주 현상”이 발생합니다.
피드백을 통해서 자기도 기여한다고 느끼는 고객이 자신의 가치를 가지고 지나친 피드백을 해서 불필요한 품질상태를 만들기도 하니까요. 그래서 고객의 피드백을 제동해야할 때가 있습니다.
가치가 어디로 향해야 하는지는 결국 애자일 조직 리더의 몫이니까요.
Quality is value to someone.
- Gerald Weinberg

PM - 모든것을 디테일하게 챙기기

  • 개발을 어떻게할지도 결정하지도 않았는데 , 개발이 언제까지 완료되고 디자인은 언제까지되고..
  • 러프한 계획은 사실은 타이트한 계획이다~

https://fb.watch/5i7SaKJfwr/


유연함

  • 계속되는선이,연되는완벽함보다 낫다. 시선도자는신을상적인것으로만드는법을 배워야한다. -마크 트웨
  • 변경을용하지않는것은나쁜획이다. - 볼릴리우스 시루스

  • 최종사용자와 의사소통에서 생기는 틈 : 폭포수 모델의 생명주기는 진열대를 돌아다닐 기회도 주지 않고 슈퍼마켓 입구에서 고객이 점원에게 완벽하게 주문하도록 강요하는 슈퍼마켓과 비교할수 있다. (진열대를 돌아다니면, 가격을 비교할수도 있고, 쇼핑 목록에 없는 항목을 기억할수도 있고, 그냥 외식하러 가기로 결정할수도 있다. -맥크래켄

도메인 발견의 가속화

더 자세한 자료 : http://wiki.webnori.com/m/view-rendered-page.action?abstractPageId=39583888

개발방법론의 선택

  • 규모와 문화와 처해있는 상황이 비슷한 회사의 성공방법을 따라할것인가?
  • 우리만의 새로운 방법을 찾아서 그들보다 앞서 나갈것인가?

...

애자일과 같은 개발방법/프로세스에 얽매이지 않는 Shape UP의 방식을 살펴보는것도 도움이 될것이다.

꼭 애자일이여야하나? 우리만의 방식 찾기

Basecamp 의 개발 프로세스 - Shape Up 요약정리

과거 몇년간 어떻게 작은 팀으로, 높은 품질의 소프트웨어를 그렇게 빨리 개발해내는지 물어보곤 했다. 또, 개발자들을 오랫동안 유지하는지도.


첫째, 우리는 워터폴, 애자일, 스크럼같은 프로세스에 얽매이지 않았다.

둘째, 우리는 벽에 포스트잇을 줄세우지 않았다.

셋째, 우리는 데일리 스탠드업, 스프린트, 백로그, 칸반, 벨로시티 체킹등 어느 것도 하지 않았다. 우리는 우리의 길을 만들었다.


소프트웨어팀이 성장하면서 유사한 문제점들이 생겨난다.

- 팀원들은 프로젝트가 끝없는 행군처럼 느껴진다.

- 프로덕트 매니저들은 프로덕트에 대해 전략적으로 생각할 시간을 낼 수가 없다.

- 창업자들은 자문한다. 왜 우리는 예전에 했던 것처럼, 신속하게 기능을 출시할 수가 없을까?

우리는 4명에서 50명으로 늘어나면서 이런 문제에 직면했다.

사람 수가 늘어나면서, 창업자들의 직관을 전달하기가 어려워졌다. 그래서 새로운 스케일에 맞는 구조가 필요했다. 

6주 사이클.

새 스케일에 맞는 매니지를 위해, 프로젝트 길이가 그때그때 달랐던 것에서, 반복적인 사이클로 변경했다. 6주는 뭔가 의미있는 것을 만들기에 충분히 길었고, 마감일이 눈앞에 보이기 때문에 시간을 효과적으로 계획하게 만들었다. 

우리의 의사결정은 시간을 마이크로매니지하는 것이 아니라, 다음 6주간 제품을 어떻게 발전시킬 것인지에 대한 것이 되었다.우리는 개별 기능에 몇시간을, 또는 며칠을 썼는지 세지 않았고, 일일 미팅도 하지 않았다. 우리의 로드맵을 2주마다 새로 생각하지 않았다. 우리의 촛점은 좀 더 상위에 있었다. 우리는 스스로에게 얘기했다. "이 제품이 6주 후에 업데이트되면 우리는 시간을 잘 쓴게 될 거야". 이후에 우리는 6주를 팀에게 보장하고, 해내도록 내버려두었다.

BaseCamp의 주요지표

기업은 경쟁을 좋아한다. 밟고 이기고, 1 or 0으로 만들길 원한다.

우리는 그렇지 않다. 나는 다른 누군가와 경쟁하는 것에 흥미가 없다. 그리고 우리는 경쟁적인 관점에서 결정을 내리지도 않는다.

내게 비즈니스란 경쟁과는 무관하다.

시장에선 HEY(Basecamp가 만든 이메일 서비스 - hey.com)가 Gmail과 경쟁한다고 생각할 수 있지만 사실 그렇지 않다.

Gmail의 사용자는 거의 20억 명에 이르는데 그 중 0.01% 정도의 사용자만 우리를 사용한다 해도 정말 운이 좋다고 말할 수 있다.

Gmail의 시장 점유율은 약 40% 정도인데 반해 HEY는 시장 점유율이란 레이더에서 보이지 않는 수준이고 Gmail이 전체 이메일의 약 27%를 차지하는데 비해 아마 HEY는 앞쪽에 0이 한참은 붙어 있다.

즉, 이렇게 비교하기 시작하면 우리는 계속 지는 게임을 하고 있는 게 되는 셈이다.

말 그대로 패배자다.

그래서 우린 승패를 별로 생각하지 않는다. 경쟁은 스포츠를 위한 것이지 비즈니스를 위한 것이 아니다.

...