Практиковать только метод кнута, если команда действительно в него верит

XP-практики помогают концентрироваться на качестве кода, который вы создаете, еще до того, как будет написана его основная часть. Если Scrum всецело направлена на то, чтобы пользователи знали предел ваших возможностей в создании ПО, то ХР позволяет вносить изменения и удалять дефекты максимально быстро. И это помогает всем членам группы выработать такое отношение к качеству, которое проходит красной нитью через все работы в проекте.

Это новый способ мышления для многих технических специалистов и даже высококвалифицированных разработчиков. Обычно несложно переключить технарей на Scrum, особенно на версию «лучше-чем-ничего», если они чувствуют, что плохое планирование приводит к проблемам в проекте. Scrum действительно помогает командам лучше планировать. Но что произойдет, когда разработчик, изучая практики XP, обнаружит, что они вынуждают его изменить методы своей работы?

Рис. 6.3. Очень распространенная реакция на внедрение XP заключается в том, что, хотя в теории это звучит хорошо, на практике парное программирование и разработка через тестирование «непригодны для нашей команды». Это не обязательно аргумент против данных практик, а скорее предчувствие сложности их реализации

Основополагающий принцип создания программного обеспечения – существование практически неограниченного количества способов, которыми можно написать программу. Попросите двух программистов создать одинаковый модуль (класс, функцию, библиотеку и все, что относится к использованию языка или рабочей среды), и практически наверняка они напишут разный код. Сложно ли вообразить, что один из них создаст более качественный код, чем другой?

Очевидно, что навык программирования очень важен, но это еще не все. Многие команды, состоявшие из отличных разработчиков, поддерживали неудачный код. Чаще всего код становится таким, когда в него спешно вносят множество незапланированных изменений. И в итоге масса ошибок, а также страх переделок, который сковывает инициативу команды.

Это довольно распространенная причина, по которой команды обращаются к XP. Поэтому многие из них вместе с руководителями будут уделять основное внимание ХР-практикам, направленным на поиск и предотвращение ошибок. Парное программирование – удачная идея, потому что позволяет следить за кодом в четыре глаза, что помогает находить больше ошибок.

Разработка через тестирование означает, что команда будет писать и поддерживать тесты для выявления ошибок, которые всегда появляются при программировании, а непрерывная интеграция подразумевает, что эти тесты будут запускаться все время. Отличная идея, не так ли? И это, безусловно, поможет выявить больше ошибок.

Команда, получающая от ХР результат «лучше-чем-ничего», обнаружит, что парное программирование предотвращает попадание дефектов в ПО, а разработка на основе тестирования и непрерывная интеграция находят дефекты, когда они уже попали в код. Но подобные команды обычно не готовы прикладывать много усилий для внедрения таких практик. Необходимый минимум для получения готового проекта – написать код.

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

Это характерное мышление для команды, которая впервые применяет XP. Проблема заключается в том, что такой настрой сродни желанию сесть на диету или заняться спортом: мысль отличная, но где взять на все время? Даже если люди скрупулезно выполняют все рекомендации этих методик, но рассматривают их как дополнение к обычному процессу, они с легкостью отбросят их в случае отставания от графика.

Именно поэтому вредно, когда команды трактуют ХР-практики как список мероприятий. Еще хуже, если они начинают оценивать, на сколько процентов внедрили ХР, которая в этом случае рассматривается как результат, а не как средство достижения цели. Это надо рассматривать как красный сигнал светофора, показывающий, что люди не готовы к применению XP.

Команда, неправильно воспринимающая ХР, должна изменить образ мышления. Смена мышления может показаться серьезным достижением, особенно если команда не допускает мысли, что этот метод оправдывает затраченное на него время. Так что же заставляет команду трактовать ХР-практики как «первоклассные» и жизненно важные для создания отличного ПО, а не в качестве необязательного дополнения?

<< | >>
Источник: Эндрю Стеллман, Дженнифер Грин. Постигая Agile. Ценности, принципы, методологии. 2015

Еще по теме Практиковать только метод кнута, если команда действительно в него верит:

  1. Методы «кнута»
  2. если линия 14-дневного МА, находящаяся над графиком валютного курса пересекает последний, уходя под него, это свидетельствует о смене тренда с нисходящего на восходящий и служит сигналом к покупке — buy signal;если линия 14-ти дневного МА пересекает график курса, уходя выше него, это служит сигналом к продаже — sell signal.
  3. Если руководитель о чемто вас просит, значит, для него это необходимо
  4. Если вы из компании, еще только внедряющей объемное планирование продаж и операций
  5. Больше может означать лучше, если только вы знаете, что делаете.
  6. ТОТ, КТО СЧИТАЕТ, ЧТО ВСЕГДА БУДЕТ НАСЛАЖДАТЬСЯ ПОДАРКАМИ СУДЬБЫ, И ПРЕДПОЧИТАЕТ ПОЧИВАТЬ НА ЛАВРАХ, РИСКУЕТ ПОТЕРЯТЬ НЕ ТОЛЬКО ТО, ЧТО У НЕГО ЕСТЬ, НО И САМОГО СЕБЯ
  7. В моем бизнесе все иначе. – Только если вы торгуете атомными электростанциями оптом
  8. Продукт принесет вам прибыль только в том слу­чае, если он будет отличаться от товаров конку­рентов
  9. Если за период действия программы с вами происходит страховое событие, страховая компания выплачивает вам компенсацию, а если за период ничего не произошло, то все ваши взносы по ней просто сгорают. Грубо говоря, рисковое страхование жизни – это вариант КАСКО, только в отношении вашей жизни и здоровья. Программы накопительного страхования
  10. КОМАНДЫ КОМАНДА МЕЧТЫ И ЭФФЕКТ РЫЧАГА
  11. если вам некогда остановиться, если вы постоянно находите какие-то отговорки и предлоги, если вы завалены работой, если вы никак не можете остановиться, значит, пришло время остановиться.
  12. Чтобы добиться успеха, необходимо создать новый революционный продукт. – Только если у вас есть большая куча денег на его раскрутку
  13. что Вселенная даст вам просимое и без всяких действий с Вашей, стороны, если только вожделение не подаст предательскую заявку на «трудность получения».
  14. Основополагающая разница между спекулянтами и проститутками. — Справедливость, несправедливость и Черные лебеди. — Теория знания и доходы профессионалов. — Почему не стоит навещать Крайнестан, если только вы не победитель
  15. Покажите клиенту ценность Ваша задача – убедительно показать, какой выгоды, экономии или добавленной стоимости добьется клиент, если примет именно ваше предложение, а не конкурентов! То есть почему оно для него более ценно, чем остальные.
  16. Потребитель слепо верит в то, что дорогой то­вар отличается высоким качеством, пока не убе­дится в обратном. Постоянство качества и усовершенствование продукта