Archive for the ‘Agile’ Category

마이크로소프트에서도 애자일 개발(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)에 대해서 알아보겠다. 아마 이 글이 마이크로소프트에서 애자일을 지원하는데 있어 근간을 이루지 않을까 싶다.

Cutting an Agile Groove: The Live Sessions

Thursday, September 29th, 2011

Cutting an Agile Groove is a series of videos by respected agile consultant David Hussman that shows you how to design an agile, lean process and deliver real value for your product or project—in plain English, with real-world examples.

The Pragmatic Bookshelf provides 10 min free introduction video (10 min, QuickTimeiPhone/iPodOgg) for Cutting an Agile Groove video series. It is worth watching! You can get information in detail from http://pragprog.com/screencasts/v-dhcag/cutting-an-agile-groove.

The above picture is an interesting "Dude's Law" he introduced. I really like and agree with "Value = Why / How". If we do pay attention to only "How (to solve)" without "Why (we need to solve)", then the "Value" of our product will be dropped.

When you face with new problem in software development, as well as in your life, please do concentrate more on "Why" too.

Top 100 Agile Books (Edition 2011)

Monday, August 15th, 2011

Trackback from : http://www.typepad.com/services/trackback/6a00e54ff8b9c18834014e8a8f5ba9970d

It is time to read "Agile" books! I have finished only 1~2 books in the list. To understand and exercise "Agile Practice", the best starting point will be reading the recommended books. Moreover the #1 book introducing .NET Unit Testing will give you additional perspective in software development, even though you never know about .NET.

Congratulations are in order for Roy Osherove, who pushed Mike Cohn away from the #1 slot, and Jonathan Rasmussen, the highest new entry this year with The Agile Samurai. Other high new entries are Specification by Example(Gojko Adzic), The Clean Coder (Bob Martin), The Elements of Scrum (Chris Sims), The Concise Executive Guide to Agile (Israel Gat) and Management 3.0(hey, that’s me!).

