Upload
uenginesolutions
View
248
Download
4
Embed Size (px)
DESCRIPTION
SEMAT Essence 에 대한 소개와 Essencia 도구
Citation preview
2
SW Practice 와 Method
용어 설명 예시
Practice 비교적 잘 된 SW 공학 기법으로 재사용할 가치가 높은 SW개발 및 관리 기법
스크럼, XP, UP, UX
Method
특정 기업의 목적이나 프로젝트의 상황에 맞게사용되는 개발 방법론으로 선진 프랙티스들을조합하고 맞춤화하여 사용하는 상대적으로 재사용율이 낮은 방법론
Microsoft사의 방법론, LG CNS 방법론, 삼성 SDS 방법론, OO금융 프로젝트용 방법론
Language and
Meta-model프랙티스와 메서드를 표현하는 언어(표기법)와기반 모델
SPEM, Essence
3
프랙티스를 프로젝트에 적용시 적합성 평가
각기 다른 방법론 및 프랙티스 조합이 어려움
우리 조직을 위한 초적화된 표준 방법론 제정이 어려움
다양한 방법론을 다르게 적용한 프로젝트들의 일관성 있는
진척도 모니터링 및 평가의 어려움
유행하는 새로운 프랙티스에 적응이 어려움
새로운 방법론 습득의 어려움
응답자 : 89 명
에센스에 관심을 갖는 이유는 ?
Why SEMAT Essence?
Copyright © 2014. Dr. June Sung Park. All rights reserved.
4
2e컨설팅의 Pain-point: 다양한고객의역량과프로젝트상황과에맞게최적화된프랙티스들을조합하여적용하기어려움
프랙티스 표준화와 재조합 도구의 필요성
5
SEMAT: 소프트웨어공학표준화 단체로다음비전을위하여 2009년에 시작됨:
Essence: SEMAT에서제정한방법론제정 표준 (2014년 상반기 OMG의정식표준)
•4 work areas
•100+ participants
•2000 supporters
•6 regional chapters
•75 signatories
Regional ChaptersChair: Zhong Chen
Executive CommitteeChair: June Sung Park
Arne Berre, Michael Goedicke, Shihong Huang, Mira Kajko-Mattsson, Paul McMahon, Ian Spence
Advisory BoardChair: Ivar Jacobson
Bertrand Meyer, Richard Soley
Community AreaChair: June Sung Park
Theory AreaChair: Pontus Johnson and Michael GoedickeIlia Bider, Barry Dwolatzky, Cengiz Erbas, Iaakov Exman, Mathias Ekstedt, Howell Jordan, Ernest Mnkandla, Barry
Myburgh, Kari Smolander, Fritz Solms, Paul Ralph, Morkel Theunissen
Practice AreaChair: Paul McMahon and Ian Spence
Andrey Bayda, Stefan Bylund, Dave Cuningham, Kenji Hiranabe, Shihong Huang, Mira Kajko-Mattsson, P R Karve, Tony van der Linden, Bruce
Macisaac, Ashley McNeile, Winifred Menezes, Barry Myburgh, Richard Oates, Bob Palank, Cecile Peraire, Boris Pozin, A le Roux, Peter Scheffel, Ed Seidewitz, Michael Striewe, Morkel Theunissen, Hironori Washizaki
Education AreaChair: Cecile Peraire and Mira Kajko-Mattson
Pekka Abrahamsson, Sergey Avdoshin, Victor Batovrin, Arne Berre, Pozin Boris, Alexander Boychenko, Zhong Chen, Barry Dwolatzky, Daniel Graziotin, Shihong Huang, Carlos Mario Zapata Jaramillo, Vsevolod
Kotlijrov, Yury Kupriyanov, Sergey Lebedev, Anatoly Levenchuk, Qiang Liu, Paul McMahon, Barry Myburgh, Maria Nelson, Pan Wei Ng,
Alexander Petrenko, Kristian Sandahl, Vladimir Shvey, Yury Telnov, Hironori Washizaki, Bernd Wenzel, Yumei Wu
China ChapterChair: Zhong Chen
Liu Chao, Miao Huaikou, Tao Jiang, Wang Jun, Sean Lei, He LuLu, Liu Min, Ma Qingyu, Chen Steve, Zhao Wenyun, Tao Xianping
Japan ChapterChair: Hironori Washizaki
Kenji Hiranabe, Fuyuki Ishikawa, Yasunobu Kawaguchi, Nobuhide Kobayashi, Shin Kuboaki, Shuji Morisaki, Kazuyoshi Takahashi,
Kentaro Yoshimura
Latin America ChapterChair: Carlos Mario Zapata Jaramillo
Ramón García-Martínez, Claudio Meneses, Jonás Montilva, Hanna Oktaba, Jose Antonio Pow Sang Portillo, José Antonio Pow-Sang, Luis Antonio Salazar-Caraballo, Marcel Simonette, Edison Spina
South Africa ChapterChair: Tony van de Linden
Barry Dwolatzky, Sifiso Motha, Barry Myburgh, Richard Oates, Fritz
Solms, Morkel Theunissen
Russia ChapterChair: Boris Pozin
Sergey Avdoshin, Victor Batovrin, Alexander Boychenko, Sergey Lebedev, Anatoly Levenchuk, Vladimir Shvey, Yury Telnov
Korea ChapterChair: Doo Hwan Bae
Jinyoung Jang, Suk Jin Kang, In Hyun Kim, Tae Kwon Yoon
Community Growth Track Chair: Yury Katkov
Andreay Bayda, Barry Dwolatzky, Michael Goedicke, Shihong Huang, Mira Kajko-Mattsson, Sifiso Motha,
Michael Striewe
Legal Entity TrackChair: Paul McMahon
Arne Berre, Shihong Huang, Ed Seidewitz, Zhong Chen
Web Site Track Chair: Sifiso Motha
Sun Bing, Michael Goedicke, Shihong Huang, Jinyoung
Jang, Ma Qingyu, Michael Striewe
SEMAT Inc.President: June Sung Park
SEMAT OfficeSecretary: Paul McMahonTreasurer: Cecile Preraire
Board of DirectorsChair: Paul Nielsen
Ivar Jacobson, Martin Griss
“사람들이 각자가 현재 가지고 있거나 미래에 만들고자 하는 SW Practice와Method를 공통의 용어와 프레임워크를 기반으로 표현할 수 있도록 하자”
SEMAT
6
Essence(2014)
SPEM(2007)
Role
Task
Work Product
Guideline
Checklist
TemplateVS.
프랙티스 표현 언어와 함께보편적 SW공학 프랙티스의 프레임워크를 제공
- 세부 활동에 묶인역할과 프로젝트상태에 대한 기본적 관계가 성립되어 있음
SW공학 프랙티스를 표현하는 언어(노테이션) 제공
- 프랙티스 및 메서드를 정의한 후실행에 대한 검증을 매번 실시
SPEM과 Essence의 비교
7
Essence - Kernel
SEMAT Essence 는…
1. SW공학프랙티스를표현하는공통구성요소 (커널) 들을제공함
2. 커널은각활동요소와오브젝트, 역할간의상관관계와실행에필요한제약조건등의기본프레임워크가갖추어진상태임
Activity Spaces (무엇을 할것인가)
Alphas (무엇이 이루어지는가) Capabilities (어떤 역량이 필요한가)
상태를전이시킴 역
할을수행함기본적 상관 관계
SEMAT Essence Kernel로 정의한프랙티스는 다음의 기본 관계를 상속받게 됨:
1. 활동과 산출물의 관계2. 활동과 프로젝트 건강도 전이의
관계3. 역량과 활동의 관계
Actionable & TrackablePractices and Methods
8
Essence - SEMAT Essence 로 재정의된 프랙티스의 Power (1/2)
스크럼의활동중릴리즈계획은 Essence Kernel의 2개의표준적 Activity Space와매핑됨
스크럼 릴리즈 계획
Essence Kernel Activity Spaces
9
노력관점
일의 방식
원칙이수립됨
기반이 정해짐
사용됨
In Place
잘 작동함
사용완료됨
일
시작됨
준비됨
시작함
컨트롤 됨
결과가 나옴
완료됨
솔루션관점소프트웨어시스템
아키텍처가선택됨
데모 가능함
사용가능함
출시준비됨
운영가능함
Retired
고객관점
비즈니스 기회
식별됨
솔루션이필요함
가치명제가분명해짐
가치를 냄
현실적임
이익을가져다 줌
이해관계자
식별됨
대표가 선정됨
구현체에 만족함
관여함
사용에 만족함
합의됨
현재진행상태
앞으로할 것들
요구사항
생각함
Bounded
Coherent
Acceptable
Addressed
Fulfilled
Alphas3개 구분, 7개 관점의 프로젝트 건강도 지표와 진척 상태
팀
조직화 됨
협업됨
성과를 냄
해산
모여짐
Activity Spaces
스크럼 릴리즈계획
고객 요구사항을이해
일할 준비가 됨
한번커널에매핑되면커널의기본프레임워크에의하여스크럼의활동에대한체크포인트가제시되고표준화된관점으로모니터링됨
완료 체크포인트
계획 실적 지연지연
Essence - SEMAT Essence 로 재정의된 프랙티스의 Power (2/2)
10
Essence - 적용 시나리오
선진 프랙티스들을 특정한 목적에 맞추어재 조합하여 새로운 방법론을 재생산
프로젝트 상황에 대입하여 프로젝트관리 도구 등으로 실행 자동화
프랙티스와 방법론을 내 프로젝트의상황에 맞게 커스터마이징(테일러링)
선진 SW 공학 프랙티스들을 Essence Kernel로 정의하여 저장소에 보관
11
에센스의 적용 의사가 있다는응답이 과반수를 넘음
에센스 도구를 통하여 도입장벽을해소할 수 있는 가능성
이미 에센스를 도구 없이 혹은 간단한 도구를 적용하여 적용한 사례
수요처 국명 수요량 도입목적 (사용제품)
Fujitsu Services UK 영국 - 자체적용 (제품없이)
KPN 영국 - EssWork 사용
Munich Re 독일 - 컨설팅 (제품없이)
UK government 영국 - 컨설팅 (제품없이)
a major Japanese consumer electronics company 일본 - 컨설팅 (제품없이)
Carnegie Mellon University 미국 - 교육 (제품없이)
KTH Royal Institute of Technology 스웨덴 - 교육 (제품없이)
Essence – Essence 및 도구 시장의 가능성
12
Essence - Munich Re
13
① Reference Model의 활용 + ② 최적의 Practice 선택과 조합
은행참조모델
증권참조모델
보험참조모델차세대 보험Issue Pool
차세대 개선과제Pool
차세대 보험개선과제 정의
차세대 보험프로세스 모델
차세대 보험데이터 모델
차세대 보험Issue Pool
차세대 개선과제Pool
차세대 보험개선과제 정의
차세대 보험프로세스 모델
차세대 보험데이터 모델
차세대 보험 이슈Pool
차세대 보험 이슈Pool
차세대 보험개선과제 Pool
차세대 보험개선과제 Pool
차세대 보험 프로세스체계도/모델
차세대 보험 프로세스체계도/모델
차세대 보험데이터 모델
차세대 보험데이터 모델
차세대 보험개선과제 정의
차세대 보험개선과제 정의
고려요소
기업특성
구축목적
요구사항
팀원역량
ViewDepth
Business Process Data IT Infra Management
Strategy
Model
Application
UXSOA
ISP
EA ITG
BI
PI
PM
DI
DM
SA
BS(Meta Data, BRMS)
ITI
PMO ITPR
Essence - 2e Consulting
14
15,000,000 고객
Fortune 500 기업의 70%가 고객
OMG Standards and Tool Vendors
15
Essence 표준을 지원하는 국산 공개 SW 움직임 - Essencia
•일반 SW개발자들도쉽게 SW 개발방법론을정의하여적용함으로써 SW 생산성을향상시킬수있도록도움을줄수있는, Essence 표준에적합한 Practice 및방법론을개발하고조합하며실행시키는 SEMAT Essence 지원방법론재정의및실행지원솔루션 - 'Essencia' 의개발과보급이목표
액터와시스템정의
Method Repo.
Method AuthorStakeholders
(Product Owner, PM, Developer)
Method Composer
프랙티스조립 N-Screen/Web2.0 Portal
실행 / 가이드모니터링분석 / 최적화
Practice / Method
Orchestrator
Or 기존 PMS(JIRA)
WorkList SNS Dashboard
Requirement
Tools
Modeling
ToolsTesting
ToolsCI tools
Practice Library
Practice Author
Practice Mapper에센스-프랙티스매핑
16
Essencia - Essence 커널 기반 프랙티스 /메서드 디자인 & 컴포지션 타임 지원(1/2)
Practice Mapper Essence 커널 기반 SW공학 프랙티스(기법) 재정의 툴
주요 유즈케이스• Essence Kernel Alpha 와
Practice 산출물간의 매핑• Essence Kernel Activity
Space와 Practice Activity간의 매핑
• Practice 의 세부적인 실행을 위하여 BPMN 모델러를 이용하여 Practice Process를 정의
• Practice Process는Practice Activity와Activity Space와의 매핑에 의하여 자동으로 초안이 생성되어 유저의 편집대기상태가 됨.
Practice
Author
(1) (2) (3)
Practice Library
An Essence-poweredPractice
17
Essencia - Essence 커널 기반 프랙티스 /메서드 디자인 & 컴포지션 타임 지원(2/2)
주요 유즈케이스• 프랙티스 전체, 혹은 프랙티스 내의 일부 구성요소를 라이브러리에서 끌어다 놓는 방식으로 방법론을 구성함.
• 방법론에 추가적인 액티비티가 필요하면 그 순간추가함.
• 방법론에 의하여 프랙티스가 커버하는 전체 영역의 커버리지와 중첩 부위, 갭이 자동으로 인식되어가이드됨.
• 중첩된 산출물과 액티비티 (알파와 액티비티 스페이스)는 두 개 이상의 프랙티스의 것이 모두 제시되며, 이중에서 유저는 초안에 제공된 체크리스트를 직접 편집할 수 있음.
Practice Library
Tailoring
Composition & Real-time Validation
Method ComposerEssence 프랙티스 컴포지션을 통한 메서드(방법론) 제정 도구개발
Method
Author
18
Essencia - 프랙티스/메서드 런-타임 지원 도구(1/4)
Practice &
Method Orchestrator
Project
Manager
주요 유즈케이스• 메서드/프랙티스 실행 시작 정보 입력 (프로젝트정보 및 참여자 역할 매핑)
• 프로젝트 워크리스트 확인, 체크포인트 실행유무판단, 체크
• 프로젝트에 관계된Stakeholder들이 이행해야 하는 단계에서 제공될카드 형식의 Work Item UI의 상세 설계
• BPMN기반으로 구체화된프랙티스는 BPM엔진의의하여 체크리스트가 자동으로 관리되며 이에 따라 프랙티스의 각 액티비티의 완료여부를 기반으로 실시간의 도식화된 진척도 모니터링
Project
Stakeholder
프랙티스 실행에 따른 체크리스트 및 검증 완료 후 프랙티스 액티비티를 완료시킬 수 있는 워크리스트와 워크아이템 핸들러
19
Essencia - 프랙티스/메서드 런-타임 지원 도구(2/4)
Health Dashboard 프로젝트 진척도 및 건강도 분석과 모니터링 기술 개발
Project
Stakeholder
주요 유즈케이스• 액티비티 Workflow에 매핑된 Alpha State 및Alpha State Checkpoint 진척 상황 모니터링 기술
• Alpha State 달성도의 측정 지표에 기반한 프로젝트 건강도 대시보드 구현기술
• 각 프랙티스 뷰로 전환하여 액티비티 모니터링 관점으로도 볼 수 있는 뷰를제공
• 마일스톤 설정에 따라 계획대비 실적을 표시
20
Essencia - 프랙티스/메서드 런-타임 지원 도구(3/4)
집단 지성 기반 메서드 오소링 및 소셜 프로젝트 관리 환경 개발
주요 유즈케이스• 협업 프랙티스·메서드 오소링
• 프로젝트 객체 (알파, 액티비티) 팔로우 기능
• 채팅, 마이크로 블로그, 블로그, 화상회의 등의 통합커뮤니케이션
• 외부 소셜 네트워크 연동통한 크라우드 소싱
• 관련 산출물 등을 업로드하여 여러 사람과 공유하여 협업
Method Composer & Work Portal
21
Essencia - 프랙티스/메서드 런-타임 지원 도구(4/4)
Explore
Possibilities
Stakeholder
Reconized
Understand
Stakeholder
Needs
Ensure
Stakeholder
Satifaction
Use the
System
Understand
the
Requirements
Shape the
System
Implement the
System
Test the
System
Deploy the
System
Prepare to Do
the Work
Coordinate
Activity
Support the
Team
Track Progress
Stop the Work
Product
Increment
Release
Product Backlog
Development
Agile Architecture
Design
Agile Modeling,
Test-Driven
Development and
Backlog Grooming
Release Planning
and Definition of
Done
Sprint Planning
Daily Scrum
Sprint
Retrospective
Sprint Review
Opportunity RequirementSoftware
SystemTeam
Way of
WorkingWork
Sprint Plan
Task Board
Product
Increment
Engineering
Method
Represented
Involved
In Agreement
Satisfied in
Deployment
Identified
Solution Needed
Value Estab.
Viable
Addressed
Conceived
Bounded
Coherent
Addresses
Architecture
SelectedAcceptable
Fulfilled
Demonstrable
Usable
Ready
Operational
Selected
Collaborating
Foundation
Established
Formed
Performing
In Use
In Place
Working Well
Initiated
Prepared
Started
Under Control
Concluded
Closed
Principles Estab.
Product
Vision
Product
Architecture
Model, Build and
Backlog
Product Roadmap,
Release Plan and
Engineering Method
Product
Backlog
Agile Requirement
Development
Burndown Chart, Team
Velocity and Release
Plan Update
Essence-powered Practice모델
Executable Model(e.g. BPMN)
Execution Environment(e.g. JIRA, BPMS)
프로젝트 관리 툴 연동 및 플러그인 인터페이스 개발Practice &
Method Orchestrator
주요 유즈케이스• JIRA와 Microsoft Project에 Export / Import 기능을 제공
• JIRA용 Essencia 플러그인모듈을 개발
• OSGi 의 Extender Pattern Extender Pattern 을 활용한 플러그인 방식
• Essencia 실행타임 지원도구에 의한 Alpha 진행정보 등을 Open API로 제공기능
• Open API와 플러그인 인터페이스를 통하여 SW공학 도구를 추천해주는 기능
1 2
3
22
Essencia 의 기능적 차별화 포인트
Solution Benefits Stakeholder
SEMAT Essence
Conformance 를 Fully 지원
프로세스오케스트레이션
접근
클라우드
서비스
소셜/모바일
프랙티스 전문가
프로젝트 관리자
발주자
개발자
일관되고 균형 잡힌 관점의 진척 및 건강도모니터링
도구에 의한 프랙티스 자동 검증
프랙티스를 표준적이며, 실행 가능한 형태로정의하여 빠른 이해와 확산
글로벌 사용에 제약 없는 공동 프로젝트 협업 과대시보드 공유
워크리스트 내 체크포인트들에 의한 프로젝트 내역할과 책임 명확한 인지
프랙티스의 공유 및 집단지성 개선, 마켓플레이스의판매모델 가능, 대중에게 미리 Acceptance 구함
가능
설치 없이 필요할 때 사용량 만큼만의비용지불로 사용
23
Appendix. 배경
SW공학 전문가 개발자, PM, 고객
?
누가 ? 언제 ? 무엇을 ? 어떻게 ?
많은 SW공학 기법들이 존재하나 다음과 같은 지원이 부족함:
• 공통된 표기법 부재 SW 공학 프랙티스를 정확히 이해하고 학습하기 어려움 상이한 프랙티스 들을 상호 비교하고 프로젝트에 최적화된 활용을 위한 통합을 시도할 때 표준화된 기준이 부재하기 때문에 여러개의 프랙티스를 혼용하여 적용하기 힘듦. 따라서, 프로젝트시 효율적인 SW공학기법을 비교 및 선택, 통합하기 어려움. 이러한 어려움은 다양한 표준화된 방법론과 프랙티스들을 활용해야 하는, 다양한 프로덕트 라인과 서비스라인을 보유한 기업의 입장에서 엔터프라이즈 방법론 아키텍처를 구축하는데 어려움을 줌. 따라서, 프로젝트시 효율적인 SW공학방법을 비교 및 선택, 통합하기 어려움.
• 명확한 가이드라인과 체크리스트의 부재 개발자들이 매일 어떤 계획과 어떤 일정을 처리해야 하는지를 명확하고 친절히 알려주지 못함
• 다관점의 균형 잡힌 프로젝트 건강도 통합뷰 부재 프로젝트 이해관계자 전원의 다양한 균형 잡힌 관점에서 여러 프로젝트 건강 상태를 동일한 관점으로 모니터링 할 수 없음.
소프트웨어 공학 방법론을 둘러싼 현업의 어려움
24
Appendix. SEMAT Essence 표준의 등장
SW공학 전문가 개발자, PM, 고객
• SEMAT의 목적은 SW공학 전문가와 SW프로세스 공학자들뿐 아니라 일반 SW개발자들이 쉽게 SW기법(프랙티스)와 방법론을 비교, 평가, 맞춤화(테일러링), 조합, 시뮬레이션, 사용, 적응, 측정할 수 있도록, 변형(extensible), 실행(actionable), 조합(composable), 적응(adaptable), 확장(scalable)이 가능한 SW공학의 커널을 만드는 것.
• Essence 커널은 SW공학의 필수 객체요소(Alpha), 활동요소 (Activity Spaces), 및 역할요소 (Competency)로구성됨.
• 이러한 공통언어는 쉽게 프랙티스를 어떻게 세부적으로실행에 옮겨야 하는지에 대한 가이드와 진척에 대한통합 모니터링을 가능하게 함 (이후 소개)
SEMAT Essence는 SW공학 프랙티스를 표현하는 공통 커널을 제공함
SEMAT Essence Kernel
Alpha
(무엇을)
Activity Space
(어떻게)
Competency
(누가)가나 다 라 마
바 사 아자
카 타 차
25
Appendix. SEMAT Essence Kernel 의 상세
SEMAT Essence는 SW공학 프랙티스를 표현하는공통 커널을 제공함
Activity Spaces (무엇을 할것인가)
Alphas (무엇이 이루어지는가) Capabilities (어떤 역량이 필요한가)
상태를전이시킴 역
할을수행함
SEMATEssenceKernel
Opportunity
Stakeholders
Requirements
Software System
Work
Team
Way of Working
Explorer Possibilities
Understand Stakeholder Needs
Ensure Stakeholder Satisfaction
Use the System
Understand the System
Shape the System
Implement the System
Test the System
Deploy the System
Operate the System
Stakeholder representation
Analysis
Development
Testing
Leadership
Management
Alphas(무엇을)
Activity Spaces(어떻게)
Capabilities
고객관점
솔루션관점
노력관점
고객관점
솔루션관점
고객관점
솔루션관점
노력관점
노력관점 Prepare to do the Work
Coordinate Activity
Support the Team
Track Progress
Stop the Work
SEMAT Essence는 각 활동요소와 오브젝트, 역할간의 상관관계와 실행에 필요한 제약조건 등의 기본
프레임워크를 갖춤
기본적 상관 관계
26
Appendix. 예시: Essence Kernel을 기반한 스크럼 방법론의 매핑
Kernel Activity Space Scrum Activity
Explore Possibilities
UnderstandStakeholder Needs
Understand the Requirements
Prepare to Do theWork
Coordinate Activity
Support the Team
Ensure StakeholderSatisfaction
Track Progress
Explore Possibilities
Release Planning
Sprint Planning
Daily Scrum
Sprint Review
SprintRetrospective
27
Appendix. 예시: Essence Kernel을 기반한 스크럼 방법론의 매핑
Kernel Capability Scrum Roles
StakeholderRepresentation
Leadership
Management
Analysis
Development
Testing
Product Owner
Scrum Master
Developer
<is capable of
<is capable of
<is capable of
<is capable of
28
Appendix. 예시: Essence Kernel을 기반한 스크럼 방법론의 매핑
Kernel Alpha Scrum Objects
Stakeholder
Opportunity
Requirement
Software System
Team
Work
Way of Working
Product Vision
Product Backlog
Product Increment
Scrum Team
Release Plan
Sprint Plan
Task Board
Work Remaining
Burndown Chart
Definition of Done
Scrum Guide
Sprint Backlog
Scrum Master
Developer
Product OwnerRole