Posts Tagged ‘애자일’

마이크로소프트에서도 애자일 개발(Agile Development)을 지원한다?!

Friday, April 20th, 2012

이미지 출처: Manifesto for Agile Software Development


애자일 개발(Agile Development)이라고 하면 웬지 큰 기업이 아닌 작은 기업에서만 받아들이고 적용할 것 같은 오해가 있다. 예를 들면, 마이크로소프트와 같은 큰 기업에서는 애자일을 사용하지 않을 것 같고, 작은 벤처로 시작한 구글과 같은 기업에서 웬지 많이 사용될 것 같은 생각이 든다. 하지만 마이크로소프트는 이미 애자일을 지원하는 개발툴까지 있다고 하면 믿을 수 있겠는가? 또한 애자일의 대표격인 스크럼(Scrum)의 아버지라고 불릴 수 있는 Jeff Sutherland가 마이크로소프트의 애자일 부분을 여러모로 도와주고 있는 것 같다. (스크럼은 1993년에 Jeff Sutherland와 Ken Schwaber에 의해서 만들어졌다.) 오늘은 마이크로소프트에서 지원하고 있는 애자일 분야에 대해서 아주 간단하게 이론적인 것들만 소개 하고자 한다. 사실 사용해보지를 않아서 MSDN(MicroSoft Developer Network: 마이크로소프트 개발자 네트워크)에서 제공하는 애자일 관련 문서들만 소개하려고 한다.