TY LY Title Author(s) Year
1 5 The Art of Unit Testing: With Examples in .Net Roy Osherove 2009
2 1 Agile Estimating and Planning Mike Cohn 2005
3 3 Working Effectively with Legacy Code Michael Feathers 2004
4 8 Kanban: Successful Evolutionary Change for Your Technology Business David J. Anderson 2010
5 9 Succeeding with Agile: Software Development Using Scrum Mike Cohn 2009
6 2 Clean Code: A Handbook of Agile Software Craftsmanship Robert C. Martin 2008
7 6 Agile Software Development, Principles, Patterns, and Practices Robert C. Martin 2002
8 4 Refactoring: Improving the Design of Existing Code Martin Fowler, et al. 1999
9 - The Agile Samurai: How Agile Masters Deliver Great Software Jonathan Rasmusson 2010
10 7 The Pragmatic Programmer: From Journeyman to Master Andrew Hunt, David Thomas 1999
11 11 User Stories Applied: For Agile Software Development Mike Cohn 2004
12 10 Growing Object-Oriented Software, Guided by Tests Steve Freeman, Nat Pryce 2009
13 32 The Principles of Product Development Flow: Second Generation Lean Product Development Donald G. Reinertsen 2009
14 14 The Art of Agile Development James Shore, Shane Warden 2007
15 23 Scrum and XP from the Trenches Henrik Kniberg 2007
16 12 Lean Software Development: An Agile Toolkit Mary Poppendieck, Tom Poppendieck 2003
17 13 Domain-Driven Design: Tackling Complexity in the Heart of Software Eric Evans 2003
18 16 Agile Principles, Patterns, and Practices in C# Robert C. Martin, Micah Martin 2006
19 17 Agile Testing: A Practical Guide for Testers and Agile Teams Lisa Crispin, Janet Gregory 2009
20 24 Implementing Lean Software Development: From Concept to Cash Mary Poppendieck, Tom Poppendieck 2006
21 18 Practices of an Agile Developer: Working in the Real World Venkat Subramaniam, Andy Hunt 2005
22 15 Making Things Happen: Mastering Project Management Scott Berkun 2008
23 57 Beautiful Testing: Leading Professionals Reveal How They Improve Software Adam Goucher, Tim Riley 2009
24 19 Behind Closed Doors: Secrets of Great Management Johanna Rothman, Esther Derby 2005
25 34 Crystal Clear: A Human-Powered Methodology for Small Teams Alistair Cockburn 2004
26 28 Agile Coaching Rachel Davies, Liz Sedley 2009
27 20 Applied Software Project Management Andrew Stellman, Jennifer Greene 2005
28 21 Agile Project Management: Creating Innovative Products (2nd Edition) Jim Highsmith 2009
29 22 xUnit Test Patterns: Refactoring Test Code Gerard Meszaros 2007
30 31 Manage Your Project Portfolio: Increase Your Capacity and Finish More Projects Johanna Rothman 2009
31 26 Writing Effective Use Cases Alistair Cockburn 2000
32 - Specification by Example: How Successful Teams Deliver the Right Software Gojko Adzic 2011
33 41 Managing the Design Factory Donald G. Reinertsen 1997
34 - The Clean Coder Robert C. Martin 2011
35 29 Agile Retrospectives: Making Good Teams Great Esther Derby, Diana Larsen 2006
36 39 Agile Project Management with Scrum Ken Schwaber 2004
37 30 Agile Adoption Patterns: A Roadmap to Organizational Succes Amr Elssamadisy 2008
38 27 Refactoring to Patterns Joshua Kerievsky 2004
39 40 Extreme Programming Explained: Embrace Change (1st+2nd Edition) Kent Beck, Cynthia Andres 1999
40 37 The Productive Programmer Neal Ford 2008
41 60 Agile Product Management with Scrum: Creating Products that Customers Love Roman Pichler 2010
42 25 Agile and Iterative Development: A Manager's Guide Craig Larman 2003
43 68 Stand Back and Deliver: Accelerating Business Agility Pollyanna Pixton, Niel Nickolaisen, Todd Little, Kent McDonald 2009
44 - The Elements of Scrum Chris Sims, Hillary Louise Johnson 2011
45 - Management 3.0: Leading Agile Developers, Developing Agile Leaders Jurgen Appelo 2011
46 47 Test Driven Development: By Example Kent Beck 2002
47 36 Agile Software Development with Scrum Ken Schwaber, Mike Beedle 2001
48 - The Concise Executive Guide to Agile Israel Gat 2010
49 48 Continuous Integration: Improving Software Quality and Reducing Risk Paul M. Duvall, Steve Matyas, Andrew Glover 2007
50 - Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation Jez Humble, David Farley 2010
51 35 Requirements by Collaboration Ellen Gottesdiener 2002
52 42 Manage It!: Your Guide to Modern, Pragmatic Project Management Johanna Rothman 2007
53 45 Scaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale Scrum Craig Larman, Bas Vodde 2008
54 38 Organizational Patterns of Agile Software Development James O. Coplien, Neil B. Harrison 2004
55 43 Leading Lean Software Development: Results Are not the Point Mary Poppendieck, Tom Poppendieck 2009
56 51 Ship it! A Practical Guide to Successful Software Projects Jared Richardson, William A. Gwaltney 2005
57 86 Kanban and Scrum - Making the Most of Both Henrik Kniberg, Mattias Skarin 2010
58 71 Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition Lyssa Adkins 2010
59 49 Collaboration Explained: Facilitation Skills for Software Project Leaders Jean Tabaka 2006
60 55 Beyond Software Architecture: Creating and Sustaining Winning Solutions Luke Hohmann 2003
61 50 Changing Software Development: Learning to Become Agile Allan Kelly 2008
62 80 Innovation Games: Creating Breakthrough Products Through Collaborative Play Luke Hohmann 2006
63 70 Just Enough Requirements Management: Where Software Development Meets Marketing Alan Mark Davis 2005
64 52 Agility and Discipline Made Easy: Practices from OpenUP and RUP Per Kroll, Bruce MacIsaac 2006
65 61 Implementation Patterns Kent Beck 2006
66 62 Extreme Programming Installed Ron Jeffries, Ann Anderson, Chet Hendrickson 2000
67 56 Beautiful Teams: Inspiring and Cautionary Tales from Veteran Team Leaders Andrew Stellman, Jennifer Greene 2009
68 53 Refactoring Databases: Evolutionary Database Design Scott W. Ambler, Pramodkumar J. Sadalage 2006
69 88 Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing Gojko Adzic 2009
70 58 Managing Agile Projects Sanjiv Augustine 2005
71 46 Agile Software Development: The Cooperative Game (2nd Edition) Alistair Cockburn 2006
72 81 Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results David J. Anderson 2003
73 73 Becoming Agile: ...in an Imperfect World Greg Smith, Ahmed Sidky 2008
74 66 Emergent Design: The Evolutionary Nature of Professional Software Development Scott L. Bain 2008
75 75 Test Driven: TDD and Acceptance TDD for Java Developers Lasse Koskela 2007
76 83 The Software Project Manager's Bridge to Agility Michele Sliger, Stacia Broderick 2008
77 - Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration Ken Pugh 2011
78 63 Agile Excellence for Product Managers: A Guide to Creating Winning Products with Agile Development Teams Greg Cohen 2010
79 54 Managing Agile Projects Kevin J. Aguanno 2005
80 69 A Tale of Two Systems: Lean and Agile Software Development for Business Leaders Michael K. Levine 2009
81 67 Fearless Change: Patterns for Introducing New Ideas Mary Lynn Manns, Linda Rising 2004
82 64 Balancing Agility and Discipline: A Guide for the Perplexed Barry Boehm, Richard Turner 2003
83 79 Patterns of Agile Practice Adoption Amr Elssamadisy 2007
84 - Lean Architecture: for Agile Software Development James O. Coplien, Gertrud Bjørnvig 2010
85 59 Lean-Agile Software Development: Achieving Enterprise Agility Alan Shalloway, Guy Beaver, James R. Trott 2009
86 84 Business Agility: Sustainable Prosperity in a Relentlessly Competitive World Michael H. Hugos 2009
87 - Just Enough Software Architecture: A Risk-Driven Approach George H. Fairbanks 2010
88 78 Principles of Software Development Leadership: Applying Project Management Principles to Agile Software Development Ken Whitaker 2009
89 77 A Practical Guide to Distributed Scrum Elizabeth Woodward, Steffan Surdek, Matthew Ganis 2010
90 76 The Business Value of Agile Software Methods: Maximizing Roi With Just-in-time Processes and Documentation David F. Rico, Hasan H. Sayani, Saya Sone 2009
91 - Personal Kanban: Mapping Work | Navigating Life Jim Benson, Tonianne DeMaria Barry 2011
92 74 Agile Game Development with Scrum Clinton Keith 2010
93 - Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise Dean Leffingwell 2010
94 85 The Enterprise Unified Process: Extending the Rational Unified Process Scott W. Ambler, John Nalbone, Michael J. Vizdos 2005
95 - Managing Software Debt: Building for Inevitable Change Chris Sterling 2010
96 82 Project Management the Agile Way: Making It Work in the Enterprise John C. Goodpasture 2009
97 - Agile Software Development with Distributed Teams Jutta Eckstein 2010
98 - SDLC 3.0: Beyond a Tacit Understanding of Agile Mark Kennaley 2010
99 33 Scaling Software Agility: Best Practices for Large Enterprises Dean Leffingwell 2007
100 95 Test-Driven Development: A Practical Guide David Astels 2003

