Процессные заболевания и методы их лечения Асхат Уразбаев ScrumTrek http://scrumtrek.ru

Содержание

Слайд 2

Цель улучшения процессов разработки в проекте Эффективное достижение бизнес целей проекта © ScrumTrek.ru, 2009

Цель улучшения процессов разработки в проекте

Эффективное достижение бизнес целей проекта

© ScrumTrek.ru,

2009
Слайд 3

Эффективность Эффективность = соблюдение ограничений © ScrumTrek.ru, 2009

Эффективность
Эффективность
=
соблюдение
ограничений

© ScrumTrek.ru, 2009

Слайд 4

Явные ограничения Разработка с использованием технологий Microsoft Использование «нашего» фреймворка Обойтись

Явные ограничения

Разработка с использованием технологий Microsoft
Использование «нашего» фреймворка
Обойтись существующей командой
Уложиться в

бюджет

© ScrumTrek.ru, 2009

Слайд 5

Неявные, но подразумеваемые ограничения Соблюдение УК РФ Отсутствие несчастных случаев Заказчик

Неявные, но подразумеваемые ограничения

Соблюдение УК РФ
Отсутствие несчастных случаев
Заказчик должен быть доволен

©

ScrumTrek.ru, 2009
Слайд 6

НЕявные и Неподразумеваемые ограничения Архитектура должна быть «крутая» Менеджер должен получить

НЕявные и Неподразумеваемые ограничения

Архитектура должна быть «крутая»
Менеджер должен получить повышение после

проекта
Наш отдел должен получить всю славу

© ScrumTrek.ru, 2009

Слайд 7

Как добиться высокой эффективности? Rational Unified Process, Prince2, CMMi, ISO9000, Scrum,

Как добиться высокой эффективности?
Rational Unified Process, Prince2, CMMi, ISO9000, Scrum, Extreme

Programming, PMBOK, P+, Evo, FDD, OpenUP, Crystal, Lean development, some text, nobody will be able to recognize, on the screen anyway.

© ScrumTrek.ru, 2009

Слайд 8

Методология как … …сборник рецептов RUP полезно сравнивать с буфетом или

Методология как …

…сборник рецептов
RUP полезно сравнивать с буфетом или рестораном (с)

Doug Foote
…коллекция лучших практик
CMMI is a collection of best practices…(с) Wikipedia
…минимальный набор практик
Do not change Scrum (с) Ken Schwaber

© ScrumTrek.ru, 2009

Слайд 9

© ScrumTrek.ru, 2009 Если существует самый эффективный метод, почему методов так много?

© ScrumTrek.ru, 2009

Если существует самый эффективный метод, почему методов так много?

Слайд 10

Три проблемы методологии One size doesn’t fit ‘em all Lack of

Три проблемы методологии

One size doesn’t fit ‘em all
Lack of rationale
Lack of

understanding

© ScrumTrek.ru, 2009

Слайд 11

Проект = организм? Процессное заболевание Дисфункция, приводящая к недостижению или неэффективному

Проект = организм?

Процессное заболевание
Дисфункция, приводящая к недостижению или неэффективному достижению целей

проекта
Описание проблемы
первично
Рецепт вторичен

© ScrumTrek.ru, 2009

Слайд 12

Что можно сделать с процессным заболеванием? Можно вылечить Проблемы больше нет

Что можно сделать с процессным заболеванием?

Можно вылечить
Проблемы больше нет
Можно купировать
Проблема

не исчезла, но больше не беспокоит
Можно объявить индивидуальной особенностью
Поменяем определение «эффективности» или цели проекта

© ScrumTrek.ru, 2009

Слайд 13

Симптом ≠ Болезнь Симптом = на что жалуются люди Болезнь =

Симптом ≠ Болезнь

Симптом = на что жалуются люди
Болезнь = что является

причиной неэффективного достижения цели
Симптом
"У нас заказчик неадекватный»
Болезнь
Слабая связь с заказчика и разработчика

© ScrumTrek.ru, 2009

Слайд 14

Дисфункции © ScrumTrek.ru, 2009

Дисфункции

© ScrumTrek.ru, 2009

Слайд 15

Группа №1. Инфекции Нарушения обмена информацией Проблемы с распределением ответственности © ScrumTrek.ru, 2009

Группа №1. Инфекции

