메뉴 건너뛰기


Agile ALM with Atlassian


Agile ALM 이란

전형적인 ALM은 방대한 범위와 인력 부족 등의 문제로 소규모의 조직에서 쉽게 도입이 어렵습니다. Agile ALM은 이러한 관점에서 출발하여 소규모의 조직을 포함한 어떠한 조직이라도 소프트웨어 개발의 품질 향상과 생산성 증대라는 목적을 쉽게 달성할 수 있게 도와줄 수 있습니다. 다음은 Agile ALM의 주요 컨셉을 보여주고 있습니다. 


ALM을 위한 점진적인 도입

ALM의 범위는 방대하기 떄문에 한번에 많은 것이 바뀌면 와해될 수 밖어 없습니다. 모든 ALM의 영역을 한번에 도입하고 바로 진행하는 것이아니라 TO-BE의 목표를 세우고 계획을 통해 조직에 영향을 최소화하고 실제적으로 필요한 도움이 될 수 있는 영역부터 점진적으로 도입하는 것이 중요합니다.

조직에 실용적인 프렉티스 실천

Agile이라는 용어를 들어보신 분들은 사용자스토리, Scrum, 동료검토, 지속적인통합과 같은 Agile Practice를 한번 정도 들어보셨을 겁니다. 전세계적으로 검증된 프렉티스를 조직이 추구하고자하는 ALM에 적용하고 이러한 도입은 조직의 해가 아닌 실제적인 실용성을 추구해야 합니다. 

소프트웨어 품질 강화와 생산성 향상에 집중

고객으로 발견된 버그는 개발 초기에 발견된 버그보다 수정 비용이 수십배에 달합니다. Agile ALM에서는 개발 초기에 최대한 많은 버그를 발견하기 위해 다양한 코드 품질 강화활동을 수행하고 이러한 활동들을 자동화함으로써 개발 생산성 향상에 초점을 맞춥니다. 

협업과 대화 중심의 개발 환경 구성

일반적으로 소규모의 조직에서 개발하는 프로젝트는 대부분 성공하는데 이는 작은 공간에서 팀원 전체가 언제든지 대화를 통한 소통과 협업할 수 있는 환경이 잘 갖추어져 있기 때문입니다. 성공적인 개발을 위해서 언제 어디서든 필요한 시점에 협업과 대화를 수행할 수 있어야 합니다.

Agile ALM Solution

Agile ALM Solution Architecture

기존 Open Source ALM 솔루션을 통해 Agile ALM을 구축할 수 있지만 Open Source 솔루션 간의 조합에는 도구와 도구간의 통합에 있어서 부자연스러움, 조직 규모에 대비되는 성능 문제, 통일되지 않는 UI/UX, 커뮤니케이션의 힘겨움과 같은 몇 가지 한계가 존재합니다. 

이러한 한계점들은 Atlassian 솔루션을 통해 해결 가능하며, 다음은 각 ALM 영역별로 매핑되는 Atlassian 솔루션을 보여주고 있습니다.  

agilealm.png
Confluence는 조직과 프로젝트 전반에 걸친 모든 문서를 생성하고 관리할 수 있게 해줍니다. 프로젝트를 위해 프로젝트 문서, 요구사항 문서, UI/UX 문서, 디자인 문서, 회의록, 회고록 등 다양한 정보를 관리할 수 있게 해주고, 운영 단계의 프로젝트를 위해, 사용자 문서, 기술 문서 등 운영에 필요한 문서를 관리합니다. 

JIRA

JIRA는 Story, Task, Bug와 같은 다양한 유형의 업무를 기반으로 스프린트 계획을 세우고 이를 지속적으로 모니터링함으로써 프로젝트 관리를 수행할 수 있습니다. JIRA의 업무를 중심으로 Confluence의 다양한 문서와 연결, Bitbucket 개발의 Commit, Branch, Pull Request, Bamboo의 빌드 정보, 배포 정보를 확인할 수 있습니다.

Bitbucket

Bitbucket은 Git 기반의 형상 및 변경 관리 도구로 소프트웨어 코드의 형상을 관리합니다. Bitbucket은 프로젝트 기반으로 Git 저장소를 관리할 수 있게 해주며, 권한 관리, Branch 전략, 코드 리뷰와 같은 기능을 제공합니다. Bitbucket의 관리되는 코드는 Bamboo의 빌드와 쉽게 연동되며, 해당 Commit에 대한 빌드 정보를 한눈에 파악할 수 있습니다.  

Bamboo

Bamboo는 빌드 및 배포 자동화를 가능하게 해줍니다. 지속적인 통합, 지속적인 배포, 지속적인 인스펙션을 위한 빌드 및 배포 관리를 수행하며 조직의 개발 생산성 향상을 도와줍니다. 프로젝트 별로 빌드 계획을 설정할 수 있고 각 플랜은 스테이지와 태스크로 구분하여 체계적인 관리를 할 수 있게 도와줍니다.

SonarQube 

SonarQube는 코드 품질을 위한 품질 요구사항 설정과 소스 코드 품질 룰 셋을 설정하여 고객 및 조직이 요구하는 목표 코드 품질 달성을 도와줍니다. Java, C/C++, c#, Javascript, PHP VB 등 20 여개 언어의 코드를 분석할 수 있게 해줍니다. 

다음은 각 도구의 관점에서 활동 및 역할에 대한 솔루션 아키텍처를 보여주고 있습니다.


agilealmoverview.png

다음을 통해 Agile ALM에 대한 전반적인 소개 내용을 확인할 수 있습니다. 

Agile ALM with Atlassian에 대한 전체 소개 영상은 다음 링크를 통해 확인할 수 있습니다. 


Agile ALM의 소개 및 상담은 다음의 링크를 통해 요청할 수 있습니다.