33
Принцип YAGNI в управлении проектами Анна Тарасенко 7bits (Омск)

SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

  • Upload
    secon

  • View
    130

  • Download
    3

Embed Size (px)

Citation preview

Page 1: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

Принцип YAGNI в управлении

проектами Анна Тарасенко7bits (Омск)

Page 2: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ОБО МНЕ

• Умею читать и писать с 1979 года• Программирую с 1989 года• Преподаю программирование с 1999 года• Занимаюсь заказной разработкой ПО с 2009

года• Планы на 2019 год в процессе• Организатор конференции HappyDev• Организатор ИТ-субботников – мини-

конференций в Омске раз в месяц

Page 3: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

КЛАССИЧЕСКАЯ ПРОДАЖА ЧАСОВ

С увеличением числа разработчиков доход растет линейно

Page 4: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

КЛАССИЧЕСКАЯ ПРОДАЖА ЧАСОВ

Расходы растут нелинейно из-за появления управленцев

Page 5: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ТИПИЧНЫЕ ПРОБЛЕМЫ

• Заказчик хочет точную оценку в часах, которую очень сложно дать

• Сложно поднимать стоимость часа с долгосрочным заказчиком

• Сложно обосновывать время на рефакторинг, автотесты и многое другое

Когда критерий – затраченное время, а не результат, основной вопрос: «Почему так

много?»

Page 6: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ЧЕГО ХОЧЕТ ЗАКАЗЧИК?

• Точный срок (fixed timing)• Точную сумму денег (fixed budget)• Точный и полный список требований

(fixed scope)• Быстрое составление ТЗ и оценку всего

вышеперечисленного

Page 7: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ЧЕГО ХОЧЕТ ЗАКАЗЧИК НА САМОМ ДЕЛЕ?

• Точный срок (fixed timing)• Точную сумму денег (fixed budget)• Постоянно менять и добавлять

требования• Сохранение первоначальных сроков и

бюджета при любых изменениях требований

Page 8: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

КАК ЭТО ОБЫЧНО ВЫГЛЯДИТ

Page 9: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

КАК ЭТО ОБЫЧНО ВЫГЛЯДИТ

Page 10: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ТИПИЧНЫЕ ПРОБЛЕМЫ

• Никто не знает все требования заранее (только в очень-очень редких случаях)

• Если требования не менять, то это иногда для проекта даже вредно

• Экспоненциальный рост трудозатрат на новый функционал от числа строк кода

Page 11: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ТИПОВОЕ РЕШЕНИЕ №1: ИТЕРАЦИИ

Page 12: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ТИПОВОЕ РЕШЕНИЕ №2: ИГРЫ С ОЦЕНКАМИ

• Умножение оценки на 3.14• Вероятностные оценки

сроков и рисков

Page 13: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ТИПОВОЕ РЕШЕНИЕ №3: SCRUM

Page 14: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

SCRUM: ЛЕЧЕНИЕ СИМПТОМОВ

Page 15: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ЧТО МЫ ВЗЯЛИ ИЗ SCRUM

• Критерии приемки, составленные вместе с заказчиком

• Planning poker и ретроспектива

Page 16: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

К ЧЕМУ ХОТЕЛИ ПРИЙТИ?

• Счастье пользователей – полезно, удобно, красиво

• Счастье команды – делать полезные продукты без постоянных авралов

• Счастье заказчика – все делается в срок и в бюджет

Page 17: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

FFF – FIXED TIMING, FIXED BUDGET, FLEXIBLE SCOPE

• Выпускаем MVP – минимально ценный продукт.

• Зачем нужна эта фича?

• Что произойдет, если этой фичи не будет, либо будет позже?

Page 18: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

LEAN CANVAS

Page 19: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ПЕРСОНЫ

• Делаем черновой вариант навигации и наброски страниц

• Оцениваем для персоны: контекст, ожидания, ощущения, мотивацию продолжать

Page 20: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

IMPACT MAPPING

Page 21: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

USER STORY MAPPING

Page 22: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

CUSTOMER JOURNEY

• Делаем черновой вариант навигации и наброски страниц

• Оцениваем для персоны: контекст, ожидания, ощущения, мотивацию продолжать

Page 23: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ПРОТОТИПИРОВАНИЕ ИНТЕРФЕЙСОВ

• Метод прогрессивного JPEG

• Сначала все делается на бумаге, только потом, например, в Balsamiq

• Интерактивная игра для проверки гипотез

• Fail fast!

Page 24: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ОПТИМИЗАЦИЯ ПРОЦЕССА РАЗРАБОТКИ

• Приоритезируй это!

• KISS! YAGNI!

• Выявить зависимости задач, построить пути

• Применить теорию ограничений Голдратта

Page 25: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ГОТОВНОСТЬ К ИЗМЕНЕНИЯМ

• В SCRUM новые идеи идут в бэклог

• Если заказчик готов чем-то жертвовать – мы можем начать заниматься его идеей прямо сейчас

Page 26: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

МЫ Ж ПРОГРАММИСТЫ!

Почему бы не сделать инструмент, чтобы не бояться изменений требований и уметь

точнее оценивать сроки?

Page 27: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

РАЗРАБОТКА SMARTACTORS

• Совместный проект с компанией HWDTech

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

• Срок разработки фичи зависит напрямую от числа компонентов

Page 28: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

РАЗРАБОТКА SMARTACTORS

• Есть внедрение предыдущей версии на .NET

• В данный момент уже делаются проекты на этой платформе

• Первый релиз в Open Source в конце 2016 года

Page 29: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ЭТО ВСЕ ЗДОРОВО, НО…

Где брать команду?

Page 30: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ЛЕТНЯЯ СТАЖИРОВКА ДЛЯ СТУДЕНТОВ

• Реальные проекты, реальные заказчики• Реальный рабочий процесс (github,

Redmine, митинги)• Демонстрация проекта раз в неделю с

обратной связью заказчика

За 3-4 месяца студенты готовы к реальным проектам

Page 31: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ЧТО ПОЧИТАТЬ

• Э. Голдратт, «Цель»

• А. Бындю, «Impact mapping на практике»

• Б. Вольфсон «Гибкие методологии разработки»

• А. Тарасенко, Статья на Habrahabr по теме

Page 32: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

ГДЕ МЕНЯ НАЙТИ

• Email: [email protected]

• Web: http://7bits.ru

• Twitter: @AnnieOmsk

Page 33: SECON'2016. Тарасенко Анна, Принцип YAGNI в управлении проектами

СПАСИБО