Настало время очередного кейса в нашем блоге. Сегодня вновь про стартап, которому мы в течение продолжительного времени помогали не только кодом, но и консультациями.
OnDoc.me (ООО «МедКарта») — это система персонального здравоохранения, включающая в себя различные сервисы для безопасного хранения персональной медицинской информации, ее комплексного анализа и выявления наилучшего способа укрепить и сохранить свое здоровье.
Задача
- реализация API для мобильного приложения
- админка
- панель оператора
- веб-версия проекта по адресу ondoc.me
- помощь в собеседовании программистов
Задач на старте проекта было много, но продвигались мы постепенно.
Александр, основатель проекта, планировал в первую очередь запустить и развивать приложение для iPad. Поэтому первым этапом работы стала разработка API для приложения. Одновременно с этим создавалась админка и панель оператора в веб-интерфейсе.
После первого релиза приложения руководители проекта осознали потребность в веб-версии, которая давала бы доступ к функциям проекта большему количеству людей. Так появился сайт ondoc.me.
Летом прошлого года было принято решение постепенно набрать свою команду проекта. Поэтому мы помогали Саше собеседовать программистов и активно консультировали.
Организация работы и процесс
- итерации
- регулярные встречи
С самого начала именно на двух перечисленных выше пунктах строилась вся работа. Но интенсивность, продолжительность, места и формат встреч постоянно менялись.
Первые несколько месяцев мы встречались следующим составом: Александр, iOS-разработчик, дизайнер, инвестор и я. Планировали ближайшие работы, обсуждали прогресс, правили приоритеты. Так же происходила приемка работ. Встречи нередко проходили утром в субботу, именно тогда все точно были свободны и доступны.
По итогам встреч я обновлял список задач и транслировал видение заказчика разработчикам. Этапы мы делили по функционалу, а не по времени. К повременной схеме работы с месячными ставками перешли уже ближе к концу сотрудничества.
В процессе разработки веб-версии встречи мы стали проводить более системно. К работе подключился наш первый менеджер, Никита.
Весной 2014 в разработке проекта наступила пауза — шел поиск новых инвестиций. А с лета встречи стали проходить уже в нашем новом офисе. Во встречах более активно стали участвовать непосредственно разработчики.
Обсуждения в основном проходили в Basecamp. После принятия решения о наборе собственной команды Александр решил разделить ведение уже на несколько проектов по разным направлениям разработки и деятельности. Разработчики вели свои задачи сначала на github, потом в Basecamp, пока наконец летом полностью не перешли на Youtrack.
Стоит упомянуть, что на определенном этапе нашими силами параллельно шла работа над двумя проектами Александра. И хотя второй проект на данный момент приостановлен, возможно, мы про него как-нибудь расскажем.
Технологии и реализация
Проект разработан на фреймворке Symfony2 с Doctrine в качестве ORM. База данных — MySQL. Код проекта велся на github. Списком перечислю некоторые детали:
- SonataAdminBundle — для основной админки системы
- FOSRestBundle и NelmioApiDocBundl – REST api
- bootstrap – для верстки панели администратора
- RMSPushNotificationsBundle – отправка push уведомлений на iOS устройства
- плюс ряд стандартных бандлов для работы с пользователями, меню, пагинацией, фикстурами и изображениями
- для автоматизированного тестирования использовался behat с привлечением phpunit
Также в личном кабинете на сайте было много интересных решений по представлению графиков и отображению информации.
Среди технологических решений, конечно, были и сложности. Но в этот раз не буду останавливаться на них отдельно.
Результат и итоги
Осенью прошлого года мы полностью передали проект его собственной команде. В нее по разным причинам перешли в том числе и некоторые наши разработчики.
Для стартапов подобного типа очень сложно определить, когда же он на самом деле готов, ведь идет непрерывная работа по его развитию. Например, за прошедшие с нашего расставания полгода, ребята существенно обновили лицо сайта, добавив гораздо больше информации на стартовые страницы, выпустили новое приложение, добавили интеграцию с одной из частных клиник. Судя по всему, это далеко не все, и они не собираются останавливаться.
Для нас же это был очень интересный проект и полезный опыт. Последнее касается не только процесса разработки, но и нашего участия в развитии проекта до полноценной компании. Мы рады, что на этом пути мы смогли помочь Саше.
Вряд ли вы найдете команду программистов, которая сделает все, чтобы вы избежали ошибок и будет думать о вашем проекте, как о бизнес-продукте. Но мне повезло встретить таких — это Рома и его команда Evercode Lab.
С самого начала совместной работы Рома фактически стал для меня наставником и стимулировал меня задумываться о вещах, которые я в силу отсутствия опыта просто не знал, помогал выбрать оптимальную стратегию развития продукта. И это было невероятным бонусом, который я не мог ожидать от внешней команды.
Правильные вопросы также помогли определить этапность, и это существенно упростило процесс разработки, сделало его прозрачным и понятным.
Ну и конечно сама разработка — парни очень чутко относятся к желаниям заказчика, всегда оперативны и внимательны к обратной связи. Работать вместе было очень комфортно, а вот расставаться не хотелось вовсе.
В результате мы получили готовый продукт в виде сайта и мобильного приложения, которые сейчас активно развиваются, дополняются новыми возможностями, и радуют пользователей.
P.S. Если вам было лень читать весь текст, то прочтите главное – Evercode Lab работает с душой и со максимальным уровнем ответственности за результат.
Александр Константинов, Генеральный директор