Похожие презентации:
OMG! Essence: единая теория программной инженерии?
1. OMG! Essence: единая теория программной инженерии?
ЮРИЙ КУПРИЯНОВSECON’2016
22/04/2016
2. В мире много методов приемов практик идеологий разработки ПО
DevOpsModel Driven Development Literate Programming
V-model
Agile
DSDM
SCRUM
MSF
Personas
Test Driven Development
BDD
RUP
ISO 12207
Use Cases
ScrumBan
UML
Definition of Done
PRINCE2
Lean UX
ГОСТ 34
Automate Testing
User Story
ISO 24744
Kanban
UX centered design
XP
Feature Driven Development
Continious Integration
Waterfall
OpenUP
Lean
BPMN
Pair Programming
3.
Ивар ЯкобсонUML, RUP, аспектно-ориентированное
программирование
Бертран Мейер
Eiffel, ООП, контрактное программирование
Ричард Солей
OMG, UML, CORBA, MDA
4.
SoftwareEngineering
Method
And
Theory
5.
“Программная инженериясегодня серьезно страдает от незрелых практик.
Основные проблемы:
• Погоня за модой.
• Отсутствие прочной, признанной
теоретической базы.
• Огромное число методов и их вариаций,
различия которых искусственно преувеличены.
• Отсутствие надежной экспериментальной
оценки и проверки.
• Разрыв между индустриальной практикой и
академическими исследованиями.
6.
Мы поддерживаем процесс нового основанияпрограммной инженерии – на твердой теории,
проверенных принципах и лучших практиках,
которые:
• Включают в себя ядро согласованных
элементов, расширяемых для конкретных
применений.
• Решают как технологические, так и
человеческие вопросы.
Поддержаны индустрией, наукой и
пользователями.
• Поддерживают расширение в условиях
меняющихся требований и технологий.
”
7.
Подписанты призыва8.
Подписанты призыва9.
ОбучениеТеория
Практика
10.
Методы,Практики и
Ядро
определены
в терминах
Языка
Методы
Methods
Практики
Practices
Ядро
The Kernel
Язык
The Language
Методы
состоят из
практик
Практики
описаны
элементами
Ядра
11.
Области интересаПотребитель
Customer
Решение
Solution
Деятельность
Endeavor
12.
Внутри областей интересаАльфы
ALPHA
α
Abstract-Level Progress Health Attribute
Поле деятельности
Activity Space
Компетенции
Competence
13.
АльфыПотребитель
Возможность
Стейкхолдер
Требования
Программная
система
Решение
Деятельность
Работа
Команда
Технология
работы
14.
Связи АльфПотребитель
Возможность
предоставляет
фокусирует
Стейкхолдер
потребляет и использует
Решение
удовлетворяет
Требования
Программная
система
задают ограничения
Работа
создает
планирует и производит
Технология
работы
Команда
поддерживает
Деятельность
15.
Поле деятельностиПотребитель
Исследовать
возможность
Понять
нужды
Убедиться в
удовлетворении
Изучать
использование
системы
Решение
Понять
требования
Спроектировать
систему
Реализовать
систему
Протестировать
систему
Развернуть
систему
Обслуживать
систему
Деятельность
Приготовиться
выполнять
работу
Координировать дела
Поддерживать
команду
Отслеживать
прогресс
Прекратить
работу
16.
КомпетенцииПотребитель
Представление интересов стейкхолдеров
Решение
Анализ
Разработка
Тестирование
Деятельность
Лидерство
Управление
17.
Как это работает:Альфа
Воплощается в
Имеет
Состояние
альфы
Подтверждает
Намечает
Поле
деятельности
Рабочий
продукт
Создает/изменяет
Воплощается в
Дело
Дело
Дело
Требует
Компетенция
18.
Состояние альфыВыявлены
Стейкхолдеры выявлены.
Представлены
Механизмы вовлечения стейкхолдеров
согласованы, представители обозначены.
Вовлечены
Представители стейкхолдеров вовлечены
в работу и выполняют свои обязанности.
В согласии
Представители стейкхолдеров находятся
в согласии.
Удовлетворены
развертыванием системы
Минимальные ожидания представителей
стейкхолдеров удовлетворены.
Удовлетворены работой
системы
Система удовлетворяет или превышает
минимальные ожидания стейкхолдеров.
19.
СистемаАрхитектура выбрана
Готова к демонстрации
Готова к использованию
Готова к запуску
Эксплуатируется
Выведена из
эксплуатации
Выбрана архитектура, адресующая
технические риски и удовлетворяющая
организационным ограничениям.
Работающая версия системы готова для
демонстрации соответствия архитектуры и
возможности тестирования.
Система готова к использованию и
демонстрирует заданные характеристики
качества.
Система была принята к развертыванию и
запуску.
Система используется в операционном
окружении.
Система больше не поддерживается.
20.
КомандаНамечена
Команда была пополнена достаточным
количеством людей с принятыми
обязательствами, чтобы начать миссию.
Чек-лист:
Сформирована
Сотрудничает
Производит
Распущена
Индивидуальные обязанности понимаются.
Набрано достаточное число членов команды,
чтобы работа продвигалась.
Каждый член команды понимает, как команда
организована, и какая у него индивидуальная роль.
Все члены команды понимают, как выполнять их
работу.
Все члены команды встретились (возможно,
виртуально) и начинают узнавать друг друга.
Члены команды понимают их обязанности и как
они увязаны с их компетенциями.
Члены команды принимают работу.
Любые внешние смежники (организации, команды
и индивиды) определены.
Механизмы общения в команде определены.
Каждый член команды принял обязательство
работать в команде, как определено.
21.
22.
WikiVote! 201222
23. Чек-листы для состояний
ТребованияВыявлены
1/6
Стейкхолдеры согласны, что система
должна быть создана.
Выявлены стейкхолдеры, которые будут
пользоваться системой.
Выявлены стейкхолдеры, которые будут
финансировать создание системы.
Ясно, какую возможность будет
использовать будущая система.
24. Чек-листы для состояний
ТребованияОпределены
2/6
Выявлены стейкхолдеры, вовлеченные в разработку
новой системы.
Все стейкхолдеры согласны с назначением новой
системы.
Ясно, что будет являться показателем успешности
системы.
Все стейкхолдеры разделяют понимание объема
предложенного решения.
Согласован способ описания требований.
Имеется механизм для управления требованиями.
Ясна схема приоритезации требований.
Выявлены и признаны ограничения.
Ясно сформулированы все предположения.
25.
RequirementsSoftware
System
Work
Team
http://www.slideshare.net/junesungpark/applying-essence-in-practiceberlin-ed
26.
Достигнутыhttp://www.slideshare.net/junesungpark/applying-essence-in-practiceberlin-ed
Не достигнуты
27.
http://www.slideshare.net/junesungpark/applying-essence-in-practiceberlin-ed28.
Что дает Ядро?• Фокусирует внимание на состоянии альф;
• Разделяет роли по областям интереса;
• Предоставляет высокоуровневые
последовательности состояний ключевых
альф и чек-листы для их диагностики;
• Задает базовые элементы для описания
практик и методов.
29.
Для чего использовать Ядро?• Для оценки состояния проекта (без привязки к
конкретной методологии);
• Для планирования;
• Для сравнения двух методологий и
проектирования процессов изменения;
• Для обучения;
• Для масштабирования;
• Для оптимизации методов;
• Для подбора людей.
30.
Немедленная польза1. Применять чек-листы.
2. Раскладывать пасьянсы/покер.
3. Включать пункты из чек-листов сразу в
договоры и проектные документы.
31.
Дальнейшие исследованияМоделирование практик в терминах ядра:
32.
Дальнейшие исследованияМоделирование практик в терминах ядра:
33.
Дальнейшие исследованияСборка методов из практик:
Метод
разработки
платформы
Метод
интеграции
приложений
Разработка
мобильных
приложений
DevOps
DevOps
DevOps
RUP
Kanban
Scrum
Architecture Centric
Emerging Architecture
Emerging Architecture
ТЗ по ГОСТ 34
Use Cases
Lean UX
Defect/Issue Tracking
Defect/Issue Tracking
Defect/Issue Tracking
Git Flow
Git Flow
Git Flow
Kernel
Улучшения
Специфические
практики
Общие практики
34.
СсылкиСтраница стандарта на сайте OMG:
http://www.omg.org/spec/Essence/
Глоссарий на русском: http://goo.gl/zfyzjt
Инициатива SEMAT: http://www.semat.org/
Карты Essence на английском:
https://www.ivarjacobson.com/alphastatecards
35. Спасибо за внимание!
Давайте пробовать![email protected]
http://facebook.com/yksi12
skype: yury.kupriyanov
8-903-617-4283