Подтвердить что ты не робот

Гибкие мифы и заблуждения

Каковы мифы или неправильные представления, связанные с Agile?

Есть много неправильных представлений, связанных с Agile, которые могут попасть в средний новый посетитель. Каковы неправильные представления в Agile мире и как вы подтверждаете, что это действительно заблуждение?


Обновление: сводка мигрирующих мифов

  • Agile не позволяет документацию
  • Гибкие методы не масштабируются.
  • Agile означает отсутствие плана
  • TDD охватывает все требования к тестированию устройств
  • Программирование пар всегда приводит к улучшению кода
  • Agile - решение серебряной пули для проблем с программным обеспечением (есть решение с серебряной пулей).
  • Agile не нуждается в передней конструкции
  • Мы занимаемся сбором, поэтому нам не нужно делать TDD, Программирование парной рефакторинга и т.д.
  • Можно узнать Agile из книги.
  • Agile работает только для тривиальных проектов
  • Agile всегда использует "Истории пользователей"

Прочтите следующие ответы для получения дополнительной информации о вышеупомянутых мифах и других мифах.

4b9b3361

Ответ 1

  • "Мы делаем Scrum - так что нам не нужно (pair | refactor | do TDD |...)" На самом деле основатели Scrum - Кен и Джефф были говоря, что все высокопроизводительные команды схватки реализуют весь спектр практик экстремального программирования.

  • Разработка, основанная на тестах, не найдет всех ошибок/нелегко применить ко всему - поэтому мы не будем пытаться!. Обучение TDD не является "все или ничего не имеет отношения", и вам становится лучше судить, что тестировать и как это делать эффективно. Я делаю это уже десять лет, и я все еще нахожу более эффективные способы сделать это и новые вещи, которые нужно учитывать.

  • Я могу узнать все, что мне нужно, чтобы применить гибкие методы из книги.. Вам нужно учиться, и это часто означает тренировку и общение с другими людьми, которые могут помочь. Многие вещи идут не так, когда люди просто пытаются узнать это из книги.

  • Истерический (и вполне реальный) "Кандидат должен руководствоваться и поддерживать мастер схватки" (из спецификации задания, которую я отправил на прошлой неделе...) - схватка мастер не должен сообщать людям, что делать. Он/она там, чтобы облегчить, то есть помочь команде научиться разбираться в себе. Это массивный режим отказа - наличие мастера схватки, который "командует" людьми!

  • Говоря об "гибкой методологии" - большой индикатор невежества. Во-первых, говорить о "гибкой", как об этом, о конкретной вещи, тогда как это очень смутные зонтичные термины для многих разных вещей. Во-вторых, использование "гибкой методологии" - есть множество из них и множество разных способов сделать многие из них! В-третьих, многие люди в гибкой общине попали сюда в ответ на большие, тяжелые методы работы с UML девяностых годов. Эти люди не склонны использовать слово "методология"...

  • Вам нужны особенно талантливые люди для разработки программного обеспечения гибким способом. Джефф Сазерленд говорит, что они рассматривали использование модели "главного программиста" для управления командами в банках, но обнаружили, что они не "есть что-то вроде" вождей ". Scrum предназначен для получения максимальной производительности из множества программистов с умеренной способностью. Фактически удаление одного непропорционально продуктивного члена команды, который не хочет помогать другим, может" разблокировать" посредственных членов команды и принести их общую производительность, чтобы более чем компенсировать сверхпроизводительный бывший член команды... Что Джефф говорит в любом случае...

Есть немало других связанных с XP, с которыми мы столкнулись в открытой мастерской, которую я недавно привел: http://xpday-london.editme.com/WhereHasXpGone

Ответ 2

"Рабочее программное обеспечение по полной документации" означает, что вам не нужна функциональная спецификация...

Неправильно!!! Это просто означает, что вы можете сглаживать морщины итеративно с помощью пользователей - выступая в качестве поставщика, вам все еще нужна хорошая документация, чтобы помочь с этапами контроля качества и подписания...

Ответ 3

Миф: использование Agile - это решение для решения проблем с программным обеспечением.

Ответ 4

Миф: разработка, основанная на тестах, заставляет проект иметь адекватное модульное тестирование.

Факт: многие разработчики ленивы, а модульные тесты, которые они пишут до того, как их код часто слабый и неадекватный.

Миф: Программирование пар всегда приводит к улучшению кода.

Факт: Программисты, как правило, немного антисоциальны и имеют существенно разные мыслительные процессы друг от друга. Если кто-то дышит по вашей шее, поскольку вы кодируете очень неприятно, и результатом часто является напряженная рабочая атмосфера с уменьшением как качества кода, так и количества.

Ответ 5

Миф: Agile означает отсутствие документации

Факт: гибкое программное обеспечение для работы с данными больше, чем полная документация, но это вовсе не означает никакой документации. Документация должна быть написана как раз вовремя, и достаточно. И нет, Agile не говорит, что нужно использовать всегда, используя истории пользователей. Используйте их, если и только, если они подходят!

Миф: гибкий означает отсутствие плана

Факт: Agile не поддерживает разработку без планирования. Agile использует непрерывное планирование и оценку для максимизации рентабельности инвестиций. Фактически, Agile - это управление областью.

Миф: гибкий означает отсутствие дисциплины

Факт: гибкие разработчики должны быть более дисциплинированными для успеха.

Миф: Agile работает только для тривиальных проектов

