큰 프로젝트는 위험과 불확실성의 벽입니다. 작고 독립적으로 출시 가능한 조각으로 나누면 계획 가능하고, 병렬화 가능하며, de-risk 가능해집니다. 기술은 각 조각이 가치를 전달하고 위험을 일찍 드러내도록 슬라이싱하는 것입니다.
슬라이싱 방법
text
✓ 수직으로 슬라이스하라 — 수평 레이어가 아니라 얇은 end-to-end 기능
✓ 가장 위험한/불확실한 부분을 일찍 출시하라 — 헌신하기 전에 배워라
✓ 가능하면 각 슬라이스를 독립적으로 가치 있고 출시 가능하게 만들어라
✓ 슬라이스를 작게 유지하라 — 몇 달이 아니라 며칠
✓ 팀이 PARALLEL로 일할 수 있게 순서를 정하라
✓ 각각에 대해 DONE을 정의하라(테스트, 배포; 단순히 "코드 작성"이 아니라)
수직이 수평을 이긴다
"모든 backend를 만든 다음 모든 frontend"를 만들지 마십시오. 몇 주간 데모할 게 없고 끝에 통합하는데(거기서 다 깨집니다). 대신 얇은 기능 하나를 end to end로 완전히 만든 다음 다음 것을 만드십시오. 지속적으로 출시하고 배웁니다.
구체적인 예시
"reporting system 구축"의 첫 슬라이스는 "database 레이어"가 아닙니다. "실제 데이터로 된 리포트 하나가 화면에 end to end로"입니다. 전체 파이프라인이 작동함을 증명하고, 1주차에 사용자에게 반응할 무언가를 줍니다.
