메뉴 건너뛰기

1. 요구사항 관리

전형적인 ALM에서 요구사항 관리는 요구사항 개발 즉 정의하는 영역과 작성된 요구사항을 관리하는 영역으로 구분할 수 있다.

요구사항 개발은 제품의 요구사항에서 개발을 시작하는 것이 아니라 제품 요구사항을 만족하는 시스템 관점의 요구사항 그리고 이 시스템 관점의 요구사항을 만족하는 소프트웨어 요구사항으로 각각 정의하고 하위 요구사항이 상위 요구사항을 충족하는지 추적을 수행해야 한다. 

하지만 일반적인 소프트웨어 개발 조직에서 이러한 요구사항 개발 및 정의하는 과정은 우리 조직의 개발 환경의 현실을 반영하지 못하는 방법으로 거부감을 줄 수 있으며, 이는 요구사항 관리라는 영역을 조직 내에서 퇴출 시키는 역할을 하게 된다. 

이러한 문제를 해결하기 위한 방법으로 Agile ALM에서는 사용자 스토리를 제안하고 있으며 이는 고객과 조직이 이해할 수 있는 간결하고 명확한 문장으로 작성되고 개발을 수행할 만큼 자세하게 작성하여 개발에 바로 임할 수 있도록 도움을 줄 수 있다.   

2. 사용자 스토리

사용자 스토리를 재정의 해보면 “시스템의 고객 혹은 사용자들이 원하는 시스템의 능력을 사용자의 관점에서 작성한 기능에 대한 짧고 간단한 설명”을 뜻한다. 일반적으로 다음과 같은 형태로 작성될 수 있다. 

<사용자>는 <목적>을 위해 <기능>을 할 수 있다.


다음은 이 책의 독자들의 이해를 돕기 위해 사용자 스토리에 대한 몇몇 예제 문장을 작성해 보았다. 

입찰 담당자는 입찰 생성을 위해 입찰 시스템에 로그인을 할 수 있다.
입찰 참여자는 입찰 참여를 위해 입찰 시스템에 회원가입을 할 수 있다.


 사용자 스토리가 많아지면 비슷한 종류의 스토리를 묶어서 관리가 필요하다. 사용자 스토리는 이를 위해 에픽(Epic)이라는 개념을 두고 관련된 스토리를 하나의 에픽으로 그룹화하는 것을 가이드 한다. 다음 그림은 Epic과 사용자 스토리에 대한 전체적인 컨셉을 보여주고 있다. 

userstory.png


예로 “입찰 참여”라는 하나의 에픽을 만들고 입찰 참여를 위하여 각 이해관계자들에게 필요한 다양한 사용자 스토리를 작성할 수 있다. 사용자 스토리는 사용자 스토리를 대표하는 요약(Summary) 필드, 사용자 스토리를 자세하게 설명한 설명(Description) 필드, 해당 사용자 스토리를 테스트하기 위한 세부적인 테스트 방법(Test Method) 필드, 우선순위(Priority) 필드 등을 함께 작성할 수 있다.


3. 사용자 스토리와 Atlassian Confluence

Atlassian Confluence는 프로젝트의 제품 요구사항, 디자인 문서, 회의록, 회고록, 파일 등을 작성 및 공유하고 웹 기반으로 토론을 지원하는 Wiki 스타일의 웹 중앙저장소이다. Agile ALM에서 Confluence는 요구사항 관리, 아키텍처와 디자인, 프로젝트 문서 관리 등의 영역에서 사용된다.  


3.1 요구사항 관리 프로세스

Agile ALM의 요구사항 관리 영역에서 Confluence는 전체 요구사항 문서 관리, 협업을 통한 요구사항 작성, 요구사항 리뷰 등의 역할을 수행한다. 다음 그림은 Confluence에서 요구사항 관리 프로세스와 이슈 트래커인 JIRA와의 연관 관계를 보여주고 있다. 


req.png


3.2 요구사항 관리

다음 그림은 Confluence에서 관리되고 있는 제품 요구사항의 리스트를 보여주고 있다. 하위에 보이는 제목은 여러 스토리를 닮고 있는 에픽(Epic)의 제목을 보여주고 있으며, 그 외 문서와 관련된 이해관계자 정보, 상태, 버전 등의 정보를 리스트에서 제공하고 있다. 만약 새로운 요구사항 문서를 생성하기 위해서는 상단의 “제품 요구사항 추가” 버튼을 선택할 수 있다.

req02.png


3.3 요구사항 작성과 템플릿

일반적으로 요구사항 문서는 다양한 형태의 템플릿을 가질 수 있다. IEEE 830과 같은 국제 표준에 준하는 표준을 만들 수 있고 혹은 프로젝트, 고객, 내외부 용도에 따라 템플릿이 필요할 수 있다. Confluence는 Blueprint와 Template 이라는 개념을 통해 조직에 필요한 다양한 템플릿을 만들 수 있게 해준다. 일반적으로 문서 템플릿은 Template에 문서의 구조를 미리 정의하여 누구나 간단하게 생성할 수 있으며, 프로젝트를 위한 문서 템플릿 세트 혹은 추가적인 매크로 기능이 포함되어 있는 템플릿 세트는 Blueprint를 통해 생성할 수 있다. 

