Сегодня об инженерных практиках, которые активно используются в гибких (agile) методологиях (хотя эти практики свободно масштабируются на произвольные процессы) ходит много споров и обсуждений. В том числе и о TDD из процесса XP.
При этом возникает ряд проблем внедрения этих практик. Их рассмотрение я оставлю out of scope. Но желание разработчиков пощупать, потестировать подход остается и даже возрастает (с каждой прочитанной книгой ;-).
В свое время я разработал игру-симуляцию, которая позволила бы это сделать с базовым набором XP-практик: TDD, pair programming, iterative development и simple design. И после проведения серии этих воркшопов назрел целый ряд интересных выводов:
- Игровая форма рулит. Мы все читали и слышали, что игры - один из самых эффективных инструментов обучения. Но на практике это превосходит ожидания. 2 часа кодирования пролетают, по словам участников, как 30 минут. Даже для не-разработчиков (тестеров, pm-ов).
- Воркшоп дает крайне эффективную обратную связь. Наблюдение за работающими над заданием участниками - ценнейший источник информации о них. А результаты выполнения задания говорят сами за себя.
- Участники сами приходят к выводу о целесообразности используемой практики. Правильно выстроенный воркшоп заменяет килограмм лекций о необходимости, например, модульного тестирования.
- Воркшоп снимает страх или лень использования практик. В игровой форме (когда нет контроля начальства сверху) участник может попробовать использовать практики, которые в проекте избегает из-за инерции или риска нарушения процесса.
Статистика проведения эвента показывает его высокую образовательную эффективность. Поэтому, собственно, message: Коллеги pm-ы, проектировщики и разработчики! Если Вы хотите внедрить в своем коллективе какую-либо инженерную практику практически без сопротивления, создайте собственную игру-симуляцию, учитывающую специфику коллектива. Эта игра создаст максимально комфортные условия знакомства с практикой и при правильной проработке этой игры подтолкнет коллег использовать практику.
Безусловно, возникнет ряд сугубо методических нюансов - как выстроить игру, максимально раскрывающую все грани практики. У меня, даже с учетом богатого опыта проведения обучения, получилось отточить все детали только после 3-4 проведений. Зато теперь этот воркшоп - крайне эффективный инструмент знакомства с практиками, выработки навыков и передачи знаний; игра стоила свеч ))
Если кто-то захочет использовать такой подход, но имеет методические трудности - пишите, буду рад помочь. Хотя, крайне часто хорошие специалисты так же нагружаются образовательной активностью для junior-коллег, так что создание такого обучающего проекта их не введет в ступор ))) Надеюсь, мой message об эффективности таких подходов будет услышан )
Успехов!