Agile Software Requirements - Dean Leffingwell

팀 단위의 Scrum을 진행하다가, 좀 더 큰 규모로 넓히기 위한 프랙티스를 공부하는 중입니다.
공부하면서 조금씩 채워지는 페이지입니다.

Agile Software Requirements, Lean Requirements Practices for Teams Programs and the Enterprise (Dean Leffingwell) 라는 책을 보고 있어요.

전체 구성

큰 조직이 애자일 프레임웍을 갖추려면 어떤 모양이 이상적인지, 그것을 요구사항의 관점에서 풀어내고 있는 책으로 아래와 같이 파트 4개로 구성되어 있다.

Part I Overview: The Big Picture
책 전체의 오버뷰로 대규모 조직에서는 어떤 모양새로 팀을 꾸리고, 큰 조직의 모양을 짜야할지에 대한 내용이 담겨있다.

Part II Agile Requirements for the Team
팀 레벨에서 다루어야 하는 역할, 산출물, activity 등에 대해 기술하고 있다.
혹시 회사에서 스크럼을 접해봤다면 그것이 바로 팀 레벨에서 수행되는 것의 일부일 것이다. 밖에서 스크럼을 접해봤더라도 아마 팀 레벨이 대부분일 것이고 아주 미미하게 프로그램 레벨이지 않을까 생각됨.

Part III Agile Requirements for the Program
프로그램 레벨, 즉 제품 레벨에서 필요한 역할, 산출물, activity 에 대해 기술하였다.
우리는 제품을 만들고 있기 때문에 실질적으로 이 부분에서 수행되는 것들에 대해서 고민하고 다루어야 한다. (개인적인 생각)

Part IV Agile Requirements for the Portfolio
그래서 대규모 조직이 이미 애자일 조직으로 꾸려져 있고 자리를 잡은 상태라면 ‘전체적인 포트폴리오를 어떻게 가져갈까’에 대한 부분이다.
Agile을 잘하고 있고 그래서 enterprise agile을 고민한다는 많은 회사들을 보면 그 규모가 많아봤자 500명 정도가 아닐까 싶다. 게다가 우리회사는 SW뿐만 아니라 HW가 완제품으로 나가는 조직이기 때문에 그 인원을 산정하면 수천단위로 늘어난다. 이런 조직에서의 agile을 전파하고, 수행하며, 경험해본 사람은 많지 않을거라 본다. 하여간, 우리회사는 아직 여기까진 시기상조이므로 회사 안에 있는 사람들은 파트 3까지만 보고 잘 적용해도 엄청 잘한다는 소리 들을 듯.


Part I Overview: The Big Picture (CH 1~5)

Scaled Agile Framework Big Picture

#####Chapter 1 A Brief History of Software Requirements Methods

#####Chapter 2 The Big Picture of Agile Requirements 크게 보면 Team level, Program level, Portfolio level 세가지로 구분할 수 있다.
1. Team level : agile 팀은 5~9명 정도로 구성하고, iteration과 release에 포함되는 user story를 define, build, test 해야 한다.
2. Program level : ART(Agile Release Train)은 iteration과 milestone에 대한 규칙적인 time box를 가져야 하며, 날짜, quality에 대해서는 반드시 명확한 기준을 가져야 하지만, scope은 변경될 수 있다.

1. Team level
Agile team은 implement, test code, building을 모두 수행해야 한다.

In its daily work, the team is supported by architects, external QA resources, documentation specialists, database specialists, source code management (SCM)/build/infrastructure support personnel, internal IT, and whoever else it takes such that the core team is fully capable of deining, developing, testing, and delivering working and tested software into the system baseline.

위의 문장에서 알 수 있는 것

2. Program level

3. Portfolio level

#####Chapter 3 Agile Requirements for the Team#####

#####Chapter 4 Agile Requirements for the Program#####

#####Chapter 5 Agile Requirements for the Portfolio#####

Part II Agile Requirements for the Team (CH 6~12)

#####Chapter 6 User Stories#####

#####Chapter 7 Stakeholders, User Personas, and User Experiences#####

#####Chapter 8 Agile Estimating and Velocity#####

#####Chapter 9 Iterating, Backlog, Throughput, and Kanban#####

#####Chapter 10 Acceptance Testing#####

#####Chapter 11 Role of the Product Owner#####

#####Chapter 12 Requirements Discovery Toolkit#####

Part III Agile Requirements for the Program (CH 13~19)

#####Chapter 13 Vision, Features, and Roadmap##### Ch 13

#####Chapter 14 Role of the Product Manager##### Ch 14

#####Chapter 15 The Agile Release Train##### Ch 15

#####Chapter 16 Release Planning#####

#####Chapter 17 Nonfunctional Requirements#####

#####Chapter 18 Requirements Analysis Toolkit#####

#####Chapter 19 Use Cases#####

###Part IV Agile Requirements for the Portfolio (CH 20~24)### 사실 여기는 우리 회사에서는 시기상조인 부분인 것 같다. 미리 준비하는 것도 좋지만 아직 기초도 안되어 있는 상태에서 상위 레벨을 고민하는게 어떤 의미가 있을까? 지금은 Part 3에 좀 더 집중해보자.

#####Chapter 20 Agile Architecture#####

#####Chapter 21 Rearchitecting with Flow#####

#####Chapter 22 Moving to Agile Portfolio Management#####

#####Chapter 23 Investment Themes, Epics, and Portfolio Planning#####