마이크로소프트 비주얼 스튜디오(Microsoft Visual Studio) 2010에서는 애플리케이션 수명 주기 관리(ALM: Application Life-cycle Management)의 소스 및 형상관리, 리포팅, 테스팅 등 모든 업무를 통합 지원하고 있다. (참고: http://www.microsoft.com/korea/press/pressroom/2010/04/04.aspx) 애플리케이션 수명 주기 관리에서도 프로젝트 계획과 추적(Visual Studio Application Lifecycle ManagementPlanning and Tracking Projects)에 대한 MSDN의 설명을 보면 성공하는 프로젝트들이 가지는 특징을 다음과 같이 소개하고 있다.

  이미지 출처: http://msdn.microsoft.com/en-us/library/dd286619.aspx

(* 사실 한글 문서도 지원하고 있고, 자동 번역이 아니라고 명시되어 있음에도 이해하기 어렵거나 오해를 불러올 수 있는 번역들이 있어서 직접 번역/의역을 했다.)

  • 고객의 요구(the needs of the customers)에 따라 프로젝트가 나아가는 방향이 결정된다.
  • 프로젝트를 완료하기 위한 상위 레벨의 계획(high-level plan)을 가지고 있다.
  • 여러 번의 반복(several iterations)을 통해 제품을 개발하면서 진행 상황에 따라, 필요하다면 이미 가지고 있는 상위 레벨의 계획(high-level plan)도 프로젝트가 나아가는 방향에 따라 수정할 수 있다.
  • 프로젝트에 변경 사항이 발생했을 때, 이러한 변경사항들을 잘 받아들일 수 있는 효율적인 툴들을 팀원들이 사용하고 있다.

또한 프로세스 가이드로 다음과 같은 3가지의 제품들을 지원하고 있다.

역시 마이크로스프트 답게 스크럼, 애자일 그리고 CMMI까지 지원하고 있다. 각각의 제품들에 대한 자세한 사항들은 링크를 통해서 확인할 수 있다. 여기에서는 MSF for Agile Software Development v5.0에 대해서 좀 더 살펴보겠다. 링크를 클릭해서 들어가보자.

우선 다음과 같은 간단한 소개가 나온다.

Your team can apply agile practices more easily by using the process template for MSF for Agile Software Development v5.0 with Visual Studio Application Lifecycle Management (ALM). The template and this guidance will help you practice Scrum and apply agile engineering practices. These processes and practices come from Scrum, eXtreme Programming, and other agile methodologies, as Agile Principles and Values, by Jeff Sutherland describes.

비쥬얼 스튜디오 애플리케이션 수명 주기 관리 패키지에 포함되어 있는 MSF for Agile Software Development V5.0에서 제공하는 프로세스 템플릿을 사용하면 애자일 실천사항(agile practices)을 더 쉽고 간단하게 팀에 적용할 수 있다. 제공되는 템플릿과 이 가이드가 스크럼을 사용하고 애자일에서 말하는 여러가지 실천사항들을 적용하는데 큰 도움이 될 것이다.  여기에서 소개하고 있는 프로세스들과 실천사항들은, Jeff Sutherland가 이야기하는 애자일 원칙과 가치(Agile Principles and Values)에서 설명하는 것처럼 스크럼, 익스트림 프로그래밍(XP: eXtreme Programming)과 다른 여러 애자일 방법론(agile methodology)들에 그 뿌리를 두고 있다.

이 소개에 이어서 단순해 보이면서도 애자일 개발의 큰 그림을 볼 수 있고, 마이크로소프트가 애자일 개발 중에서도 어떤 부분을 중요시 여기는지를 볼 수 있는 다음과 같은 그림을 소개하고 있다.

 

또한 더 자세한 정보들은 다음과 같은 하위항목들을 통해서 설명하고 있다. 링크를 클릭하면 더 자세한 정보들을 볼 수 있다.

각각의 링크를 클릭해서 정보들을 보면 알겠지만, 아주 자세한 실제적인 설명보다는 좀 더 개념에 치우친 간단한 설명들이 나온다. 하지만 그것만으로도 마이크로소프트가 어떻게 애자일을 생각하고 지원하고 있는지 이해할 수 있을 것이다. 기회가 된다면 MSF for Agile Software Development V5.0을 한번 사용해 보고 싶다. 어느 정도까지 지원을 하고 있는지...

각각에 대한 설명들은 관심있으신 분들은 들어가서 읽어보시기를 권한다. 다음에는 이 자세한 설명들 보다는 위에서도 잠깐 언급되었던, 스크럼의 아버지라고 불릴 수 있는 Jeff Sutherland가 쓴  애자일 원칙과 가치(Agile Principles and Values)에 대해서 알아보겠다. 아마 이 글이 마이크로소프트에서 애자일을 지원하는데 있어 근간을 이루지 않을까 싶다.

공자의 눈높이 교육 VS 애자일 철학

Monday, July 5th, 2010

오늘 우연히 보게된 "공자의 눈높이 교육"...

출처: 사랑밭 새벽편지

이 카툰을 보면서 웬지 교육뿐만이 아니라 애자일 철학에 더 나아가 삶에도 적용되는 일화는 아닐까 생각해 봅니다.

이 세상에 몇 십억의 사람들이 살고있다 할지라도 똑같은 사람은 하나도 없고, 그래서 100% 동일한 상황에 처할수도 없습니다. 한 사람에게, 그리고 그 사람에게 주어진 환경에서 정답이 A라고 하여도, 언뜻 보기에 비슷한 환경에 처한 사람에게도 정답이 A라고 할 수는 없습니다.

그래서 어렵고도 재미있는 세상이 아닐까 싶습니다. ^^

애자일! 애자일답다? 애자일스럽다?

Monday, April 26th, 2010

애자일 소프트웨어 개발이 많은 관심을 받으면서, 여러가지 질문들과 의견들이 끊이지 않고 나오는 것 같다.

그 중에서도 가장 많은 질문이 "그렇다면 정말 애자일은 무엇인가?"라는 질문이 아닐까 싶다. 그리고 "애자일 답다.", "애자일스럽다."라는 말들은 무슨 의미를 가지고 있는지에 대해서도 많은 이야기들이 오고 가는 것 같다? 이런 질문에 대답하기 위해서는, 아무래도 처음으로 돌아가 보는 것이 가장 근접하지 않을까 싶다. 애자일이라는 말을, "애자일 소프트웨어 개발"이라는 말을 처음으로 만든 사람들이 정답을 알고 있을 것이다.

영문으로는 http://agilemanifesto.org/에서 확인할 수 있다. 아래는 제가 직접 번역한 것이고, 직역보다는 의역을 하면서 제가 강하게 느꼈던 부분들이 강조될수도 있다. 개인적인 의견이지 정답은 아니므로, 동의하지 못하는 부분은 원문을 참고하길 바란다.

애자일 소프트웨어 개발 선언문

우리는 소프트웨어를 개발하는 더 나은 방법을 소개하고자 한다.
이 방법들을 직접 실천할 수도 있고,
함께 일하는 다른 개발자가 실천할 수 있도록 도와줄 수도 있다.
이 방법들을 실천함으로써, 우리는 다음과 같은 가치에 도달할 수 있다:

----------------------------------------------------------------------------------------------------------

개개의 구성원과
구성원들 사이의 유대감

| (프로세스나 툴)을 넘어서는

실제 동작하는 소프트웨어

| (포괄적이고 이해 가능한 문서)를 넘어서는

 고객들과 지속적인 상호 협력

| (계약 협상)을 넘어서는

변화에 기꺼이 반응

| (계획에 따른 진행)을 넘어서는

----------------------------------------------------------------------------------------------------------

오른쪽 괄호안에 언급된 것들에도 가치가 있지만
왼쪽에 언급된 것들에 더 큰 가치를 둔다. 

Kent Beck
Mike Beedle
Arie van Bennekum
Alistair Cockburn
Ward Cunningham
Martin Fowler
James Grenning
Jim Highsmith
Andrew Hunt
Ron Jeffries
Jon Kern
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
Dave Thomas