bpm approach to composing essence-based software engineering methods

38
www.semat.org Essence 기반 SW방법론 제정 도구 개발 Development of Essence-based SW Method Composer 분과 / 유엔진 장진영 ([email protected])

Upload: june-sung-park

Post on 02-Jan-2016

250 views

Category:

Documents


2 download

DESCRIPTION

Presentation on how BPM approach can be used to build a tool to compose Essence Kernel-based software engineering methods by Jin Young Jang, CEO of uEngine Solutions which leads the development of an open source BPM engine

TRANSCRIPT

Page 1: BPM Approach to Composing Essence-Based Software Engineering Methods

www.semat.org

Essence 기반 SW방법론제정 도구 개발Development of Essence-based SW Method Composer

툴 분과 / 유엔진 장진영( [email protected])

Page 2: BPM Approach to Composing Essence-Based Software Engineering Methods

CONTENTS

Essence 도구의 필요성과 비젼

Our Approach: 프로세스 기반 Essence 방법론 제정 도구

1. Process Orchestration Approach

2. UI Prototyping: Practice Execution

3. Contribution & Differentiator

4. Roadmap

관련 도구 현황과 기능 분석

1. IJI’s EssWork

2. EssWork 을 기반한 스크럼 방법론 정의

Page 3: BPM Approach to Composing Essence-Based Software Engineering Methods

Need for Essence Tool

1. Capitalization (of Practices and Methodologies)

2. Traceability (of Method Execution)

3. Project Performance

4. Project-specific Process Composition

Page 4: BPM Approach to Composing Essence-Based Software Engineering Methods

요구사항 현존 솔루션

방법론 정의 도구 방법론 특화도구 ALM

방법론의정의

방법론의 정의V V

프랙티스 재조합으로 방법론정의

표준 커널 (시맨틱)과의 매핑

방법론실행

역할 별 업무 리스트 배분, 워크플로우 자동화

V V

프로젝트 관리 V V

개발 도구 연동 / 자동화 V V

방법론모니터링

진척도 대시보드 V V

성과 모니터링 V V

프랙티스 자체의 성능 분석, 개선

예시 솔루션 • Eclipse EPF• IBM Rational

MethodComposer

• ScrumWorks • IBM Jazz• MS Visual Team

Foundation Server

New challenging

SW Tool Market

by Essence

Vision: New Challenge in ALM SW

Page 5: BPM Approach to Composing Essence-Based Software Engineering Methods

CONTENTS

Essence 도구의 필요성과 비젼

Our Approach: 프로세스 기반 Essence 방법론 제정 도구

1. Process Orchestration Approach

2. UI Prototyping: Practice Execution

3. Contribution & Differentiator

4. Roadmap

관련 도구 현황과 기능 분석

1. IJI’s EssWork

2. EssWork 을 기반한 스크럼 방법론 정의

Page 6: BPM Approach to Composing Essence-Based Software Engineering Methods

관련도구현황 – EssWork Practice Workbench

• EssWork

☞Visit http://semat.org to find more about EssWork.6

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

Page 7: BPM Approach to Composing Essence-Based Software Engineering Methods

www.semat.org

Extending the Kernel

with Practices to Create

MethodsBrian Elvesæ ter

SINTEF, Oslo, Norway

Page 8: BPM Approach to Composing Essence-Based Software Engineering Methods

Outline

8

• Scrum Practice – Reference Example

• Defining the Scrum Practice

• Authoring the Practice in the EssWork

Practice Workbench

• Questions

Page 9: BPM Approach to Composing Essence-Based Software Engineering Methods

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

Page 10: BPM Approach to Composing Essence-Based Software Engineering Methods

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

Page 11: BPM Approach to Composing Essence-Based Software Engineering Methods

Outline

11

• Scrum Practice – Reference Example

• Defining the Scrum Practice

• Authoring the Practice in the EssWork

Practice Workbench

• Questions

Page 12: BPM Approach to Composing Essence-Based Software Engineering Methods

Step 0: SEMAT Kernel & Essence Language Concepts

• A standard Kernelprovides 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

12

Alpha

Activity Space

Work Product

Activity

Kernel Practice

Page 13: BPM Approach to Composing Essence-Based Software Engineering Methods

Step 1a: Identify relevant Kernel Alphas

13

Page 14: BPM Approach to Composing Essence-Based Software Engineering Methods

Step 1b: Outline the Scrum Practice

14

Scrum Requirements

Work

Team

SoftwareSystem

Page 15: BPM Approach to Composing Essence-Based Software Engineering Methods

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

Drive

s

Page 16: BPM Approach to Composing Essence-Based Software Engineering Methods

Step 2b: Define alpha states and checkpoints

• Specific Scrum rules are

defined as part of the

alpha state checkpoints.

16

Page 17: BPM Approach to Composing Essence-Based Software Engineering Methods

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

Page 18: BPM Approach to Composing Essence-Based Software Engineering Methods

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

Page 19: BPM Approach to Composing Essence-Based Software Engineering Methods

Step 4b: Identify relevant Kernel Activity Spaces

19

Page 20: BPM Approach to Composing Essence-Based Software Engineering Methods

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

Page 21: BPM Approach to Composing Essence-Based Software Engineering Methods

Outline

21

• Scrum Practice – Reference Example

• Defining the Scrum Practice

• Authoring the Practice in the EssWork

Practice Workbench

• Questions

Page 22: BPM Approach to Composing Essence-Based Software Engineering Methods

Practice Explorer

22

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

Page 23: BPM Approach to Composing Essence-Based Software Engineering Methods

