Минский разработчик — о создании системы управления проектами, которой пользуются в Amazon и NASA Статьи редакции

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

Материал издания об информационных технологиях в Беларуси и в мире dev.by.

Минский разработчик Дмитрий Дудин предпочитает создавать свои стартапы внутри белорусской аутсорс-компании, которая охотно поддерживает его идеи. За восемь лет в 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».

GanttPro — онлайн-приложение для планирования и управления проектами на основе динамической диаграммы Ганта. Ежедневно системой управления проектами пользуется до 1700 пользователей со всего мира, преимущественно в США, странах Европы, Австралии и Канаде.

Количество зарегистрированных пользователей уже достигло 350 тысяч. Основные сферы применения GanttPro — строительство, стратегическое планирование в ИT, организация мероприятий, маркетинг, консалтинг.

справка dev.by

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

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

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

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

Просто, как «Google Документы»

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

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

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

Со временем в продукте появилось больше функциональных особенностей, но мы по-прежнему стремимся к тому, чтобы он был простым с точки зрения входа.

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

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

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

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

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

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

  • автопланирование;
  • мгновенная синхронизация изменений при работе нескольких членов команды;
  • полная история изменений;
  • дедлайны;
  • бейзлайны;
  • доска задач (диаграмму Ганта можно просмотреть в виде канбан-доски);
  • уведомления;
  • назначение более одного ресурса на задачу;
  • расчёт стоимости в зависимости от вида ресурсов;
  • импорт и экспорт.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

dev.by — сайт об информационных технологиях в Беларуси и в мире.

Статьи по теме:

  • Топ-50 белорусских ИТ-компаний: EPAM наняла 1600 технарей, Wargaming — 100, быстро рос геймдев.
  • «Брайан, тебя приглашают на Лубянку». Пионер MP3-технологий, американский бизнесмен приехал в Минск «по безвизу» и задержался.
0
12 комментариев
Написать комментарий...

Комментарий удален модератором

Развернуть ветку
Тимка Квасцов

Ну да.

Ответить
Развернуть ветку
Дима Лесин

Божечки, это что? Нормально работающий, юзерфрендли, не допотопный MS Project? Где там моя триальная версия на 2 месяца!?

Ответить
Развернуть ветку
Дима Лесин

Поехали, ёкарный бабай!

Ответить
Развернуть ветку
Nickolai Vasiliev

Менеджер Юлия там та же, что и в kuku.io :)

Ответить
Развернуть ветку
Вася Бездомный

"Agile и Scrum применимы там, где люди хотят работать" - неполный тезис, я бы к нему добавил ещё "там, где люди хотят работать и там, где им не мешают это делать". Одного хотенья мало для ажаля.

Ответить
Развернуть ветку
Nikolay Kenig

Интересно классно, но 15 баксов это 1000₽ в месяц и не известно пойдет ли она для меня :(
Вот этим и не люблю продукты по подписке.

Ответить
Развернуть ветку
Alexander Matveev

Триал?

Ответить
Развернуть ветку
Nikolay Kenig

Нет почему же. Вот вы как подбираете программные продукты. Ставите пробуете удобно не удобно. Вы же не постоянно ею занимаетесь чтобы за 2 недели все попробовать и тп. 2 недели маловато для тестового периода и жаль что нет оффлайн версии. Тк не везде (или запрещено :) ) пользоваться интернетом

Ответить
Развернуть ветку
Dmitry Nedudi Dudin

Всем привет. Для читателей VC.ru обязательно сделаем расширенный триал на 2 мес и скидку. Напишите в чат поддержки, что вы с VC.ru будем очень рады сделать демо или пригласить на вебинар.

Ответить
Развернуть ветку
Anton Vladimirovich

Недурно, 2 месяца=)

Ответить
Развернуть ветку
Анатолий Б.

Аналогично. Ненавижу подписку, проще купить после месяца триала.
У меня этих подписок уже столько было, включая облака, музыки, видео, и т.д., что бюджет напрягся)
Сделал пересмотр, убрал процентов 70 подписных программ.
Из всех подписок самой полезной для себя считаю MS Office.

Ответить
Развернуть ветку
Егор Андреев

Такое ощущение, что это не рассказ разработчика о своих идеях, а реклама Ганттпро.

Ответить
Развернуть ветку
9 комментариев
Раскрывать всегда