SEMAT Agile Kitchen

33
OMG! Единая теория программной инженерии? Agile Kitchen 11/10/2013

description

SEMAT OMG Essence on AgileKitchen conference by Agile Russia.

Transcript of SEMAT Agile Kitchen

Page 1: SEMAT Agile Kitchen

OMG! Единая теория программной инженерии?

Agile Kitchen11/10/2013

Page 2: SEMAT Agile Kitchen

В мире много методов приемов практик идеологий разработки ПО

SCRUM Agile

XPUML

RUP

MSF

Use Cases

Kanban

Pair Programming

Model Driven Development

Personas

V-model

User StoryLean

DevOps

PRINCE2

ISO 12207

Continious IntegrationWaterfall

BPMN

OpenUP

MSF

Definition of Done

BDD

Automate Testing

UX centered design

Feature Driven Development

Test Driven Development

ГОСТ 34

ISO 24744

Literate Programming

DSDM

Page 3: SEMAT Agile Kitchen

Пал Андреич, а ваша команда какой метод разработки использует?

Видишь ли, Юра…

Page 4: SEMAT Agile Kitchen

© Асхат Уразбаев - http://www.myshared.ru/slide/7778/

Page 5: SEMAT Agile Kitchen

Сейчася всех спасу!

Page 6: SEMAT Agile Kitchen

ematSoftwareEngineeringMethodAndTheory

Page 7: SEMAT Agile Kitchen

Ивар ЯкобсонUML, RUP, аспектно-ориентированное программирование

Бертран МейерEiffel, ООП, контрактное программирование

Ричард СолейOMG, UML, CORBA, MDA

Page 8: SEMAT Agile Kitchen

сегодня серьезно страдает от незрелых практик.

Основные проблемы:•Погоня за модой, что более присуще фэшн-

индустрии, а не инженерной дисциплине.

•Отсутствие прочной, всеми признанной

теоретической базы.•Огромное число методов и их вариаций,

различия которых малопонятны и искусственно преувеличены.

•Отсутствие надежной экспериментальной

оценки и проверки. •Разрыв между индустриальной практикой и

академическими исследованиями.

SEMAT: Призыв к действию!

“Программная инженерия

Page 9: SEMAT Agile Kitchen

Мы поддерживаем процесс нового основания программной инженерии – на твердой теории, проверенных принципах и лучших практиках, которые:

•Включают в себя ядро согласованных элементов, расширяемых для конкретных применений.•Решают как технологические, так и

человеческие вопросы.

•Поддержаны индустрией, наукой и

пользователями.•Поддерживают расширение в

условиях меняющихся требований и технологий.

SEMAT: Призыв к действию!

Page 10: SEMAT Agile Kitchen

Обучение

ПрактикаТеория

Page 11: SEMAT Agile Kitchen

Методы Methods

Практики Practices

Ядро The Kernel

Язык The Language

Состоят из

Описаны при помощи элементов

Определены в терминах

Page 12: SEMAT Agile Kitchen

Потребитель Customer

Решение Solution

Деятельность Endeavor

Области интереса

Page 13: SEMAT Agile Kitchen

АльфыALPHAAbstract-Level Progress Health Attribute

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

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

Внутри областей интереса

Page 14: SEMAT Agile Kitchen

Потребитель

Решение

Деятельность

Возможность Стейкхолдер

Требования Программная система

Работа Команда

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

Альфы

Page 15: SEMAT Agile Kitchen

Потребитель

Решение

Деятельность

Возможность Стейкхолдер

Требования Программная система

Работа Команда

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

планирует и производит

предоставляет

удовлетворяет

создает

потребляет и использует

задают ограничения

применяетнаправляет

Обновляет, изменяет

поддерживает

наст

раив

аетс

я по

д

предъявляетпомогает использовать

фокусирует

Связи Альф

Page 16: SEMAT Agile Kitchen

Потребитель

Решение

Деятельность

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

Понять нужды

Убедиться в удовлетворении

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

системы

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

ния

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

Реализо-вать

систему

Обслу-живать систему

Приготовиться выполнять

работу

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

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

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

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

Развер-нуть

систему

Прекратить работу

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

Page 17: SEMAT Agile Kitchen

Потребитель

Решение

Деятельность

Анализ Разработка

Представление интересов стейкхолдеров

Лидерство Управление

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

Компетенции

Page 18: SEMAT Agile Kitchen

Альфа

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

Компетенция

Дело

Состояние альфы

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

Имеет

Требует

Создает/изменяет

Подтверждает

Воплощается в

Воплощается в

НамечаетПриводит к

ДелоДело

Как это работает:

Page 19: SEMAT Agile Kitchen

Состояние альфыВыявлены

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

Вовлечены

В согласии

Удовлетворены развертыванием системы

Удовлетворены работой системы

Стейкхолдеры выявлены.

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

Представители стейкхолдеров вовлечены в работу и выполняют свои обязанности.

Представители стейкхолдеров находятся в согласии.

Минимальные ожидания представителей стейкхолдеров удовлетворены.

Система удовлетворяет или превышает минимальные ожидания стейкхолдеров.

Page 20: SEMAT Agile Kitchen

«Проектный пасьянс»

«Проектный покер»

Карты Essence

Page 21: SEMAT Agile Kitchen

Отсечь лишнее

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

Page 22: SEMAT Agile Kitchen

Можноопределить собственные под-альфы, их статусы и чеклисты для проверки.

Ядро расширяемо

Page 23: SEMAT Agile Kitchen

Можноопределить собственные под-альфы, их статусы и чеклисты для проверки.

Ядро расширяемо

Page 24: SEMAT Agile Kitchen

Можноопределить собственные под-альфы, их статусы и чеклисты для проверки.

Ядро расширяемо

Page 25: SEMAT Agile Kitchen

Ядро в SCRUM

Page 26: SEMAT Agile Kitchen

SCRUM в Ядре [практика]

Page 27: SEMAT Agile Kitchen

SCRUM в Ядре [практика]

Page 28: SEMAT Agile Kitchen

Собираем из практик метод

Page 29: SEMAT Agile Kitchen

• Фокусирует внимание на состоянии альф;• Разделяет роли по областям интереса;• Предоставляет высокоуровневые

последовательности состояний ключевых альф и чек-листы для их диагностики;

• Задает базовые элементы для описания практик и методов.

Что дает Ядро?

Page 30: SEMAT Agile Kitchen

• Для оценки состояния проекта (без привязки к конкретной методологии);

• Для планирования;• Для сравнения двух методологий и

проектирования процессов изменения;• Для обучения;• Для масштабирования;• Для оптимизации методов;• Для подбора людей.

Для чего использовать Ядро?

Page 31: SEMAT Agile Kitchen

1. Применять чек-листы.2. Раскладывать пасьянсы/покер.3. Включать пункты из чек-листов сразу в

договоры и проектные документы.

Немедленная польза

Page 32: SEMAT Agile Kitchen

В настоящее время стандарт находится на рассмотрении в OMG. Драфт: http://www.omg.org/spec/Essence/1.0/Beta1/PDF/

Глоссарий на русском: http://goo.gl/zfyzjt

Инициатива SEMAT: http://www.semat.org/

Карты Essence на английском: http://www.ivarjacobson.com/SEMAT_Kernel_Cards_Download/

Ссылки

Page 33: SEMAT Agile Kitchen

Спасибо за внимание!

Давайте пробовать!

[email protected]://facebook.com/yksi12skype: yury.kupriyanov8-903-617-4283