Application Lifecycle Management
Atlassian으로전체 ALM 사이클을구성해볼까요?
ALM은무엇인가요?
어플리케이션 A
지속적인모니터링및제어
기획, 요구사항 유지, 운영,폐기설계, 개발, 배포
• 시장조사• 고객니즈식별• 요구사항정의
산출물• 기획및 Vision 문서• Market 요구사항문서• UI 요구사항문서……
• 아키텍처, 설계• 개발, 코드형상, 테스트• 빌드, 배포
산출물• 아키텍처문서, 설계문서• 코드문서• 사용자가이드문서……
• 변경및문제관리• 설계, 개발, 형상, 테스트• 빌드, 배포
산출물• 고객요청, Bug수정• Design, Code, User Document
Update……
ALM(Application Lifecycle Management)은어플리케이션제품이기획되어개발, 유지및운영, 폐기까지전체수명주기를분야별체계적인공학방법통해성공적으로이뤄질수있게모니터링하고문제를제어함으로써관리함.
ALM은무엇이좋은가요?
개발품질향상으로고객으로부터발견되는버그최소화를통한비용
절감
비즈니스니즈를개발에정확히반영하고
요구사항의부재문제최소화
유지보수및운영의문제를빠르게
처리함으로써고객만족도증대
체계적인관리및도구구축을통한품질확보, 생산성향상, 비용절감
극대화
비즈니스와의통합 개발품질향상 민첩한고객대응 체계적인관리
ALM 도입은어려워요.
범위가방대하다.요구사항부터릴리즈까지한번에방대한범위가변경된다.
실용적인가?정말우리를위한것인가?우리에게도움이되는가?
인력은충분한가?수행인력은충분한가?여러조직과잘통합되는가?
지속적인가이드는?내재화를위한지속적인가이드는누가하는가?
Agile ALM이해결해줍니다.
실제적으로도움,쉬운사용, 간결함에도움되는
Agile Practice 적용
조직에게변화를최소할수있는영역부터
도입하고단계적으로확장
개발단계에서품질활동강화를통해이후
단계에서발견되는문제최소화
정보를집중화하고조직이빠르고쉽게대화와협업을할수있는체계
점진적인 ALM도입 애자일프렉티스 개발품질강화 협업과대화중심
Agile ALM은무엇이다른가요?
요구사항관리
유지보수
아키텍처디자인
개발
테스팅
빌드관리
프로젝트관리
릴리즈배포관리
UserStories
Kanban
Simple디자인
Quality Gate
Test Automation
지속적인통합
ScrumDeployAutomation
Atlassian으로 ALM솔루션을
Daily 2nd Build
Gate Keeper – Continuous Quality Management
Build Verification
Pull Request
Git
OK?
Code Commit
Merge
Push
YES
No
Fail : Commit Reject
Daily Build
Release Build
Release Verification Test
Sanity Test
Risk
Issue
Requirement
Design
RequirementDocument
Design Document
Code Document
Project Report
Unit Test
Server
Daily BuildArtifact
Release BuildArtifact
Test Planning Test Report
Test CasesTest Monitoring
& ControlStatic Analysis
Unit Test Automation
UI Test Manager
TestResult
Reliability & Security
Maintainability
Complexity & Size
Coverage & Duplication
Issue Data
QAValidation
Release
Performance Test
Document Automation
요구사항관리
Epic과 Story로해결할수있습니다.
요구사항관리는 User Story와 Epic으로
사용자스토리는시스템의고객혹은사용자들이원하는시스템의능력을사용자의관점에서작성한기능에대한짧고간단한설명이다.
<사용자>는 <목적>을위해 <기능>을할수있어야한다.
Epic
User story
User story
User story
Description Test Method Story Point Priority
문서는 Confluence, 관리는 Jira에서
Space
Project
Epic Issue Epic Issue
Epic Page
Story Text
Epic Page
Story Text Story Text Story Text Story Text Story Text
Story Issue Story Issue Story Issue Story Issue Story Issue Story Issue
프로세스는 Confluence와 Jira에서
Epic 작성및리뷰
Epic 생성
Epic 생성
Epic 페이지생성 Story 작성 Story리뷰
Story릴리즈Story생성
Story생성 스프린트계획
Sub-Task 생성
Generation Generation
복잡한프로젝트관리
애자일스크럼으로해결하세요.
복잡한프로젝트관리는스크럼으로
특정스프린트동안수행할백로그를할당,
추정계획
어플리케이션제품개발을위한 User Story, 버그,
업무
스프린트동안에수행업무를카드형식으로보드에 가시화
스프린트종료후리뷰및회고를통해지향점확인
제품백로그 스프린트계획 스크럼반보드 스프린트리뷰
아키텍처와디자인은
심플하게시작하세요.
요구사항과디자인추적은 Jira이슈링크로
Requirement Issue
Requirement Issue
Requirement Issue
Requirement Issue
Design Issue
Design Issue
Design Issue
Design Issue
Usecase Diagram
Class Diagram
Sequence Diagram
Process Diagram
DesignLink
Link
Confluence에서최신디자인을관리하세요.
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 InspectionSonarQube를활용하여코드인스펙션수행
Unit Testing전체적인테스트통과여부를확인하는단위테스트수행
모든것은자동으로진행됩니다.
Developer
Reviewer
2. Trigger build
3. Build verification & Unit test
5. Pull Request 6. Code Inspection
7. Code Review & Code Merge
4. Static analysis result
1. Push changes to dev branch
지속적인통합과배포
매일빌드하고배포하세요.
매일매일빌드하세요.
전체소스코드에대한정적분석(코딩룰, 잠재버그,
취약점등)을수행
클린빌드를통해매일새벽소스코드의통합(빌드)에
문제를확인함
Doxygen, JavaDoc등과함께코드문서, 설계문서등을자동으로생성
테스트서버, 산출물관리서버등에빌드산출물을
자동배포수행
빌드검증 코드품질검증 문서생성자동화 배포자동화
배포자동화를위한전략은
Dev Server Staging Server Production Server
Test Server
AutomationCommit Build
Daily Build
Release Build
Automation with trigger
Automation with trigger Automation Automation
요구사항관리
유지보수
아키텍처디자인
개발
테스팅
빌드관리
프로젝트관리
릴리즈배포관리
감사합니다.