60
Инструменты системного мышления против решений «пальцем в небо» Андрей Геоня

Инструменты системного мышления против решений (РИТ++)

  • Upload
    2-

  • View
    1.523

  • Download
    0

Embed Size (px)

DESCRIPTION

Довольно часто в процессе разработки ПО нам важно и нужно принимать решения, но с другой стороны, как мы знаем, решения — основная причина возникновения проблем. Как проанализировать социотехническую систему целиком и осознать, что в ней происходит? Как выбрать один из множества возможных вариантов решения множества возникающих проблем? Как понять, что принятое нами решение не обернется пачкой негативных явлений в самом неожиданном месте? Об ответах на подобного рода вопросы с помощью таких инструментов, как Дерево текущей реальности, Диаграмма разрешения конфликтов, Дерево будущей реальности, и некоторых других, мы и поговорим в рамках данного доклада.

Citation preview

Page 1: Инструменты системного мышления против решений (РИТ++)

Инструменты системного мышления против решений «пальцем в небо»

Андрей Геоня

Page 2: Инструменты системного мышления против решений (РИТ++)
Page 3: Инструменты системного мышления против решений (РИТ++)
Page 4: Инструменты системного мышления против решений (РИТ++)
Page 5: Инструменты системного мышления против решений (РИТ++)

Сбой в команде

Page 6: Инструменты системного мышления против решений (РИТ++)

Инструменты

Failure Mode and Effects Analysis

Fault Tree Analysis

Пять почему

Page 7: Инструменты системного мышления против решений (РИТ++)
Page 8: Инструменты системного мышления против решений (РИТ++)

Комплексная система

Page 9: Инструменты системного мышления против решений (РИТ++)

3 офиса разработки

Комплексная система

R&D 2GIS

20+ команд

200+ человек

200+ серверов

Page 10: Инструменты системного мышления против решений (РИТ++)
Page 11: Инструменты системного мышления против решений (РИТ++)

Самообман или упрощение

Page 12: Инструменты системного мышления против решений (РИТ++)
Page 13: Инструменты системного мышления против решений (РИТ++)

Дерево текущей реальности

А

В Если А, то В

C

В А Если А и В, то С

Page 14: Инструменты системного мышления против решений (РИТ++)

Как избежать «философии»

Page 15: Инструменты системного мышления против решений (РИТ++)
Page 16: Инструменты системного мышления против решений (РИТ++)
Page 17: Инструменты системного мышления против решений (РИТ++)

Не ok: КПЛП №1 — Ясность

Сложно синхронизироваться с командой

У меня стационарный компьютер

В Работаю в распределённой

команде

Переговорка с девайсом

часто занята

Есть переговорки без девайса

У меня не мобильное

рабочее место

OK!

Page 18: Инструменты системного мышления против решений (РИТ++)
Page 19: Инструменты системного мышления против решений (РИТ++)

Не ok (не закончено):

Не ok (нарушена структура):

ok: БАГИ

Не успели сделать 3 спринтовых фичи, потому

что фиксили баги

КПЛП №2 — Наличие утверждения

В продукте есть 2 блокера

ok: Не успели сделать 3 спринтовых фичи

Фиксили в спринте баги

Page 20: Инструменты системного мышления против решений (РИТ++)
Page 21: Инструменты системного мышления против решений (РИТ++)

КПЛП №3 — Наличие П-С утверждений

Не ok (не явно): Смежной команде

на нас плевать

Не ok (причина не в этом):

Не зарелизили фичу в спринте

У смежной команды нет доки

ok: Мне ответили на 0

писем из 10

ok: Не зарелизили фичу в спринте

Сгорел наш дата - центр

Page 22: Инструменты системного мышления против решений (РИТ++)
Page 23: Инструменты системного мышления против решений (РИТ++)

КПЛП №4 — Достаточность причины

Не ok Закончилось место на

диске боевой БД

«Залипла» очередь сообщений

Закончилось место на диске боевой БД

«Залипла» очередь

сообщений

Логи очереди пишутся на диск

боевой БД

Не освободили вовремя место на

диске

OK!

Page 24: Инструменты системного мышления против решений (РИТ++)
Page 25: Инструменты системного мышления против решений (РИТ++)

КПЛП №5 — Наличие альтернативной причины

Не ok Приложение начало

«плеваться» ошибками

Отказал диск на DNS-cервере

Приложение начало «плеваться» ошибками

Отказал диск на DNS-сервере

Кто-то напортачил в конфиге DNS’a

OK!

Page 26: Инструменты системного мышления против решений (РИТ++)
Page 27: Инструменты системного мышления против решений (РИТ++)

КПЛП №6 — Поиск проверочного следствия

Не ok Приложение начало

«плеваться» ошибками

Кто-то напортачил в конфиге DNS-а

Кто-то напортачил в конфиге DNS’a

Сломалось приложение

смежной команды

OK! Приложение начало

«плеваться» ошибками

Page 28: Инструменты системного мышления против решений (РИТ++)
Page 29: Инструменты системного мышления против решений (РИТ++)

Не ok:

КПЛП №7 — Отсутствие подмены причины следствием

Не ok У нас упал сервер

БД

В логах ошибки доступа к БД

Мы поняли, что упал сервер БД

Мы написали статью на «Хабр»

Не обеспечили отказоустойчивость

сервера

OK!

