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

Preview:

Citation preview

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

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

ОБО МНЕ

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

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

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

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

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

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

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

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

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

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

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

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

много?»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FFF – FIXED TIMING, FIXED BUDGET, FLEXIBLE SCOPE

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

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

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

LEAN CANVAS

ПЕРСОНЫ

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

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

IMPACT MAPPING

USER STORY MAPPING

CUSTOMER JOURNEY

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

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

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

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

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

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

• Fail fast!

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

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

• KISS! YAGNI!

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

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

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

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

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

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

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

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

РАЗРАБОТКА SMARTACTORS

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

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

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

РАЗРАБОТКА SMARTACTORS

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

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

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

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

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

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

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

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

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

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

ЧТО ПОЧИТАТЬ

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

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

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

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

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

• Email: at@7bits.it

• Web: http://7bits.ru

• Twitter: @AnnieOmsk

СПАСИБО

Recommended