Смотрим на потери в продуктах.
- Части продукта, которые не приносят Заказчику Value.
- Webadmin - нужен только нам для визуализации данных в Системе. Но потребляет усилия и время Ruby team. При переходе WebAdmin -> TechPortal value для Заказчика должен появится. Потому оставляем. Было бы полезно передать support на Java team и поставить кому из команды задачу на levelup по Ruby.
- Сложная структура БД, которая "стоит" нам больше чем нужно. Было бы полезно ее упроситить
- Валидация документов-оснований. Фича, которую нужно было придумать на 3 года позже. Иначе тратим на это кучу времени
- Протоколы. В рамках итеративного подхода протоколы были бы в 2 раза проще и доступнее.
- Выделение интеграционной части Service в отдельный компонент
- Процессы, которые не являются прямой аналитикой и разработкой.
- Разработка ДОКУМЕНТАЦИИ!
- Разработка подробного описания задач в Jira, которое никто не читает
- Фиксирование знаний в Confluence, которые никто не читает
- Работа с требованиями
- Долгосрочное планирование
- Работа с рисками в классическом плане (никогда ничем не помогала)
- Тесты, которые полезность которые ниже их стоимости.
- Бесполезный Code Review
- Дорогой Code Checkstyle
- То есть для всех Agile support практик необходимо понимать стоимость и оценивать их полезность, так как иначе возможно пустое следование канонам
- Частично сделанная задача тормозит движение вперед.
- Story, которую не смогли закрыть в этом спринте, и потому приходится закрывать в следующем не дает сильных потерь. Это прото плохо с точки зрения velocity, поставки продукта и как следствие fast feedback
- Проблема с задачами, которые были частично сделаны и отложены на месяц и более. Фактически огромные затраты на решение задачи по merge всех типов объектов делают огромные же затраты на save всех типов объектов в прошлом году БОЛЬШИМИ ПОТЕРЯМИ. То что в том году задача не была сделана в нужном объеме делает ее бесполезной, так как сейчас почти вся логика была переписана.
- При этом отложение решения проблем с merge и реализация merge всех типов до конца может привести к тому же глобальному рефакторингу позже.
- Extra фичи, которые Заказчику не нужны, но которые мы считаем ВАЖНЫМИ так как нам виднее. Для этого необходима валидация связи от feature к цели продукта с помощью Impact mapping. Если мы не можем построить эту связь - значит это waste. Хотя если нужно мы построим - видимо нужна валидация этой связи с помощью Заказчика.
- Переключение между задачами. Возможно ли было делать задачи между 2-мя Ruby проектами полностью раздельно? В разных спринтах. Подумать в следующий раз.
- Любые ожидания.
- Ожидание процесса сборки - мерить и оптимизировать периодически
- Ожидания тестов - выделять самые долгие тесты и оптимизировать по 2 теста за спринта, добавить в Craftsmanship как Silver метрику
- Ожидание mock-up интерфейсов - делать их на спринт вперед, делегировать процесс с команды разработки на PO support team
- Согласование АС тестов - сейчас гораздно быстрее когда все спеки уже написаны и согласованы.
- Долгие activity-процессы
- Сколько времени уходит на получение ответа у аналитика? Сейчас вроде бы не долго
- Сколько действий нужно совершить чтобы увидеть какие тесты упали?
- Сколько действий нужно сделать чтобы найти причину красного теста? Судя по fixing time долго
- Ненужная авторизация. Сделать auth-links так же для Webadmin
- Сколько времени "стоит" git за одну задачу? Нужен ли gitflow? Для меня GitHub for Mac приложение делает работу с git дешевым.
- Bugs, которые тормозят разработку. Много в Ruby. Нужен root-cause анализ чтобы стопать весь конвеер и решать причину багов.
- Лишний, дорогой менеджмент. Не вижу потерь - текущие процессы мало формализованы и дешевы по времени.
Интересная риторика:
- Если документы никто не ждет (команда разработки), значит они бесполезны
- Если вы не можете поддерживать базу знаний в актуальном состоянии, значит ее никто не использует.
Комментариев нет:
Отправить комментарий