Essence 기반 SW 방법론 제정도구개발 Development of Essence-based SW Method Composer 툴분과 / 유엔진장진영 (jyjang@uengine.org) www.semat.org
CONTENTS Essence 도구의필요성과비젼 관련도구현황과기능분석 1. IJI s EssWork 2. EssWork 을기반한스크럼방법론정의 Our Approach: 1. Process Orchestration Approach 2. UI Prototyping: Practice Execution 3. Contribution & Differentiator 4. Roadmap 프로세스기반 Essence 방법론제정도구
Need for Essence Tool 1. Capitalization (of Practices and Methodologies) 2. Traceability (of Method Execution) 3. Project Performance 4. Project-specific Process Composition
Vision: New Challenge in ALM SW 요구사항 현존솔루션 방법론정의도구방법론특화도구 ALM 방법론의정의 방법론의정의 V V 프랙티스재조합으로방법론정의 표준커널 ( 시맨틱 ) 과의매핑 방법론실행 역할별업무리스트배분, 워크플로우자동화 V V 프로젝트관리 V V 방법론모니터링 개발도구연동 / 자동화 진척도대시보드 성과모니터링 V V V V V V New challenging SW Tool Market by Essence 프랙티스자체의성능분석, 개선 예시솔루션 Eclipse EPF IBM Rational Method Composer ScrumWorks IBM Jazz MS Visual Team Foundation Server
CONTENTS Essence 도구의필요성과비젼 관련도구현황과기능분석 1. IJI s EssWork 2. EssWork 을기반한스크럼방법론정의 Our Approach: 1. Process Orchestration Approach 2. UI Prototyping: Practice Execution 3. Contribution & Differentiator 4. Roadmap 프로세스기반 Essence 방법론제정도구
관련도구현황 EssWork Practice Workbench EssWork 1. Interactive presentation of the Essence Kernel 2. Practice authoring and extension using the Essence Language 3. Method composition 4. Innovative card-based representation 5. Publication of methods, practices and kernels as card-based HTMLweb-sites 6. Export to the EssWork deployment environment Visit http://semat.org to find more about EssWork. 6
Extending the Kernel with Practices to Create Methods Brian Elvesæ ter SINTEF, Oslo, Norway www.semat.org
Outline Scrum Practice Reference Example Defining the Scrum Practice Authoring the Practice in the EssWork Practice Workbench Questions 8
About Scrum Scrum consists of Scrum Teams and their associated roles, events, artifacts, and rules. Scrum s roles, artifacts, events, and rules are immutable and although implementing only parts of Scrum is possible, the result is not Scrum. Source K. Schwaber and J. Sutherland, "The Scrum Guide", Scrum.org, October 2011. http://www.scrum.org/stor age/scrumguides/scrum_ Guide.pdf 9
Scrum Concepts Scrum team (roles) Product Owner Development Team (of developers) Scrum Master Scrum artifacts Product Backlog Sprint Backlog Increment Scrum events The Sprint Sprint Planning Meeting Daily Scrum Sprint Review Sprint Retrospective 10
Outline Scrum Practice Reference Example Defining the Scrum Practice Authoring the Practice in the EssWork Practice Workbench Questions 11
Step 0: SEMAT Kernel & Essence Language Concepts A standard Kernel provides a baseline starting point a "map" of the software development endeavour. Practices add details and provide specific guidance on particular aspects of the software development Key language concepts: Alpha, Activity Space, Work Product and Activity Kernel Practice Alpha Work Product Activity Space Activity 12
Step 1a: Identify relevant Kernel Alphas 13
Step 1b: Outline the Scrum Practice Scrum Requirements Work Team Software System 14
Drives Step 2a: Add sub-alphas Extending the Work Alpha The Work alpha is typically used for the duration of a development project that may cover a number of sprints. Thus we define a new sub-alpha called Sprint. Sub-alphas drive their parent alphas 15
Step 2b: Define alpha states and checkpoints Specific Scrum rules are defined as part of the alpha state checkpoints. 16
Step 3: Add Work Products "The Product Backlog is an ordered list of everything that might be needed in the product and is the single source of requirements for any changes to be made to the product." "The Sprint Backlog is the set of Product Backlog items selected for the Sprint plus a plan for delivering the product Increment and realizing the Sprint Goal." "The Increment is the sum of all the Product Backlog items completed during a Sprint and all previous Sprints." 17
Step 4a: Define Activities "The work to be performed in the Sprint is planned at the Sprint Planning Meeting." "The Daily Scrum is a 15-minute time-boxed event for the Development Team to synchronize activities and create a plan for the next 24 hours." "A Sprint Review is held at the end of the Sprint to inspect the Increment and adapt the Product Backlog if needed." "The Sprint Retrospective occurs after the Sprint Review and prior to the next Sprint Planning Meeting." 18
Step 4b: Identify relevant Kernel Activity Spaces 19
Step 4c: Relate activities to Kernel Activity Spaces NB! Just one possible suggestion. The organization depends amongst others on how one interpret and define the completion criteria of the Activities. 20
Outline Scrum Practice Reference Example Defining the Scrum Practice Authoring the Practice in the EssWork Practice Workbench Questions 21
Practice Explorer The Practice Explorer shows Practice Workbench projects The Essence Kernel project contains the elements defined in the OMG Essence specification Alphas that represent the essential things to work with Activity Spaces that represent the essential things to do 22
ETextile, Guideline and Card views The ETextile Source view provides the main editor for authoring the practice using plain text and annotations The Guideline Preview renders how the guideline will be presented in HTML When selecting an element in the Practice Explorer you can switch between different views The Overview Card Preview renders the card presentation 23
Scrum Essentials The Scrum practice is created as a separate practice project in the Practice Workbench The Scrum practice extends the Essence Kernel by providing more detailed guidance. Drag and drop the relevant Alphas to extend from the Essence Kernel into the Scrum practice project Drag and drop the relevant Activity Spaces to extend from the Essence Kernel into the Scrum practice project 24
Scrum Roles Product Owner (Guideline Preview) Scrum roles are represented as Patterns Product Owner (Card Preview) 25
Scrum Sprint Sprint (Card Preview) Sprint is represented as a sub-alpha of Work The Sprint has States with Checkpoints Sprint in Under Control State (Card Preview) The Sprint has associated the Work Product Sprint Backlog that contains the set of Product Backlog items selected for the Sprint, and the plan for delivering the product Increment Under Control (State Card Preview) 26
Scrum Activities The Scrum events (except the Sprint which is represented as an Alpha) are represented as Activities Sprint Planning Meeting (Card Preview) The Sprint Planning Meeting activity provides guidance on how to achieve the Planned state of the Sprint. 27
CONTENTS Essence 도구의필요성과비젼 관련도구현황과기능분석 1. IJI s EssWork 2. EssWork 을기반한스크럼방법론정의 Our Approach: 1. Process Orchestration Approach 2. UI Prototyping: Practice Execution 3. Contribution & Differentiator 4. Roadmap 프로세스기반 Essence 방법론제정도구
Ideation: Practice/Method Capitalization & Automation with BPM Executable Practice Make practices executable by OMG BPMN Easy Method Composition Method composition by reconfiguring / multiple Practices (Process library) Once practices and methods are defined in BPM platform, Method Execution / Guidance work distribution dynamic staff resolution Tool integration Monitoring / Analysis Performance Performance Analysis on People and Process (Composed Activity Spaces) 29
Business Process Management Approach BPM Lifecycle Process Asset People Process Products SVN Eclipse EDMS Test Tool Report Generator
e.g. Scrum Process written in BPMN Executable Scrum Process Process is clear Role is clear Product is clear 31
Method(Practice) Automation using BPM and ACM 프랙티스 / 방법론아키텍트 개발자 개발자 / 팀장 사람들 프로세스조합 Process Repository Practice processes Method processes 성과데이터베이스 (Mondrian OLAP) Worklist Subversive + Collaboration KM Eclipse BPM/ACM engine Requirement Tools Modeling Tools Business Modeling Business Motivation Model Organization Model Business Process Model Business Rule Model Web2.0 Portal 프로세스실행 / 가이드 프로세스모니터링 프로세스분석 / 최적화 Testing Tools 프랙티스 / 방법론 CI tools 도구들 국산 OSS
프랙티스의정의 정의를위하여필요한것 커널과의매핑 에센스커널의표준화된 Alphas, Activity Spaces 들과의의미적연결정의 매핑한의미간의갭을변환할수있는 ( 용어의갭, 단위의갭등 ) 연결도구 액티비티프로세스의조합과실행데이터입력 표준커널액티비티의신규조합 조합한커널액티비티의실행가능한단계를위한메타정보추가입력 페르소나별사용성제공 Kernel Composer: Practice Composer: Method Composer = n : nn : nnn : nnnn? Method Composer 와 Practice Composer, 그리고단순실행자의역량별, 주사용성별도구난이도의설정
BPMN-based Activity Space Composer Practice Composer Kernal Activity Stapces 스크럼애자일정보공학방법론 2e ISP 방법론 RUP.. Kernal Alphas...... Competency 설비 스크럼프로세스 언제액티비티의선후행관계및이벤트에의한상황대응등을 BPMN 으로표기한다. 누가조직도와역할정의에서누가프로세스에참여하지는스윔래인에끌어놓는다 무엇을액티비티팔렛트에서행위, 설비, 이벤트등의요소로활동을정의한다 어떻게세부적인행동지침을문서, 이미지등으로편집한다.
프랙티스 / 방법론의실행 실행을위하여필요한것 실제조직 협력사등다양한상황별조직 / 역할구성 실제적인개발조직 ( 사회 ) 를구성하여야함 가상기업 다양한위치의액터들이 ( 상주 / 비상주 ) 효율적협업공간 ( 모바일 ) 빠르고세밀한 ( 마이크로한 ) 협업과창의적발상및지식관리를지원 유연성과참여동기부여 딱딱한프로세스실행의강제가아닌유연성필요 사용하고싶은동기유발요인필요
System Architecture Differentiator : fit for more wide range of end-users Web 2.0 Technology better UX and bi-directional collaborative work (collective intelligence) Cloud for SaaS service, multi-tenanted, linear scalable Automated integrated with existing ALM tools and BPM Open Source everyone can extend the platform Open Platform everyone can share their practices 36
Vision: Essence Practice Community E.g. BPMN Community http://en.bpmn-community.org/
Discussion