Мы небольшая команда из 4 разработчиков, которые управляют 2 большими веб-сайтами + 4-5 небольшими веб-сайтами + у нас есть канал для настройки / услуга разработки (разовая услуга).
Со всеми сайтами на поддержке мы работаем по почасовой ставке. С кастомизациями (мы их вынесли в отдельный проект) делаем оценку и продаем по фиксированной цене.
У нас есть разные задачи от маленьких (например, перемещение кнопки, изменение цвета) до больших (длительностью 2-8 дней, например, разработка нового расширения со сложной логикой).
На поддержке у нас бывают очень разные нагрузки время от времени. В некоторые дни у нас есть только несколько задач, в другие дни они могут добавить 1-2 больших задачи, а также 20-50 маленьких и средних задач.
На данный момент мы создаем такие типы задач:
Мы делаем оценку по всем задачам, где это возможно.
Также у нас всегда есть какие-то задачи, которые долго не могут быть закрыты, даже если они выполнены с нашей стороны. Клиентские разработчики не успели/не доделали код на своей стороне (CRM, готовые продукты и т.д.) - такие задачи надо долго ждать и все эти задачи открыты в списке, чтобы о них не забыть; например, они могут быть в статусе «Тестирование клиентов», но все еще в списке.
На данный момент у нас около 200 открытых тикетов/выпусков.
Очень часто клиент просит что-то как можно скорее и, скорее всего, он спросит об этом одновременно с другим клиентом или попросит несколько задач одновременно :)
Клиенты иногда спрашивают нас, когда будет завершена какая-то будущая задача.
Какое программное обеспечение мы можем использовать, чтобы справиться с этим, и как нам нужно настроить его, чтобы наилучшим образом справиться со всем этим?
Я имею в виду, как мы можем планировать и укладываться в сроки в таком хаосе?
Также нужно сказать - в настоящее время мы используем JIRA, и я пытался создавать короткие спринты, например, 1 неделю, помещать туда работу на 1 неделю, и в этом случае я могу планировать, например, на 2-3 недели вперед. Но это не работает по следующим причинам:
Я думал о EasyRedmine с их планированием ресурсов, но не уверен, что это поможет справиться со всем этим.
Итак, пожалуйста, любые идеи или ссылки, где можно найти, как я могу управлять всем этим и как сделать эти процессы лучше? Мы готовы изменить весь процесс, если это необходимо.
Scrum как процесс — хороший способ реализации проекта, для реализации которого потребуется несколько спринтов. Это также очень модно. Однако это не очень хороший процесс для доставки исправлений ошибок и запросов на небольшие изменения с почти нулевым временем выполнения. Использование канбан-доски в JIRA было бы идеальным решением, как упоминает Даниэль выше.
Иногда наша оценка сильно отличается от реальности - мы над этим работаем + планируем спринт всего на 4 дня (1 день на такие ошибки и багфикс)/
Без структуры спринта превышение сметы не будет иметь таких же административных последствий.
Некоторые задачи выполнены на нашей стороне, но не протестированы или не подготовлены клиентом и к концу спринта нам нужно раз за разом переносить эту задачу на следующий спринт.
Больше администрирования Sprint, которое вам не нужно делать с Kanban.
JIRA позволяет планировать спринт только по Original Estimate, но такие задачи, как в пункте 1, уже почти выполнены, но не закрыты. Если мы их закроем и позже, через 3 недели, когда заказчик будет тестировать, мы создадим другие задачи - тогда общее время по задачам будет разделено, и мы не можем видеть, сколько времени это заняло. Если мы закроем задачу - она еще не слилась с мастером - мы можем ее вообще потерять и нужно тратить время на поиск задачи и ветки для нее (используем названия веток по задачам)
Опять же, на канбан-доске нет необходимости искусственно закрывать задачу. Оставьте его открытым, пока он действительно не будет выполнен, и запишите время, затраченное на него, в один тикет. Исправления в результате тестирования должны быть включены в жизненный цикл оригинального тикета. Дальнейшие запросы на изменение должны быть отдельными заявками.
Некоторые задачи даже не оцениваются, как я уже писал
Не имеет значения на доске Канбан.
Что делать, если задача уже в продакшене, но через 1-2 недели мы нашли в ней баг? Повторное открытие будет иметь исходную оценку, подзадачи не могут быть включены в спринт.
Ошибки, указанные в тикетах «сделано», должны быть настроены как новые тикеты. Если это происходит часто, вам следует обратить внимание на надежность ваших процессов тестирования. В целом я избегаю использования подзадач в JIRA из-за ограничений. Ничто не мешает вам связать новую заявку об ошибке с исходной заявкой о функции, чтобы обеспечить отслеживаемость выполняемой вами работы.
Еще пара моментов от меня:
В своих комментариях Даниэлю вы упомянули, что Канбан не позволяет вам отслеживать, «насколько далеко» продвинулись разработчики. Вы не можете надежно измерить, насколько далеко кто-то выполнил задачу — ни одна задача не будет выполнена точно в расчетное время. Отслеживание того, сколько времени теоретически «осталось» для задачи, не повлияет на способность разработчика выполнить ее. Общение является ключевым.
Ограничения WIP не являются обязательными. Тот факт, что вы находитесь в пределах лимита WIP, не означает, что у вас нет проблем. Я упоминал, что общение является ключом?
Цифры, которые вы называете, звучат так, будто у вас слишком много работы. Постарайтесь решить эту проблему либо за счет увеличения ресурсов разработчиков, либо за счет снижения ожиданий ваших клиентов. Изменение программного обеспечения/процесса не удвоит вашу производительность за одну ночь.
Кто отдает приоритет вашей работе? Вы не упоминаете, происходит это или нет. Расстановка приоритетов более эффективна, чем выбор работы в зависимости от того, как давно она была запрошена.
Я не уверен, что вариант программного обеспечения решит вашу проблему.
Я определенно рассматриваю Канбан как способ улучшить рабочий процесс в ваших командах. Вы можете использовать его вместе со Scrum или отдельно, если хотите. Важно использовать все методы Канбана, а не только доску. Убедитесь, что вы ограничиваете незавершенную работу, измеряете поток и вносите небольшие постепенные улучшения. Это то, что действительно поможет вам улучшить свою способность справляться со всей этой работой.
Также будьте осторожны с перегрузкой команды. Многие команды, которые перегружены, на самом деле из-за этого работают медленнее. Хенрик Кнайберг хорошо объясняет проблему в этом видео:
https://www.youtube.com/watch?v=CostXs2p6r0
Опять же, здесь вступают в действие эти строгие ограничения WIP.
Что касается программного обеспечения, Канбан-доски JIRA прекрасно работают, но если вас всего несколько человек, стикеры и белая доска тоже справятся со своей задачей.
Для определения ожиданий по функциям Канбан в основном использует среднее опережение и циклическую связь. Для более крупных проектов вы также можете использовать диаграммы выгорания, но это может быть сложно из-за большого количества конкурирующих приоритетов.
Тьяго Кардосо
Алан Лаример