Нарушения обмена информацией
Проблемы с распределением ответственности

© ScrumTrek.ru, 2009

Слайд 16

Пример инфекции. Тестировщик против программиста Симптомы Много открытых багов Баги часто

Пример инфекции. Тестировщик против программиста

Симптомы
Много открытых багов
Баги часто возвращаются тестировщикам с

пометкой «By design»
Система уходит в тестирование в полуразобранном состоянии
Конфликты разработчик – тестировщик
Причины
Программисты не отвечают за качество продукта

© ScrumTrek.ru, 2009

«Все в порядке, сейчас пофиксим!»

Слайд 17

Еще инфекции “Неадекватный" заказчик Плохая связь разработки с заказчиками Низкая вовлеченность/мотивация

Еще инфекции

“Неадекватный" заказчик
Плохая связь разработки с заказчиками
Низкая вовлеченность/мотивация разработчиков
Низкий уровень ответственности

разработчиков
Команда не соблюдает сроки разработки
Оценкой работ занимается заказчик, а не команда

© ScrumTrek.ru, 2009

Слайд 18

Лечение инфекций Наладим обмен веществ информацией Короткие итерации, Daily Scrum, планирование,

Лечение инфекций

Наладим обмен веществ информацией
Короткие итерации, Daily Scrum, планирование, демонстрации и

т.д.
Повысим иммунитет самоорганизацию команды
Коллективное принятие решений, прозрачность, Shared Vision, ретроспектива и т.д.

© ScrumTrek.ru, 2009

Слайд 19

Лечение инфекций В узком смысле Scrum Итеративность = прозрачность Самоорганизация В

Лечение инфекций

В узком смысле
Scrum
Итеративность =
прозрачность
Самоорганизация
В широком смысле
Определить роли

и ответственности всех участников процесса
Agile: ответственность может нести команда!

© ScrumTrek.ru, 2009

Слайд 20

Чеклист Role. Есть ли ответственный за решение проблемы? Commit. Он знает,

Чеклист

Role. Есть ли ответственный за решение проблемы?
Commit. Он знает, что

он ответственный? Знает ли он область своей ответственности?
Openness. Все ли заинтересованные (ЗЛ) лица знают, кто ответственый?
Rights. Имеет ли ответственный эксклюзивные права на принятие решений в его области ответственности?
FUN. Получает ли ответственный удовлетворение от решения проблемы?
Means. Есть ли у него все необходимые средства для решения проблемы?
Communication. Все ли ЗЛ информируются о том, как проблема решается?
Feedback. Существует ли постоянная обратная связь по результатам работы?

© ScrumTrek.ru, 2009

Слайд 21

Группа №2. Токсины Внешние по отношению к команде ограничения, влияющие на

Группа №2. Токсины

Внешние по отношению к команде ограничения, влияющие на эффективность

обмена информацией или правильное разделение ответственности

© ScrumTrek.ru, 2009

Слайд 22

Примеры токсинов Эффективность коммуникации Распределенная разработка Языковой барьер Разница во времени

Примеры токсинов

Эффективность коммуникации
Распределенная разработка
Языковой барьер
Разница во времени
Удаленный заказчик
"Отдел тестирования"
Разделение ответственности
Персональное бонусирование
"Пошареные"

члены проектной команды
Проекты Fixed Price

© ScrumTrek.ru, 2009

Слайд 23

Работа с токсинами Обмен информацией Лечение. Убрать токсин Купирование. Средства, облегчающие

Работа с токсинами

Обмен информацией
Лечение. Убрать токсин
Купирование. Средства, облегчающие обмен информацией
Документация (Wiki,

Word, Sharepoint, Scrum Notes etc)
Коммуникация (skype, videoconference, и т.д.)
Личные контакты (командировки, видео, «тимбилдинг»)
Разделение ответственности
Лечение. Убрать токсин
Купирование. Прокси - ответственный

© ScrumTrek.ru, 2009

Слайд 24

Группа №3. Физическая форма Проблемы объема жира документации Проблемы качества мышечной массы кода © ScrumTrek.ru, 2009

Группа №3. Физическая форма

Проблемы объема жира документации
Проблемы качества мышечной массы кода

©

ScrumTrek.ru, 2009
Слайд 25

Примеры проблем с физической формой Объем документации Требования плавают в течении

