SEMAT Agile Kitchen
-
Upload
yury-kupriyanov -
Category
Technology
-
view
1.415 -
download
4
description
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/
Ссылки
Спасибо за внимание!
Давайте пробовать!
[email protected]://facebook.com/yksi12skype: yury.kupriyanov8-903-617-4283