У меня есть две проблемы со Scrum во встроенных системах. Во-первых, есть много задач, особенно на ранних этапах, которые невозможно продемонстрировать. Мы начали с доски разработки, без ОС, без дисплея, без последовательной связи и т. Д. У нас не было нашего дисплея для шести спринтов.
Первые четыре спринта были:
- Получение RTOS и работает
- Создание задач написания сетевых и серийных драйверов
- Написание процедур прерывания для кнопок, связи и т. Д.
- Написание первичных классов базы данных и методов
- Написание последовательного меню отладки
Большинство из этих задач плохо подходят для пользовательских историй. Фактически единственным интерфейсом во всей системе было меню последовательной отладки, встроенное в sprint 3, поэтому в конце спринтов было нечего демонстрировать. Даже серийное меню предназначено для внутреннего использования, а не для конечного пользователя. Тем не менее, я все еще хочу отслеживать и управлять этими разработками через Scrum.
Мы закончили тем, что написали фразы «пользовательских историй», такие как «Как разработчик ...», что меня не устраивает, но при использовании Target Process (www.targetprocess.com) нет концепции элемента журнала, который задача или работа по дому.
Во-вторых, как вы справляетесь с выпусками и тестированием? Для нас это реальная боль, потому что у тестеров нет аппаратных отладчиков, поэтому мы должны создавать флэш-версии кода и записывать их на своих платах разработки для тестирования. Тестеры технически не так остры, как разработчики, и часто требуют большой поддержки для начала работы на ранних стадиях (перезагрузка платы, подключение последовательной связи и т. Д.) Или даже для понимания результата.
Наконец, что касается определения выполненного, спринт не может быть завершен, пока не завершены все истории. Все истории не завершены, пока не проверены тестерами. Невозможно избежать того, чтобы «отнимать» у разработчика время, выделяемое для тестировщиков. Другими словами, если последние три пользовательских истории в спринте будут тестироваться в течение пяти дней, они должны быть закодированы и протестированы модулем за пять дней до окончания спринта. Что должен сделать разработчик? Прекрати работать?
Я шучу, но это настоящая проблема, пытаясь соответствовать правилам. Теперь я в порядке с изменением правил, но проблема у меня заключается в том, что все мои показатели выкручиваются, если я не могу пометить выполненные действия, пока они не будут проверены.
Я хотел бы услышать, как другие справились с этими ситуациями.