Как мы Trello повторяли и пилили MVP

Всем привет! Меня зовут Дмитрий, и я расскажу вам, как можно потратить кучу времени на разработку MVP, опытно поэксплуатировать его в крупной телекоммуникационной компании, выложить в общий доступ, и так и не набрав орды пользователей, написать текст на vc :)

Это моя первая в жизни статья, так что не пинайте сильно. Я разработчик ПО, делаю коммерческий софт с 2006 года, и иногда мне нравится пилить пет-проекты 😊

Начало

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

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

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

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

Trello как инструмент для работы с досками уже был хорошо известен, хотя и не всем. Многие там вели или даже до сих пор ведут как свои личные, так и корпоративные дела. В один из дней наши безопасники закрывают доступ к Trello, потому что нерадивые сотрудники заливают на доски эксельки с чувствительными и не очень данными, а так как это внешние сервера, то нефиг ― информационная безопасность. Чувствительные данные храним только внутри защищенного контура (во внутренней сети) и точка!

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

Холодный расчет

План был незамысловатый. Доступ к доскам закрыт, а потребность в них у пользователей есть. Учитывая тренд на импортозамещение и общее усиление напряга с западом, возникло предположение, что запрет всякого облачного софта, куда можно прикреплять файлики с чувствительными данными, коснется не только нашу компанию. Предполагалось, что потребность контролировать свои данные будет расти, и возникнет какой-никакой спрос на on-premise решения подобного рода (вы помните, что про agile тогда не говорил только ленивый). А если продукт будет еще и отечественный… В общем, в мозгу рисовались вереницы людей с чемоданами денег.

Было решено заняться MVP, в котором реализовать основной функционал kanban-досок, и далее допиливать под потребности заказчиков. Если заказчиков не будет, то все равно это прекрасный опыт и прокачка скилов во всех направлениях. В общем, расчет сулил несколько месяцев бессонных ночей!

Desktop application ??!

Почти каждый нормальный человек, почти в любой ситуации скажет, что нужно пилить web-приложение. И почти во всех случаях будет прав. Кроссплатформенность, кроссбраузерность, Mac, Win, Linux ― это нехило расширяет аудиторию. Да и Trello вон же ж в вебе работает, с него же собираемся слизывать функционал. Ноооо….. Мы решили, что пойдем другим путем! Мы будем пилить классическое десктоп-приложение под винду, потому что… а потому что мне так показалось проще! Я трезво и небезосновательно оценил, что веб-реализацию я не потяну, даже очень MVP делаться будет долго и с неизвестным для меня результатом. А так как никто на тот момент не додумался сделать десктоп-приложение для досок, рынок пуст, то мы как кавалеры-сэры-пэры зайдем на свободный рынок и будем снимать сливки лопатой.

Если серьезно, то помимо уверенности в своих силах при разработке именно классического приложения, было еще одно предположение: если инструмент будет использоваться внутри компаний действительно для работы (а не по приказу начальника: «доски завели, и чтобы карточки туда-сюда каждое утро двигались»), то классическое приложение лучше. Вы же не пользуетесь веб-почтой на работе. У вас наверняка стоит Outlook или что-то подобное в классическом исполнении. Традиционное приложение дает больше возможностей. Какие именно возможности нужны, было непонятно, но их наличие― это же плюс! Не минус!

«Дашка»

6 декабря 2016 года. Тогда был сделан первый коммит. При старте разработки проект был назван просто dashboard, а сокращенно и ласково — «Дашка». Фраза «пойду Дашкой позанимаюсь» в доме однозначно стала ассоциироваться с работой до 2‒3 ночи.

Что бы «Дашка» выглядела современно, нужен был дизайн, и я втянул в эту авантюру одного хорошего человека, надеюсь он не сильно меня за это ненавидит 😊

Итак, программист пошел программировать, а дизайнер дизайнить ― все при деле. Для взаимодействия решили использовать разрабатываемый инструмент. Ну а что ж мы, создавая убийцу Trello по-русски, будем использовать жертву для ведения дел и учета багоф? Категорическое «нет»! Поэтому за январские праздники была напилена версия, которая отдаленно напоминала доски с колонками. Для упрошенного деплоя и обновления вместо классических инсталляторов был выбран ClickOnce. Разработка закрутилась.

Ниже покажу, как выглядели самые первые версии. С чего начинали и к чему пришли. Так выглядел стикер (карточка) в самом начале пути:

Первое приближение карточек.
Первое приближение карточек.

А вот так ― списки на доске, которая еще и упала:

Рекурсия в падении :-D
Рекурсия в падении :-D

Это март 2017-го (т. е. 3 месяца разработки). Тестируем загрузку файла, уже виден виджет со сроком, кол-во комментариев и вложений:

Ошибок было много...
Ошибок было много...
Начало реализации вкладок
Начало реализации вкладок

