Введение
Если вы только задумываетесь о том, что пора внедрять какую-то методологию и использовать некий специальный софт для планирования и отслеживания хода работы, возможно вам будет полезен наш вполне успешный опыт применения гибкой методологии разработки 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). Таймлайн всегда отвечает на вопрос о том, какая работа проделана командой за сегодня.
События, которые появляются в Таймлайне:
Можно подписаться на RSS-ленту событий.
Теги
В Acunote вы можете присваивать таскам один или несколько тегов. Обычно эту возможность используют, чтобы отмечать задачи как "Баг", "Фича" и т.п.
Панелька Теги (Tags) позволяет фильтровать таски по определенному тегу. На странице "Управления тегами" (Manage Tags) доступны другие операции с тегами.
Если вы всегда маркировали свои таски, просто приписывая к его названию, например "[Feature]", и решили наконец прекратить эту практику, то кнопка Convert Brackets ("Конвертировать скобки") поможет вам присвоить тег Feature всем таскам, которые вы уже успели промаркировать по-старинке.
А для удобства можно продолжать создавать таски с названиями типа "[tagName]TaskTitle", при этом заданию будет автоматически присвоен нужный тег, при условии, что он существует.
Интерфейс
Отличительной особенностью системы является удобный и продуманный интерфейс. Почти все действия обрабатываются аяксом и не влекут перегрузки страницы.Быстрое создание задачи
Не важно на какой странице вы находитесь, использую ссылку "Новая задача" вы в любой момент можете вызвать ajax диалог создания задачи.
Управление задачами
Большую часть времени пользователи Acunote работают с задачами, выполняя над ними всевозможные действия. Разработчики постарались сделать этот процесс максимально простым и удобным, поэтому:
Поддержка 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 (рус)