Вопрос

Каковы мифы или заблуждения, связанные с Agile?

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


ОБНОВЛЕНИЕ: Сводка гибких мифов

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

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

Это было полезно?

Решение

  1. «Мы делаем схватку - поэтому нам не нужно (пара | Refactor | Do tdd | ...)» На самом деле основатели Scrum - Кен и Джефф говорили, что все высокопроизводительные команды Scrum реализуют весь спектр экстремальных практик программирования.

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

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

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

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

  6. Вам нужны особенно талантливые люди, чтобы разработать программное обеспечение Agile Way. Джефф Сазерленд говорит, что они подумали о использовании модели «Главного программиста» для управления командами в банках - но обнаружили, что у них не было ничего подобного «вождям». Scrum предназначен для того, чтобы получить лучшую производительность из многих умеренно способных программистов. Фактически, удаление одного, непропорционально продуктивного члена команды, который не хочет помогать другим, чтобы «разблокировать» посредственных членов команды и повысить их комбинированную производительность, чтобы не более чем компенсировать суперпродуктивного бывшего члена команды ... вот что Джефф В любом случае говорит ...

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

Другие советы

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

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

Миф: Использование Agile Development Practices - это решение серебряной пули для проблем разработки программного обеспечения.

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

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

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

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

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

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

Миф: Agile означает отсутствие плана

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

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

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

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

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

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

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

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

Миф: «Нет большого дизайна впереди» не означает никакого дизайна.

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

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

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

Было неоднократно говорилось, что «методы гибких проектов не масштабируются», тогда как гибкая разработка будет эффективно масштабироваться до любого размера, если он будет реализован и продумано должным образом.

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

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

Это заставляет вас победить ловкость и создать водопад под названием «Agile».

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

Это обычный серебряный змеиный масл, который мы видели в этой отрасли в течение многих лет.

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

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

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

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

Факт: Есть и другие практики, такие как Openup, AMDD и т. Д.

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

Отличная нить. Хотя я не предлагаю ничего нового в своем связанном сообщении в блоге, я иллюстрирую две главные причины, по которым Agile не удается, когда это не удается. 1) Отсутствие первоначальных требований (принятие «начало кодирования с неполными требованиями» до крайности) и 2) отсутствие адекватных модульных тестов (поскольку произойдут изменения - и модульные тесты являются самым быстрым способом поймать все точки разрыва, возникающие в результате СДАЧА).

http://www.anujvarma.com/blogengine.net/post/2010/11/03/agile-versus-flat-footed-development.aspx

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

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

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

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

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

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

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

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

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

Если вы не показываете реальную ценность с Agile, это потерпит неудачу. И с треском терпеть неудачу, как в банкротству, компании с треском. Собираюсь в Agile только потому, что он «Agile» заставляет вас выглядеть так же глупо, как ИТ -директор в этом видео:

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

Джон

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top