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

Процессные заболевания и методы их лечения

Embed Size (px)

DESCRIPTION

Доклад на конференции Agile-Labs 31 марта 2009 года

Citation preview

Page 1: Процессные заболевания и методы их лечения

Процессные заболевания и методы их лечения

© ScrumTrek.ru, 2009

Асхат УразбаевScrumTrek

http://scrumtrek.ru

Page 2: Процессные заболевания и методы их лечения

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

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

© ScrumTrek.ru, 2009

Page 3: Процессные заболевания и методы их лечения

Эффективность

Эффективность

=

соблюдение ограничений

© ScrumTrek.ru, 2009

Page 4: Процессные заболевания и методы их лечения

Явные ограничения Разработка с

использованием технологий Microsoft

Использование «нашего» фреймворка

Обойтись существующей командой

Уложиться в бюджет

© ScrumTrek.ru, 2009

Page 5: Процессные заболевания и методы их лечения

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

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

© ScrumTrek.ru, 2009

Page 6: Процессные заболевания и методы их лечения

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

Архитектура должна быть «крутая»

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

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

© ScrumTrek.ru, 2009

Page 7: Процессные заболевания и методы их лечения

Как добиться высокой эффективности?

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

Page 9: Процессные заболевания и методы их лечения

© ScrumTrek.ru, 2009

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

Page 10: Процессные заболевания и методы их лечения

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

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

© ScrumTrek.ru, 2009

Page 11: Процессные заболевания и методы их лечения

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

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

или неэффективному достижению целей проекта

Описание проблемы первично

Рецепт вторичен

© ScrumTrek.ru, 2009

Page 12: Процессные заболевания и методы их лечения

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

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

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

беспокоит Можно объявить индивидуальной

особенностью Поменяем определение «эффективности»

или цели проекта

© ScrumTrek.ru, 2009

Page 13: Процессные заболевания и методы их лечения

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

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

причиной неэффективного достижения цели

Симптом "У нас заказчик

неадекватный» Болезнь

Слабая связь с заказчика и разработчика

© ScrumTrek.ru, 2009

Page 14: Процессные заболевания и методы их лечения

Дисфункции

© ScrumTrek.ru, 2009

Page 15: Процессные заболевания и методы их лечения

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

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

ответственности

© ScrumTrek.ru, 2009

Page 16: Процессные заболевания и методы их лечения

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

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

тестировщикам с пометкой «By design»

Система уходит в тестирование в полуразобранном состоянии

Конфликты разработчик – тестировщик

Причины Программисты не отвечают

за качество продукта

© ScrumTrek.ru, 2009

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

Page 17: Процессные заболевания и методы их лечения

Еще инфекции “Неадекватный" заказчик

Плохая связь разработки с заказчиками Низкая вовлеченность/мотивация

разработчиков Низкий уровень ответственности разработчиков

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

команда

© ScrumTrek.ru, 2009

Page 18: Процессные заболевания и методы их лечения

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

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

планирование, демонстрации и т.д. Повысим иммунитет

самоорганизацию команды Коллективное принятие решений,

прозрачность, Shared Vision, ретроспектива и т.д.

© ScrumTrek.ru, 2009

Page 19: Процессные заболевания и методы их лечения

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

В узком смысле Scrum

Итеративность = прозрачность

Самоорганизация

В широком смысле Определить роли и ответственности всех

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

команда!

© ScrumTrek.ru, 2009

Page 20: Процессные заболевания и методы их лечения

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

своей ответственности? Openness. Все ли заинтересованные (ЗЛ) лица знают, кто

ответственый? Rights. Имеет ли ответственный эксклюзивные права на принятие

решений в его области ответственности? FUN. Получает ли ответственный удовлетворение от решения

проблемы? Means. Есть ли у него все необходимые средства для решения

проблемы? Communication. Все ли ЗЛ информируются о том, как проблема

решается? Feedback. Существует ли постоянная обратная связь по

