Cee secr-2014-presentation-ru-bezuglyy-system of systems v1 2

Post on 15-Jun-2015

826 views 2 download

description

Современный бизнес ставит перед разработчиками жесткие требования по необходимости сокращения жизненного цикла разработки,c которыми не может справится ни Agile, ни классическая модель разработки. В докладе рассмотрен методический подход позволяющий решить данную проблему на основе принципа системной инженерии “Система-Систем”

Transcript of Cee secr-2014-presentation-ru-bezuglyy-system of systems v1 2

Методы сокращения ЖЦ цикла разработки на основе принципа

Системы – Систем

1

Безуглый Дмитрий

Около 20-лет опыта участия в проектах по созданию, развитию, внедрению и эксплуатации различных систем.

Max масштаб проекта 50 инженеров, около 30 чел-лет. Разработка ПО

Max бюджет проекта 2,5 млн долл. (ЦОД)

Max ROI проекта 400%(инвестиционный проект)

Ведущий эксперт ООО «Системный Подход» с 2008 года

2@cornerless

Жизненный цикл разработки

Время от появления идеи до предоставления реальной возможности использования (capability)

@cornerless 4

09.09.2013 Курс: Введение в ИТ технологии

Бизнес …

5

09.09.2013 Курс: Введение в ИТ технологии

… Ожидает, и …

6

09.09.2013 Курс: Введение в ИТ технологии

…. Департамент ИТ

7

Теория систем ― это лекарство, которое превратилось в болезнь.

Кен Уилбер

Бизнес и системны анализ и теория систем

Самое противное

@cornerless 10

09.09.2013 Курс: Введение в ИТ технологии 11

В чем ключевая причина провалов в ИТ ?

@cornerless 12

Сложность

24.10.2014 Разработка требований к ПО

НЕОПРЕДЕЛЕННОСТЬ

НЕС

ОГЛ

АС

ОВ

АН

НО

СТЬ

COMPLEX

(КОМПЛЕКСНЫЙ)

COMPLICATED

(УСЛОЖНЕННЫЙ)

СHAOTIC

(ХАОТИЧНЫЙ)

SIMPLE

(ПРОСТОЙ)

Усложненный и комплексный Complicated vs. Complex

• Тысячи частей, сотни шагов на сборку

• Кропотливая, тонкая работа,которую сложно завершить

• Все должно работать в определенной последовательности

• Конечная сборка должна отражать исходный план.

• Отклонение от плана = дефект

• Сложно предсказать детали поведения / результаты

• Результаты зависят от многих переменных

• Эти переменныесложно /невозможно предсказать надежно

• Следует ожидать изменений и отклонений, затем учитывать это при планировании

Разработка требований к ПО

Гибкие методологии уменьшают сложность самой системы ?

@cornerless 15

Проблема №1 Внутренняя архитектура

16@cornerless

Понятно что лучше чем так …

17@cornerless

Но и не так …

18@cornerless

Проблема №2 Внешняя архитектура Представим организацию победившего Agile

19@cornerless

Рефакторинг всех не спасет …

20@cornerless

Среднестатистическая организация насчитывает

порядка 500-700 систем, и около 20-40 команд разработки

@cornerless 21

Гибкие методологии не исключают, работы с требованиями, создания

Архитектуры и документации, однако они и не определяют сколько либо пригодного процесса и его места в

метологии

@cornerless

Гибкость

Команды (Организационная)

Системы в разработке

Контекста системы

23@cornerless

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

Ключевые проблемы «Теория систем»

• Подход на основе системы-подсистем подразумевает выявление предназначения совокупности подсистем и полное раскрытие неопределенности на этапе работы с требованиями

• Однако:– На этом этапе информации недостаточно, поэтому

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

– Ошибки на этапе работы с требованиями запускают рекурсивные процессы стабилизации требующие значительного времени

25@cornerless

Ключевые проблемы «Гибкая разработка»

• Решая проблему «отклика» команды разработки для заказчика и локальной стабильности

– Маскирует проблемы связанные со сложностью системы или ее окружения,

– Что неизбежно влечет за собой отложенные и неконтролируемые последствия для систем класса Complicated или Complex.

26@cornerless

Конечная структура разрабатываемой системы в

точности отражает структуру команды которая ее создает

Эмпирическое правило архитектуры

Филипп Кратчен

@cornerless 27

Иии …

Подъехал Иван Царевич к камню

Направо пойдёшь?

НетДа

Голову сложишь Коня потеряешь

Система-систем

29@cornerless

Что изменилось ?1. Контракт с

надсистемой есть сумма контрактов взаимодействия с

другими системами

30@cornerless

2. Каждая система является «живым» развивающимся организмом, что требует координации на этапах планирования , реализации и эксплуатации

Принцип №1 Планирование низкой связанности

Часть работ управление интеграцией на всех уровнях

создания

32@cornerless

Работа

Планирование

Развитие

Работа

Планирование

Развитие

Работа

Планирование

Развитие

Ключевой принцип решения проблемы наладить

взаимодействие на всех этапах Создать структуру

взаимодействующих команд

@cornerless 35

Принцип №2 Независимость слоев. Замок нельзя построить на зыбкой почте

36@cornerless

Шаблон В каждый момент времени комплексный слой может быть только

один

37@cornerless

COMPLEX

(КОМПЛЕКСНЫЙ)

COMPLICATED

(УСЛОЖНЕННЫЙ)

СHAOTIC

(ХАОТИЧНЫЙ)

SIMPLE

(ПРОСТОЙ)

Итоги

Было

• Система (complicated) технический объект, который сдается в эксплуатацию

• Детальные требования как контракт на разработку

• Проектирование архитектуры системы-подсистем

Будет (уже есть)

• Система (complex) социо-техническая система, которая живет

• Требования как поддерживающий механизм координированного развития

• Координированная эволюция

@cornerless 38

Что еще ждет ?

39@cornerless

Спасибо за внимание !Дмитрий Безуглый

+7 915 09 09 700

https://www.facebook.com/dmitry.bezuglyy

@cornerless

bdl@system-approach.ru

ООО «Системный Подход»

https://www.facebook.com/SystemApproach

www.system-approach.ru

@cornerless 40

Прочее …

• Упомянутые презентации– http://www.slideshare.net/Cless/laf2014

– http://www.slideshare.net/Cless/rapid-foresight-for-product-strategy

• Авторское право:– http://ru.123rf.com/profile_alexmit

– http://ru.123rf.com/profile_somchaij

– http://ru.123rf.com/profile_lightwise

– http://ru.123rf.com/profile_everythingpossible

– http://ru.123rf.com/profile_coramax

41@cornerless