Как мы разработали собственный инструмент управления проектом - Tracker

Любой бизнес проходит долгий тернистый путь. Сначала это просто какая-то идея, для реализации которой годятся любые подручные средства, но спустя некоторое время это может стать чем-то большим. По мере того, как растёт ваше дело, задачи становятся сложнее и больше и в один прекрасный момент вы сталкиваетесь с тем, что гаража друга и отцовской пилы уже недостаточно для того, чтобы справиться с новыми вызовами. Нужен новый инструмент для достижения больших целей и работы с большими проектами. Но довольно часто с его поисками возникают трудности: порой имеющиеся на рынке предложения просто не подходят вашей компании, или же они настолько сложны в использовании, что приходится нанимать специалистов. Может быть так, что нужного вам гаджета не существует, либо же для вашей цели подходит комплекс из десятков инструментов. И как здесь быть? Когда Сакичи Тойода столкнулся с проблемой автоматизации производства, он сконструировал автоматический ткацкий станок, что значительно улучшило производительность и эффективность работы. Воплощая в жизнь идею “автомобиля для всех”, Генри Форд пошёл на эксперимент по организации и использованию сборочного конвейера, инструмента, который вывел его дело на новый уровень. Когда же нашей компании потребовался свой уникальный инструмент, направленный исключительно на работу над проектами по Agile-методологии и удовлетворяющий внутренние нужды компании, мы создали собственный Project Management Tool – Tracker.

User stories

Не сказать, что идея такого рода инструмента была нова — на тот момент уже существовали Redmine, Mingle и прочие, но их было затруднительно использовать с тем инструментарием, которым мы располагали. Их пришлось бы переписывать и адаптировать под требования компании. Мы же хотели объединить все составляющие бизнес процесса в одном инструменте, максимально удобном, как для разработчиков, так и для заказчиков. Мы хотели создать эффект присутствия, ощущение вовлечения и полного контроля над разработкой у удалённого заказчика, чтобы тот в любое время и в любом месте, с любого устройства мог увидеть, как развивается и прогрессирует проект и тут же скорректировать работу над ним, как это практикуется в Agile методологии.

Ранее мы вели журнал задач на бумажных карточках, записывали время работы, а после переносили всю информацию в Wiki . Когда данных было немного, простота Wiki работала для нас. Но по мере того, как компания росла и развивалась, проектов становилось всё больше и больше, возникла необходимость в инструменте, способным эффективно работать с большими базами данных.

Поскольку мы сторонники Agile, Tracker тоже разрабатывался по гибкой методологии. Целью было сделать максимально быстрый релиз и предоставить разработчикам инструмент, который в дальнейшем бы пополнялся новыми функциями. В первой версии Tracker представлял собой счётчик отработанного времени. Следующим шагом стало добавление историй (user stories) и задач (tasks). Когда уже существовали истории пользователей, можно было перенести все данные из Wiki, бумаг и электронных документов.

Tracker состоит из 4 основных модулей: планирование, истории пользователей, статистика и выставление счетов (Planning, User Stories, Statistics, Billing). Истории пользователей стали основой планирования. Их можно размещать по неделям. Программист может распланировать свою работу, разбив её на задачи. Время, потраченное на работу над историей, вносится в ту задачу, над которой он работал. Система автоматически выполняет подсчёт суммарного отработанного времени по User Stories.

Статистика отработанного времени

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

Письмо-дайджест

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

Популярные инструменты менеджмента проекта на тот момент не отображали обновления в режиме реального времени, и если информация по проекту менялась, нужно было перезагрузить страницу, чтобы увидеть изменения. Нам же хотелось сделать приложение «живым», чтобы все обновления сразу отображались у пользователей. Современные технологии позволяют это делать и мы добавили поддержку web-socket’ов для того, чтобы всей командой играть в planning game. Теперь если кто-то меняет историю, программа всем отправляет об этом уведомления и все обновления динамически отображаются на экране истории, что облегчает обсуждение и планирование проекта с заказчиком. Мы осуществили планирование наиболее простым способом – перетаскиванием историй курсором мыши по неделям (или “итерациям” ). Заказчик пишет истории и расставляет их по приоритетам, определяет их порядок выполнения и задаёт план на неделю. В раздел “unscheduled” попадают находящиеся на стадии обсуждения или отложенные истории. Для каждой истории можно дать оценку времени - она заносится в виде “estimated time” и позже соотносится с “actual time”, то есть с реальным временем работы над ней.

Истории пользователей представляют собой виртуальную версию цветных отрывных листочков, куда записывают все предстоящие дела и планы на день и вешают на монитор или доску планирования. Выглядит это в Tracker как разноцветные прямоугольники, на которые можно кликнуть и увидеть список запланированных, осуществляемых или выполненных задач и собственно результаты работы. Цвет прямоугольника соответствует статусу истории: серый для «to estimate», голубой для «estimated», жёлтый для «in process», салатовый для «completed» и зелёный для «accepted».

В Tracker имеется “история изменения историй” (history of versions), где можно увидеть все обновления от момента создания истории до её принятия и то, кем, как и когда она менялась.

History of versions

Последний модуль – выставление счетов. В этой части заказчику выставляются счета (invoices) на основе отработанного нами времени. В Tracker есть интеграция с бухгалтерией и различными системами, через которые проходят платежи. Он позволяет увидеть историю всех денежных операций, таких как платежи через Elance или банковские переводы. Зашёл, увидел, оплатил — иначе этот раздел и не опишешь.

С самого создания мы продолжаем совершенствовать, обновлять и дополнять Tracker. Например, сейчас мы обновили его до Ruby on Rails 4 и PostgreSQL, чтобы программа шла в ногу со временем и могла работать с ещё большим объёмом данных.

В итоге Tracker стал отличным помощником в работе над проектами. Он облегчил такие аспекты работы, как документация, общение и вовлечение заказчика в процесс разработки, работа удалённых команд программистов, начисление зарплат на основе отработанного времени, выставление счетов клиентам, занесение отпусков, больничных и так далее. Заказчики также отметили удобство Tracker, простоту работы с ним, в отличие от других систем управления проектами и даже были бы не прочь использовать его в других своих делах, вне сотрудничества с Anadea. Так появилась идея сделать из Tracker продукт, но эта история сейчас только пишется.

Как можно увидеть, для любой работы требуется свой инструмент и при наличии оного можно преуспеть в своём деле. Квалификация нашей компании позволила создать инструмент, полностью отвечающий нашим требованиям и потребностям. Но если вдруг вы не нашли программное обеспечение по вкусу, способное решить задачи вашего бизнеса, здесь, в Anadea, всегда готовы помочь вам и создать именно то, что вы ищете.

Связаться