результатам работы?

© ScrumTrek.ru, 2009

Page 21: Процессные заболевания и методы их лечения

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

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

© ScrumTrek.ru, 2009

Page 22: Процессные заболевания и методы их лечения

Примеры токсинов Эффективность коммуникации

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

Разделение ответственности Персональное бонусирование "Пошареные" члены проектной команды Проекты Fixed Price

© ScrumTrek.ru, 2009

Page 23: Процессные заболевания и методы их лечения

Работа с токсинами Обмен информацией

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

информацией Документация (Wiki, Word, Sharepoint, Scrum Notes

etc) Коммуникация (skype, videoconference, и т.д.) Личные контакты (командировки, видео,

«тимбилдинг»)

Разделение ответственности Лечение. Убрать токсин Купирование. Прокси - ответственный

© ScrumTrek.ru, 2009

Page 24: Процессные заболевания и методы их лечения

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

Проблемы объема жира документации

Проблемы качества мышечной массы кода

© ScrumTrek.ru, 2009

Page 25: Процессные заболевания и методы их лечения

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

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

странные решения Очень много переделок, которые можно было

избежать Качество кода

Долгий полный цикл тестирования Много «наведенных» дефектов Время на исправление дефекта невозможно

оценить

© ScrumTrek.ru, 2009

Page 26: Процессные заболевания и методы их лечения

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

© ScrumTrek.ru, 2009

Page 27: Процессные заболевания и методы их лечения

© ScrumTrek.ru, 2009

Page 28: Процессные заболевания и методы их лечения

© ScrumTrek.ru, 2009

Page 29: Процессные заболевания и методы их лечения

© ScrumTrek.ru, 2009

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

Page 30: Процессные заболевания и методы их лечения

© ScrumTrek.ru, 2009

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

Page 31: Процессные заболевания и методы их лечения

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

формой Обязательно осознавать свои

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

облегчен по максимуму Практики

Технологический долг TDD, Test Automation Definition of Done Шаблоны RUP/OpenUP Собственные шаблоны

© ScrumTrek.ru, 2009

Page 32: Процессные заболевания и методы их лечения

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

Фундаментальные дисфункции Бизнес-цель неясна Бизнес-цель

недостижима Бизнес-цель

отсутствует Ограничения

эффективности несовместны

© ScrumTrek.ru, 2009

Page 33: Процессные заболевания и методы их лечения

Кретинизм

Бизнес цель неясна

Лечение Product Owner Product Management Vision & Biz Vison

© ScrumTrek.ru, 2009

Page 34: Процессные заболевания и методы их лечения

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

Бизнес-цель недостижима

Лечение Диагностика

рынком Динамично

корректировать цель

© ScrumTrek.ru, 2009

Page 35: Процессные заболевания и методы их лечения

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

Проект еще существует, но необходимости в нем нет

Лечение Эвтаназия

© ScrumTrek.ru, 2009

Page 36: Процессные заболевания и методы их лечения

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

Ограничения эффективности несовместны

Как правило, означает наличие "политики"

Лечение Реформа внутри организации

Купирование Product Owner ограждает

команду от политики

© ScrumTrek.ru, 2009

Page 37: Процессные заболевания и методы их лечения

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

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

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

команды

© ScrumTrek.ru, 2009

Page 38: Процессные заболевания и методы их лечения

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

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

симптомами Тяжелая болезнь может скрывать

более легкую

© ScrumTrek.ru, 2009

Page 39: Процессные заболевания и методы их лечения

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

© ScrumTrek.ru, 2009

Page 40: Процессные заболевания и методы их лечения

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

Сделать каталог процессных дисфункций

Собрать best practices лечения Подробности тут:

http://scrumtrek.blogspot.com

© ScrumTrek.ru, 2009

Page 41: Процессные заболевания и методы их лечения

Конец

Будьте здоровы! Вопросы?

© ScrumTrek.ru, 2009