TY = position this year

LY = position last year

Agile 2011 Conference…

Friday, August 12th, 2011

Today is the last day of Agile 2011 Conference!

Agile Alliance 2011

http://agile2011.agilealliance.org/

In this year, they have a special "The Agile Manifesto Reunion." for the 10th Anniversary Reunion of the Agile Manifesto Signatories.

I'm really expecting the outputs and experiences, e.g. presentation file and blog articles.

If you have heard about "Agile" in software development, then please do keep watching this conference.

왜 애자일(Agile) 개발자가 되기 힘들까?

Monday, November 8th, 2010

트위터에서 알게 된 한빛 미디어 기사 번역 서비스에서 관심있는 주제가 있어서 신청하고 번역을 했다. 공부도 되고,  다음에 한빛 미디어 도서를 구매할 때 사용할 수 있는 이코인도 주기 때문에 자주 참여해야 할 것 같다. :)

원문은 Tom Barker의 Why Aren't You Agile?이고 번역기사는 왜 애자일(Agile) 개발자가 되기 힘들까? 이다.

사실 애자일에 대해서 설명하는 글은 아니고, 필자가 애자일을 프로젝트에 적용하면서 어렵다고 느꼈던 부분에 대해서 써 내려간 일기 형식의 글이라는 표현이 더 어울릴 것 같다.

길지 않은 글이고 깊게 생각하게 만드는 글은 아니니 잠깐 짬 내서 읽어보면 좋을 것 같다.

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

왜 애자일(Agile) 개발자가 되기 힘들까?

