Недавно я начал новый проект на работе (было приятно избавиться от хлама старого проекта и взяться за новый), и моя команда и я активно продвигаем более профессиональные методы разработки, которые включают в себя написание модульных тестов. Владелец продукта не очень впечатлен, поскольку, по мнению PO, это приводит к задержке предоставления функций.
PO (который также является начальником моего босса, что создает небольшой конфликт интересов, IMO) очень расстроен из-за проблемы, которая проскользнула в наш релизный продукт. Я подчеркиваю, что хороший набор модульных тестов уловил бы проблему (требуется некоторый дополнительный рефакторинг, чтобы справиться с некоторыми грубыми ошибками архитектуры неопытного кодера), и PO, не теряя времени, предложил, чтобы мы «выяснили, как потратить некоторое количество качественных Тогда ОТ по настройке модульных тестов». Наш график уже заполнен запросами функций и минимальным временем для исправления ошибок и других необходимых задач обслуживания.
Я не склонен предлагать сверхурочную работу за то, чему я пришел научиться, чтобы его включили в стандартный процесс разработки в команде профессионалов. Как мне сообщить, что написание модульных тестов является необходимой частью повседневной ответственности разработчика? Как я могу защитить свою команду от демотивации из-за того, что от них требуют сверхурочных?
PS, я не знаю, как пометить это, я тоже был бы признателен за любую помощь.
Поскольку вы используете термин «Владелец продукта», я предполагаю, что вы используете Scrum (или родственный метод). Если нет, полностью игнорируйте этот ответ.
Если вы используете scrum, PO не определяет, сколько команда может сделать за спринт, это делает команда. Если вам нужны модульные тесты, чтобы помочь вам соответствовать определению заказа на покупку, включите их в свои балльные оценки. В схватке ваше расписание не должно быть «забитым» — вы можете набрать определенное количество очков за каждый спринт, и это ваше расписание.
PO должен устанавливать приоритет на основе полученной ценности для бизнеса. Если исправления ошибок и технический долг не важны для PO, то они не будут ставить их на первое место в списке приоритетов. Но и ваша команда не должна нести за них ответственность. Если работа соответствовала определению выполненной в ЗП (а тестирование качества должно быть включено в определение выполненной работы), то вы сделали то, что требовалось.
Ваш скрам-мастер должен охранять команду как от вмешательства со стороны PO, так и от вмешательства вышестоящих лиц, так что привлекайте их.
Когда вы определяете объем или размер своих функций, вы разбиваете модульное тестирование как часть этого или это отдельная позиция? Я бы посоветовал вам сделать модульное тестирование частью вашего процесса разработки, а затем соответствующим образом масштабировать задачи, не разбивая их на код, который тестирует эту функцию. Просто предположим, что усилия по «кодированию» функции включают в себя написание тестовых случаев.
Если вас спросят, почему объем работ увеличивается, просто укажите, что проект растет, и чем больше проект, тем больше затрат на добавление функций. Вы могли бы рассказать ему о TDD (разработка через тестирование), но я не думаю, что это будет иметь большое значение. С другой стороны, если TDD является частью вашего процесса разработки, то он просто полностью интегрирован и не является отдельной вещью, это просто то, как вы добиваетесь своей цели.
Если вы используете agile/scrum, то PO в любом случае не должен диктовать расписание, он/она должен просто расставлять приоритеты и определять функции. Это работа вашей команды, чтобы дать ему сроки. Если вам нужно вернуться и сделать некоторую очистку, то есть некоторый аргумент в пользу собственного времени, но вы можете договориться об определенном количестве «инженерного» времени. Там, где я сейчас работаю, мы договорились, что 15% нашего времени посвящается инженерным работам. Это вещи, которые мы внутренне определили как нуждающиеся в исправлении. Это может быть производительность, которая сейчас не слишком заметна, но скоро будет, или это может быть тот модуль, который не был сделан правильно с первого раза и нуждается в доработке.
Дэвид К.
404 пользователь не найден
гипербола
гипербола
гипербола
Брандин
гипербола
Кент А.
Кент А.
бобо2000