NG Development

понедельник, 10 марта 2008 г.

Введение в Acunote

Введение

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

Ссылки на описание методологии приведены в конце статьи, поэтому перейдем сразу к разговору об Acunote.

Acunote - это онлайновая система управления проектами, предназначенная для небольших команд разработчиков, практикующих гибкие методологии разработки, в частности Scrum и/или XP. Приятно, что система действительно заточена под регулярное активное использование, все интерфейсы максимально упрощены применением ajax, а функционал точно соответствует предназначению системы. Для групп разработчиков до 5 человек включительно пользование системой бесплатно. За возможность подключить к проекту большее число исполнителей придется немного заплатить.

Работа с проектом в системе состоит прежде всего в создании задач (tasks) с обязательным указанием времени, которое предполагается потратить на их решение. Время указывается в условных "идеальных часах", и совсем не важно, как ваш идеальный час соответствует часу реальному. В процессе работы решенные задачи закрываются членами команды, а система отображает прогресс, анализирует загрузку каждого разработчика и команды в целом, строит прогнозы о завершении работы над проектом.

В соответствии с методологией Scrum, задачи группируются в cпринты. Спринт представляет собой короткий отрезок времени (1-4 недели), по истечению которого команда должна представить промежуточную рабочую версию системы. Поэтому в процессе разработки (мы практикуем недельные спринты) главным ориентиром служит не мифический дедлайн сдачи проекта, а вполне конкретный спринт, и вся статистика и информация о выполенной работе отображается Acunote именно применительно к активному спринту.

Далее следует краткий обзор возможностей, предлагаемых Acunote. Стоит отметить, что это не тот случай, когда 80% пользователей используют 20% функционала системы. Набор функций в Acunote точно соответствует потребностям, поэтому скорее всего вы будете использовать большинство из них.

Основные возможности

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



Backlog
Бэклог (Backlog) предназначен для складирования задач проекта, которые пока еще не добавлены в конкретный спринт. Обычно все задачи в процессе разработки создаются именно в бэклоге, и часть из них в начале каждой итерации переносятся в спринт, в течение которого они должны быть решены.

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

Спринты
В рамках методологии Scrum принято разделять процесс разработки на последовательность итераций длительностью 1-4 недели, так называемые "Спринты".

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



Burndown
Acunote хранит ваши задачи и позволяет устанавливать для них оставшееся время выполнения и отмечать их как завершенные. Используя это информацию, Acunote изображает количество оставшейся работы в виде графика. Глядя на этот график вы можете оценить, когда приблизительно проект будет завершен.

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



В "Результатах спринта" (Sprint results) показывается, какое количество работы предполагалось, осталось выполнить, уже выполнено для каждого члена команды (разработчика).

"Прогресс" (Progess) изображает объем работы с разными статусами, каждый статус обозначается цветом:
  • Красный — Не начато
  • Синий — В процессе
  • Зеленый — Завершено
  • Черный — Заблокировано


  • Timeline
    Acunote сохраняет все события, происходящие с вашими проектами и показывает их в виде таймлайна (Timeline). Таймлайн всегда отвечает на вопрос о том, какая работа проделана командой за сегодня.

    События, которые появляются в Таймлайне:
  • Создание, завершение и изменение задач
  • Создание и изменение спринта
  • Коммиты пачек изменений из репозитория SVN
  • Email-уведомления


  • Можно подписаться на RSS-ленту событий.



    Теги
    В Acunote вы можете присваивать таскам один или несколько тегов. Обычно эту возможность используют, чтобы отмечать задачи как "Баг", "Фича" и т.п.



    Панелька Теги (Tags) позволяет фильтровать таски по определенному тегу. На странице "Управления тегами" (Manage Tags) доступны другие операции с тегами.



    Если вы всегда маркировали свои таски, просто приписывая к его названию, например "[Feature]", и решили наконец прекратить эту практику, то кнопка Convert Brackets ("Конвертировать скобки") поможет вам присвоить тег Feature всем таскам, которые вы уже успели промаркировать по-старинке.

    А для удобства можно продолжать создавать таски с названиями типа "[tagName]TaskTitle", при этом заданию будет автоматически присвоен нужный тег, при условии, что он существует.



    Интерфейс

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

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



    Управление задачами
    Большую часть времени пользователи Acunote работают с задачами, выполняя над ними всевозможные действия. Разработчики постарались сделать этот процесс максимально простым и удобным, поэтому:
  • Создание, удаление, редактирование задач производится с использованием AJAX без перезагрузки страницы
  • Поддерживается быстрое редактирование всех полей (достаточно кликнуть по полю и указать новое значение)
  • Вы можете отображать задачи только с определенным статусом или принадлежащие определенному исполнителю. Нужный фильтр задается в один клик и не влечет перезагрузку страницы
  • Каждая задача имеет контекстное меню (вызывается левым кликом по соответствующей икноке), что делает работу с задачами еще более удобной




  • Поддержка Drag'n'Drop
    С недавнего времени Acunote поддерживает drag'n'drop в списке задач. Для того, чтоб изменить порядок задач в спринте достаточно перетащить задачу за иконку меню.



    "Горячие клавиши"
    Практически любое действие в Acunote может быть выполнено с использовнием шоткартов. С помощью быстрых клавиш можно не только выполнять "стандартные" операции вроде создания новой задачи, но и осуществлять навигацию по разделам системы. Так, для того чтоб попасть в текущий спринт достаточно нажать g c, а в backlog - g b. С полным списком шоткартов можно ознакомиться нажав h.



    Возможности интеграции

    Интеграция с системами контроля версий
    На текущий момент поддерживается интеграция с Subversion и Perforce. После того, как вы укажите параметры репозитория (адрес, логин и пароль) вы получите возможность отслеживать изменения в коде непосредственно из Acunote.



    Интеграция с bug tracking системами
    Acunote поддерживает интеграцию с большинством популярных багтрекеров, среди которых Bugzilla, Mantis, Trac и JIRA.



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


    Полезные ссылки

    Регистрация в Acunote (eng)
    Введение в Scrum (рус)
    О Scrum в Википедии (eng)
    Обзор методологии Scrum (рус)