30

Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?
Page 2: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

Application Lifecycle Management

Atlassian으로전체 ALM 사이클을구성해볼까요?

Page 3: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

ALM은무엇인가요?

어플리케이션 A

지속적인모니터링및제어

기획, 요구사항 유지, 운영,폐기설계, 개발, 배포

• 시장조사• 고객니즈식별• 요구사항정의

산출물• 기획및 Vision 문서• Market 요구사항문서• UI 요구사항문서……

• 아키텍처, 설계• 개발, 코드형상, 테스트• 빌드, 배포

산출물• 아키텍처문서, 설계문서• 코드문서• 사용자가이드문서……

• 변경및문제관리• 설계, 개발, 형상, 테스트• 빌드, 배포

산출물• 고객요청, Bug수정• Design, Code, User Document

Update……

ALM(Application Lifecycle Management)은어플리케이션제품이기획되어개발, 유지및운영, 폐기까지전체수명주기를분야별체계적인공학방법통해성공적으로이뤄질수있게모니터링하고문제를제어함으로써관리함.

Page 4: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

ALM은무엇이좋은가요?

개발품질향상으로고객으로부터발견되는버그최소화를통한비용

절감

비즈니스니즈를개발에정확히반영하고

요구사항의부재문제최소화

유지보수및운영의문제를빠르게

처리함으로써고객만족도증대

체계적인관리및도구구축을통한품질확보, 생산성향상, 비용절감

극대화

비즈니스와의통합 개발품질향상 민첩한고객대응 체계적인관리

Page 5: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

ALM 도입은어려워요.

범위가방대하다.요구사항부터릴리즈까지한번에방대한범위가변경된다.

실용적인가?정말우리를위한것인가?우리에게도움이되는가?

인력은충분한가?수행인력은충분한가?여러조직과잘통합되는가?

지속적인가이드는?내재화를위한지속적인가이드는누가하는가?

Page 6: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

Agile ALM이해결해줍니다.

실제적으로도움,쉬운사용, 간결함에도움되는

Agile Practice 적용

조직에게변화를최소할수있는영역부터

도입하고단계적으로확장

개발단계에서품질활동강화를통해이후

단계에서발견되는문제최소화

정보를집중화하고조직이빠르고쉽게대화와협업을할수있는체계

점진적인 ALM도입 애자일프렉티스 개발품질강화 협업과대화중심

Page 7: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

Agile ALM은무엇이다른가요?

요구사항관리

유지보수

아키텍처디자인

개발

테스팅

빌드관리

프로젝트관리

릴리즈배포관리

UserStories

Kanban

Simple디자인

Quality Gate

Test Automation

지속적인통합

ScrumDeployAutomation

Page 8: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

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

Page 9: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

요구사항관리

Epic과 Story로해결할수있습니다.

Page 10: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

요구사항관리는 User Story와 Epic으로

사용자스토리는시스템의고객혹은사용자들이원하는시스템의능력을사용자의관점에서작성한기능에대한짧고간단한설명이다.

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

Epic

User story

User story

User story

Description Test Method Story Point Priority

Page 11: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

문서는 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

Page 12: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

프로세스는 Confluence와 Jira에서

Epic 작성및리뷰

Epic 생성

Epic 생성

Epic 페이지생성 Story 작성 Story리뷰

Story릴리즈Story생성

Story생성 스프린트계획

Sub-Task 생성

Generation Generation

Page 13: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?
Page 14: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

복잡한프로젝트관리

애자일스크럼으로해결하세요.

Page 15: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

복잡한프로젝트관리는스크럼으로

특정스프린트동안수행할백로그를할당,

추정계획

어플리케이션제품개발을위한 User Story, 버그,

업무

스프린트동안에수행업무를카드형식으로보드에 가시화

스프린트종료후리뷰및회고를통해지향점확인

제품백로그 스프린트계획 스크럼반보드 스프린트리뷰

Page 16: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?
Page 17: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

아키텍처와디자인은

심플하게시작하세요.

Page 18: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

요구사항과디자인추적은 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

Page 19: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

Confluence에서최신디자인을관리하세요.

Business Process Diagram Usecase Diagram Sequence Diagram Class Diagram

Deployment Diagram State Machine Diagram Package Diagram UI Design

Page 20: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?
Page 21: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

품질관리

조기에품질을잡으세요.

Page 22: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

조직품질요구사항점검은품질게이트

Quality Gatekeeper는조직의품질게이트(품질요구사항)을설정하고품질게이트를통과하지못한코드는중앙저장소에반영되지못하게하는품질보장하는게이트입니다.

Build Verification통합문제를확인하기위해빌드검증수행

Peer Code Review코드문제를파악하기위해동료와코드리뷰수행

Code InspectionSonarQube를활용하여코드인스펙션수행

Unit Testing전체적인테스트통과여부를확인하는단위테스트수행

Page 23: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

모든것은자동으로진행됩니다.

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

Page 24: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?
Page 25: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

지속적인통합과배포

매일빌드하고배포하세요.

Page 26: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

매일매일빌드하세요.

전체소스코드에대한정적분석(코딩룰, 잠재버그,

취약점등)을수행

클린빌드를통해매일새벽소스코드의통합(빌드)에

문제를확인함

Doxygen, JavaDoc등과함께코드문서, 설계문서등을자동으로생성

테스트서버, 산출물관리서버등에빌드산출물을

자동배포수행

빌드검증 코드품질검증 문서생성자동화 배포자동화

Page 27: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

배포자동화를위한전략은

Dev Server Staging Server Production Server

Test Server

AutomationCommit Build

Daily Build

Release Build

Automation with trigger

Automation with trigger Automation Automation

Page 28: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?
Page 29: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

요구사항관리

유지보수

아키텍처디자인

개발

테스팅

빌드관리

프로젝트관리

릴리즈배포관리

Page 30: Application Lifecycle Management · 2017-10-16 · Application Lifecycle Management Atlassian으로전체ALM 사이클을구성해볼까요?

감사합니다.