해당 글은 소프트웨어 개발과 테스트 책을 참고하여 작성한 내용이며, 실무 경험이 없는 사람들이 JIRA를 활용하여 프로젝트 업무를 부담없이 관리할 수 있도록 작성하였습니다.
프로젝트 관리와 요구사항에 집착하게 된 이유
작년에 처음으로 팀 프로젝트를 진행해보면서 어디서부터 어떻게 시작해야 할지 몰라 방황한 적이 많았다.
대학생끼리 진행하는 팀 프로젝트에서는 보통 기능 구현하는 것에 많은 신경을 쓰게 된다. 지금 당장 눈에 보이는 결과물이 있어야 마음이 편안해지며, 무엇보다 재미있기 때문이다. 하지만 중요도가 낮은 기능에 시간을 할애하여 정작 중요한 기능이 누락되거나 기한 내에 해결하지 못하는 문제가 발생하기도 한다.
따라서 프로젝트가 올바른 방향으로 나아갈 수 있도록 누군가는 프로젝트 관리에 신경써야 한다. 나는 이 과정 또한 일종의 개발이라고 생각한다.
요구사항을 작성하는 방법은 작성하는 방법부터 양식까지 제각각이다. 따라서 현재 프로젝트 수준에서 필요한 내용들만 작성할 수 있는 방법을 고민하였다. 조대협 저자의 소프트웨어 개발과 테스트의 "JIRA를 이용한 스크럼과 개발 조직, 코드 리뷰 기법" 챕터를 통해 드디어 내가 원하던 양식을 찾을 수 있었다.
기존에 작성하던 요구사항 정의서와의 차이점

기존에 작성했던 요구사항 정의서에는 크게 요구사항명, 기능명, 상세 설명으로 나눌 수 있다. 하지만 이 내용을 통해서 사용자가 원하는 요구사항이 무엇인지 파악하기엔 어려움이 있다. 또한 해당 양식에 작성된 내용은 요구사항 보다는 개발자가 구현해야 할 기능 목록에 가깝다.

Confluence를 활용하여 만든 요구사항 정의서이다. 일단 만들고자 하는 프로젝트에 필요한 요구사항을 큰 범주(에픽)로 파악할 수 있다. 또한 해당 기능을 사용하는 주체가 무엇인지 파악할 수 있으며(스토리), 해당 요구사항을 만족하기 위한 내용을 상세 설명을 통해 보충하고 있다. 기능을 스토리 양식으로 작성할 경우, 사용자에게 필요한 요구사항이 누락되지는 않았는지 파악할 수 있다는 장점도 있다.
각각의 에픽을 서비스 흐름대로 작성한다면 좀 더 한눈에 파악할 수 있다.
ex) 회원가입 및 로그인 -> 기이수 성적 업로드 -> 영역별 인증현황 화면출력 (사용자의 서비스 이용 순서)
JIRA에 등록하는 이슈 종류
모든 이슈를 다루지는 않으며, JIRA에서 사용할 수 있는 이슈만 정리하였다.
Epic (에픽)
하나의 스프린트로 끝나지 않으며, 프로젝트에서 필요한 기능들을 가장 큰 덩어리로 나눌 수 있는 단위이다.
하나의 에픽에는 여러 스토리가 포함될 수 있으며, 여기엔 사용자의 관점에서 필요하지 않는 업무들도 포함될 수 있다. 예를 들어, 서버 설정, 화면 디자인, 문서 산출물 작성 등이 있다.
Story (스토리)
스토리는 에픽의 하위 범주에 속하는 이슈 단위이며, 업무 이슈와 같은 레벨로 간주된다. 업무는 개발자가 구현해야 할 기능 목록을 작성하는 느낌에 가까우며 앞서 노션에서 작성한 요구사항 정의서 형식과 비슷하다. 하지만 스토리는 사용자가 해당 서비스를 통해 사용할 수 있는 기능을 정의하는 것이다. 주로 "X로서 Y를 하고 싶다"와 같이 작성한다.
Sub Task (하위 작업)
하위 작업은 실제 개발자가 해야 할 업무에 대해 자세하게 작성하는 이슈 단위이다. 하나의 스토리에는 여러 하위 작업으로 구성되며, 각각의 하위 작업은 0.5일에서 2일 사이에 끝날 수 있을 정도의 규모여야 한다. 2일이 넘어갈 정도라면 이를 다시 여러 개의 하위 작업으로 쪼개야 한다. 그래야 각각의 업무들의 진행도를 파악하기 수월하다.
만약, "미가입 사용자는 회원가입을 하기 위해 재학생 인증을 해야한다" 라는 스토리가 있다면 이를 충족하기 위한 작업들을 다음과 같이 여러 하위 작업으로 나눌 수 있을 것이다.
- 재학생 인증을 위해 UnivCert API 메서드를 호출한다.
- 보안 코드를 입력받은 뒤, 사용자에게 응답 메시지를 반환한다.
- 인증이 완료된 사용자는 회원가입을 위한 페이지로 이동한다.
JIRA의 스프린트 계획을 세우는 순서
- 요구사항 정의서를 토대로 작성된 백로그에서 우선순위를 파악한다.
- 중요도가 높은 기능들을 우선적으로 배치한다.
- 새로 생성될 스프린트에는 스토리 단위의 이슈가 등록된다.
- 스프린트에 스토리가 모두 올라갔다면, 각각의 스토리에 필요한 하위 작업 목록을 작성한다.
소프트웨어 개발과 테스트 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
'소프트웨어 개발 이론' 카테고리의 다른 글
객체지향의 사실과 오해를 읽고... (0) | 2024.11.21 |
---|---|
요구사항 도출하기 (0) | 2024.02.11 |