Скрам Команда
- 3 х Разработчики
- 2 х Тестеры
- 1 х аналитик автоматизации тестирования
Мы не многофункциональная команда, так как разработчики не тестируют, а тестеры не разрабатывают. Я считаю, что это коренная причина проблемы.
В настоящее время мы делаем двухнедельные спринты.
В начале спринта все заняты, разработчики начинают работу по разработке, а тестеры готовят тесты (пишут тестовые примеры и т. Д.)
После того, как тестеры закончили подготовку, они теперь ждут завершения разработки или разработки завершены, а разработчики ждут отзывов / ошибок.
Здесь разработчики зудят и начинают работать над элементами в отставании, которые находятся за пределами текущего спринта. Это создало странный эффект, при котором мы всегда разрабатываем следующую работу спринтов в текущем спринте. Для меня это не правильно.
С точки зрения менеджмента, они предпочли бы, чтобы разработчики работали, а не сидели за партами, ничего не делая, но в то же время я чувствую, что цель команды схваток и фокусировка должны быть сосредоточены исключительно на текущем спринте. Я бы хотел, чтобы наша команда была многофункциональной, но, к сожалению, это невозможно. Тестеры не обладают необходимыми навыками для разработки, и большинство разработчиков считают, что тестирование ниже их.
Считается ли это проблемой в схватке? Есть ли этому решение? Скрам работает только с многофункциональными командами?
Я хотел бы узнать опыт других людей с этим, если это возможно :)
Ответы:
Это довольно распространенная проблема, вызванная конвейерной обработкой . Команда многофункциональна, но, конечно, есть внутренние бункеры, которые снижают производительность.
Во-первых, я хотел бы отметить пару вещей, которые я считаю важными:
Если ваши разработчики заранее выполняют итерацию, они опережают ваше совещание по планированию. Ваш менеджер по продукту и команда должны правильно обсудить, что является наиболее ценным для следующей итерации. Разработчики не должны эффективно расставлять приоритеты, потому что им нечего делать лучше.
Независимо от того, как вы разделяете и организовываете итерации, вы не можете держать всех занятыми все время и иметь одну команду с одним совещанием по планированию, если в вашей команде есть специалисты, работающие в бункерах. Даже при подходе с чистым водопадом вам все равно придется «забрасывать вещи через стену» и ждать обратной связи.
У вас также есть проблема, заключающаяся в том, что часто у одной истории должна быть фаза разработки, за которой следует фаза тестирования, за которой следует фаза исправления ошибок, а затем ... это действительно может сделать вашу команду неэффективной, особенно если они работают заранее. потому что им нужно переключение контекста.
Очевидно, что в этой ситуации есть очень реальные издержки: команда не сотрудничает. Я сталкивался с этим каждый раз, когда была вовлечена команда QA, поэтому у меня было немного времени, чтобы экспериментировать с различными решениями.
Для меня очень хорошо работают эти два инструмента:
Подчеркните принцип, что вся команда несет ответственность за выполнение работы. Откажитесь от историй «dev done», так как они дают разработчикам возможность сказать «больше не моя проблема», что не является конструктивным и явно ложным. Если команда не передает историю, которую они приняли, то это не вся команда, которая предоставила.
Чтобы занять время как разработчиков, так и QA, соедините их . На сегодняшний день это лучший способ обмена опытом и знаниями в предметной области, который вы можете выбрать. Разработчики могут помочь тестировщикам автоматизировать их задачи. Тестировщики могут показать разработчикам, где важно тестировать код, потому что он хрупкий. Оба сотрудничают и работают быстрее, чем нет.
Используя эти две техники, команда должна стать менее разборчивой и более производительной. Хотя маловероятно, что тестировщики и разработчики смогут поменяться местами, они смогут работать в команде и решать проблему самостоятельно, а не обвинять друг друга.
источник
Нет никаких проблем с тем, как вы работаете, связанных со SCRUM и спринтами, при условии, что во время оценки будет зафиксировано, что работа разработчика была закончена за меньшее время (и сколько меньше времени), чем планировалось. Это позволит команде набрать больше очков за следующий спринт. В конце концов, смысл спринтов - улучшить планирование. Очевидно, у вас еще есть возможности для улучшения.
Вау! Это технически невозможно в Scrum. Вы не знаете, какие позиции будут находиться в следующем спринте, что должно быть установлено в начале следующего спринта в сеансе планирования спринта.
По-прежнему интересно узнать о новых творческих способах, которые изобретают организации, чтобы саботировать Scrum.
источник
Scrum оптимизирует для команды , а не для человека. Смысл схватки в том, чтобы команда стала эффективной. Если разработчики начинают работать над вещами за пределами текущего спринта, они оказывают медвежью услугу команде. Это также показывает, что вы несколько терпите неудачу в процессе планирования, если вы не планируете достаточно работы, чтобы заполнить весну.
Если у разработчиков закончились задачи по разработке, им обязательно нужно помочь и помочь тестировщикам, техническим писателям или дизайнерам - всем членам команды. Им не обязательно писать реальные тесты (хотя они должны это делать ), но они все равно могут участвовать в процессе тестирования. Они могут писать сценарии, которые помогают тестировщикам быть более эффективными, или они могут просто обсудить с тестировщиками их проблемы и помочь им преодолеть эти проблемы (например, добавление атрибутов id к элементам веб-страницы, предоставление хуков или API, которые тестировщики можно использовать в своих тестах и т. д.).
Я думаю, что суть проблемы в том, что если ваши разработчики не всегда работают над текущим спринтом, они еще не работают как команда. Ваш мастер схватки должен обратить на это внимание и работать над тем, чтобы заставить команду работать как единое целое, а не как совокупность людей.
Я также предполагаю, что это проблема управления. Если они оказывают давление на разработчиков, чтобы они оставались занятыми, то они не в полной мере приняли схватку. Это еще одна вещь, с которой мастер схватки может помочь. Они могут работать с руководством, чтобы помочь им понять, как работает Scrum, и они могут помочь поддержать и поощрить команды разработчиков, а не подорвать их.
источник
Я думаю, что ключевая проблема здесь заключается в следующем:
То, как мы справились с этим в нашей компании, это то, что мы спросили разработчиков, как они могут сказать, что они фактически закончили свою работу, если они не могут доказать это. Конечно, единственный способ доказать это - продемонстрировать, что написанный ими код действительно работает, и это делается с помощью тестирования. Им следует указать, что если они согласятся участвовать в тестировании, то тестирование будет выполнено быстрее, и у них будет больше времени для кодирования дополнительных функций (которые также должны быть протестированы).
Обратите внимание, что тестирование вашего кода не ниже уровня разработчиков. Это неотъемлемая часть процесса разработки. Его нельзя отделить от простого кодирования. Любой может кодировать. Не каждый может кодировать и доказать, что то, что они закодировали, действительно работает.
Другой способ привлечь разработчиков к работе - заставить их работать над автоматическим тестированием кода для функциональных возможностей, которые они разработали в спринте. Эти тесты могут затем использоваться для регрессионного тестирования, которое будет выполняться периодически.
В любом случае, делать что-то, что не было запланировано в начале спринта, - это большое нет-нет. Лучше ничего не делать, чем делать то, что не было запланировано. Функциональность, которую они пишут в этих случаях, скорее всего, не соответствует критериям DoD (Definition of Done), поскольку, вероятно, она не проверена должным образом, поскольку тестировщики были заняты тестированием того, что изначально планировалось. Это верный способ выявить ошибки и ухудшить качество продукта, что затем отправляет команду в нисходящую спираль проблем регрессии и переключения контекста, что приводит к стрессу, снижению скорости и, наконец, к выходу команды из-за этого.
источник
Теоретически, все члены команды SCRUM должны обладать одинаковыми знаниями, чтобы каждый участник мог выполнять каждое задание у любого другого участника. Если нет, вы должны распространять знания.
Но на практике всегда есть какая-то специализация. Программное обеспечение может быть сложным, у члена команды разные навыки и т. Д. Разделение команды на разработчиков и тестировщиков - это только один (очень распространенный) пример специализации.
Распространение знаний может занять больше времени, чем руководство хочет принять.
По моему опыту, вы могли бы сделать несколько вещей:
Эти предложения могут не соответствовать теории SCRUM на 100%, но сначала вы должны продолжать работать над разработкой. SCRUM - это просто набор инструментов.
источник
Похоже, вам нужно десинхронизировать вашу команду. Как это:
Если я понял, тестирование автоматизации ребята должны начать на несколько дней раньше.
Но я чувствую проблему в вашей команде: у меня проблема с разработчиками, которые не тестируют собственный код. Если тестировщики готовят тест без рассмотрения кода, они, вероятно, проводят только тесты черного ящика, которые не учитывают точки принятия решения разработанной программы. Вы довольны качеством вашего программного обеспечения?
источник