SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении...
-
Upload
secon -
Category
Data & Analytics
-
view
131 -
download
3
Transcript of SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении...
![Page 1: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/1.jpg)
Принцип YAGNI в управлении
проектами Анна Тарасенко7bits (Омск)
![Page 2: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/2.jpg)
ОБО МНЕ
• Умею читать и писать с 1979 года• Программирую с 1989 года• Преподаю программирование с 1999 года• Занимаюсь заказной разработкой ПО с 2009
года• Планы на 2019 год в процессе• Организатор конференции HappyDev• Организатор ИТ-субботников – мини-
конференций в Омске раз в месяц
![Page 3: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/3.jpg)
КЛАССИЧЕСКАЯ ПРОДАЖА ЧАСОВ
С увеличением числа разработчиков доход растет линейно
![Page 4: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/4.jpg)
КЛАССИЧЕСКАЯ ПРОДАЖА ЧАСОВ
Расходы растут нелинейно из-за появления управленцев
![Page 5: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/5.jpg)
ТИПИЧНЫЕ ПРОБЛЕМЫ
• Заказчик хочет точную оценку в часах, которую очень сложно дать
• Сложно поднимать стоимость часа с долгосрочным заказчиком
• Сложно обосновывать время на рефакторинг, автотесты и многое другое
Когда критерий – затраченное время, а не результат, основной вопрос: «Почему так
много?»
![Page 6: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/6.jpg)
ЧЕГО ХОЧЕТ ЗАКАЗЧИК?
• Точный срок (fixed timing)• Точную сумму денег (fixed budget)• Точный и полный список требований
(fixed scope)• Быстрое составление ТЗ и оценку всего
вышеперечисленного
![Page 7: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/7.jpg)
ЧЕГО ХОЧЕТ ЗАКАЗЧИК НА САМОМ ДЕЛЕ?
• Точный срок (fixed timing)• Точную сумму денег (fixed budget)• Постоянно менять и добавлять
требования• Сохранение первоначальных сроков и
бюджета при любых изменениях требований
![Page 8: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/8.jpg)
КАК ЭТО ОБЫЧНО ВЫГЛЯДИТ
![Page 9: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/9.jpg)
КАК ЭТО ОБЫЧНО ВЫГЛЯДИТ
![Page 10: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/10.jpg)
ТИПИЧНЫЕ ПРОБЛЕМЫ
• Никто не знает все требования заранее (только в очень-очень редких случаях)
• Если требования не менять, то это иногда для проекта даже вредно
• Экспоненциальный рост трудозатрат на новый функционал от числа строк кода
![Page 11: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/11.jpg)
ТИПОВОЕ РЕШЕНИЕ №1: ИТЕРАЦИИ
![Page 12: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/12.jpg)
ТИПОВОЕ РЕШЕНИЕ №2: ИГРЫ С ОЦЕНКАМИ
• Умножение оценки на 3.14• Вероятностные оценки
сроков и рисков
![Page 13: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/13.jpg)
ТИПОВОЕ РЕШЕНИЕ №3: SCRUM
![Page 14: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/14.jpg)
SCRUM: ЛЕЧЕНИЕ СИМПТОМОВ
![Page 15: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/15.jpg)
ЧТО МЫ ВЗЯЛИ ИЗ SCRUM
• Критерии приемки, составленные вместе с заказчиком
• Planning poker и ретроспектива
![Page 16: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/16.jpg)
К ЧЕМУ ХОТЕЛИ ПРИЙТИ?
• Счастье пользователей – полезно, удобно, красиво
• Счастье команды – делать полезные продукты без постоянных авралов
• Счастье заказчика – все делается в срок и в бюджет
![Page 17: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/17.jpg)
FFF – FIXED TIMING, FIXED BUDGET, FLEXIBLE SCOPE
• Выпускаем MVP – минимально ценный продукт.
• Зачем нужна эта фича?
• Что произойдет, если этой фичи не будет, либо будет позже?
![Page 18: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/18.jpg)
LEAN CANVAS
![Page 19: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/19.jpg)
ПЕРСОНЫ
• Делаем черновой вариант навигации и наброски страниц
• Оцениваем для персоны: контекст, ожидания, ощущения, мотивацию продолжать
![Page 20: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/20.jpg)
IMPACT MAPPING
![Page 21: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/21.jpg)
USER STORY MAPPING
![Page 22: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/22.jpg)
CUSTOMER JOURNEY
• Делаем черновой вариант навигации и наброски страниц
• Оцениваем для персоны: контекст, ожидания, ощущения, мотивацию продолжать
![Page 23: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/23.jpg)
ПРОТОТИПИРОВАНИЕ ИНТЕРФЕЙСОВ
• Метод прогрессивного JPEG
• Сначала все делается на бумаге, только потом, например, в Balsamiq
• Интерактивная игра для проверки гипотез
• Fail fast!
![Page 24: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/24.jpg)
ОПТИМИЗАЦИЯ ПРОЦЕССА РАЗРАБОТКИ
• Приоритезируй это!
• KISS! YAGNI!
• Выявить зависимости задач, построить пути
• Применить теорию ограничений Голдратта
![Page 25: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/25.jpg)
ГОТОВНОСТЬ К ИЗМЕНЕНИЯМ
• В SCRUM новые идеи идут в бэклог
• Если заказчик готов чем-то жертвовать – мы можем начать заниматься его идеей прямо сейчас
![Page 26: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/26.jpg)
МЫ Ж ПРОГРАММИСТЫ!
Почему бы не сделать инструмент, чтобы не бояться изменений требований и уметь
точнее оценивать сроки?
![Page 27: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/27.jpg)
РАЗРАБОТКА SMARTACTORS
• Совместный проект с компанией HWDTech
• Архитектура позволяет создавать простые независимые компоненты
• Срок разработки фичи зависит напрямую от числа компонентов
![Page 28: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/28.jpg)
РАЗРАБОТКА SMARTACTORS
• Есть внедрение предыдущей версии на .NET
• В данный момент уже делаются проекты на этой платформе
• Первый релиз в Open Source в конце 2016 года
![Page 29: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/29.jpg)
ЭТО ВСЕ ЗДОРОВО, НО…
Где брать команду?
![Page 30: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/30.jpg)
ЛЕТНЯЯ СТАЖИРОВКА ДЛЯ СТУДЕНТОВ
• Реальные проекты, реальные заказчики• Реальный рабочий процесс (github,
Redmine, митинги)• Демонстрация проекта раз в неделю с
обратной связью заказчика
За 3-4 месяца студенты готовы к реальным проектам
![Page 31: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/31.jpg)
ЧТО ПОЧИТАТЬ
• Э. Голдратт, «Цель»
• А. Бындю, «Impact mapping на практике»
• Б. Вольфсон «Гибкие методологии разработки»
• А. Тарасенко, Статья на Habrahabr по теме
![Page 33: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами](https://reader035.fdocument.pub/reader035/viewer/2022062503/58f1ba5b1a28abe27d8b4605/html5/thumbnails/33.jpg)
СПАСИБО