다음 두 그림은 요구사항 문서 템플릿의 예시를 보여준다. 만약 문서의 속성을 관리할 필요가 있으면, 첫 번째 그림과 같이 페이지 속성 매크로를 통해 원하는 문서의 속성을 정의할 수 있다. 두 번째 그림은 템플릿에 따라 생성된 문서의 구조의 예제를 보여주고 있다.

req03.png


req04.png


3.4 요구사항 리뷰

템플릿으로부터 작성이 완료된 요구사항은 문서는 조직의 다른 구성원들과 커뮤니케이션을 통해 리뷰를 수행한다.  Confluence에서는 이러한 리뷰 활동을 위해 Word의 검토 기능처럼 수정이 필요한 텍스트에 영역을 지정하여 인라인 코멘트를 작성할 수 있는 커뮤니케이션 수단을 제공하고 있다. 다음 그림은 특정 사용자 스토리에 수정을 요청하는 인라인 코멘트의 예시를 보여주고 있다. 

Confluence의 인라인 코멘트에서 SNS에서 많이 사용되는 맨션(@) 기능을 통해 특정 사용자에게 리뷰를 요청하거나 수정을 요청할 수 있으며, 맨션의 언급된 담당자는 리뷰에서 발생된 문제에 대하여 댓글을 통해 추가적인 질의를 하거나 해당 문제를 해결 후에 해결 버튼을 선택하여 문서 수정이 완료되었음을 표시할 수 있다. 

req05.png


3.5 요구사항 이슈 생성

Confluence의 모든 요구사항 리뷰가 완료되면 사용자 스토리 기반으로 프로젝트의 일정을 계획하기 위해 Confluence의 문서의 사용자 스토리를 JIRA의 Backlog로 추출하여 생성할 수 있다. 다음 그림은 Confluence 페이지의 사용자 스토리를 자동으로 추출하여 JIRA 이슈로 생성하는 예시 화면을 보여주고 있다. 

Confluence 페이지에서 다중의 JIRA 이슈를 생성하기 위해서 각 사용자 스토리는 반드시 테이블에 관리되어야 한다. 요구사항 문서인 에픽 페이지를 생성할 때, 이와 동일한 JIRA 에픽을 생성해두면 문서로부터 생성되는 모든 이슈를 해당 에픽의 집합으로 연결 시킬 수 있다. 

req06.png


4. 요구사항 추적성

소프트웨어 관련 대부분의 인증에서는 요구사항 추적성에 대해서 강조한다. 실제적으로 인증을 위한 산출물로 요구사항 추적성 매트릭스의 제출을 요구하고 있다. 일반적으로 요구사항 추적성 매트릭스가 중요한 이유는 제품의 요구사항이 완벽하게 구현되었는지 검증하고 최종적으로 제품의 요구사항이 정확하게 동작하는지 확인할 수 있는 증빙자료가 될 수 있기 때문이다. 

다음 그림은 Atlassian 솔루션 상에서 요구사항 추적성을 확보하기 위한 개념을 보여주고 있다. 일반적으로 제품의 요구사항은 Confluence에서 작성되어 JIRA의 스토리 혹은 요구사항이라는 이슈타입으로 생성되고 각 요구사항은 디자인 이슈, 리스크 이슈, 테스트 케이스 이슈, 개발과 연결된다.

req07.png


다음 그림은 요구사항 추적성 매트릭스의 예시를 보여주고 있다. 그림의 요구사항 추적성은 스토리인 요구사항과 디자인, 리스트, 테스트의 각 아이디 정보를 보여주고 있다. 해당 요구사항 추적표는 JIRA에서 제공하는 기본적인 기능은 아니고 JIRA 외부에서 동작하는 별도 프로그램을 개발하였다. 해당 프로그램의 사용은 아래 링크를 통해 문의사항과 데모 요청을 통해 문의할 수 있다. 

req08.png


관련 데모 영상은 다음 링크를 통해 확인할 수 있다. 



Atlassian Gold Partner 주식회사 커브

  • 문의하기 : http://qa.curvc.com

Who's PSEG

profile

PSEG는 Practical Software Engineering Group의 약자입니다. 

이론을 넘어 실용적으로 활용할 수 있는 소프트웨어 공학을 공유하는게 그룹의 목적입니다.

