Экстремальное программирование - роли

В экстремальном программировании акцент делается на совместную работу всей команды и постоянное общение.

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

Роли в экстремальном программировании

Роли, которые были признаны эффективными в экстремальном программировании:

  • Разработчик (также называемый Программистом некоторыми командами)
  • Покупатель
  • Менеджер (также называемый трекером)
  • Тренер

разработчик

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

  • Права разработчика

    • Вы имеете право знать, что нужно, с четкими декларациями приоритета.

    • Вы имеете право производить качественную работу в любое время.

    • Вы имеете право просить и получать помощь от сверстников, начальников и клиентов.

    • Вы имеете право составлять и обновлять свои собственные оценки.

    • Вы имеете право принять свои обязанности вместо того, чтобы назначить их вам.

  • Основные обязанности, за которые вы будете нести ответственность -

    • Оценивать истории

    • Определите задачи из историй

    • Оценить задачи

    • Написать юнит-тесты

    • Написать код для прохождения письменных модульных тестов

    • Выполнить юнит-тестирование

    • Refactor

    • Интегрировать непрерывно

  • Навыки разработчика

    • Парное программирование

    • Общение - это необходимо и достаточно подробно

    • Всегда используйте метафору, чтобы использовать правильные имена

    • Код только то, что требуется.

    • Поддерживать простоту

  • Коллективная собственность

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

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

  • Носите разные шляпы в качестве разработчика в команде, такие как -

    • Программист.

    • Архитектор и дизайнер.

    • Архитектор интерфейса / дизайнер пользовательского интерфейса.

    • Дизайнер баз данных и администратор баз данных.

    • Оператор и сетевой дизайнер.

  • Иногда одному из разработчиков приходится носить шляпу тестера.

    • Помогите клиенту выбрать и написать функциональные тесты.

    • Регулярно запускайте функциональные тесты.

    • Сообщите о результатах теста.

    • Убедитесь, что инструменты тестирования работают хорошо.

Покупатель

В экстремальном программировании роль заказчика так же важна, как и роль разработчика, поскольку именно клиент должен знать, что программировать, а разработчик должен знать, как программировать.

Это вызывает необходимость определенных навыков для роли клиента -

  • Написание необходимых рассказов с необходимой и достаточной детализацией.

  • Выработка отношения к успеху проекта.

  • Влияние на проект без возможности управлять им.

  • Принятие решений, которые требуются время от времени о степени функциональности, которая требуется.

  • Готов менять решения по мере развития продукта.

  • Написание функциональных тестов.

В экстремальном программировании клиент должен постоянно поддерживать связь с командой и разговаривать с ней как один голос. Это требуется с -

  • Заказчиком может быть несколько заинтересованных сторон.

  • Клиент может быть сообществом.

  • Клиент не всегда ПРИНЦИПАЛ (прокси).

  • Заказчиком может быть команда со следующими потенциальными членами -

    • Менеджеры по продукту

    • Маркетинговые продажи

    • Бизнес аналитики

    • Конечные пользователи, их менеджеры

    • Бизнес / Системные операции

Основными обязанностями Заказчика являются -

  • Напишите истории пользователей

  • Написать функциональные тесты

  • Установите приоритеты на истории

  • Объяснять истории

  • Решите вопросы об истории

Заказчик несет ответственность за эти обязанности.

Менеджер

В экстремальном программировании основными обязанностями менеджера являются -

  • Определите правила планирования игры.

  • Ознакомьте команду и заказчика с правилами планирования игры.

  • Следите за планированием игры, исправляйте любые отклонения, изменяйте правила при необходимости.

  • Планируйте и проводите встречи по планированию релизов и итерации.

  • Участвуйте с командой, пока они оценивают, чтобы предоставить обратную связь о том, как реальность соответствовала их предыдущим оценкам, как на уровне команды, так и на индивидуальном уровне, что в конечном итоге поможет им в будущем получить более точные оценки.

  • Убедитесь, что команда работает над следующим выпуском по мере прохождения итераций с фиксированным расписанием и подтвержденной функциональностью.

  • Отслеживание дефектов функционального тестирования.

  • Отслеживайте фактическое время, потраченное каждым членом команды.

  • Адаптируйте возможность получать всю необходимую информацию, не мешая работе команды. Менеджер несет ответственность за эти обязанности.

Тренер

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

Обязанности тренера:

  • Понимать, глубоко, применение экстремального программирования в проекте.

  • Определите методы экстремального программирования, которые помогут в случае возникновения проблем.

  • Сохраняйте спокойствие, даже когда все остальные паникуют.

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

  • Следите за тем, чтобы команда была самостоятельной.

  • Будь готов помочь.