소프트웨어를 개발하면서 스크럼(Scrum) 또는 다른 애자일 개발방법론을 적용하고 있지 않다면, 아직도 애자일을 실천하지 못하는 이유가 무엇인지 생각해봐야 할 때가 온 것 같다. 지금까지 여러 다른 회사에서 일해왔지만, 거의 모든 회사들이 애자일을 실천하기 위해서 모든 노력을 기울이곤 했다. 하지만 애자일을 실천하는 회사가 되기 위한 다방면의 지원에도 불구하고, 여러가지 이유로 실패하는 경우가 대부분이다. 왜 그럴까?

이 글에서는 애자일을 실천하는데 내가 경험했던 가장 큰 걸림돌이 무엇인지 그리고 그러한 걸림돌을 어떻게 하면 해결해 나갈 수 있는지에 대해서 소개하려고 한다. 사실 애자일을 도입하고 실천함에 있어 가장 큰 도움이 되는 것은 "애자일 전도사(evangelist)"이다.

외부 걸림돌 - 애자일을 오해하고 있는 비지니스 팀과 사장님

사실 이 문제가 내가 겪은 가장 큰 어려움이었다. 일반적으로 회사를 이끌어 나가는 경영자의 경우 애자일 개발자들은 관리하기 힘들다는 오해나 애자일에 대해서 잘 모른다는 이유로, 개발자들이 애자일을 받아들이는 것을 반대하기 쉽다. 하지만 개발자들이 애자일을 받아들이고 나서 가장 큰 이득을 얻게 되는 사람들은 개발자들 자기 자신이 아니라, 바로 비지니스 팀이다. 개발자들이 애자일을 받아들이게 되면, 비지니스 팀이 현재 개발이 진행중인 자사의 제품 뿐만 아니라 산업 전반의 흐름을 한 눈에 볼 수 있도록 도와주고, 짧은 주기를 가지고 릴리즈되는 제품에 새로운 기능들을 추가하는 일련의 작업들을 이전보다 더 쉽게 만들어준다. 사실 폭포수(Waterfall) 개발 방법론을 사용하는 프로젝트에서는, 이미 개발이 시작된 상태에서 기존에 논의되지 않았던 새로운 기능을 추가하려고 하면, 개발 기간이 많이 지연된다거나 아니면 다음 릴리즈에서나 추가가 가능하다는 답변을 받기가 쉽다.

회사를 이끌어 나가는 경영자들이 이러한 경험을 한 번이라도 하게 된다면, 애자일의 열렬한 지지자가 될 것이다.

내부 걸림돌 - 개발팀 내부에서의 반발

어떤 사람이 5년, 10년 또는 20년 동안 동일한 일을 해 왔다면, 변화를 두려워하는 것이 당연할 것이다. 정말 솔직하게 털어놓자면, 폭포수 개발 방법론을 사용하는 프로젝트에서는 개발자가 매일 매일 자신이 하는 일들을 관리자나 경영진에게 어느 정도 감추는 것이 가능하다. 하지만, 프로젝트가 애자일을 받아들이게 되면, 프로젝트에 관여하고 있는 모든 사람들이 프로젝트의 진행 상황을 매일 매일 직접 확인할 수 있다.

개발자들이 부담을 가질 수도 있겠지만, 개발자에게 결코 나쁜 것만은 아니다!

폭포수 개발 방법론을 실제로 사용한 적이 있다면, 여러개의 프로젝트를 동시에 진행했던 경험이 있을 것이다. 그 중에 꽤 많은 프로젝트들이 단지 경영진들의 우선순위가 바뀌어서 지연되거나 심지어는 무산되기도 한다. 때로는 경영진들이 우선순위를 다시 정하거나, 전체 프로젝트의 범위를 바꾸면서도, 한달내로 마무리 하라는 무리한 요구를 하기도 한다.

프로젝트에 애자일을 적용하게 되면, 릴리즈의 주기가 짧아져서 자주 바뀌는 경영진들의 요구를 만족시켜줄 수 있다. 개발자가 새로 추가한 부분들이 일주일 단위로 실제 서비스에 포함될 가능성을 가지고 있는 것이다. 애자일 코치(스크럼 마스터)는 이미 개발자에 의해 구현된 부분을 가지고 경영진과 프로젝트를 조율할 수 있고, 개발자는 그 프로젝트에 더 이상 신경쓰지 않고 자신이 하던 일에 집중할 수 있게 된다. 프로젝트의 모든 기능들은 개발자와 경영진이 더 쉽게 이해하고 접근할 수 있도록 작은 단위로 쪼개어져서 관리되고 개발되어진다.

