Психология управления: создание самоорганизующихся...

Post on 30-Jun-2015

147 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Любая сложная деятельность состоит из множества различных аспектов. Каждый из этих аспектов является важным, и любой руководитель стремится их все контролировать. Но возможности человека ограничены и, если держать одновременно слишком много фокусов, то неизбежно будет упущено немало важных вещей или изменений и, как следствие, ухудшится качество управления. Так и в разработке программного обеспечения для достижения успеха необходимо следить за аналитической работой, определением приоритетов, правильной архитектурой, качеством кода, тестированием, документацией и многими другими вещами. И, наверное, каждый, кто пробовал управлять разработкой ПО знает, что уследить за всем этим одновременно невозможно. Начав акцентировать внимание, например, на документации можно получить снижение скорости разработки, а вновь занявшись разработкой обнаружить отсутствие документации. И, как правило, нет никакой возможности нанять для контроля различных аспектов специальных людей. А попытки регламентировать каждый шаг и формализовать детальные требования к процессам и артефактам серьезно демотивируют участников проекта и, в лучшем случае, просто не дают желаемого результата. Но различные аспекты деятельности связаны между собой, а также зависят от обстоятельств, внешних по отношению к ним. Например, необходимость согласования архитектуры несколькими разработчиками неизбежно приведет к появлению хорошей документации по проекту. Другим примером является SCRUM, когда несмотря на отсутствие прямых указаний об улучшении качества кода, в командах нередко появляются такие процедуры как code review, непрерывная интеграция и мо

TRANSCRIPT

Click to edit Master title styleПсихология управления: создание самоорганизующихся процессов

Николай Гребнев,CUSTIS

Отказ от ответственности• Авторский взгляд• Необщепринятая теория• Свободное использование терминологии

Предпосылки

Сложная деятельность

Состоит из множества аспектов

• Распределение• Качество• Координация• Взаимодействие• Внешние коммуникации• Работа с людьми• …

Разработка ПО

• Аналитика• Управление требованиями• Взаимодействие с заказчиком• Взаимодействие с пользователями• Разработка• Качество кода• Архитектура• Тестирование• Производительность• Документация• И многое другое…

Каждый аспект важен

Каждый аспект требует управления

Каждый аспект требует контроля

Как это обеспечить?

Стандартные средства

• Участие в деятельности• Контроль• Делегирование ответственности• Формализация и стандартизация

Личный контроль

Делегирование ответственности

Формализация и стандартизация

Итого

• Низкая эффективность• Высокая цена• Снижение мотивации

НО, оно же как-то работает

Почему?

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

– процесс упорядочения элементов одного уровня в системе за счёт внутренних факторов, без внешнего специфического воздействия

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

• Знание• Возможность научиться• Давление внешних условий и обстоятельств• Стремление сделать хорошо• Стремление к улучшению

Можно ли как-то влиять на самоорганизацию и направлять ее?

Да!

Примеры

SCRUM

SCRUM

• Самоорганизация команды• Качественный код• Высокая скорость работы

Domain Driven Design

DDD

• Качественная архитектура• Документация• Взаимопонимание

Test Driven Desing

TDD

• Объектно-ориентированный дизайн• Слабая связность• Качественный код

Как это работает?

Как это работает?

• Цель• Средства• Ограничения

SCRUM

• Цель

• успех проекта• Средства

• определяются самой командой• Ограничения

• Итерация• Backlog• Равноправие

В результате

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

• Качественный код• Качественный продукт• Хорошее взаимопонимание в

команде• Самостоятельность в принятии

проектных решений

DDD

• Цель

• говорить на одном языке• Средства

• единый язык• Ограничения

• от постановок до кода только на едином языке

В результате

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

• Архитектуру знают и понимают все• Документирование архитектуры• Согласование всех изменений на

раннем этапе

TDD

• Цель

• Простой дизайн и уверенность• Средства

• Red – Green – Refactor • Ограничения

• Тесты вперед• Один тест – один класс

В результате

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

• Объектно-ориентированный дизайн• Слабосвязный код• Качественная архитектура на

нижнем уровне

Обобщаем

• Понятная цель• Простые средства• Жесткие ограничения

Поговорим о психологии

Знание и обучение

• Человек или команда:

• Представляет решение• Способен к обучению

• Необходимо:

• «Вынудить» синтезировать решение• Позволить его применить

Цель

Видимая цель мотивирует

Ограничение

Простые ограничения придают смысли обеспечивают необходимость

Область применения

Что контролировать явно?

Ключевые факторы успеха

• Содержание деятельности• Соблюдение ограничений• Понимание целей

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

Применима, если

• Должно быть• С приемлемым качеством• Не требует ручного управления

Примеры

• Документирование• Архитектура• Аналитика• Code Review• Автоматизация тестирования• Мотивация• Коммуникации

Проблемы и ограничения

Для самоорганизации требуется время

Результат не гарантирован

Процесс не управляем

Зачем?

Зачем?

• Построение самоорганизующейся системы – это понимание того, что вручную управлять всем невозможно

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

• Уменьшение нагрузки – концентрация на действительно важном

Спасибо за вниманиеДокладчик: Николай Гребневe-mail: ngrebnev@gmail.comslideshare.net: ngrebnev

top related