Differences between revisions 28 and 29
Revision 28 as of 2013-06-27 06:08:59
Size: 11496
Editor: 정수
Comment:
Revision 29 as of 2013-06-27 06:30:57
Size: 11550
Editor: 정수
Comment:
Deletions are marked like this. Additions are marked like this.
Line 49: Line 49:
= 애자일의 형성 =
Line 50: Line 51:
   이전의 소프트웨어 개발은 문서 중심의, 무거운 개발 프로세스였음. 이에 더 나은, 현실적인 소프트웨어 개발 과정에 대한 고민들이 시작됨.
Line 52: Line 53:
그 중 한 흐름이 애자일.
Line 53: Line 55:
= Agile의 단어적 뜻 =

기민한, 민첩한, 유연한, 반응이 빠른
단어적인 의 기민한, 민첩한, 유연한, 반응이 빠른
Line 62: Line 62:
Line 65: Line 64:
Agile이라는 용어는 언제부터 사용되기 시작했나? 2001년, [[AgileDevelopment|AgileManifesto]]가 발표되었다. 그곳에서 Agile이라는 용어가 처음 고안되어 사용되었다. 그 이전에는 [[XP]], [[SCRUM]], [[DSDM]], CrystalFamily 등의 각자의 방법론들이 존재했다. 그들은 문서 주도(drive)의, 무거운(heavyweight) 소프트웨어 개발 프로세스의 대안을 찾기 위해였다. 2001년, [[AgileDevelopment|AgileManifesto]]가 발표. [[XP]], [[SCRUM]], [[DSDM]], CrystalFamily 등의 각자의 방법론의 대표들이 함께.
Line 67: Line 66:

AgileManifesto를 자세히 살펴보자.
애자일 선언
Line 141: Line 139:
ChristopherAlexander. 유기적, 진화적 과정으로서의 건축. 이렇게 좋은거면 다른 분야에도 확산시키면 좋겠는데? 사실은 다른 분야의 영향들을 받은 것.
Line 143: Line 141:

그렇다면, 애자일 개발이란?
 * ChristopherAlexander: 유기적, 진화적 과정으로서의 건축.
 * NonakaIkujiro: 지식경영, 자기조직화 경영, HBS에 실린 TheNewNewProductDevelopmentGame.
 * 도요타의 LeanManufacturing 등
Line 155: Line 154:

남아있는 애자일 학파들은 OrgPatterns임. 나만의 PatternLanguage를 만들어보자.

2013년 6월 27일 (목), 오마실에서 애자일에 대해 소개하는 발표

부르스 페일러(Bruce Feiler): 가정을 위한 애자일 프로그래밍

http://www.ted.com/talks/bruce_feiler_agile_programming_for_your_family.html (자막)

부루스 페일러는 급진적인 아이디어를 가지고 있습니다. 현대 가정의 스트레스를 다루기 위해, 애자일 방법론을 사용하세요. 애자일 소프트웨어 프로그래밍에서 영감을 얻어, 페일러는 융통성과 아이들로부터의 아이디어와 지속적인 반응과 책임을 북돋아주는 가정 활동을 소개합니다. 한가지 놀라운 점은 아이들이 스스로 처벌을 정한다는 것이죠.

1. 항상 적응하라.

애자일 시스템의 위대한 점은 변화하는 시스템을 만드는 것이고, 그래서 실시간으로 일어나는 일에 대응할 수 있게 되지요. 6개월 전에 했던 일을 오늘 똑같이 한다면, 일을 잘못하고 있는 것입니다. 가족 식사 시간을 옮기는 것이 바로 융통성인거죠.

2. 아이들에게 힘을 실어주세요.

아이들이 스스로 자라도록 해주세요. 스스로 독립적이 되도록 연습할 기회를 주는 겁니다. 워렌 버핏의 은행가와 얘기할 때, 제가 아이들이 스스로 용돈을 가지고 실수하도록 내버려두지 않는다고 나무라더군요. 제가 "하지만 아이들이 막다른 곳으로 치닫는다면요?"고 하자, 그는 "6불의 용돈을 가지고 실수하는 것이 6만 불의 연봉이나, 6백만 불의 유산을 가지고 실수하는 것보다 훨씬 낫지요."라더군요.

3. 여러분의 이야기를 들려주세요.

큰 줄거리의 일부분으로 스스로를 인식하고 있는 아이가 더 큰 자신감을 가지고 있다고 합니다. 여러분의 이야기를 하라는 것입니다. 가족의 아름다웠던 순간들을 상기시켜주고 힘들었던 시간을 어떻게 극복했는지를 얘기하는데 시간을 투자하세요. 아이들에게 이 행복한 이야기를 해준다면 바로 아이들에게 스스로 더 행복해질 수있는 도구를 주는 것입니다.

