ALM(Application Lifecycle Management)
어플리케이션A
지속적인 모니터링 및 제어
기획, 요구사항 유지, 운영, 폐기설계, 개발, 배포
• 시장 조사
• 고객 니즈 식별
• 요구사항 정의
산출물
• 기획 및 Vision 문서
• Market 요구사항 문서
• UI 요구사항 문서
……
• 아키텍처, 설계
• 개발, 코드 형상, 테스트
• 빌드, 배포
산출물
• 아키텍처 문서, 설계 문서
• 코드 문서
• 사용자 가이드 문서
……
• 변경 및 문제 관리
• 설계, 개발, 형상, 테스트
• 빌드, 배포
산출물
• 고객 요청, Bug 수정
• Design, Code, User
Document Update
……
ALM은 어플리케이션 제품이 기획되어 개발, 유지 및 운영, 폐기까지 전체 수명주기를 분야별 체계적인 공학 방
법 통해 성공적으로 이뤄질 수 있게 모니터링하고 문제를 제어함으로써 관리함.
4.
ALM 도입의 이점
개발품질 향상으로 고객으
로부터 발견되는 버그 최소
화를 통한 비용 절감
비즈니스 니즈를 개발에 정
확히 반영하고 요구사항의
부재 문제 최소화
유지보수 및 운영의 문제를
빠르게 처리함으로써 고객
만족도 증대
체계적인 관리 및 도구 구축
을 통한 품질 확보, 생산성
향상, 비용절감 극대화
비즈니스와의 통합 개발 품질 향상 민첩한 고객 대응 체계적인 관리
5.
But, ALM 도입은어렵다.
범위가 방대하다.
요구사항 부터 릴리즈까지
한번에 방대한 범위가 변경된다.
실용적인가?
정말 우리를 위한 것인가?
우리에게 도움이 되는가?
인력은 충분한가?
수행 인력은 충분한가?
여러 조직과 잘 통합되는가?
지속적인 가이드는?
내재화를 위한 지속적인
가이드는 누가하는가?
다양한 강점을 가지고 있지만, ALM 도입은 다음과 같은 이유로 인해 어렵다.
6.
Solution is AgileALM
실제적으로 도움, 쉬운 사용,
간결함에 도움되는 Agile
Practice 적용
조직에게 변화를 최소할 수 있
는 영역부터 도입하고 단계적
으로 확장
개발단계에서 품질 활동 강화
를 통해 이후 단계에서 발견되
는 문제 최소화
정보를 집중화하고 조직이 빠
르고 쉽게 대화와 협업을 할
수 있는 체계
점진적인 ALM도입 애자일 프렉티스 개발 품질 강화 협업과 대화 중심
Docker
Eclipse
Agile ALM Solution
Daily2nd Build
Quality Gatekeeper
Build Verification
Pull Request
Git
OK?
Code
Commit
MergePush
YES
No
Fail : Commit Reject
Daily Build
Release Build
Sanity Test
Project Budget
Task
Requirement
Design
Requirement
Document
Design
Document
Code
Document
Project Report
Unit Test
Artifactory
Daily Build
Artifact
Release Build
Artifact
Zephyr for JIRA
SonarQube
Test ReportTest Cases
Monitoring &
Control
Static Analysis
Unit Test
Automation
Document
Automation
Test
Result
Coding Rule &
Comment
Potential Bugs
& Unit Test
Complexity &
Duplication
Test
Scenario
Release
Test
Release
Doxygen
UI Test
Automation(Selenium)
Performance Test
Automation(JMeter)
9.
User Story
<사용자>는 <목적>을위해 <기능>을 할 수 있어야 한다.
Epic
User story
User story
User story
Description Test Method Story Point Priority
사용자 스토리는 시스템의 고객 혹은 사용자들이 원하는 시스템의 능력을 사용자의 관점에서 작성한 기능에 대한
짧고 간단한 설명이다.
10.
User Story inConfluence & JIRA
요구사항 작성
With template
요구사항 리스트
요구사항 리뷰
With inline comment
요구사항 이슈
Generation
Agile Scrum
특정 스프린트동안 수행할 백
로그를 할당, 추정 계획
어플리케이션 제품 개발을 위
한 User Story, 버그, 업무
스프린트 동안에 수행 업무를
카드 형식으로 보드에 가시화
스프린트 종료 후 리뷰 및 회
고를 통해 지향점 확인
제품 백로그 스프린트 계획 칸반 & 스프린트 보드 스프린트 리뷰
Requirements & DesignTraceability
Requirement Issue
Requirement Issue
Requirement Issue
Requirement Issue
Design Issue
Design Issue
Design Issue
Design Issue
Usecase
Diagram
Class Diagram
Sequence
Diagram
Process
Diagram
Design
Link
Link
22.
Diagram for Architecture& Design
Business Process Diagram Usecase Diagram Sequence Diagram Class Diagram
Deployment Diagram State Machine Diagram Package Diagram UI Design
Quality Gatekeeper
Build Verification
통합문제를 확인하기 위해
빌드 검증 수행
Peer Code Review
코드 문제를 파악하기 위해
동료와 코드 리뷰 수행
Code Inspection
SonarQube를 활용하여
코드 인스펙션 수행
Unit Testing
전체적인 테스트 통과 여부를
확인하는 단위 테스트 수행
Quality Gatekeeper는 조직의 품질 게이트(품질 요구사항)을 설정하고 품질 게이트를 통과하지 못한 코드는
중앙 저장소에 반영되지 못하게하는 품질 보장 게이트이다.
27.
Quality Gatekeeper
Developer
Reviewer
2. Triggerbuild
3. Build verification & Unit test
5. Pull Request 6. Code Inspection
7. Code Review & Code Merge
4.
Static
analysis
result
SonarQube
1. Push changes to dev branch
Daily Build
전체 소스코드에 대한 정적분
석(코딩룰, 잠재버그, 취약점
등)을 수행
클린 빌드를 통해 매일 새벽
소스 코드의 통합(빌드)에 문
제를 확인함
Doxygen, JavaDoc 등과 함께
코드 문서, 설계 문서 등을 자
동으로 생성
테스트 서버, 산출물 관리 서
버 등에 빌드 산출물을 자동
배포 수행
빌드 검증 코드 품질 검증 문서 생성 자동화 배포 자동화
38.
Release & Deploy정책
Dev Server Staging Server Production ServerTest Server
AutomationCommit Build
Daily Build
Release Build
Automation with trigger
Automation with trigger Automation Automation
39.
Release 관리
Release Mgt.
UserStory 2
User Story 1
User Story 3
Bug 1
Release Mgt. - Reviewed
User Story 2
User Story 1
User Story 3
Bug 1
Release Plan
Deploy to Test Server
Release Build
Deploy to Staging
Server
Deploy to Production
Server
curvc Project Budgetfor JIRA Addon
프로젝트 기반 예산 관리
프로젝트 기반의 심플하고 쉽게
계획 대비 사용 예산 관리
Work Log 기반 인건비 계산
이슈에 기록되는 Work Log 기반
자동 인건비 계산
별도의 Expense 관리
프로젝트 간접비 기록을 위한
별도의 비용 관리 제공
대시보드와 리포트
대시보드를 위한 위젯과
프로젝트 예산 관리 리포트 제공
커브에서 6월 출시 예정인 Project Budget for JIRA 에드온은 누구나 쉽게 이해하고 사용 가능한 목적으로 다음
과 같은 핵심 기능을 제공합니다.
56.
프로젝트 기반 예산관리
프로젝트의 예산을 관리하기 위해서 별도의 설정이 필요 없이, 애드온 설치만으로 현재 프로젝트 범위 내에서 예
산을 계획하고 관리
57.
Work Log /Story Points 기반 인건비 계산
프로젝트의 멤버들은 자신의 이슈에 업무 시간을 기록하거나 스토리 포인트를 입력하면 자동으로 프로젝트의 인
건비를 계산하여 목록과 합계를 보여줌.
58.
추가적인 Expense 관리
인건비외의 물품 구입비, 회식비, 회의비, 간식비, 사무용품비와 같은 간접 비용은 별도의 비용 추가 메뉴를 통해
프로젝트 비용을 관리할 수 있음.
59.
대시보드와 리포트
전체 및개발 프로젝트의 예산 사용 현황을 표현하는 대시보드 위젯과 개별 프로젝트에서 생성할 수 있는 월별 추이,
계획 대비 집행 현황과 같은 다양한 리포트를 제공
60.
JULY, 2017
로드맵
JUNE, 2017AUGUST, 2017
• 사전 구매 및 커스터마이징
접수(할인제공)
• Atlassian Marketplace 출시
(6월30일 예정)
• 사용자 및 그룹별 비용(Cost
Rates) 설정 기능
• 사용자(Role & Group) 권한
설정 기능
• 업무요일과 업무시간 설정
기능
• Story Points 기반 예산 관리
• 확장을 위한 프로젝트
Custom Field 추가 기능
• 오버타임(Overtime) 계산 룰
설정 기능
• 인기 Gantt 차트 에드온과
연동 기능
• 확장을 위한 Rest API 제공
(ERP, 회계 시스템 등 연동)