Эта спонсорская статья была создана нашим партнером по контенту BAW Media . Спасибо за поддержку партнеров, которые делают возможным использование SitePoint.
Здесь, в TMS , мы ежедневно видим перспективные компании с удивительными идеями и огромным потенциалом. К сожалению, они часто зацикливаются на технических деталях, и электронная почта SOS просто продолжает двигаться в нашем направлении.
Тем не менее, это на самом деле хорошая вещь. Если мы сможем помочь им полностью раскрыть свой потенциал и достичь своей цели, это беспроигрышная ситуация.
У некоторых стартапов, которые мы видели, действительно есть идеи, которые могут изменить наш мир к лучшему. Поэтому вместо того, чтобы видеть их борьбу, мы здесь, чтобы помочь им любым возможным способом.
И это подводит нас к общей проблеме, с которой сталкиваются многочисленные стартапы; техническая реализация их SaaS или других веб-приложений. Итак, давайте поговорим немного больше о решении TMS .
Здесь приходит вызов
Одно дело говорить об этом в теории, но на практике вещи часто работают совсем по-другому. Чтобы лучше описать, как именно мы помогаем стартапам справиться с разработкой приложений, давайте взглянем на пример из практики.
Четыре года назад с нами связалась британская компания FinTech, которая пришла к нам с прекрасной идеей, которая включала в себя очень сложную разработку веб-приложений.
Мы знали, что это будет сложный проект, от индивидуального проектирования до нескольких пользовательских ролей и сложных пользовательских потоков.
Кроме того, они нуждались в постоянном обслуживании и поддержке, поскольку в прошлом у них уже был неутешительный опыт. Им пришлось отказаться от нескольких незаконченных приложений, которые просто не соответствовали их стандартам, и в итоге они потеряли много денег.
Решение TMS
Чтобы начать все с начала, нам нужно было понять, что пошло не так с их проектом, прежде чем они решили связаться с нами.
Мы внимательно выслушали то, что они сказали, чтобы выявить проблемы, которые были основной причиной проблем, с которыми они сталкивались в прошлом. Похоже, что предыдущие подрядчики пропустили много основных шагов и пошли прямо к разработке без надлежащего планирования, разработки и оценки процессов.
Это звучало как хорошее предложение; низкая почасовая ставка и меньше рабочих часов. К сожалению, оказалось, что запуск FinTech намного дороже в будущем.
Мы объяснили, что выбрали бы совершенно другой подход; систематизированный, пошаговый процесс, при котором каждый разработчик сосредотачивается на своей части, хорошо понимая всю картину, вместо того, чтобы работать над несколькими компонентами проекта одновременно и не чувствовать причастности к поставке.
Так как у нас был большой опыт в создании приложений, особенно с приложениями, которые мы создали для нашей собственной компании (в основном SaaS), мы были достаточно уверены в наших возможностях по предоставлению наилучшего продукта.
Для нас этот проект казался захватывающим испытанием, но он все еще находился на нашей аллее.
Решение проблем
Мы делали это много раз раньше, но суть в том, что каждое приложение уникально.
Благодаря этому, мы были новичками в сфере привлечения капитала, мы совсем не были знакомы с классификациями FCA и правовыми нормами и т. Д.
Дополнительной проблемой было попытка распутать работу предыдущей команды разработчиков. Нас предупредили о запутанном UX и ошибках, которые могут появиться в худшие моменты, особенно на демоверсиях.
Таким образом, нашим первым шагом было создание надлежащей команды во главе с техническим руководителем и владельцем продукта. Это позволило бы нам создать идеальную структуру команды, хорошую архитектуру проекта и подходящую стратегию реализации проекта.
Формирование надежной команды изначально занимает больше времени, чем просто привлечение группы случайных разработчиков — но это всегда окупается! Мало того, что производительность и качество лучше, но это также приводит к снижению затрат в течение 12-18 месяцев.
С каждым проектом команда формируется по-разному в соответствии с конкретными потребностями и требованиями проекта. Иногда требуется только менеджер проекта, инженер по обеспечению качества и 2 промежуточных разработчика с полным стеком. Иногда нам нужны дополнительные дизайнеры UI / UX, инженеры по безопасности, внешние интерфейсы и т. Д.
Уникальное решение: внедрение подхода полного жизненного цикла приложения
Как только команда была сформирована, мы были готовы начать с нашего собственного индивидуального подхода — подхода Full-App-Lifecycle .
Он основан на простом факте:
Ошибок намного легче избежать, если команда разработчиков понимает общую картину приложения, а не просто сосредотачивается на небольших задачах. От начального шага до финального раунда обратной связи важно начинать каждый проект с основной оценки и надлежащего анализа.
Мы всегда общаемся с командой маркетинга и развития бизнеса и сначала получаем ответы на основные вопросы: какую проблему мы решаем с помощью этого продукта? Кто целевые клиенты? Кто такие конкуренты? С какими рисками мы сталкиваемся? Каковы бюджет и сроки?
Все эти и другие вопросы должны быть рассмотрены в хорошем анализе вместе с сеансами Impact Mapping и Story Mapping. На этом этапе мы можем предложить лучшую стратегию развития и план развертывания продукта.
Нам нужно сохранять гибкость на протяжении всего процесса, чтобы адаптироваться к изменениям, но мы всегда начинаем с четкого представления о структуре команды, архитектуре программного обеспечения, этапах проекта, приоритетах функций и других небольших деталях, которые мы учитываем.
«TMS хорошо работал с нашей командой и действовал от имени нашего бизнеса в различных ситуациях. Это помогло нам создать команду мирового уровня и расти вместе на международном уровне ».
Разработка приложений FinTech
Лучший способ начать сотрудничество — установить доверие друг к другу. Со стартапом FinTech мы знали, что потребуется некоторое время, чтобы завоевать их доверие после предыдущего опыта.
Они согласились с нашим подходом, и мы решили начать с двух разработчиков, работающих над их проектом в сотрудничестве с менеджером проекта, предоставленным стартапом FinTech. Как только мы приступили к хорошему началу, мы добавили других ключевых участников, чтобы сделать прототип в сжатые сроки.
У нас был прототип на основе WordPress, в котором использовались различные плагины для управления базами данных с обширными настройками PHP, которые были готовы показать их клиентам менее чем за 3 месяца. К этому моменту мы были готовы приступить к созданию полнофункционального приложения с использованием инфраструктуры MVC на внутреннем интерфейсе (Symfony, DoctrineORM) и AngularJS на внешнем интерфейсе.
Мы постепенно добавили больше членов команды, включая инженеров QA и QA Automation, разработчиков переднего плана, разработчиков полного стека с разным стажем работы и многое другое. Затем мы разделили команду на более мелкие подгруппы, в каждой из которых был свой руководитель проекта.
Приложение росло вместе с нашей командой, и мы знали, что на правильном пути. Текущая версия теперь использует Symfony 4 на сервере для ядра API с Doctrine ORM для работы с базой данных MySQL. Некоторые службы работают на Node для использования веб-сокетов, Vue.js на внешнем интерфейсе в качестве пользовательского интерфейса веб-приложения, нативных мобильных приложений для Android и iOS и RabbitMQ в качестве системы очереди сообщений. Redis и Varnish используются для кэширования, инфраструктура отработки отказа, системы резервного копирования и мониторинга основаны на сервисах Amazon AWS.
Мы участвовали в общей разработке продукта, и наши клиенты знают, что они могут рассчитывать на нашу полную поддержку даже сегодня.
Вот некоторые из наиболее важных результатов, которые мы принесли нашему клиенту:
- После нескольких месяцев работы с нами они полностью освободили свое время, чтобы заняться масштабированием своего бизнеса и только присоединились к нам для обзоров Agile sprint.
- География использования расширилась от Великобритании до остальной части Европы, в то время как другие рынки находятся «в списке ожидания».
- Диапазон клиентов вырос от небольших стартапов, ищущих небольшие инвестиции, до крупных компаний, которым нужны серьезные инвестиционные сделки.
- Зрелый продукт сумел привлечь несколько миллионов долларов инвестиций.
С нашей стороны, команда разработчиков продукта, посвященная этому проекту, выросла с 2 до 25 человек и продолжает расти.
Почему наш подход сработал
Наш подход Full-App-Lifecycle зарекомендовал себя довольно успешно, и основными причинами этого являются тщательное планирование и управление. Они были реализованы в каждом нашем шаге на протяжении всего процесса.
Когда команда настроена в соответствии с конкретным продуктом и каждый член команды работает над своей конкретной задачей, все они в конечном итоге видят продукт как свой собственный. Это не только помогает повысить производительность и качество, но также переключает внимание сотрудников с платы на сам продукт.
В дополнение к этому, интеграция с командой и отраслью клиента, постоянный анализ и углубленное планирование также помогают повысить качество и скорость доставки.
Важно добавить, что нашей команде всегда предлагается опробовать все новые технологии и следовать последним тенденциям развития, участвовать в конференциях и идти в ногу с самыми высокими стандартами отрасли.
Успех, которого мы достигли с проектом FinTech, — не разовая история успеха, а пример, который показывает, как именно работает наш подход.
Мы стремимся к долгосрочному партнерству, а не к быстрому включению и выключению проектов, и мы рады присоединиться и на более поздних этапах. Для нас важно создать команды, посвященные продукту, и развиваться вместе с ним с течением времени.
Вывод
Если вы признали любую из упомянутых проблем своей собственной, включая борьбу за поиск надежной компании-разработчика, не стесняйтесь обращаться к нам, и мы будем рады помочь вам найти правильное решение.
У нас большой опыт в этой области, что легко подтверждается успешными проектами, которые мы до сих пор успешно выполняли, 20 000+ платящих клиентов по нашим собственным разработанным продуктам, несколько миллионов конечных пользователей и среднегодовой темп роста 50 % с 2014 года.
Вот некоторые из технологий, которые мы использовали в разных частях проекта: PHP, платформа Symfony, JS / ECMA6, AngularJS, React, Vue.js, MySQL, Doctrine ORM, Redis, Varnish, Swift, Java, Node.js, SASS / LESS, PHPUnit, PHPSpec.
Помимо использования этих технологий, мы также применили следующие методологии: Agile SCRUM, Разработка на основе тестирования (TDD) и Разработка на основе поведения (BDD), Разработка на основе домена (DDD).