«Не всем же нужен Agile». Минский разработчик придумал систему управления проектами, которой пользуются в NASA

24 августа 2018, 09:05
«Не всем же нужен Agile».

Минский разработчик Дмитрий Дудин предпочитает создавать свои стартапы внутри белорусской аутсорс-компании, которая охотно поддерживает его идеи. За восемь лет в XB Software у него было много проектов, но самыми успешными Дмитрий считает сервис для управления соцсетями KUKU.io и приложение для управления проектами GanttPRO. Среди клиентов GanttPRO есть такие гиганты, как Amazon, Sony, Salesforce и NASA.

dev.by узнал у главы отдела по разработке GanttPRO, каково это — создавать стартапы внутри компании.

Делаем не кусок кода для заказчика, а сервис, за который платят

Дмитрий рассказывает, что увлёкся стартап-культурой, когда это ещё не было мейнстримом, — в 2011 году. В то время ему довелось поработать со стартапами из Швейцарии и Швеции в качестве сотрудника аутсорс-компании XB Software. 

— Я подумал, почему бы не попробовать развивать собственные идеи в рамках компании, если она готова поддержать мои начинания. Здесь вопрос в рисках, — говорит Дмитрий. — Если начинаешь свой проект в «гараже», есть большая вероятность провести несколько лет в поисках денег на развитие. При этом стартап может не выстрелить, и ты останешься совсем без денег, но снова с кучей идей. Кому-то так нравится, мне — нет. Внутри компании проще в плане финансирования, базы разработчиков, накопленных знаний. 

В XB Software есть ещё один автономный продукт: Webix — библиотека компонентов для разработчиков. По словам собеседника, это политика компании — выделять команды в отдельные проекты, когда они достигли определённой зрелости. Дмитрий считает, что это здравое решение, потому что так компания «диверсифицирует риски между аутсорсингом и продуктом».

У команды, с которой работает Дмитрий, было много идей: онлайн-конструктор для CSS EnjoyCSS, футбольный менеджер, криптохранилище файлов, менеджер для игры в кикер и своя CRM.

— Большинство из них зафейлилось, но некоторые выстрелили. Лучше всего у нас получилось с KUKU.io и GanttPRO. Последний — это сервис для управления проектами на основе диаграммы Ганта. Мы заметили, что в этой нише есть спрос. Тут мы и подумали: а почему бы нам не сделать своё приложение для планирования и управления проектами? Так началась работа над GanttPRO.


Справка dev.by. GanttPRO — онлайн-приложение для планирования и управления проектами на основе динамической диаграммы Ганта. Ежедневно системой управления проектами пользуется до 1700 пользователей со всего мира, преимущественно в США, странах Европы, Австралии и Канаде. Количество зарегистрированных пользователей уже достигло 350 000. Основные сферы применения GanttPRO — строительство, стратегическое планирование в ИT, event-management, маркетинг, консалтинг.


С момента запуска проекта прошло уже три года, и мы понимаем, что этот продукт нужен, нас покупают, рекомендуют. Все средства от продаж мы направляем на рост и развитие GanttPRO. Когда-то на проекте было два человека, а сейчас — 14. Когда мы перестали помещаться в два кабинета в офисе XB Software, пришлось переехать в отдельное здание. Сейчас мы уже на том уровне, когда можем существовать как самостоятельная команда.

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

Хороший результат работы для любого из членов команды — это не кусок кода, одобренный заказчиком, а деньги, которые пришли на наш счёт от покупки продукта. Это показывает, что мы находим правильное решение проблем пользователей. И мы стараемся эту культуру в GanttPRO прививать.

Просто, как Google Docs 

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

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

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

По теме
Все материалы по теме

Одна из основных наших метрик — как быстро мы научим пользователя работать с GanttPRO.

Все сложные логические цепочки мы стараемся прятать от глаз пользователей и предоставлять им максимально удобный и простой интерфейс. Чтобы он не чувствовал себя проджект-менеджером из прошлого. Скорее наоборот: ощущал, что инструмент большую часть работы выполняет за него. В нашем случае ещё очень важно делать инструмент настраиваемым, а не сугубо заточенным под бизнес-процессы одного из клиентов. В качестве сравнения, можно сказать, что мы даём пользователю молоток — бери и стучи. Молоток один и тот же, но с его помощью помощью строить абсолютно разные дома.