ETextile, Guideline and Card views

23

When selecting an

element in the

Practice Explorer

you can switch

between different

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

The Overview Card

Preview renders the

card presentation

Page 24: BPM Approach to Composing Essence-Based Software Engineering Methods

Scrum Essentials

24

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

Page 25: BPM Approach to Composing Essence-Based Software Engineering Methods

Scrum Roles

25

Scrum roles are

represented as

Patterns

Product Owner

(Guideline Preview)

Product Owner (Card

Preview)

Page 26: BPM Approach to Composing Essence-Based Software Engineering Methods

Scrum Sprint

26

Sprint is represented as

a sub-alpha of Work

The Sprint has

States with

Checkpoints

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

Sprint (Card Preview)

Sprint in Under

Control State

(Card Preview)

Under Control

(State Card Preview)

Page 27: BPM Approach to Composing Essence-Based Software Engineering Methods

Scrum Activities

27

The Scrum events

(except the Sprint which

is represented as an

Alpha) are represented

as ActivitiesSprint Planning Meeting

(Card Preview)

The Sprint Planning Meeting

activity provides guidance on

how to achieve the Planned

state of the Sprint.

The Sprint Planning Meeting

activity provides guidance on

how to achieve the Planned

state of the Sprint.

Page 28: BPM Approach to Composing Essence-Based Software Engineering Methods

CONTENTS

Essence 도구의 필요성과 비젼

Our Approach: 프로세스 기반 Essence 방법론 제정 도구

1. Process Orchestration Approach

2. UI Prototyping: Practice Execution

3. Contribution & Differentiator

4. Roadmap

관련 도구 현황과 기능 분석

1. IJI’s EssWork

2. EssWork 을 기반한 스크럼 방법론 정의

Page 29: BPM Approach to Composing Essence-Based Software Engineering Methods

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

Page 30: BPM Approach to Composing Essence-Based Software Engineering Methods

Business Process Management Approach

People

Process

Products

SVN

EDMS

Test Tool

Report Generator

EclipseProcess

Asset

BPM Lifecycle

Page 31: BPM Approach to Composing Essence-Based Software Engineering Methods

e.g. Scrum Process written in BPMN

31

Role is

clear Product is

clear

Process

is clear

Executable Scrum Process

Page 32: BPM Approach to Composing Essence-Based Software Engineering Methods

Modeling

ToolsTesting Tools

Web2.0 Portal

Practice processes

Method processes

Process Repository

Collaboration

CI tools

Eclipse

Worklist Subversive + KM

•프로세스조합

프랙티스 /방법론아키텍트 개발자/팀장개발자

Requirement

Tools

성과데이터베이스(Mondrian OLAP)

국산 OSS

•프로세스실행 / 가이드•프로세스모니터링•프로세스분석 / 최적화

BPM/ACM

engine

Method(Practice) Automation using BPM and ACM

도구들

사람들

프랙티스/

방법론

Business Modeling

• Business Motivation Model

• Organization Model

• Business Process Model

• Business Rule Model

Page 33: BPM Approach to Composing Essence-Based Software Engineering Methods

프랙티스의 정의

• 정의를 위하여 필요한것– 커널과의 매핑

• 에센스 커널의 표준화된 Alphas, Activity Spaces들과의 의미적 연결 정의

• 매핑한 의미간의 갭을 변환할 수 있는 (용어의 갭, 단위의 갭 등) 연결도구

– 액티비티 프로세스의 조합과 실행데이터입력

• 표준 커널 액티비티의 신규 조합

• 조합한 커널 액티비티의 실행가능한 단계를 위한 메타정보 추가 입력

– 페르소나별 사용성 제공

• Kernel Composer: Practice Composer: Method Composer = n : nn : nnn :

nnnn ?

• Method Composer와 Practice Composer, 그리고 단순 실행자의 역량별, 주사용성 별 도구 난이도의 설정

Page 34: BPM Approach to Composing Essence-Based Software Engineering Methods

Kernal Activity Stapces

스크럼애자일정보공학방법론2e ISP 방법론RUP

…..

..

….

….

……

…..

누가조직도와역할정의에서누가프로세스에참여하지는스윔래인에끌어놓는다

BPMN-based Activity Space Composer

Practice Composer

언제액티비티의선후행관계및이벤트에의한상황대응등을BPMN으로표기한다.

설비

스크럼프로세스

무엇을액티비티팔렛트에서행위, 설비, 이벤트등의요소로활동을정의한다

Competency

어떻게세부적인행동지침을문서, 이미지등으로편집한다.

Kernal Alphas

Page 35: BPM Approach to Composing Essence-Based Software Engineering Methods

프랙티스/방법론의 실행

• 실행을 위하여 필요한것– 실제 조직

• 협력사 등 다양한 상황별 조직/역할구성

• 실제적인 개발 조직(사회)를 구성하여야 함

– 가상 기업

• 다양한 위치의 액터들이 (상주/비상주) 효율적 협업 공간 (모바일)

• 빠르고 세밀한 (마이크로한) 협업과 창의적 발상 및 지식관리를 지원

– 유연성과 참여 동기부여

• 딱딱한 프로세스 실행의 강제가 아닌 유연성 필요

• 사용하고 싶은 동기유발요인 필요

Page 36: BPM Approach to Composing Essence-Based Software Engineering Methods

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

Page 37: BPM Approach to Composing Essence-Based Software Engineering Methods

Vision: Essence Practice Community

E.g. BPMN Community

http://en.bpmn-community.org/

Page 38: BPM Approach to Composing Essence-Based Software Engineering Methods

Discussion