Versions Compared

Key

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

...

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

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

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

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

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

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

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

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

폭포수 모델의 논리적 근거

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

배열된 다음 목표를 성공시켜나간다. 이렇게 배열된 맨 마지막 순서가 바로 성공이다.

또한 수행하는 업무를 전문적으로 만들며, 전문적인 롤이 폭포수모델의 단계와

일치한다. 경험정도도 반영되는데 일반적으로 초기에 경험많은 고참(착수,요구사항분석)이

참여하고 다음이 중간레벨(분석,설계) 그다음 직원이 코딩,유지보수등의 업무를 수행한다.

상위 절차가 중요며 일반적으로, IT직군은 다음 역활을 수행한다.

  • PM : 변화는 곧 리스크이기때문에, PM의 역활이 중요합니다. WBS를 통해 리스크관리를 합니다.
  • 기획 : 비지니스 요구사항을 잘정리하여 변경없는 문서를 만들어야합니다. 요구명세가 완성된후에 개발 착수가 가능합니다.
  • 설계 : 경험많은 숙련자가 요구명세를 바탕으로 설계를 진행합니다.
  • 구현/QA : 구현자는 주로, 코드로 분류됩니다. 

그래서 우리는 SI에서 폭포수모델의 한계점을 이해할수 있습니다.  

고객의 목소리가 항상 옳은것은 아닐수 있지만  우리가 가진 솔루션 기반에서 고객의 목소리를 통해 적용되는것은 SI가 아닌, 커스텀입니다. 이것은 비용청구와 상관없이  SI는 우리것이 아닌 상대방에게 소프트웨어 뿐만 아니라 문서까지 납품(산출물)을 해야하는 본질을 가지고 있습니다.

추가참고 서적 : 도메인 주도 설계로 시작하는 마이크로서비스 개발  - SI프로젝트라고 폭포수모델만 사용해야하는것은 아닙니다. 아주 어렵지만 SI에서 애자일을 시도하고 MSA(도메인주도 설계기반)를 잘 설명하는 책입니다.


폭포수 모델의 논리적 근거

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

배열된 다음 목표를 성공시켜나간다. 이렇게 배열된 맨 마지막 순서가 바로 성공이다.

또한 수행하는 업무를 전문적으로 만들며, 전문적인 롤이 폭포수모델의 단계와

일치한다. 경험정도도 반영되는데 일반적으로 초기에 경험많은 고참(착수,요구사항분석)이

참여하고 다음이 중간레벨(분석,설계) 그다음 직원이 코딩,유지보수등의 업무를 수행한다.

상위 절차가 중요며 일반적으로, IT직군은 다음 역활을 수행한다.

  • PM : 변화는 곧 리스크이기때문에, PM의 역활이 중요합니다. WBS를 통해 리스크관리를 합니다.
  • 기획 : 비지니스 요구사항을 잘정리하여 변경없는 문서를 만들어야합니다. 요구명세가 완성된후에 개발 착수가 가능합니다.
  • 설계 : 경험많은 숙련자가 요구명세를 바탕으로 설계를 진행합니다.
  • 구현/QA : 구현자는 주로, 코드로 분류됩니다. 

규모에따라 PM+기획 규모에따라 PM+기획 / 설계+구현 동일 사람일수 있지만 절차적인 흐름에는 큰 변화가 없으며 직군이 분리됨에 따라 더 세분화될수 있습니다.

...

  • 공정과 도구보다 개인과 상호작용을 
  • 포괄적인 문서보다 작동하는 소프트웨어를 
  • 계약 협상보다 고객과의 협력을 
  • 계획을 따르기보다 변화에 대응하기

이 말은, 왼쪽에 있는 것들도 가치가 있지만, 우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.


애자일이, 애자일이, 긴민함/민첩함 이란  형용사적 단어적 의미도 있지만, 애자일 선언문의 가치와 원칙을 실천하는 마음가짐이나 방법을 말한다.