IT 프로젝트의 현재

방대한 산출물

http://cfs12.tistory.com/image/27/tistory/2009/09/12/00/38/4aaa6edc16be4

돌이킬 수 없는 일정

http://www.microsoft.com/korea/Press/pressroom/2010/05/image/img_Project_2010.jpg

번거로운 보고체계

http://cfs9.blog.daum.net/original/22/blog/2008/02/27/21/16/47c554813d4b0&filename=업무프로젝트일정관리.jpg

결과는?

동부화재, 1500억 들인 차세대 사실상 ‘실패’

  • 자원 예측 실패 : 구입한 솔루션이 있는데, 프로젝트가 진행될수록 최초 산정 용량의 2~4배 규모가 필요하게 되어 자원 예측에 실패. 비용 증가 및 후반 투입 대응 불능.

  • 잦은 변경 : 프로그램 작성 과정에서 고객의 요구, 즉 동부화재의 프로그램 변경 요구가 많았다는 주장이 제기. 많은 공을 들여 프로그램을 작성하고, 화면을 제작해 화재 직원들을 상대로 확인을 거치면, 같은 업무에 대해 수차례 재작업 요구를 하는 등 발주처 횡포가 만만치 않았던 것으로 보인다. 당연히 기간은 정해져 있고, 업무량도 많은데 같은 업무를 수차례 반복하면서 일정을 맞추기 쉽지 않았다는게 업계 전언이다.

  • 폭탄 돌리기 : 연내 오픈 불가능하다는 판단이 서자, 이전의 총괄 상무를 경질하고, CIO가 투입되어 특단의 조치를 취함. 조직 내 주도권 싸움을 벌이며 그룹 감사 부서에 투서 및 진정이 난무.

외국 사례

  • 영국 국가보건서비스(NHS) IT 현대화 프로그램: 스케줄보다 2년 지체. 100억 달러의 예산이 초과. 주요 계약 업체 iSoft는 도산 일보 직전.
  • 미국 공군의 ERP 프로젝트: 2005년 시작, 2012년 폐기. 1억 달러 손실을 남기고 프로젝트 실패. 프로젝트를 계속할 경우 종료시까지 1억 달러 추가 예상. 2005년 계약 당시 오라클은 8천만 달러에 입찰.
  • The scariest software project horror stories of 2012

애자일의 형성

이전의 소프트웨어 개발은 문서 중심의, 무거운 개발 프로세스였음. 이에 더 나은, 현실적인 소프트웨어 개발 과정에 대한 고민들이 시작됨.

그 중 한 흐름이 애자일.

단어적인 의 뜻은 기민한, 민첩한, 유연한, 반응이 빠른

Agile

Inflexible

http://farm5.staticflickr.com/4106/5166720439_51d647dbe7_d.jpg

http://farm4.staticflickr.com/3559/3827630924_783414c013_d.jpg

(Photo by Sergey Yeliseev)

(Photo by Des Morris)

애자일 선언

2001년, AgileManifesto가 발표됨. XP, SCRUM, DSDM, CrystalFamily 등의 각자의 방법론의 대표들이 함께 모임.

애자일 선언

  • 공정과 도구보다 개인과 상호작용

  • 포괄적인 문서보다 작동하는 소프트웨어

  • 계약 협상보다 고객과의 협력

  • 계획을 따르기보다 변화에 대응하기

이전의 소프트웨어 개발은, '주문, 설계, 제작'의 one-pass로 이루어졌다.

애자일 선언 이면의 12가지 원칙

우리는 다음 원칙을 따른다:

  1. 우리의 최우선 순위는, 가치 있는 소프트웨어를 일찍 그리고 지속적으로 전달해서 고객을 만족시키는 것이다.

  2. 비록 개발의 후반부일지라도 요구사항 변경을 환영하라. 애자일 프로세스들은 변화를 활용해 고객의 경쟁력에 도움이 되게 한다.

  3. 작동하는 소프트웨어를 자주 전달하라. 두어 주에서 두어 개월의 간격으로 하되 더 짧은 기간을 선호하라.

  4. 비즈니스 쪽의 사람들과 개발자들은 프로젝트 전체에 걸쳐 날마다 함께 일해야 한다.

  5. 동기가 부여된 개인들 중심으로 프로젝트를 구성하라. 그들이 필요로 하는 환경과 지원을 주고 그들이 일을 끝내리라고 신뢰하라.

  6. 개발팀으로, 또 개발팀 내부에서 정보를 전하는 가장 효율적이고 효과적인 방법은 면대면 대화이다.

  7. 작동하는 소프트웨어가 진척의 주된 척도이다.

  8. 애자일 프로세스들은 지속 가능한 개발을 장려한다. 스폰서, 개발자, 사용자는 일정한 속도를 계속 유지 할 수 있어야 한다.

  9. 기술적 탁월성과 좋은 설계에 대한 지속적 관심이 기민함을 높인다.

  10. 단순성이 -- 안 하는 일의 양을 최대화하는 기술이 -- 필수적이다.

  11. 최고의 아키텍처, 요구사항, 설계는 자기 조직적인 팀에서 창발한다.

  12. 팀은 정기적으로 어떻게 더 효과적이 될지 숙고하고, 이에 따라 팀의 행동을 조율하고 조정한다.

