Вы здесь: Home > Статьи > XPlanner
Что здесь происходит
Правила XP
Статьи по XP
Книги по XP
Ссылки по XP
Обсудить
Написать нам

XPlanner

XP говорит, что для планирования достаточно доски и бумажных карточек. В принципе, это так. Но для русских программистов, которые в большинстве своем удалены от Заказчика или менеджера, необходимо иметь средства коммуникации планов и состояния проекта. Используя самые простые средства общения типа Wiki, можно довольно эффективно общаться при планировании XP. Но после полугода работы в Wiki, начинаешь нервничать и думать "надо это все автоматизировать - в конце концов, это всего десяток обьектов". А ведь правда - эффективная команда программистов обычно автоматизирует всю тупую работу. Это вполне в духе XP. Но прежде чем писать - давайте посмотрим, не сделал ли кто-нибудь это до нас? Ой, сделали уже!

Итак, смотрим XPlanner.

XPlanner - это Open Source, Web - приложение, предназначенное для отслеживания работы XP команды.

Установка

XPlanner не обременен процедурой инсталляции. И правильно – если разработчики не могут все сами собрать, то нечего и за XP браться. XPlanner – это Java Servlet, работающий с MySQL. Поэтому, на сервере должен работать Java Servlet container и MySQL поблизости.

Для установки XPlanner вам понадобится также Ant (Java-утилита для управления сборкой – аналог make).

Учитывая то, что мы не работаем с Java, и машина у меня в этом плане была девственно чистая, инсталляция прошла достаточно гладко. После установки MySQL, Java SDK и Tomcat (рекомендуют Tomcat 3.2.x), с помощью Ant легко собирается xplanner.war и создается база данных. Вся установка заняла у меня не больше часа.

Вот инструкция по русификации XPlanner.

Работа с XPlanner.

При входе на главную страницу, XPlanner предлагает возможность добавить проект и создать список программистов:

[Image] [Image]

Создав проект, можно зайти на его страницу. Здесь вы можете создавать новые итерации и отслеживать существующие. На странице итерации можно увидеть ее состояние, а также, создавать, редактировать и отслеживать User Story. Прогресс наглядно отображается в графическом виде.

[Image]

На странице User Story показывается ее прогресс, текстовое описание, список и прогресс задач, а так же заметки. При вводе текстового описания User Story, XPlanner позволяет использовать команды форматирования TWiki, что, при определенном навыке, позволяет иметь довольно богатые средства оформления текста вплоть до таблиц и гиперссылок.

[Image]

Детальная страница задачи показывает ее статус, текстовое описание, записи времени работы и заметки. Описание задачи так же может форматироваться командами Twiki. При ведении записи времени работы над задачей, можно записывать как парную работу, так и индивидуальную. Система суммирует введенное время работы и считает что это и есть время выполнения задачи.

[Image] [Image]

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

[Image]

Слабые и сильные стороны.

Особенно силен XPlanner в отслеживании User Story и задач. Очень понравились поддержка форматирования TWiki, заметки и графическое отображение прогресса.

Один из главных недостатков XPlanner-а  -  отсутствие идеального и реального времени. Похоже, авторы не используют деление времени на реальное и идеальное в своей версии XP. Нет понятия скорости (Velocity). Хуже того, отслеживание фактического времени работы над задачей возможно только через ввод времени начала и конца работы. Смотрите что получается: если я работал в течении дня над задачей и при этом отвлекался на сопровождение, баги, консультации и обсуждения, то я либо должен ввести все небольшие промежутки времени, когда я реально работал над задачей (а их за такой день может быть десяток), либо ввести фиктивный промежуток времени, соответствующий проработанному идеальному времени.

Не очень ясна роль Tracker-a в системе. То есть, в XP она ясна, но непонятно, зачем XPlanner пытается назначить каждой User Story своего тракера, а также непонятно зачем вводить эту информацию, если она нигде не используется.

XPlanner вообще не затрагивает планирование релизов, проект в XPlanner делится сразу на итерации. В принципе, без этого можно жить. Неудобно то, что создание User Story может происходить только на странице итерации, тогда как обычно User Story уже более или менее оговорены на этапе планирования релиза.

С русским языком XPlanner не то чтобы не дружит, но при постинге текста перекодирует его в коды символов, так что по-второму разу редактировать свой текст сложновато. Я думаю, что при необходимости это легко поправимо. А для нас, например, это не проблема, так как у нас правило все на английском писать.

Если (по методологии XP) думать - что еще я хотел бы видеть в XPlanner - то это, конечно, ориентация на конкретного человека. То есть, если я, Роман Еремин, захожу туда, то и надо говорить "Здравствуй, Роман Еремин, а ты, между прочим, не успеваешь свои задачи сделать, потому что проработал больше времени, чем в прошлую итерацию у тебя было, и задачи не закончил еще". Но это, конечно, имеет смысл иметь только после того, как все вышеизложенное пофиксят.

Ну, и последнее - уж очень тормозит. На том игрушечном проекте, который я создал - не летает совсем. Время отклика доходит до пары секунд. И это на локальной машине, довольно быстрой и не загруженной ничем. Но на это можно закрыть глаза. Работать можно, а это самое главное.

Выводы.

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

С другой стороны, XPlanner поддерживает неполную модель планирования XP, и поэтому реальная работа может быть затруднена проблемами отслеживания идеального времени. Будем надеяться, что сообщество доведет проект до ума.

Роман Еремин