...

Doing Agile은 기존 실무자가 고찰해야하는 내용입니다.

수평적 개발절차를 워라벨(칼퇴보장/워터폴 보다 스트레스가 적은/수평으로인한 편안함)로 생각하면 오해입니다.

오히려 애자일을 너무 열심히 해서 프로덕트를 런칭시킨팀에서 번아웃이 발생할수 있습니다.

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

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

>실리콘밸리의 애자일은, 움직이지 않는다고 판단되면 다음 스프린트에 제외되는 사실은 무서운 수평게임입니다. 

다음은 실제 인터뷰때 많이 들은 이야기중 하나입니다.

"수평적 문화 희망합니다, 제 사수는 어디있나요? , 프로세스가 없어요 "

==> 여기서 사수는 군용어로 가장 수직적 단어이며, 프로세스 또한 워터폴을 의미할수 있습니다

분산하는 밸런스 게임이며 구성원이 적극적이지 않고 움직이지 않으면 그 수평은 유지될수 없습니다.

>실리콘밸리의 애자일은, 움직이지 않는다고 판단되면 다음 스프린트에 제외되는 사실은 무서운 수평게임입니다. 


다음은 인터뷰때 많이 많이 듣는 이야기중 하나입니다.

"수평적 개발문화를 희망합니다, 제 사수는 어디있나요?" , "프로세스가 없는것 같아요?", "저는 주니어이기때문에 설계에 자신없습니다."

  • 여기서 사수는 군용어로 가장 수직적 단어입니다.
  • 수평적 개발문화는 평등,복지를 의미하는것이 아닙니다. 상위에서만 알고 결정하던 정보를 공유하고, 위임을 통해 결정과 책임을 나누는것에 가깝습니다.
  • 프로세스는 공정과 도구를 이용하는 방법일수 있습니다. 애자일의 정신중, 공정과 도구보다 개인과 상호작용을 - 애자일을 따라할필요는 없지만 애자일의 정신은 참고할수 있습니다.  개인과 상호작용을 통해 우리는 도구를 포함 프로세스를 함께 만들수 있습니다. 
    • Task가 없이 진행되는것이 문제가 될수 있지만 Task의 가치를 아는것이 더 중요합니다.
    • Task의 일정준수도 중요하지만, 프로세스가 없는것보다 설계가 없었던것에 더 고민을 해야합니다. 설계는 잘 드러나지 않는 중요한 활동이며 시니어가 이것에 도움을 줄수 있지만 설계를 하지 않는 개발자는 코더가 될 가능성이 높습니다.
    • 모두가 이해하고 참여할수 있는것이 프로세스가 될수 있으며 개발문화가 될수 있습니다. 팀장이 모든것을 결정하고 책임지고 분배하는것은 수직적 절차에 가깝습니다.

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

어떠한 개발방법론이던지, 그 목표는 비즈니스의 성공에 있으며,복지와 관련된것이 아닙니다. 

...

직원경험은 구성원이 처음 회사를 접한 순간부터 회사를 떠날 때까지의 전반적인 모든 경험을 뜻하며

좋은동료와 경험, 개인 성장경험등 다양한 것들이 포함될수 있습니다.

역량있는 사람을 처음부터 채택하는것도 중요하지만, 회사차원에서 직원경험 향상에 투자함으로

직원에게 좋은경험(환경)을 제공함으로, 회사도 발전한다란 것입니다. 


중요 컨셉은 구성원들을 이해하면서 직원경험을 발전시켜나가는데 있습니다. 단순하게 "급여","복지향상","고급사무실인테리어"

...

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

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

도메인 발견의 가속화

Image Modified



Image Added


다음은 필자가 , 호주 퍼스지역에 있는 개발사((https://www.vgw.co/))에서 애자일(+도메인주도)로  진행했던 개발방법들을 정리를 해보았습니다.

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

...