애자일을 적용하는 개발팀이 어떻게 개발을 진행하는지 실제로 느껴보기 위해서라도, 한달만이라도 애자일 개발자가 되어보는 것은 어떨까?

프로젝트 팀원들이 애자일에 대한 지식이 없을때

개발부서라면 당연히 교육에 대한 예산이 있어야 한다고 생각한다. 현재 일하고 있는 부서에 이런 예산이 없다면, 그것은 애자일을 적용하는 것보다 더 심각한 회사 조직에 관한 이슈가 될 것이다. 교육을 위한 예산이 있다면, 개발자들을 애자일 교육에 보내도록 해라.

개발팀의 관리자들과 개발자들을 차례 차례 모두 교육에 보내서, 모든 프로젝트 팀원들이 애자일이 무엇인지 배워서 실제 프로젝트에 적용할 수 있도록 지원해보자. 경영진들 또한 애자일 교육에 가서 직접 느껴보는 것이, 짧은 시간내에 큰 문제없이 애자일을 도입할 수 있는 방법이 될 수도있다.

망설임 또한 폭포수 개발 방법론을 계속 사용하겠다는 또 다른 결정이다

개발 부서가 애자일을 새로운 개발 방법론으로 받아들이는 것에 실패한다면, 계속해서 폭포수 개발 방법론을 사용하겠다는 결정으로 받아들일 수 있다. 망설임 또한 또 다른 결정이다.

이러한 설득에도 불구하고 애자일을 받아들이는 것이 계속 망설여 지는 경우라면, 가장 효과적인 방법은 당신이 직접 애자일 전도사가 되는 것이다. 지금은 애자일 전도사가 당신 혼자일지라도 여러가지 새로운 아이디어를 내서, 그들의 마음이 바뀌도록 노력해 보자. 지금까지 함께 나눈 나의 경험들이 도움이 될 것이다.

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

Monday, July 5th, 2010

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

출처: 사랑밭 새벽편지

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

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

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

애자일 선언문의 바탕이 되는 신념

Thursday, May 13th, 2010

지난 번에는 애자일 소프트웨어 개발 선언문을 번역을 했었는데, 이번에는 좀 더 자세한 애자일 선언문의 바탕이 되는 기본 원칙들을 번역해 보았다.  원문은 http://agilemanifesto.org/principles.html 에서 확인할 수 있다.

애자일 선언문의 바탕이 되는 신념

우리는 다음과 같은 신념을 지키고 따른다:

우리에게 가장 중요한 것은
가치있는 소프트웨어를 좀 더 빨리 그리고 계속적으로 제공함으로써
고객들을 만족시키는 것이다.

개발의 마지막 단계에서 요구 사항이 변경된다 할지라도 기꺼이 받아들인다.
 애자일 프로세스는 고객들이 더 큰 경쟁력을 가질 수 있도록
언제든지 요구 사항의 변경을 지원한다.

동작하는 소프트웨어를 자주 고객들에게 제공한다.
몇 주에 한번, 또는 몇 달에 한번이 될 수도 있겠지만,
그 기간을 최대한 줄이기 위해 노력한다.

비지니스 담당자와 개발자는 프로제트가 진행되는 동안
항상 협조하며 매일 매일 함께 일한다.

프로젝트 참여자들에게 동기를 부여한다.
프로젝트가 성공할 것이라고 믿음을 가지고,
그들이 원하는 환경을 만들어주고 최대한 지원한다.

개발팀의 내,외부적으로 모든 정보들을 공유하며 전달할수 있는
가장 유용하고 효과적인 방법은
서로 얼굴과 얼굴 맞대고 대화하는 것이다.

프로젝트의 진척 상태를 확인할때 가장 기본이 되는 것은 소프트웨어가 동작하는지 보는 것이다.

애자일 프로세스는 지속적인 개발이 가능할 수 있도록 도와준다.
스폰서, 개발자, 사용자 모두 프로젝트가 끊임없이 계속 진행될 수 있도록 노력해야 한다.

새로운 우수한 기술들과 더 좋은 설계에 지속적으로 관심을 가진다.

꼭 필요한 일만 할 수 있도록 도와주는 단순성(Simplicity)은 항상 염두에 두어야 하는 꼭 필요한 것이다

내부적으로 스스로 발전하는 팀들만이
최고의 아키텍처, 요구사항, 설계를 가질 수 있다.

주기적으로 어떻게 하면 더 효과적인 팀이 될 수 있는지 고민해야 한다.
그리고 그 고민에서 나온 아이디어들을 행동에 옮겨라.