6. Причины трагедии Очень важный заказчик Нереальные планы Увеличивающийся объем работ Высокие технологические риски Архитектурные просчеты Провалились приемочные тесты Сменился ведущий архитектор Выдавание желаемого за действительное Неверные приоритеты разработки Ошибки внедрения
7. Прошло 350 лет Кораблестроение многому научилось Развиваются новые индустрии Проектный менеджментстал наукой Почему спустя 350 лет мы совершаем одни и те же ошибки?
9. ДИЛЕММА ВАЖНОСТИ И ПРАВОТЫ ЗАКАЗЧИКА Гарри Гордон Селфридж сказал «Заказчик всегда прав» Но что, если важный заказчик не прав?
10. Безоговорочное согласие приводит к ухудшению качества обслуживания Пренебрежение мнением сотрудников Демотивация Снижение качества услуг
11. Безоговорочное согласие приводит к проектным неудачам Принимаем нереальные сроки Соглашаемся с неоптимальными решениями Позволяем диктовать технические требования Боимся сказать возразить или признать провал На продукте будет «висеть» наша бирка
20. Unlearn ФИКСИРОВАТЬ ОБЪЕМ ПРОЕКТА [SCOPE] x [TIME] x BUDGET x QUALITY [SCOPE] x [TIME] x [BUDGET] x [QUALITY] [SCOPE] x [TIME] x [BUDGET] x [QUALITY] В проигрыше оказываются все: сценарий «Lose-lose»
21. LearnУПРАВЛЯТЬ ОБЪЕМОМ ПРОЕКТА 1) Разбивать проект на под-проекты Детализировать и подписывать требования только текущего под-проекта Планировать работу над следующим проектом, основываясь на опыте предыдущего
22. LearnУПРАВЛЯТЬ ОБЪЕМОМ ПРОЕКТА 2) Фокусироваться на приоритетах бизнеса Регулярно поставлять наиболее важную для бизнеса функциональность Принимая важные изменения, позволить бизнесу учиться и создавать конкурентные преимущества
24. ПРОБЛЕМА OVER-ENGENEERING’А Стремясь «упредить» изменения мыразрабатываем универсальные решения Big Requirement Up Front (BRUF) Big Design Up Front (BDUF)
26. LearnБЕЗОПАСНО И ДЕШЕВО ВНОСИТЬ ИЗМЕНЕНИЯ Дешево: - Простой дизайн Безопасно - Автоматические тесты Без ограничений - Рефакторинг Архитектура растет вместе со знаниями о продукте
28. Бытуют мнения «Мне не нужны юнит-тесты, я без них пишу качественно» «У меня нет времени на рефакторинг, поэтому я пишу качественно сразу» «Legacy код пишется в Индии и Китае»
30. ПРОБЛЕМА ПРОФЕССИОНАЛЬНОЙ НЕБРЕЖНОСТИ Не думать О том, что будет с нашим кодом через полгода-год О том, что будет с нашим кодом, после того, как мы перейдем на другой проект О тех людях, которые будут его поддерживать
33. LearnПРОФЕССИОНАЛИЗМ = БЕЗОПАСНОСТЬ ЗАБОТА О СЕБЕ - TDD - Refactoring- Continuous Integration Пишите код так, что бы позже, при его поддержке Вам было за что себя поблагодарить
46. Unlearns БЫТЬ БЕЗОТКАЗНЫМ ФИКСИРОВАТЬ ОБЪЕМ ПРОЕКТА СТРОИТЬ УНИВЕРСАЛЬНУЮ АРХИТЕКТУРУ ПУТАТЬ ПРОФЕССИОНАЛИЗМ И ХРАБРОСТЬ ПОЛАГАТЬСЯ НА СТАНДАРТНЫЙ ПОДХОД #itjam #unl