В логах ошибки доступа к БД

У нас упал сервер БД

Page 30: Инструменты системного мышления против решений (РИТ++)
Page 31: Инструменты системного мышления против решений (РИТ++)

Не ok: >> Криворукая команда сорвала сроки >> С чего взял, что команда криворукая? >> Так она же сроки сорвала!

1. Не использовать результат для обоснования причины 2. Тщательно анализировать 3. Искать проверочное следствие

ok:

КПЛП №5 — Отсутствие зацикливания логики

Page 32: Инструменты системного мышления против решений (РИТ++)
Page 33: Инструменты системного мышления против решений (РИТ++)

«Что мешает мне работать эффективнее?»

Собираем команду

Page 34: Инструменты системного мышления против решений (РИТ++)

Собираем нежелательные явления (НЯ)

Page 35: Инструменты системного мышления против решений (РИТ++)

Строим ДТР

Page 36: Инструменты системного мышления против решений (РИТ++)
Page 37: Инструменты системного мышления против решений (РИТ++)
Page 38: Инструменты системного мышления против решений (РИТ++)
Page 39: Инструменты системного мышления против решений (РИТ++)
Page 40: Инструменты системного мышления против решений (РИТ++)

Вопрос Инструмент Что менять? Дерево текущей реальности

На что менять? Диаграмма разрешения конфликтов ----------------------------------------------- Дерево будущей реальности

Как осуществить перемены? Дерево перехода

Другие инструменты ТоС

Page 41: Инструменты системного мышления против решений (РИТ++)
Page 42: Инструменты системного мышления против решений (РИТ++)

— Противоположные точки зрения

— Выбор между альтернативами

Виды конфликтов

Page 43: Инструменты системного мышления против решений (РИТ++)

— Удостовериться, что конфликт существует

— Осознать его связь с системным проблемами

— Разрешить конфликт

Какие проблемы решает ДРК

Page 44: Инструменты системного мышления против решений (РИТ++)

— Анализируем исходные предположения методов

— Ищем нестандартный метод обеспечения условий

Структура ДРК

Задача

Условие 1 Метод 1

Условие 2 Метод 2

Прорыв

Конфликт

Page 45: Инструменты системного мышления против решений (РИТ++)

Пример ДРК

Запустить линейку продуктов

Запустить Android версию

Подключить команду на Android

версию

Запустить iOS версию

Подключить команду на iOS

версию

Конфликт

Page 46: Инструменты системного мышления против решений (РИТ++)

Пример ДРК

Запустить линейку продуктов

Запустить Android версию

Подключить команду на Android

версию

Запустить iOS версию

Подключить команду на iOS

версию

Конфликт Реализовать на

PhoneGap-e

Page 47: Инструменты системного мышления против решений (РИТ++)
Page 48: Инструменты системного мышления против решений (РИТ++)

— Проверить идею на желаемые результаты

— Проверить идею на side effect’s

Какие проблемы решает ДБР

Page 49: Инструменты системного мышления против решений (РИТ++)

Структура ДБР

Желаемый результат

Существующая реальность

Ожидаемый результат

Существующая реальность Прорыв Существующая

реальность

Нежелательное явление

Существующая реальность

Нежелательное явление

Нежелательное явление

Page 50: Инструменты системного мышления против решений (РИТ++)

Способны запускать новый продукт

Есть proof of concept идеи

Команда способна взяться за продукт

Команда сейчас загружена на 100%

Увеличим команду в 5 раз

Желаемый результат

Ожидаемый результат Реальность

Реальность

Пример ДБР

Page 51: Инструменты системного мышления против решений (РИТ++)

Способны запускать новый продукт

Есть proof of concept идеи

Команда способна взяться за продукт

Команда сейчас загружена на 100%

Увеличим команду в 5 раз

Желаемый результат

Ожидаемый результат Реальность

Реальность

В команде сейчас 10 человек

Все 10 чел. вводят новых людей в курс

Фокус-Фактор скатился до 0,0001

Запросов по продуктам всё так же много

Тимлид в печали

Пользователи не довольны

Пример ДБР

Page 52: Инструменты системного мышления против решений (РИТ++)
Page 53: Инструменты системного мышления против решений (РИТ++)

— Помогает определить преграды на пути к цели

Какие проблемы решает ДП

Page 54: Инструменты системного мышления против решений (РИТ++)

Структура ДП Задача

Промежуточная цель 1

Промежуточная цель 2

Промежуточная цель 3

Промежуточная цель 4

Препятствие 1

Препятствие 2

Препятствие 3

Page 55: Инструменты системного мышления против решений (РИТ++)

Пример ДП Понимать, полезен ли пользователю

этот функционал в текущем виде

Вспоминаем предыдущий опыт выкатки подобного функционала частями

Фиксируем успешность и факапность всех релизов частями

Не знаем, какой будет реакция пользователей

Нет опыта выкатки подобных фич частями

Page 56: Инструменты системного мышления против решений (РИТ++)
Page 57: Инструменты системного мышления против решений (РИТ++)
Page 58: Инструменты системного мышления против решений (РИТ++)

Статичность ДТР

Мораль — не строить дерево 2 недели, если можно построить за 2 дня

Page 59: Инструменты системного мышления против решений (РИТ++)
Page 60: Инструменты системного мышления против решений (РИТ++)

@AndreyGeonya [email protected]

Вопросы?