Что ж, прямым ответом на ваш вопрос был бы Му, я боюсь - просто недостаточно подробностей, чтобы сделать обоснованное предположение, стоит ли вам прекратить попытки.
Единственное, в чем я уверен, так это то, что уровень гибкости должен определяться потребностями клиентов / рынка (о которых вы не сообщили).
- Например, как пользователь IDE, я очень рад обновиться до новой версии один раз или, может быть, два раза в год, и я никогда не тороплюсь с этим. Т.е. если их цикл выпуска составляет 3 месяца ( 12 недель ), то я совершенно доволен этим.
С другой стороны, я могу легко представить, скажем, финансовую торговую компанию, которая обанкротится, если ее программное обеспечение адаптируется к рыночным изменениям более чем через месяц - в этом случае 12-недельный цикл испытаний станет дорогой в ад. Теперь - что нужно вашему продукту в этом отношении?
Еще одна вещь, которую следует учитывать, - это какой уровень качества необходим для удовлетворения потребностей ваших клиентов / рынка?
- Например, в компании, в которой я когда-то работал, мы обнаружили, что нам нужна новая функция в продукте, лицензированном у какого-либо поставщика программного обеспечения. Без этой функции мы сильно пострадали, так что да, мы действительно хотели, чтобы они были гибкими и доставляли обновления в течение месяца.
И да, они оказались гибкими, и да, они выпустили это обновление через месяц (если их цикл обеспечения качества составляет 12 недель, то они, вероятно, просто пропустили его). И наша функция работала отлично - думаю, мы должны были быть совершенно счастливы? нет! мы обнаружили ошибку регрессии showtopper в некоторых функциональных возможностях, которые раньше работали просто отлично, поэтому нам пришлось столкнуться со старой версией.
Прошел еще месяц - они выпустили еще одну новую версию: наша функциябыл там, но была та же ошибка регрессии: опять же, мы не обновились. И еще месяц, и еще один.
В итоге мы смогли модернизироваться только через полгода, так много для их ловкости.
Теперь давайте посмотрим немного ближе на эти 12 недель, которые вы упомянули.
Какие варианты вы рассматривали, чтобы сократить цикл QA? Как видно из приведенного выше примера, простое пропускание может не дать того, чего вы ожидаете, поэтому вам лучше быть гибкими и подумать над различными способами решения этой проблемы.
Например, вы рассматривали способы улучшить тестируемость вашего продукта?
Или вы рассматривали грубое решение, чтобы просто нанять больше QA? Как бы просто это ни выглядело, в некоторых случаях это действительно путь. Я видел, как неопытный менеджмент пытался решить проблемы с качеством продукции, слепо нанимая все больше и больше старших разработчиков, которых было бы достаточно для пары средних профессиональных тестеров. Довольно жалко.
Последнее, но не менее важное - я думаю, что нужно быть гибким в отношении самого применения гибких принципов. Я имею в виду, если требования проекта не являются гибкими (стабильными или изменяются медленно), то зачем? Однажды я наблюдал, как топ-менеджмент заставлял Scrum работать в проектах, без которых все было хорошо. Какая трата это было. Не только не было улучшений в их доставке, но, что еще хуже, разработчики и тестировщики были недовольны.
обновление на основе разъяснений в комментариях
Для меня одна из самых важных частей Agile - выпуск в конце каждого спринта. Это подразумевает несколько вещей. Во-первых, должен быть проведен уровень тестирования, чтобы гарантировать отсутствие ошибок, если вы думаете, что можете выпустить сборку для клиента ...
Отпускаемый релиз я вижу. Гектометр Хммм. Подумайте о том, чтобы добавить в свой Agile коктейль один или два снимка Lean . Я имею в виду, что если это не является потребностью клиента / рынка, то это будет означать лишь пустую трату (тестирование) ресурсов.
Я, например, не вижу ничего криминального в том, чтобы рассматривать «Спринт-энд-релиз» как просто контрольно-пропускной пункт, который удовлетворяет команду.
- dev: да, это выглядит достаточно хорошо, чтобы пройти тестерам; QA: да, это выглядит достаточно хорошо для случая, если необходимо дальнейшее тестирование на отправку - и тому подобное. Команда (dev + QA) довольна, вот и все.
... Самое важное, что вы указали, было в конце вашего ответа с точки зрения неприменения agile, если требования не являются agile. Я думаю, что это место. Когда мы начали работать гибко, мы набрали его, и обстоятельства имели смысл. Но с тех пор все кардинально изменилось, и мы цепляемся за процесс, в котором он может больше не иметь смысла.
Вы правильно поняли. Кроме того, из того, что вы описываете, похоже, что вы попали в состояние (зрелость команды / руководства и взаимоотношения с клиентами), что позволяет вам использовать обычную разработку итеративной модели вместо Scrum. Если это так, то вам также может быть интересно узнать, что по моему опыту в подобных случаях регулярная итерация была более продуктивной, чем в Scrum. Гораздо более продуктивным - там было просто так гораздо меньше накладных расходов, это было просто так гораздо легче сосредоточиться на развитии (для QA , чтобы соответственно сосредоточиться на тестировании).
- Я обычно думаю об этом с точки зрения Ferrari (как регулярный итеративный) против Land Rover (как Scrum).
При движении по шоссе (и ваш проект, кажется, достиг этой дороги ), Ferrari чертовски бьет из Land Rover.
Это бездорожье, где нужен джип, а не спортивная машина - я имею в виду, если ваши требования нерегулярны и / или если командная работа и опыт управления не так хороши, вам придется выбирать Scrum - просто потому, что регулярные попытки помогут вам застрял - как Ferrari застрянет на бездорожье.
Наш полный продукт состоит из множества мелких деталей, которые могут быть обновлены независимо друг от друга. Я думаю, что наши клиенты очень хотят обновлять эти небольшие компоненты гораздо чаще. Мне кажется, что, возможно, нам следует сосредоточиться на выпуске и проверке этих небольших компонентов в конце спринтов ...
Выше звучит как хороший план. Я работал в таком проекте один раз. Мы выпускали ежемесячные выпуски с обновлениями, локализованными в небольших компонентах с низким уровнем риска, и для них было очень просто получить подтверждение качества.
- Для этой стратегии следует иметь в виду проверяемую проверку того, что изменения локализованы там, где ожидается. Даже если это дойдет до побитового сравнения файлов для компонентов, которые не изменились, сделайте это, иначе вы не получите его. Дело в том, что за качество релизов отвечает QA, а не мы, разработчики.
Тестер испытывает головную боль, чтобы убедиться, что неожиданные изменения не ускользнули, потому что, честно говоря, как разработчик, у меня достаточно других вещей, чтобы беспокоиться о том, что для меня важнее. И поэтому им (тестерам) действительно нужны веские доказательства того, что все под контролем с выпуском, который они тестируют для отправки.