사실 너무 많다. 배경이나 구조화가 이루어지지 않으면 각자각자로 보인다.

누가 썼는가? 그들의 배경의 공통점은 무엇인가? 어디서 영향을 받았는가? 그 원류는 애자일 이외의 다른 분야에 어떤 영향을 주었는가?

뭐가 좋은가?

VersionOne이라는 회사에서 매년 애자일 도입 현황 조사를 한다. 다음은 2011년 레포트 결과 중 일부이다.

왜 애자일을 도입했는가?

  1. 생산성 향상을 위해 (83%)
  2. 시장 출시 속도(time to market)를 가속화하기 위해 (80%)
  3. 변화하는 우선순위에 대응하기 위해 (77%)

애자일 도입으로 얻은 효과는?

  1. 변화하는 우선순위를 대응할 수 있는 능력 (84%)
  2. 프로젝트 가시성(visibility) 향상 (77%)
  3. 생산성 향상 (75%)
  4. 팀 사기 향상 (72%)
  5. 빠른 시장 출시(time to market) (71%)

도입한 애자일 기법

  1. Daily Scrum (78%)
  2. Iteration Planning (74%)
  3. Unit Testing (70%)
  4. Release Planning (65%)
  5. Burndown (64%)
  6. Retrospective (64%)
  7. Continuous Integration (54%)
  8. Automated Builds (53%)
  9. Velocity (52%)
  10. Coding Standards (51%)

세일즈 조직의 Scrum 도입 사례

세일즈 조직의 Scrum 도입 사례

교회 조직의 Scrum 도입 사례

흥미로운 점

개개인과 상호 의사소통을 중요시한다. XP에서는 그걸 아예 극도의 실천방법을 통해서 실현한다. 아예 업무 자체를 짝프로그래밍이라는 방식으로 하는 것이다. 보통 회사에서 상호 의사소통과 개개인을 강조하려면, 업무 자체의 프로세스는 그대로 둔 채, 회식을 하거나 단합대회를 하는 등을 한다. 그런데 XP는 아예 업무 형태 자체를 바꾸어버렸다.

현재 하고 있는 것을 어떻게 더 낫게 할까? 추구하는 가치가 잘 반영되게 하려면 어떤 모양으로 바꿔볼 수 있을까를 곰곰히 생각하고 반영하는 것. 프로세스(패턴) 자체도 생성적이다.

시대적 배경

이렇게 좋은거면 다른 분야에도 확산시키면 좋겠는데? 사실은 다른 분야의 영향들을 받은 것.

기타 분야에의 적용

기타 분야의 Agility 적용

  • AgileChurch

  • 디지털 싱글 음반
  • 유니클로 소량 생산
  • 도요타 생산 시스템
  • Lean Publishing

실제 적용하는데 어려움

Growing Mindset & Fixed Mindset

정해진대로 해서는 도로 고정된 process가 되어버린다. 생성적으로, 패턴화하면서 적응해가야 한다.

참고자료

에토 코이치로, “패턴, Wiki 그리고 XP: 시간을 초월한 창조의 원칙 ”,제이펍, 2010

  • 위키피디아 등으로 널리 알려진 웹 형태인 Wiki, 애자일 학파 중 하나인 eXetreme Programming의 사상적 원리를, 그 둘이 공통적으로 뿌리로 가지고 있는 크리스토퍼 알렉산더의 사상과 역사적인 변천사 등을 통해 알아볼 수 있습니다.

켄트 백, 신시아 안드레스, "익스트림 프로그래밍", 인사이트, 2006

  • 익스트림 프로그래밍에 대한 가장 권위있는 책입니다.

AC Sutherland, J Sutherland, "Scrum in Church: Saving the world one team at a time", Agile Conference, 2009

  • SCRUM의 창시자 중 한 사람인 제프 서덜랜드가 4개 교회에 스크럼을 도입해본 경험을 쓴 논문입니다.

R van Solingen, J Sutherland, “Scrum in sales: How to improve account management and sales processes”, Agile Conference, 2011

  • 역시 서덜랜드가 세일즈 조직에 스크럼을 도입해본 경험을 쓴 논문입니다.

오이씨 마실 - 애자일 소개 (last edited 2020-01-05 12:03:57 by 정수)