Выполнение проекта с гибкой разработкой
Я помню, как читал статью о том, что кто-то измерил производительность проекта в Agile (или, может быть, просто TDD?) И обнаружил, что он выполняет проекты более эффективно, чем его альтернативы. Кто-нибудь знает, где я могу найти это или подобную статью?
5 ответов
Вот несколько интересных работ:
- Реализация улучшения качества с помощью тестовой разработки: результаты и опыт четырех промышленных групп
- Оценка эффективности разработки через тестирование: промышленные примеры
- Yahoo! Пример гибкой трансформации
- Пример SirsiDynix: Джефф Сазерленд о высокопроизводительной распределенной схватке (статья доступна здесь)
- На пути к улучшению в традиционных процессах Upshots с помощью процесса Scrum
- Некоторые данные также в The Scrum Papers
Я склонен немного скептически относиться к таким терминам, как "гиперпродуктивность", и не все команды могут достичь уровня производительности, показанного в некоторых из вышеуказанных исследований. Но так как вы попросили некоторые измерения производительности, вот некоторые данные.
Взгляните на статистику применения Scrum в командах MySpace - http://www.rapidscrum.com/shock.php
Надежда на повышение эффективности проекта - неправильная причина для того, чтобы "идти вперед"
Если вы планируете перейти на гибкие методологии для повышения эффективности разработки вашего проекта, вы будете разочарованы. Гибкие преобразования требуют нетривиального времени выполнения команды для изучения и настройки процессов. Кроме того, потребуется некоторое количество спринтов, прежде чем вы сможете реально оценить скорость команды.
Даже команда, которая хорошо выполняет гибкую разработку, может быть или не быть более эффективной, чем команда, использующая более традиционные методологии. Более вероятные выгоды от гибких подходов:
- более низкий уровень дефектов (как упоминалось @ire_and_curses)
- более предсказуемое планирование доставки
- создание чего-то, что ближе к тому, что нужно клиенту
Я должен быть честным с тобой. Я умираю, чтобы сделать TDD... но я не могу даже поцарапать поверхность. И это не только я, вся команда (более 50 разработчиков) даже не обсуждает это.
На прошлой неделе я посетил симпозиум P & P в Редмонде. Я поговорил со Скоттом Хансельманом на эту тему. Он был фанатично абсолютно уверен, что ЛЮБОЙ проект может применить TDD. "Дядя Боб" в своей презентации также фанатично упомянул, что TDD - ЕДИНСТВЕННЫЙ путь.
Мне нравится тестирование. Я верю в тестирование на всех уровнях. Но писать сначала тест, а затем код... зелено-красное переключение с циклами, которые длятся как 2 минуты?
Я не смог этого сделать. Ты чувствуешь то же самое?
В статье о парном программировании Википедии есть несколько интересных исследований. Поддерживает ли это ваше дело, зависит от того, что вы подразумеваете под "более эффективным". В целом, исследования показывают, что пара производит лучшую работу качества, и может быть немного быстрее, чем один разработчик, работающий в одиночку. Однако из-за отсутствия работы над вторым проектом общая скорость разработки ниже. Другими словами, вы тратите время, затраченное на начальную разработку, на более надежную конструкцию, более низкий уровень дефектов, передачу знаний, меньшее количество глупостей и т. Д.