Уже не помню, сколько точно прошло времени, но примерно за 6 месяцев у нас получился крепкий MVP, который выглядит уже как продукт, а не поделка на коленке. Причем наиболее активно разработка велась месяца 3 по вечерам, хотя иногда эти вечера занимали по 6‒8 часов. Вот собственно результат:

AgileForce во всей красе
AgileForce во всей красе

В результате повторили основной функционал Trello и подобных продуктов. Реализовали десктоп-клиента, который цепляется к облаку с авторизацией по email и там позволяет использовать все основные функции. То есть создавать/архивировать доски, объединять их в проекты, приглашать людей для совместной работы по email, на досках создавать/архивировать/менять местами списки, создавать стикеры и перемещать их между списками. Стикеры выделять цветом, прикреплять файлы и обложки, ставить срок исполнения, писать комментарии и т. д. и т. п.

Стикер (карточка) в развернутом виде:

Раскрытая карточка, вложения, комментарии
Раскрытая карточка, вложения, комментарии

Для быстрого доступа к доскам были реализованы ссылки:

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

Пора в поля!

Руководство в какой-то момент прониклось идеями agile, ведь это доски, а доски внешние никак нельзя, ибо безопасность. Показав разработку начальству, мы получили добро на «поэксплуатировать это внутри компании». Авторизация по email/паролю была заменена на сквозную в AD — каждый, кто был залогинен на своем компе, проваливался в систему без дополнительной возни. Красота, да и только.

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

Утренние стендапы коллег проходили возле телевизора с досками AgileForce
Утренние стендапы коллег проходили возле телевизора с досками AgileForce

Постепенно народная молва дошла и до других департаментов, количество пользователей наших импортозамещенных досок увеличивалось. Кто-то вел там отпуска и отгулы, кто-то организовывал свою работу. В основном, конечно, доски создавали для управления командами отделов или проектами. Поэксплуатировав наше чудо-приложение около полугода, пользователи стали входить во вкус, и им захотелось использовать все это дома, а не на работе. И желательно с телефона, лежа на кровати. Это мы, конечно же, поддержать сходу не могли. Бюджета и времени не было, да и «вон сколько в опенсорсе подобного есть»… Наши силы к тому моменту подыстощились, и мы не решились ввязаться в такую авантюру, как разработка веб-версии, ибо знали, сколько это потребует сил и времени.

Был найден подходящий opensource проект на php ― все, кто хотел, переехали на него. Еще около полугода после перехода на web жила виртуалка, на которой крутилась "Дашка", и когда ее наконец отключили, нашлась группа пользователей, которые так и продолжали работать в нашем приложении.

Ну а мы выложили «Дашку» в публичный доступ (работает через интернет), ничего лучше не придумав в качестве названия, чем AgileForce. Зарегали домен agileforce.ru, накидали landing, настроили работу приложения и стали ждать пользователей. Маркетологи и раскрутчики из нас никакие, поэтому ажиотажа не было (хотя, к слову сказать, продукт пробовали некоторые известные и большие компании). Запросов на доработки ни от кого не поступало, люди приходили, заводили доски, двигали карточки, прикрепляли файлы и комментировали, но через какое-то время переставали пользоваться приложением. Скорее всего, отдавали предпочтение продуктам с доступом через веб либо просто отказывались от инструмента типа «доска и карточки».

Я нисколько не жалею потраченного на «Дашку» времени. Часть целей была достигнута: скилы прокачались, опыт разработки проекта таких масштабов приобретен, в большой компании (овер 5000 сотрудников) наш MVP проработал плюс-минус год и собрал положительные отзывы. Естественно, была надежда на коммерциализацию и дальнейшее развитие, но для этого нужны маркетинг, реклама и бюджет, которых пока нет )

Попробовать наши импортозамещённые доски можно и сейчас, инфраструктура в облаке пока продолжает работать и принимать новых пользователей: agileforce.ru

А вы используете доски в своей работе?

Как считаете, имеет смысл заморочиться с продвижением и поиском клиентов?

66
6 комментариев

"Как считаете, имеет смысл заморочиться с продвижением и поиском клиентов?"
Статья интересная, но думаю что вывода на рынок ваша система/продукт не готовы.
На рынке есть более продвинутые и более мощные решения, выше Айдар написал про свой выбор, я например занимаюсь внедрением ПланФикса (она правда не совсем российская, но в РФ работает большая часть пользователей, поэтому этот рынок команда не собирается бросать на произвол судьбы).
Единственный плюс который я увидел это модель on-site, что может быть важно крупным компаниям, которые по соображениям корпоративной безопасности не могут жить в "облаках".

Да, примерно так же понимаем. с тех пор все ускакали далеко вперед по функционалу и нам не догнать "на энтузиазме"

1

Наверно не попался на глаза в тот момент.

Круто, спасибо за то, что поделились историей. Очень полезно кстати чтоб все-таки понимать разницу между проектом и бизнесом.

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