SEMAT Agile Kitchen

Post on 30-Nov-2014

1.415 views 4 download

description

SEMAT OMG Essence on AgileKitchen conference by Agile Russia.

Transcript of SEMAT Agile Kitchen

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

Agile Kitchen11/10/2013

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

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

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

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

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

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

ematSoftwareEngineeringMethodAndTheory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обучение

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

Методы Methods

Практики Practices

Ядро The Kernel

Язык The Language

Состоят из

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

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

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

Решение Solution

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

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

АльфыALPHAAbstract-Level Progress Health Attribute

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

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

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

Потребитель

Решение

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

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

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

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

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

Альфы

Потребитель

Решение

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

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

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

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

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

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

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

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

создает

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

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

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

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

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

наст

раив

аетс

я по

д

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

фокусирует

Связи Альф

Потребитель

Решение

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

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

Понять нужды

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

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

системы

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

ния

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

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

систему

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

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

работу

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

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

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

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

Развер-нуть

систему

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

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

Потребитель

Решение

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

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

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

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

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

Компетенции

Альфа

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

Компетенция

Дело

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

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

Имеет

Требует

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

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

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

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

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

ДелоДело

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

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

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

Вовлечены

В согласии

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

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

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

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

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

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

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

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

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

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

Карты Essence

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

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

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

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

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

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

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

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

Ядро в SCRUM

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В настоящее время стандарт находится на рассмотрении в 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/

Ссылки

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

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

yksi12@gmail.comhttp://facebook.com/yksi12skype: yury.kupriyanov8-903-617-4283