Я большой поклонник гибкой разработки и несколько лет назад использовал XP в очень успешном проекте. Мне понравилось все в этом, итеративный подход к разработке, написание кода вокруг теста, парное программирование, наличие клиента на месте, чтобы он мог управлять всем. Это была очень продуктивная рабочая среда, и я никогда не чувствовал, что на меня оказывается давление.
Однако последние несколько мест, где я работал, используют / использовали Scrum. Я знаю, что в наши дни это плакат для развития гибкой разработки, но я не уверен на 100%, что она гибкая. Ниже приведены две основные причины, по которым мне это не нравится.
Менеджеры проектов любят это
Руководители проектов, которые по своей природе одержимы временными рамками, похоже, все любят Scrum. По моему опыту, они, кажется, используют Журнал ожидания спринта как средство для отслеживания требований к времени и учета того, сколько времени было потрачено на выполнение определенной задачи. Вместо того, чтобы использовать доску, все они используют лист Excel, который каждый разработчик должен заполнять, неукоснительно.
На мой взгляд, это слишком много документации / отслеживание времени для гибкого процесса. Зачем мне тратить время на оценку того, сколько времени займет у меня задание, когда я смогу просто выполнить само задание. Или так же, зачем мне тратить время на документирование того, сколько времени заняла задача, когда я могу перейти к следующей задаче?
Standup Meetings
Стендовые встречи в предыдущем месте, где я работал, были кошмаром. Каждый день нам приходилось объяснять, что мы делали вчера и что мы собирались делать в этот день. Если бы мы перешли к «оценке» нашего времени для задачи, менеджер проекта мог бы вонять и ссылаться на Журнал ожидания спринта как средство показать некомпетентность, которой вы не придерживаетесь графика времени.
Теперь я понимаю необходимость общения, но, конечно, тон ежедневных встреч должен быть легкомысленным и сосредоточиться на обмене знаниями. Я не думаю, что это должно превратиться в шараду где твоя домашняя работа. Также, конечно, точка провала в том, что временные рамки меняются, они не должны быть в камне.
Вывод
Идея Agile - сделать программное обеспечение лучше, облегчая жизнь разработчикам. Поэтому, по моему мнению, любой гибкий процесс, используемый командой, должен возглавляться разработчиком. Я не думаю, что руководитель проекта использует процесс, который они назвали «гибким» для отслеживания проекта, как-то связан с гибкой разработкой.
Мысли кто-нибудь?