Примеры проблем с физической формой

Объем документации
Требования плавают в течении итерации
Никто не

помнит почему мы приняли такие странные решения
Очень много переделок, которые можно было избежать
Качество кода
Долгий полный цикл тестирования
Много «наведенных» дефектов
Время на исправление дефекта невозможно оценить

© ScrumTrek.ru, 2009

Слайд 26

Коммуникации в проекте © ScrumTrek.ru, 2009

Коммуникации в проекте

© ScrumTrek.ru, 2009

Слайд 27

© ScrumTrek.ru, 2009

© ScrumTrek.ru, 2009

Слайд 28

© ScrumTrek.ru, 2009

© ScrumTrek.ru, 2009

Слайд 29

© ScrumTrek.ru, 2009 У кого из них нормальный вес?

© ScrumTrek.ru, 2009

У кого из них
нормальный вес?

Слайд 30

© ScrumTrek.ru, 2009 Идеальный вес

© ScrumTrek.ru, 2009

Идеальный вес

Слайд 31

Набор физической формы Как правило, длительный процесс Нужно планировать работу над

Набор физической формы

Как правило, длительный процесс
Нужно планировать работу над формой
Обязательно осознавать

свои возможности
Процесс набора должен быть облегчен по максимуму
Практики
Технологический долг
TDD, Test Automation
Definition of Done
Шаблоны RUP/OpenUP
Собственные шаблоны

© ScrumTrek.ru, 2009

Слайд 32

Группа №4. Неврология Фундаментальные дисфункции Бизнес-цель неясна Бизнес-цель недостижима Бизнес-цель отсутствует

Группа №4. Неврология

Фундаментальные дисфункции
Бизнес-цель неясна
Бизнес-цель недостижима
Бизнес-цель отсутствует
Ограничения эффективности несовместны

© ScrumTrek.ru,

2009
Слайд 33

Кретинизм Бизнес цель неясна Лечение Product Owner Product Management Vision & Biz Vison © ScrumTrek.ru, 2009

Кретинизм

Бизнес цель неясна
Лечение
Product Owner
Product Management
Vision & Biz Vison

© ScrumTrek.ru, 2009

Слайд 34

Галлюцинации Бизнес-цель недостижима Лечение Диагностика рынком Динамично корректировать цель © ScrumTrek.ru, 2009

Галлюцинации

Бизнес-цель недостижима
Лечение
Диагностика рынком
Динамично корректировать цель

© ScrumTrek.ru, 2009

Слайд 35

Мозг мертв. Вегетативная кома Проект еще существует, но необходимости в нем

Мозг мертв. Вегетативная кома

Проект еще существует, но необходимости в нем нет
Лечение
Эвтаназия

©

ScrumTrek.ru, 2009
Слайд 36

Шизофрения. Раздвоение личности Ограничения эффективности несовместны Как правило, означает наличие "политики"

Шизофрения. Раздвоение личности

Ограничения эффективности несовместны
Как правило, означает наличие "политики"
Лечение
Реформа внутри организации
Купирование
Product

Owner ограждает команду от политики

© ScrumTrek.ru, 2009

Слайд 37

Есть и другие дисфункции Рак. Некомандное поведение Недостаточность. Отсутствие всех необходимых

Есть и другие дисфункции

Рак. Некомандное поведение
Недостаточность. Отсутствие всех необходимых навыков у

команды
Незрелость. Непрофессионализм команды

© ScrumTrek.ru, 2009

Слайд 38

Общие замечания Оптимизировать процесс в целом Заниматься болезнью, а не симптомами

Общие замечания

Оптимизировать процесс в целом
Заниматься болезнью, а не симптомами
Тяжелая болезнь может

скрывать более легкую

© ScrumTrek.ru, 2009

Слайд 39

Понимать процесс разработки ПО © ScrumTrek.ru, 2009

Понимать процесс разработки ПО

© ScrumTrek.ru, 2009

Слайд 40

Развитие идеи Сделать каталог процессных дисфункций Собрать best practices лечения Подробности тут: http://scrumtrek.blogspot.com © ScrumTrek.ru, 2009

Развитие идеи

Сделать каталог процессных дисфункций
Собрать best practices лечения
Подробности тут:
http://scrumtrek.blogspot.com

© ScrumTrek.ru, 2009