Факт: Agile (на самом деле Scrum здесь) используется для

  • FDA-одобренное, жизненно важное программное обеспечение для рентгеновских лучей и МРТ,
  • Приложения для финансовых платежей,
  • 24x7 с требованиями времени безотказной работы 99,99999%,
  • Многотабайтные приложения баз данных,
  • и т.д.

Миф: Agile не масштабируется

Факт: Сазерленд использовал Scrum в группах по 500+, Cohn использовал Scrum в группах по 100 +

Ответ 6

Миф: "No Big Design Up Front" означает отсутствие дизайна.

Ответ 7

Миф: Водопад всегда терпит неудачу.

Реальность: большая часть программного обеспечения, которое вы используете в своем гибком проекте, была разработана с помощью водопада. Даже водопад BDUF, во многих случаях.

Ответ 8

Там нет настоящих мифов, но все, что доведено до крайности, будет неправильным. Проект Agile, который делает нулевой дизайн в надежде на "проектирование, поскольку он идет", скорее всего, не удастся. Проект Waterfall, который проектирует все до последней точки с запятой, скорее всего, не удастся из-за бюджета, времени или изменившихся требований пользователя.

Ответ 9

Было неоднократно сказано: "Agile-методы проектирования не масштабируются", тогда как Agile-разработка будет эффективно масштабироваться до любого размера, если она будет реализована и продумана правильно.

Ответ 10

Миф: вам нужно тщательно планировать и планировать каждый спринт.

Это приводит к тому, что вы планируете много и много предварительного планирования, чтобы вы могли полностью спланировать каждый спринт.

Это позволяет вам победить маневренность и создать водопад под названием "Agile".

Ответ 11

Самый большой миф, который я видел, - это то, что люди думают, что это лучше, чем другие процессы развития.

Это обычное серебристо-пулевое змеиное масло, которое мы наблюдаем в этой отрасли уже много лет.

https://stackoverflow.com/questions/301993/is-agile-development-dead/302060#302060

Ответ 12

Миф: Agile всегда лучше по сравнению с другими альтернативами.

Факт: в зависимости от размера проекта, требований (особенно гибкости такого), внешнего графика и отношения с клиентами, он не всегда может быть более продуктивным по сравнению с ортодоксальной методологией.

Ответ 13

Миф: Agile означает XP и Scrum

Факт. Существуют и другие методы, такие как OpenUP, AMDD и т.д.

Ответ 14

Легко понять, что нужно для зарядки вашего клиента. Это всегда самые большие проблемы для нас, потому что мы не знаем масштаб проекта, мы не можем дать клиенту фиксированную цену, и большинство клиентов требует фиксированной цены.

Ответ 15

Великая нить. Хотя я не предлагаю ничего нового в своем связанном сообщении в блоге, я иллюстрирую две главные причины, по которым Agile терпит неудачу, когда он терпит неудачу. 1) Отсутствие предварительных требований (с учетом "начала кодирования с неполными требованиями" до крайности) и 2) Отсутствие адекватных модульных тестов (потому что CHANGE произойдет, а модульные тесты - самый быстрый способ уловить все точки прерывания, возникающие в результате изменения).

http://www.anujvarma.com/BlogEngine.net/post/2010/11/03/Agile-versus-Flat-Footed-development.aspx

Ответ 16

Вы совершенно правы, что вокруг Agile много мифов, некоторые из них приходят извне и другие изнутри. Вот еще несколько, о которых я думал добавить в список:

"Вам больше не нужны руководители проектов или бизнес-аналитики"

Несмотря на то, что мы не делаем BDUF, а команды самонаводятся, по мере того, как все расширяется, все еще есть потребность в людях, чья работа координирует происходящее. И если у вас очень сложный бизнес-сценарий, вам может понадобиться кто-то, чтобы помочь вам разобраться в этом. IME, многие проекты, которые действительно нуждались в PM и BAs, все еще нуждаются в них (и те, которые им не нужны сейчас, вероятно, никогда не нуждались в них!). Но, разумеется, роли PM и BAs, как правило, различны в Agile мире, и это может сделать людей непростыми.

"Agile не может использоваться для проектов с фиксированной ценой"

Он может, но это немного сложнее. Тем более, что мы все знаем, что "фиксированная цена" действительно означает "фиксированная цена, объем и время"...

"Мы не делаем BDUF, мы делаем все это, когда идем"

Единственный способ работы - JEDUF (Just Enough Design Up Front). Иногда вам нужно больше, иногда вы можете обойтись меньше, но вы не делаете больше, чем вам нужно в этот момент.

Ответ 17

Миф: Agile является антитетическим для безопасности.

Факт: Это справедливо только в том случае, если вы пытаетесь принудительно создать полноценный SDL (жизненный цикл разработки безопасности) на предположительно гибких командах. Фактически, я разработал и внедрил варианты Agile-SDL во многих организациях, и могу сказать, что включение Agile в систему безопасности может позволить себе более высокий, более надежный уровень безопасности. это просто требует изменения мышления в плане безопасности - от контроля до видимости и руководства.

Ответ 18

Если вы не показываете реальное значение с помощью agile, он не будет работать. И терпеть неудачу, как в банкротстве компании, несчастно. Переход к гибкому только потому, что он "гибкий" заставляет вас выглядеть глупым, как CIO в этом видео:

http://www.youtube.com/watch?v=nvks70PD0Rs

Джон