좋은 개발 문서를 만났다. Web 개발 Best Practice를 설명하는 문서인데, 개발 프로세스에 대한 설명( Agile Scrum )과 웹 성능 테스트( Performance )에 대한 설명이 좋았다. 그중 개발 프로세스에 대한 내용을 요약한다.
출처: https://github.com/Snugug/north/blob/master/README.md
Agile Process (Scrum)
프로세스 참여자의 역할과 책임 (Roles and Responsibilities)
+ 프로젝트에 너무 많은 인원이 참여하지 않도록 한다
+ Project Owner
- 프로젝트 하나에 한명의 Project Owner가 바람직
- 프로젝트 수행 결과물의 Owner
- 작업 우선순위 결정, 요구사항 결정, User Story 작성 보조
+ Project Manager
- 프로젝트 하나에 한명의 Project Manager가 바람직
+ Designer
- User Interface 디자인과 User Experience 디자인 업무 구분 필요
+ Developer
- Front End 개발자와 Back End 개발자 업무 구분 필요
+ Quality Assuarance
- QA가 OK하기 전에는 릴리즈 불가
Agile Scrum
+ User Stories
- 구현해야 할 단위 기능/작업
- Benefit Statement, Requirements, Size, Value로 구성
- Benefit Statement
. 이 기능을 왜 개발해야 하는가? (사용자 관점에서/ 비즈니스 관점에서)
. [persona], I want [desire] so that [rationale] 형태로 서술
- Requirements
. 기능 명세, 가능한 추가 질문 없이 이해할 수 있도록 분명하게 작성
- Size and Value
. Size : 작업 규모, 이 기능을 개발하려면 얼마나 많은 노력이 소요되는가?
. Value : 사업적 가치, 이 기능이 사업적 목적에 얼마나 부합하는가?
. Size의 적절성에 대한 개발팀의 합의 필요
+ Backlog
- User Story를 우선순위에 따라 나열한 리스트
- 백로그에 존재하는 스토리의 우선순위는 Project Owner가 결정
+ Iteration
- 개발을 수행하는 짧은 주기 (최대 2주 이내)
- 각 iteration을 sprint라고 부름
- 매 iteration마다 백로그에서 개발할 스토리를 선택
- 개발팀은 매일 15분 이내의 scrum meeting을 가질 것을 권장
. 개발 현황, 개발 결과, 개발 장애물 공유
. scrum meeting은 가능한 짧게 하고 이후 후속 미팅을 통해 문제 해결 권장
- 매 iteration을 마무리할 때마다 선택한 스토리가 제대로 구현되었는지 점검
. 선택한 스토리를 제대로 구현하지 못했을 경우 iteration fail 판정
. iteration fail은 큰 문제가 아님, 일정을 다시 조정하면 됨
(이상)