Во время дискуссии о том, что такое Scrum, я обнаружил, что, возможно, я совершенно неправильно понял гибкую вещь. Мне кажется, что Scrum (который, безусловно, рассматривается как Agile-процесс) - это все, что касается управления функциями, спринтами, ролями и другими вещами, не имеющими ничего общего с TDD, парным программированием, CI, рефакторингом и другими техниками и практиками, ориентированными на разработчиков, которые я (хотя) ( до сих пор) являются сердцем Agile. Теперь я сталкиваюсь с трудностями!
1) Является ли Scrum независимым от разработчиков гибких методов?
2) Можете ли вы внедрить Scrum в команду, которая не использует автоматизированные тесты? не выполняет рефакторинг или не придерживается практики гибкого программирования?
Скрам - это набор рекомендаций, которые побуждают команду быть гибкой.
Очень сложно, потому что к концу каждого спринта у вас должен быть рабочий продукт. Если вам нужно выполнить полный ручной регрессионный тест, чтобы доказать, что он работает, это, вероятно, будет недостижимо.
источник
Алистер Коберн (один из создателей движения Agile) говорит , что это о Crystal Clear (один аспект его методологии Agile):
Это определение гибкости, по общему признанию для опытных разработчиков, которые знают, что они делают, и им можно доверять, чтобы продолжать и делать это. Значит ли это, что вам нужно использовать CI, TDD, парное программирование и все остальные модные вещи? Проще говоря ... Нет.
Agile - это не следование набору процессов, а эффективность. Что это значит для вас, зависит от вашей команды и от того, как она работает, что вы считаете полезным для вас. Если TDD не поможет вам создать работающий код, то прекратите слушать меньшие источники света, которые кричат об этом в Интернете и не используют его! Если парное программирование действительно помогает вашей команде сконцентрироваться и выполнить задание, тогда не обращайте внимания на тех, кто считает, что это пустая трата времени, и организуйте свою команду, как трехногую гонку в школьный спортивный день.
Я работал гибко много лет назад, поэтому многие из нас даже не подозревали, что мы работали гибко - мы каждый месяц выпускали итерации продукта, циклически исправляли ошибки и регулярно добавляли новые функции. Мы провели абсолютно нулевые юнит-тесты, так как такие вещи не были изобретены, а книга по рефакторингу не была написана. Так что да, вы можете сделать Agile без так называемой гибкой практики.
Алистер также говорит это о Кенте Беке:
В конце концов, все равно, делаете ли вы XP или нет ... мудрые слова, которые должны напоминать вам не попадать в эту ловушку .
источник
Scrum - это разновидность гибкой разработки, которая следует определенной схеме для достижения целей методологии гибкой разработки. Вы не можете следовать за Scrum и не быть проворным, но вы можете быть проворным и не следовать за Скрамом.
Scrum не имеет отношения к использованию автоматических тестов, Agile имеет тенденцию отдавать им предпочтение, но это ни в коем случае не требуется. Рефакторинг должен быть целью в Agile и Scrum, но его часто игнорируют. не иметь никакого намерения когда-либо рефакторинг не действительно проворен.
источник
Agile - это набор методов разработки программного обеспечения, отвечающих гибкости и быстро меняющимся требованиям рынка, или так называемым ускоренным поставкам . Таким образом, в целом речь идет о гибком подходе к удовлетворению меняющихся сложных требований клиента путем разделения работы на небольшие промежутки времени и предоставления функциональности за короткие итерации в течение 2-4 недель.
Однако для достижения этой гибкости команда разработчиков должна практиковать Agile-программирование .
Описание от Wiki относительно разработки программного обеспечения Agile :
источник
Фактически, вы можете использовать scrum в проектах, которые не имеют ничего общего с разработкой программного обеспечения. Это метод управления проектом / управления командой.
источник
1) НЕТ !!!! Scrum - это Agile, то есть методы гибкой разработки (TDD, парное программирование, CI, рефакторинг и т. Д.) Очень важны для всех аспектов проекта Scrum. Будет гораздо сложнее выяснить скорость бега ваших команд, оценить работу, установить соответствующий размер спринта и т. Д., Если вы не используете эти практики.
2) Да, вы можете внедрить Scrum в команду, которая не придерживается гибких практик, но я чувствую, что это действительно ограничивает потенциал команды. Большая часть того, почему Scrum / Agile так успешны, заключается в повышении производительности и качества, которые вы получаете от практических разработок Agile, которые являются основой для предоставления передовых и завершенных функций в каждом спринте.
Если кто-то в вашей группе пытается убедить вас в том, что практики разработки Agile - это пустая трата времени, я думаю, вам следует потратить некоторое время, чтобы подчеркнуть, почему эти практики всегда подчеркиваются как в Scrum, так и в Agile в целом. Они действительно имеют значение.
источник