Сейчас в GanttPRO можно быстро создавать задачи с датами начала и окончания проекта, управлять ими с помощью функции drag & drop, соединять зависимостями и назначать ответственных за их выполнение. Сервис наглядно визуализирует планы и даёт чёткое представление о статусе проекта, а также обеспечивает контроль над задачами, сроками их выполнения и ресурсами.

В проект можно пригласить людей и вместе с ними работать в программе в режиме реального времени. Можно использовать разные виды ресурсов (материальные и нематериальные), распределять их на задачи и других людей. И самое главное, что у нас есть — можно посмотреть загрузку ресурсов (выставить рабочие часы, отпуска и пр.). Это всё автоматизировано и находится на одном листе.

Основные функции GanttPRO:

  • Автопланирование;
  • Мгновенная синхронизация изменений при работе нескольких членов команды;
  • Полная история изменений;
  • Дедлайны;
  • Бейзлайны;
  • Доска задач (диаграмму Ганта можно просмотреть в виде Kanban-доски);
  • Уведомления;
  • Назначение более одного ресурса на задачу;
  • Расчёт стоимости в зависимости от вида ресурсов;
  • Импорт и экспорт.

Наш продукт прост в использовании, как Google Docs, только для диаграмм и планирования. В дальнейшем планируем интеграцию с различными сервисами  (календарями, файлообменниками и пр), чтобы GanttPRO было проще интегрировать в уже существующую рабочую среду клиентов.

Техническая реализация

— GanttPRO написан на JavaScript как на клиенте, так и на серверной стороне. В качестве баз данных используем PostgreSQL.

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

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

Я считаю, что мы можем по праву гордится своей подсистемой сохранения всех изменений в истории проекта. В ней реализована возможностью отката в любую точку во времени и создания базового плана с этой точки. Для этого мы использовали подход, очень схожий с работой систем контроля версия (Git, Subversion и т. п.). Т.е. при каждом изменении мы сохраняем только разницу между состояниями проекта, ресурсов, настроек и т. п. до и после изменения. Поэтому в случае отката можем восстановить весь проект в любой момент.

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

В целом, вся наша система работает отлично, но ещё не идеально. Мы накопили достаточно фидбека от пользователей, чтобы сделать её лучше. 

Не всем нужен Agile и Scrum

Дмитрий не скрывает, что команда работает по гибкой методологии, несмотря на то, что разрабатывает инструмент для традиционного управления проектами.

— Есть отрасли, где гибкая методология очень плохо работает. Agile/Scrum применимы там, где люди хотят работать. В строительстве, например, не хотят. Если строителей попросить «а давайте накидаем несколько этажей в спринт и оценим вместе, через сколько мы их построим», то они будут строить одно здание вечно. И мы так и не узнаем, когда они закончат, и сколько это будет стоить. В таких областях лучше всего работает диаграмма Ганта и waterfall-подход.

GanttPRO отлично вписывается в те области, где есть чёткие дедлайны, ограниченный бюджет и ресурсы. На данный момент основные сферы применения GanttPRO — это строительство, стратегическое планирование в ИT, event-management, маркетинг, консалтинг. Но есть стартапы и студенты, которые планируют дипломные работы. Один наш пользователь, например, при помощи диаграммы Ганта планировал свою свадьбу.

Также часто своим клиентам в аутсорсинге мы отправляем оценку стоимости проекта в виде диаграммы Ганта. Это самый наглядный способ разбить всё на задачи, объяснить, сколько проект потребует ресурсов, когда закончится и сколько будет стоить.

Ежедневно GanttPRO пользуется от 1500 до 1700 пользователей со всего мира, преимущественно в США, странах Европы, Австралии и Канаде. Из Беларуси один платный пользователь есть. Мы очень радовались, когда он появился. Всего у нас сейчас около 350 000 зарегистрированных пользователей.

Такие продукты, как наш, уже есть на рынке, основной — Microsoft Project. Это очень мощный, но при этом перегруженный функционалом инструмент. И текущее поколение относится к нему как к динозавру — чему-то из прошлого. Людям нужен тул для планирования, который соответствует духу времени. И многие переходят к нам как к более простой, но эффективной альтернативе.

Раньше мы делали упор на скорость — нам нужно было догнать конкурентов, которые уже давно на рынке. Сейчас для нас главное — это надёжность, быстродействие. 

По теме
Все материалы по теме
подписка на главные новости 
недели != спам
# ит-новости
# анонсы событий
# вакансии
Обсуждение