Матрица сложности Ральфа Стейси обычно используется для иллюстрации "золотой середины" Agile:
alt text http://nooperation.typepad.com/.a/6a00e54ff8b9c1883400e553fdfccb8834-400wi
Для простых проектов (когда требования и технологии хорошо известны) предсказуемость высока, поэтому хорошо работает прогностическая методология (водопад).
Для сложных и комплексных проектов (а таковыми является подавляющее большинство ИТ-проектов) предсказуемость низкая, и прогностическая методология не работает, следует предпочесть адаптивный подход. Именно здесь хорошо работает Agile.
Когда и требования, и технологии неизвестны, вы близки к хаосу, и вероятность неудачи очень высока, независимо от методологии.
Похоже, что ваши приоритеты меняются слишком часто для методологии Agile или Waterfall. При частой смене приоритетов вы, вероятно, входите и выходите из проектов, оставляя многие из них частично выполненными. Возможно, вам поможет методология Agile "всегда быть готовым к выпуску". По моему опыту, внедрение методологии повышает производительность.
Ваша ситуация напоминает мне проект, над которым я работал. Разработчик проекта в самом начале задал один вопрос: "Вы хотите, чтобы я делал все правильно или был отзывчивым?". Я был на проекте, когда он длился два года и шесть месяцев. В течение недели одна и та же функциональность внедрялась в понедельник, среду и пятницу. Вторник и четверг были потрачены на удаление функциональности.
Я бы посоветовал вам начать перенимать практики из Agile. Планирование коротких спринтов может помочь в изменении приоритетов. Возможно, будет проще поддерживать приоритеты в течение недели или двух, и это облегчит стабилизацию приоритетов. Вам также понадобится бэклог (похоже, он у вас уже большой).
Руководство может с большей готовностью отложить новые приоритеты, если вы сможете включить их в спринт в течение недели или двух. Вы также сможете определить компромисс между приоритетами. Если вы добавите что-то в следующий спринт, что будет убрано.
Рассмотрите возможность того, чтобы часть команды работала по Agile, а остальные сохраняли статус-кво. По мере накопления опыта меняйте одного члена команды в каждом спринте. Подумайте о том, чтобы вся команда участвовала в ежедневном совещании по статусу, а также в обзоре после спринта. Как только вы продемонстрируете рост производительности и отдачи для компании, вы сможете увеличить объем работы, выполняемой по вашей методологии.
Agile - это адаптивная методология. Ожидайте серьезных изменений в вашей методологии в течение нового года или двух. В конце концов, вы должны достичь стадии тонкой настройки.
Перепубликация моего ответа , связанного с :
Обычно обсуждение гибкости и водопада, не так ли? Я привожу ссылку на статью , но она на португальском языке, поэтому я попытаюсь передать некоторые из ее идей:
Водопад похож на шахматы. Вы много думаете и планируете, стараетесь как можно скорее предугадать все возможные проблемы. Планирование много, но имеет смысл только в стабильных и хорошо известных доменах, где особых изменений не ожидается.
Agile похож на футбол (или многие другие коллективные виды спорта): решения принимаются в игре и должны приниматься быстро. Нет времени анализировать все последствия. Он «идеален» для динамических и нестабильных доменов, где всегда ожидаются изменения (например, веб-приложения, как правило, попадают в эту категорию). Еще один момент, на который следует обратить внимание: даже если у вас есть лучшие игроки, если они не преуспеют как команда, вы не станете победителем.
IMHO, Scrum был бы полезен, потому что:
По моему опыту, для работы Agile (как минимум XP или Scrum) вам абсолютно необходимы следующие компоненты. Без этих предпосылок вы, скорее всего, потерпите неудачу. Жесткий.
Укажите эти баллы, и вы, вероятно, сможете справиться с чем угодно, если будете придерживаться значений .
Я говорю только исходя из опыта; YMMV.
Моя команда не смогла выполнить гибкую работу. ИМО, это произошло потому, что:
Так что я почти уверен, что мы все делали неправильно. И ты тоже не ошибаешься.
Некоторые вещи, которые ускорили нас, мы продолжаем использовать:
Я думаю, вы могли бы сказать, что наш код более гибкий, хотя наша методология менее гибкая. Если раньше мы не успевали за требованиями, то теперь можем.
(Я не говорю, что Agile - это плохо; я просто рассказываю о своем опыте. Также, пожалуйста, поймите, что я не выбираю, какую методологию мы используем.)