Я работаю над проектом, свободно следуя модели Scrum.
Чтобы было понятно: ваши менеджеры, вероятно, рассказывали вам о Scrum, но то, что вы делаете, это не Scrum.
Как долго это обычно занимает?
Совещание по рассмотрению спринта + ретроспективное собрание по спринту завершает текущий спринт. В коротких спринтах они должны занять что-то между 30 минутами - 1 часом вместе. На следующий рабочий день начинается новый спринт с выполнения 1 и 2 совещания по планированию спринта. В зависимости от размера команды и продолжительности спринта это собрание может занять от 2 до 4 часов.
Должна ли быть задействована вся команда?
Вся команда должна участвовать в собраниях, упомянутых в предыдущем ответе.
Должен ли он закончиться, прежде чем разработчики начнут работать над элементами следующего спринта?
Да, потому что до тех пор, пока не будет проведено обзорное собрание, вы не знаете, примет ли клиент результат предыдущего спринта, и не знаете, какие истории пользователей будут зафиксированы при планировании собраний.
Это когда происходит проверка и проверка кода?
Нет. Проверка и тестирование кода является частью спринта. Разработчики должны сделать все необходимое для предоставления рабочего кода, удовлетворяющего требованиям. Это может включать в себя проверки кода и всегда должно включать в себя какие-то автоматические тесты, подтверждающие, что код работает и выполняет то, что он должен делать, в противном случае пользовательская история не может считаться выполненной.
Основной психический сдвиг связан с QA. Многие разработчики считают, что QA предназначен для проверки того, что код работает и делает то, что должен. Определенно нет. Это работа разработчика.
QA должен участвовать в разработке продукта. Их основной обязанностью в спринте должно быть общение с владельцем продукта и создание автоматических приемочных тестов для критериев приемки (определение выполнено), которые подтвердят, что пользовательская история действительно выполнена и приложение соответствует всем новым требованиям. В небольших командах это также может быть обязанностью разработчиков.
QA также должен провести некоторое ручное тестирование, чтобы поддерживать целостность продукта и обнаруживать недостающие функции, проверять пользовательский интерфейс с пользовательским интерфейсом и т. Д. QA не предназначен для поиска ошибок и регрессионного тестирования - регрессионное тестирование должно быть высоко автоматизированным.
По моему опыту, именно здесь большинство компаний, переходящих на гибкую систему, терпят неудачу.