?

 


  1. Jira Linux 메모리 증설 방법

    JIRA Memory 설정JIRA의 <Install_directory>/bin/setenv.sh 파일을 아래 그림과 같이 수정 후 서비스를 재시작 한다. JVM_MINIMUM_MEMORY="2048m" JVM_MAXIMUM_MEMORY="2048m" JIRA web접속을 하여 System > System Info 탭의Java VM Memory Statistics의 T...
    Date2018.06.05 CategoryJIRA ByTom Reply0 Views876
    Read More
  2. Jira Window 메모리 증설 방법

    JIRA Memory 설정JIRA Memory 설정하기 위해 서비스를 중지 하고 실행 파일 경로를 복사 한다. cmd 실행 하여 tomcat8.exe //RS 를 tomcat8w //ES 으로 변경 하여 실행한다. JAVA 탭으로 이동하여 Initial memory pool, Maximum memory pool...
    Date2018.06.05 CategoryJIRA ByTom Reply0 Views1031
    Read More
  3. No Image

    Academic pricing (50% 할인)

    Atlassian은 자격을 갖춘 교육 기관에 서버 라이센스를 50 % 할인합니다. 다음 기관들은 Atlassian Academic 라이센스를 취득 할 자격이 있습니다 : 교육 기관 : 공립 또는 사립 직업 학교, 방송 통신 학교, 단기 대학, 단과 대학, 대학 또는 국가인가 ...
    Date2017.12.02 CategoryETC ByTerry Reply0 Views1216
    Read More
  4. Agile ALM with Atlassian - 7부 빌드, 릴리즈, 배포 관리

    7부에서는 Agile ALM에서 말하는 빌드, 릴리즈, 배포 관리를 Atlassian 솔루션과 함께 구현하는 방법에 대하여 소개합니다. 이 시리즈의 다른 내용을 다음 링크를 통해 확인할 수 있습니다. Agile ALM with Atlassian - 1부 ALM 이란 Agile ALM with Atlassian...
    Date2017.07.14 CategoryETC ByPSEG Reply0 Views4370
    Read More
  5. Agile ALM with Atlassian - 6부 코드 품질 보장 활동

    6부에서는 Agile ALM에서 말하는 코드 품질 보장 활동을 Atlassian 솔루션과 SonarQube 솔루션으로 함께 구현하는 방법에 대하여 소개합니다. 이 시리즈의 다른 내용을 다음 링크를 통해 확인할 수 있습니다. Agile ALM with Atlassian - 1부 ALM 이란 Agile A...
    Date2017.07.14 CategoryETC ByPSEG Reply0 Views3522
    Read More
  6. Agile ALM with Atlassian - 5부 아키텍처와 디자인

    5부에서는 Agile ALM에서 말하는 심플 아키텍처와 디자인을 Atlassian 솔루션과 함께 구현하는 방법에 대하여 소개합니다. 이 시리즈의 다른 내용을 다음 링크를 통해 확인할 수 있습니다. Agile ALM with Atlassian - 1부 ALM 이란 Agile ALM with Atlassian ...
    Date2017.07.12 CategoryETC ByPSEG Reply0 Views3951
    Read More
  7. Agile ALM with Atlassian - 4부 스크럼 프로젝트 관리

    4부에서는 Agile ALM에서 말하는 스크럼 프로젝트 관리를 Atlassian 솔루션과 함께 구현하는 방법에 대하여 소개합니다. 이 시리즈의 다른 내용을 다음 링크를 통해 확인할 수 있습니다. Agile ALM with Atlassian - 1부 ALM 이란 Agile ALM with Atlassian - ...
    Date2017.07.12 CategoryETC ByPSEG Reply0 Views3576
    Read More
  8. Agile ALM with Atlassian - 3부 요구사항 관리와 사용자 스토리

    3부에서는 Agile ALM에서 말하는 요구사항 관리를 Atlassian 솔루션과 함께 구현하는 방법에 대하여 소개합니다. 이 시리즈의 다른 내용을 다음 링크를 통해 확인할 수 있습니다. Agile ALM with Atlassian - 1부 ALM 이란 Agile ALM with Atlassian - 2부 Agi...
    Date2017.07.12 CategoryETC ByPSEG Reply0 Views4661
    Read More
  9. No Image

    JIRA issue export가 안될 때 체크 포인트

    JIRA issue export가 안될 때 체크 포인트 하나 공유드립니다. Atlassian JIRA는 한 번에 export 가능한 issue 개수를 (디폴트) 1,000개로 설정하고 있습니다. 이유는 너무 많은 이슈 목록을 처리할 때 메모리 부족을 방지하기 위함이랍니다. 다행히 ex...
    Date2017.07.10 CategoryJIRA ByTerry Reply0 Views1452
    Read More
  10. Agile ALM with Atlassian - 2부 Agile ALM 이란

    2부에서는 Agile ALM에서 말하는 Agile ALM의 정의와 Atlassian 솔루션과 함께 구현하는 방법에 대하여 소개합니다. 이 시리즈의 다른 내용을 다음 링크를 통해 확인할 수 있습니다. Agile ALM with Atlassian - 1부 ALM 이란 Agile ALM with Atlassian - 2부 ...
    Date2017.07.10 CategoryETC ByPSEG Reply0 Views3302
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7