[The nature of software development] Part 1. 가치를 이루는 것들 Chapter 3. 피처 단위 개발을 위한 가이드라인
Chapter 3. 피처 단위 개발을 위한 가이드라인
프로젝트를 진행할 때 가장 먼저 알아야 할 것은 바로 마감 일정이다.
마감일 전에 원하는 피처 모두를 얻을 수는 없다.
프로젝트를 그대로 두는 것보다 현실적으로 관리하는 것이 필요하다.
Q. 최근 참여한 프로젝트에서 제대로 진행되지 않은 일 중 중요한 일이 무엇이었나요?
- 9개의 습관 버튼 구현하는 것.
Q. 제대로 진행했지만 실제로는 시간만 낭비했던 일은 무엇이었나요?
- 홈페이지에 넣은 사진은 사실 큰 가치는 제공하지 않는다.
Q. 너무 늦었거나 늦을 뻔했던 적이 있었는지도 생각해봅시다.
- 코드숨 수강기간 전에 제대로 작동하는 앱이 완성되지 않았다.
소프트웨어 프로젝트가 진행되는 일반 과정
활동을 기반으로 계획을 세운다.
분석, 설계, 코딩, 테스트의 과정을 거친다.
분석이 끝나도 설계, 코딩이 제 시간에 끝난다는 보장은 없다.
테스트를 하면 보통 좋은 일은 일어나지 않는다.
프로젝트가 계획대로 가는 일은 정말 드물다.
보통 실제로 할 수 있는 것보다 더 많은 것을 목표를 설정한다.
하지만 그러한 상황을 깨달았을 때는 이미 늦은 때가 많다.
프로젝트 선언을 실패하거나, 끈기있게 느릿느릿 프로젝트를 진행하는 것 두 가지의 선택지가 있다.
둘 다 최악이다.
끈기는 항상 옳지 않다.
Q. 상태가 나쁜 소프트웨어를 배포해본 경험이 있나요?
- 네
Q.여전히 너무 많은 결함이 있었나요?
- 네
Q. 소프트웨어를 바꾸기에 너무 어려웠나요?
- 네(기본기의 부족)
Q. 핵심 피처들을 완성하지 못했나요?
- 네
Q. 중요한 아이디어가 있는데 추가하기에는 너무 늦은 적은 없었나요?
- 없다.
활동을 기반으로 한 제품은 100kg짜리 돌덩어리 같다.
모든 것을 분석하고 설계하고, 모든 코드를 써내려가면
모든 피처를 가질 수 없다는 사실을 너무 늦게 깨닫게 된다.
처음부터 여러 배포 일정을 계획해야 한다.
그 이유는 다음과 같다.
1. 가치를 빨리 전달한다.
2. 프로젝트를 관리하기 쉽다.
3. 소프트웨어의 개발 자체가 더 쉬워진다.
계획, 분석, 설계, 개발, 테스트 단계로 진행하는 것이 프로젝트 관리에 도움이 될까?
아니요 TDD합시다.
피처단위로 프로젝트를 진행하면 더 잘 예측할 수 있다.
피처 단위로 제품을 배포하는 데 필요한 방법을 가이드 하고, 그러한 프로젝트 관리 능력은 어떻게 기를까?
피처들은 실제로 일어나는 일을 눈으로 보여준다.
주어진 기간에 얼마나 많은 일을 할 수 있을 지 더 잘 예측할 수 있다.
제품을 항시 작동하게끔 만들면 프로젝트 위험 요소를 줄일 수 있다.
시험적인 작은 피처를 추가해 마케팅 위험 요소도 미리 대처할 수 있다.
더 나은 정보, 더 나은 가이드, 더 많은 결과물
Q. 이 방법으로 소프트웨어를 개발하기 위해서 무엇이 필요할까요?
Q. 개발하고 싶은 것이 무엇인지조차 이해할 수 없는 상황에서는 어떻게 프로젝트를 계획해야 할까요?
Chapter 4. 피처 단위로 조직 구성하기
소프트웨어를 개발할 때는 분야별로 다양한 기술이 필요하다.
각 분야에 필요한 기술자 없이는 프로젝트를 성공시킬 수 없다.
피처는 각 개발팀이 개발해야 한다.
각 개발팀은 서로 협업이 필요하다.
의사소통이 효율적이어야 한다.
각 개발팀이 온전한 피처 전체를 개발할 수 있도록 해야 한다.
하지만 투입할 수 있는 전문가가 그리 많지 않다.
피처를 중요한 순서대로 나열한 후 그것을 기반으로 팀을 구성하자.
학습 공동체를 만들자
시니어개발자는 전문가이기 때문에 높은 연봉을 받는 것이 아니다.
다른 사람을 전문가로 이끌어 줄 수 있기 때문이다.
피처 개발팀은 쉽게 확장할 수 있다.
크로스펑셔널 팀: 공동 목표를 위해 소속 부서와 조직을 불문하고 필요한 각 분야의 전문가로 구성한 팀.
'책 > The nature of software development' 카테고리의 다른 글
2. 메모와 에세이 (22) 결론 (0) | 2020.12.21 |
---|---|
2. 메모와 에세이 (20~21) 애자일 방법들 (0) | 2020.12.21 |
2. 메모와 에세이 (17~19) 더 강한 채찍질 (0) | 2020.12.21 |
2. 메모와 에세이 (15~16) 초기 계획을 위한 '파이브 카드' (0) | 2020.12.21 |
1. 가치를 이루는 것들 (1~2) 가치 (0) | 2020.12.17 |