semat in discussion corner @ sec(r) 2013

30
Стандарт OMG Essence (Beta) Андрей Байда SECR 2013 25 октября 2013

Upload: andrey-bayda

Post on 18-Dec-2014

395 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: SEMAT in Discussion Corner @ SEC(R) 2013

Стандарт OMG Essence

(Beta)

Андрей Байда

SECR 2013

25 октября 2013

Page 2: SEMAT in Discussion Corner @ SEC(R) 2013

История

2

• Сентябрь 2009: инициатива основана Бертраном Майером, Ричардом Соли и Иваром Якобсоном

• Декабрь 2009: опубликован призыв к действию (http://semat.org/?page_id=2)

• Февраль 2010: видение на год (http://blog.paluno.uni-due.de/semat.org/wp-content/uploads/2012/03/SEMAT-vision.pdf)

• Июнь 2011: OMG FACESEM (Foundation for the Agile Creation and Enactment of Software Engineering Methods) RFP

• Март 2012: видение на 3 года (http://blog.paluno.uni-due.de/semat.org/wp-content/uploads/2012/03/Semat_-_Three_Year_Vision13Jan12.pdf)

• Осень 2012: появляются инструменты (карты, моделер)

• Январь 2013: вышла книга «The Essence of Software Engineering»

• Март 2013: успешно прошли голосования комитетов OMG, начала работать OMG FTF

Page 3: SEMAT in Discussion Corner @ SEC(R) 2013

In a Nut Shell – what we need to change

3

Executives Big companies have

many processes.

Challenges:

-Reuse practices

-Reuse training

-“Reuse” of people

-Evolutionary

improvement is hard

Professionals Want to become

experts. Challenges:

-Their skills are not

easily reusable for a

new product.

-Their career path

follows a zig-zag track

from hype to hype.

Education -Teaching instances

of methods such as

Scrum, RUP, instead

of common base;

doesn’t create

generalists

SEMAT targets the whole software community.

Industry Academics

Research -The Gap between

research and

industry

-No widely accepted

theory

Page 4: SEMAT in Discussion Corner @ SEC(R) 2013

Standing on a solid theoretical basis

Желаемое решение: Архитектура метода

4

Метод является

композицией практик.

Методы исполняемы.

Практика – это

повторяемый подход к

деланию чего-либо с

определенной целью.

Практика дает

систематический

контролируемый

способ решения

определенной

проблемы.

Ядро является точкой

соприкосновения

(common ground), т.к.

включает основные

элементы программной

инженерии.

Язык является предметно-

ориентированным языком

для определения методов,

практик и основных

элементов Ядра.

Page 5: SEMAT in Discussion Corner @ SEC(R) 2013

Standing on a solid theoretical basis

Желаемое решение: Архитектура метода

5

Существует, вероятно,

более чем 100,000

методов, включая,

например, RUP, CMMI,

XP, Scrum, Lean, Kanban

Существует примерно

250 описанных

практик, включая,

например, use cases,

use stories, features,

components.

Ядро включает такие

элементы как

Требования,

Программная

система, Работа,

Команда etc.

Язык легок в

практическом

использовании.

Page 6: SEMAT in Discussion Corner @ SEC(R) 2013

Желаемое решение: Архитектура метода

6

The Essence

Standing on a solid theoretical basis

Page 7: SEMAT in Discussion Corner @ SEC(R) 2013

Ядро

7

Ядро

• Охватывает основы программной инженерии

• Формирует карту программно-инженерного контекста

• Составляет базис для оценки программно-инженерной деятельности

Page 8: SEMAT in Discussion Corner @ SEC(R) 2013

Структура Ядра

8

Endeavor

Решение

Альфы

Пространства дел

Клиент

• Три области интересов

• Альфы

• Пространства дел

• Компетенции

Компетенции

Альфы

Пространства дел

Компетенции

Альфы

Пространства дел

Компетенции

Page 9: SEMAT in Discussion Corner @ SEC(R) 2013

Что такое Альфа?

9

• Альфа является акронимом от Abstract-Level Progress Health Attribute.

• Необходимый элемент программно-инженерной деятельности, имеюший отношение к оценке прогресса и «здоровья» деятельности.

Page 10: SEMAT in Discussion Corner @ SEC(R) 2013

Альфы (alphas)

оп

ред

еляю

т п

ред

мет и

огр

ани

чиваю

т (Sco

pe

s and

con

strains) >

ор

ган

изу

ютс

я д

ля

реа

гир

ова

ни

я н

а (

set

up

to

ad

dre

ss)

>

< определяют (identifies)

по

дд

ерж

иваю

т (sup

po

rt) >

уточн

яет fo

cuse

s >

< планирует и выполняет (performs and plans)

< удовлетворяет (fulfils)

исп

ол

ьзуют

(use

and

con

sum

e) >

< пр

ои

звод

ит

(pro

du

ces)

Работы Work

Технология работы

(Way of Working)

Команда Team

Требования Requirements

Программная система Software System

Возможность Opportunity

Заинтересованные стороны

Stakeholders

Реш

ени

е

(So

luti

on)

Дея

тел

ьно

сть

(En

de

avo

r)

Кл

иен

т

(Cu

sto

mer

)

10

Page 11: SEMAT in Discussion Corner @ SEC(R) 2013

Пространства дел (activity spaces)

Исследовать возможности

Explore Possibilities

Обеспечить удовлетворение заинтересованных сторон

Ensure Stakeholder Satisfaction

Спроектировать систему

Shape the System

Изготовить систему

Implement the System

Протестировать систему

Test the System

Развернуть систему

Deploy the System

Понять потребности заинтересованных сторон

Understand Stakeholder Needs

Подготовиться к работе

Prepare to do the Work

Координировать дела

Coordinate Activity

Поддерживать команду

Support the Team

Завершить работу

Stop the Work

Отслеживать прогресс

Track Progress

Понять требования

Understand the Requirements

Кл

иен

т

(Cu

sto

mer

)

Реш

ени

е

(So

luti

on)

Дея

тел

ьно

сть

(E

nd

eav

or)

Использовать систему

Use the System

Управлять

системой

Operate the System

11

Page 12: SEMAT in Discussion Corner @ SEC(R) 2013

Компетенции

Представительство заинтересованной стороны

Stakeholder Representation

Разработка Development

Анализ Analysis

Тестирование Testing

Лидерство Leadership

Менеджмент Management

Кл

иен

т Ре

шен

ие

Д

еяте

льн

ост

ь

1 Помогает 2 Применяет 3 Владеет

4 Адаптирует

5 Cовершенствует

12

Page 13: SEMAT in Discussion Corner @ SEC(R) 2013

Требования

Что программная система должна делать, чтобы адресовать возможность и удовлетворить стейкхолдеров.

Требования обеспечивают непротиворечивое описание существенных характеристик новой системы. The requirements provide a consistent description of the essential characteristics of the new system.

Достаточное количество требований было адресовано, чтобы удовлетворить потребность в новой системе способом, приемлемым для стейкхолдеров. Enough of the requirements have been addressed to satisfy the need for a new system in a way that is acceptable to the stakeholders.

Согласована потребность в новой системе. The need for a new system has been agreed.

Требования, которые были адресованы, полностью удовлетворяют потребность в новой системе. The requirements that have been addressed fully satisfy the need for a new system.

Начаты Conceived

Ограничены Bounded

Непротиворечивы Coherent

Приемлемы Acceptable

Треб

ова

ни

я (R

eq

uir

em

en

ts)

Удовлетворены Fulfilled

Назначение и тема новой системы ясны. The purpose and theme of the new system are clear.

Адресованы Addressed

Требования описывают систему, которая будет приемлема для стейкхолдеров. The requirements describe a system that is acceptable to the stakeholders.

13

Page 14: SEMAT in Discussion Corner @ SEC(R) 2013

Чеклисты для состояний

Начаты Conceived

Ограничены Bounded

Непротиворечивы Coherent

Приемлемы Acceptable

Треб

ова

ни

я (R

eq

uir

em

en

ts)

Удовлетворены Fulfilled

Адресованы Addressed

14

Начальное множество стейкхолдеров согласно, что система должна быть произведена.

Заинтересованные стороны, которые будут использовать новую систему, определены.

Заинтересованные стороны, которые профинансируют начальную работу по созданию новой системы, определены.

Есть ясная возможность, которую будет адресовывать новая система.

Page 15: SEMAT in Discussion Corner @ SEC(R) 2013

Единица требований

a condition or capability needed by a stakeholder to solve a problem or achieve an objective.

The Requirement Item is ready to be implemented.

Successful implementation of the Requirement Item in the Software System has been confirmed.

Identified

Described R

equ

irem

ent

Item

A specific condition or capability that the Software System must address has been identified.

Implemented The Requirement Item is implemented in the Software System and demonstrated to work.

Verified

Conceived

Bounded

Coherent

Acceptable

Req

uir

emen

ts

Fulfilled

Addressed

Drives

15

Page 16: SEMAT in Discussion Corner @ SEC(R) 2013

Язык, сущности, практики

16

...

Язык Сущности

(абстрактные) Практики

(конкретные)

Источник: ТехИнвестЛаб (http://www.slideshare.net/ailev/essence-21700931)

...

Page 17: SEMAT in Discussion Corner @ SEC(R) 2013

Ключевые свойства Ядра

Ядро:

• Исполняемое

• Расширяемое

• Практичное

17

Page 18: SEMAT in Discussion Corner @ SEC(R) 2013

Примеры проблем

• Определение текущего положения

дел в проекте

• Определение «узких мест»

• Единая версия правды

• Определение дальнейших шагов

для достижения целей проекта

18

Page 19: SEMAT in Discussion Corner @ SEC(R) 2013

Решение проблем

Основанные на использовании

Ядра:

• Модель жизненного цикла

• Описанные методы

• Описанные практики

• Инструменты

19

Page 20: SEMAT in Discussion Corner @ SEC(R) 2013

Моделирование жизненного цикла

Каскадная модель (водопад)

Testing

Deployment

$$

Opportunity Requirements System Team Work Way of Working

Initiated

Requirements

Analysis & Design

Implementation

Stakeholders

Initiation Solution Needed

Viable

Addressed

Benefit Accrued

Value Established

Identified

Bounded

Acceptable

Addressed

Coherent

Conceived

Demonstrable

Ready

Retired

(Usable)

Architecture Selected

Seeded

(Collaborating)

Formed

Adjourned

Under Control

Concluded

Prepared

Closed

Principles Established

In Place

(Working Well)

(Retired)

(Foundation Established)

(Performing)

Fulfilled

Started In Use

Operational

Represented

In Agreement

Satisfied for Deployment

Satisfied in Use

Involved

Recognized

(Collaborating)

Formed

(Performing)

(Collaborating)

Formed

(Performing)

(Collaborating)

Formed

(Performing)

(Collaborating)

Formed

(Performing)

(Working Well)

(Working Well)

(Working Well)

20

Page 21: SEMAT in Discussion Corner @ SEC(R) 2013

Overview of the End of Phase Milestones

Vanilla EssUP

$$

Opportunity Requirements System Team Work Way of Working Stakeholders

Seeded

Collaborating

Formed

Adjourned

Initiated

Under Control

Concluded

Concluded

Prepared

Closed

Principles Established

In Place

Working Well

Retired

Foundation Established

Performing

Performing

Started In Use

Bounded

Acceptable

Addressed

Fulfilled

Coherent

Conceived

Demonstrable

Ready

Retired

Usable

Approach Selected

Fulfilled

Operational

Solution Needed

Viable

Addressed

Benefit Accrued

Value Established

Identified

Represented

In Agreement

Satisfied for Deployment

Satisfied in Use

Involved

Recognized

Inception

Elaboration

Construction

Transition

up

21

Page 22: SEMAT in Discussion Corner @ SEC(R) 2013

Отслеживание текущего состояния

22

SematAcc

Карты состояний

Page 23: SEMAT in Discussion Corner @ SEC(R) 2013

Графический синтаксис

Software System

Requirements fulfills >

Ядро

Objectives Agreed

Состояние

Рабочий продукт

Activity

Компетенция

Activity Space

23

Page 24: SEMAT in Discussion Corner @ SEC(R) 2013

Метод и практики

Scrum

Практика вариантов

использования

Архитектурная практика

Метод проекта Х

24

Page 25: SEMAT in Discussion Corner @ SEC(R) 2013

Пример для Scrum

Requirements

Work

Team

Software System

Scrum

Sprint 1..*

Product Backlog

1

Sprint Backlog

1

Increment

1..*

Product owner

Developer

Scrum master

25

Page 26: SEMAT in Discussion Corner @ SEC(R) 2013

Пример для Scrum

Sprint Review

Daily Scrum

Sprint Planning Meeting

Sprint Retrospective

Sprint Planning Meeting

Prepare to do the Work

Daily Scrum Coordinate the Work

Sprint Review Track Progress

Sprint Retrospective

Support the Team

26

Page 27: SEMAT in Discussion Corner @ SEC(R) 2013

Как пользоваться

[0. Связать достижение альфами определенных состояний с переходами между стадиями жизненного цикла.]

1. Определить текущее состояние проекта при помощи чеклистов, предлагаемых стандартом для альф.

2. Определить к каким состояниям каких альф требуется перейти в первую очередь.

3. Определить те задания, которые необходимо выполнить, чтобы достичь желаемых состояний, определенных на шаге 2.

[4. Убедиться, что используемые практики позволяют заполнить все пространства дел.]

[5. Убедиться в наличии достаточного количества членов команды с необходимыми уровнями компетенций для успешного следования практикам.]

27

Page 28: SEMAT in Discussion Corner @ SEC(R) 2013

Средства моделирования

Колода карт SEMAT http://www.ivarjacobson.com/SEMAT_Kernel_Cards_Download/

Моделер http://www.ivarjacobson.com/EssWork_Practice_Workbench/

28

Page 29: SEMAT in Discussion Corner @ SEC(R) 2013

Summary – What is new?

29

“This (SEMAT) meeting in Zurich

(2010) is likely to be an historic

occasion much like the 1968 NATO

session in Garmish.”

- Watts Humphrey (CMMI)

Page 30: SEMAT in Discussion Corner @ SEC(R) 2013

Спасибо

Вопросы?

Андрей Байда ([email protected])

30