May 3, 2022
0
Science Stock – LMS made new!
Уникальная LMS для больших и малых предприятий, позволяющая сделать процесс обучения простым, прозрачным и показать его реальное влияние на бизнес.
Создание своего проекта — объемная задача, требующая большого вовлечения. Создавать стартап в разы сложнее, чем работать с готовыми бизнесами заказчиков. Рассказываем, как мы разработали идею своего проекта, создали сервис, и с чем столкнулись в процессе. Погнали!
Платформа для обучения сотрудников
Science Stock — платформа для обучения сотрудников, разработанная командой студии диджитал-продакшена ROKY. Цель платформы — легко построить обучение внутри компаний. Идея создать платформу зародилась весной 2018-го, когда мы в студии работали над проектом онлайн-школы.
Два года идея проекта пылилась на полке. Летом 2020-го мы участвовали в тендере от Tele2 — в компании проходил конкурс на разработку системы обучения сотрудников. Мы вернулись к идее проекта — подготовили презентацию, собрали прототип за неделю. Увы, нам отказали в участии в последний момент — платформа не подходила под ряд критериев.
Было обидно — зато мы получили ценный опыт и демо-версию проекта.
Как мы это сделали
После конкурса Tele2 мы протестировали спрос на идею — создали лендинг, на котором рассказали о платформе и ее преимуществах. Запустили рекламу, получили 10 заявок, и поняли — у идеи есть будущее. Затем мы создали структуру будущего сервиса, и приступили к дизайну — отрисовали более 50 макетов.
Дальше мы приступили к разработке. Расписали задачи и определили срок, в который мы сделаем проект. В качестве технологического стэка для backend выбрали микросервисный framework moleculer на среде node.js + k8s + apache kafka, для frontend — среду vue.js + vuetify.
Микросервисы выбрали для масштабирования — чтобы легко вносить изменения в проект, почти моментально увеличивать мощности, а также для резервированния мощностей.
Микросервисы — это подход к разработке, при котором код разбивается на множество атомарных частей, слабо связанных между собой. Каждая часть отвечает за определенную функцию на сайте.
Александр Горшков
Директор по технологиям
На разработку ушло 3 месяца. Процесс выстроили по методу SCRUM, который является частью методологии Agile. В начале недели менеджер проекта обсуждал с командой планы на неделю, и распределял задачи по недельным спринтам. В конце каждого спринта мы получали часть работающего продукта. На еженедельных встречах мы разбирали ошибки за прошлую неделю. Это помогало верно оценивать время на задачи.
Мы создали систему оплат, и поняли, что в таком виде она не будет работать. Понимая, что нужно создавать систему с нуля, мы обсудили это внутри команды и создали три разных кейса, в итоге придя к лучшему варианту.
Александр Горшков
Директор по технологиям
Близкий контакт внутри команды позволил нам быстро внедрять изменения сразу после их обсуждения. С каждой неделей мы лучше понимали, на что мы способны, точнее определяли цели и задачи, и корректировали процесс разработки. Если разработчик застопорился на одной задаче — мы совместно решали как поступить.
В процессе работы над проектом мы разработали метод ВАН — что значит Внимательность, Аккуратность, Неторопливость.
Андрей Иванников
Frontend разработчик
Метод помог нам четко определять нагрузку, и брать ровно то количество задач за недельный спринт, что мы сможем сделать.
Также нам помог метод оценки сложности задач в виде Стори Поинтов. Например, если задача занимает 11-13 поинтов, то это легкая задача. Задача на 13-34 поинта — средняя задача. Задачи выше 34 — сложные задачи, которые могут занять неделю. Чтобы ускорить процесс, мы декомпозировали сложные задачи на более мелкие.
Архитектура платформы
Архитектура построена на микросервисах, которые взаимодействуют между собой. Небольшое действие, например отправка сообщения, отправляет запрос 3-4 микросервисам, которые его обрабатывают: узнают, кто отправил сообщение, есть ли у него права на это, и кому передать ответ.
При разработке архитектуры опирались на два фактора: простота, и легкость масштабирования. Микросервисы позволяют распределить нагрузку, и избежать «падения» платформы. Главная фишка — простое масштабирование платформы — платформа позволяет быстро вводить новые функции, интегрироваться с другими сервисами.
В процессе разработки мы сделали раздел «Отчеты» — там собирается вся статистика по обучению в сервисе. Протестировав раздел, мы поняли, что в таком виде он нам не подходит. Пришлось переделывать раздел с нуля. Огромный плюс микросервисов в том, что мы смогли переделать раздел в середине разработки, при этом ничего не сломав.
Илья Пухов
Менеджер продукта
База данных на проекте — MongoDB. В начале мы чуть не совершили ошибку, решив использовать базу PostgreSQL — но быстро поняли, что делаем архитектуру монолитной и неповоротливой. Благо, вовремя одумались и начали использовать MongoDB, что позволило использовать гибкое описание документов и избавиться от сильной связанности в данных.
База Mongo рассчитана на то, чтобы хранить данные клиентов в разных форматах. Например, если сотрудник компании прошел курс, то данные о глубине прохождения и результатах тестов будут храниться на платформе. Данные отдельного сотрудника можно сопоставить с бизнес-метриками компании, видеть ясную динамику обучения, и результаты работы сотрудника.
Результаты
На создание сервиса ушло полгода, из которых 3 месяца ушло на разработку, 2 месяца — на дизайн, и 1 месяц — на доработку сервиса перед релизом.
Проект запустили на собственные средства, суммарно потратив 2 млн. рублей. Сейчас мы на этапе переговоров с инвесторами, наша цель — найти партнеров, заинтересованных в развитии платформы в качестве консалтинговой компании, нацеливаясь на рынок Европы и США.
Цель — создать не просто платформу с курсами, а консалтинговую компанию, помогающую компаниям решить проблемы, выстроить процесс обучения, увеличить эффективность сотрудников.
Мы получили ценный опыт в разработке и планировании процесса разработки. ScienceStock — наш первый масштабный собственный проект. Это новый опыт — мы проектировали бизнес-модель, выстраивали бизнес-процессы, рассчитывали экономику проекта. Это помогло нам понять процессы со стороны клиента, и видеть проблемы возникающие по ходу дела. Благодаря проекту мы переросли привычный формат работы заказчик и исполнитель.
- Клиент
ROKY
- Тип работы
Web service
- Направление работы
Web development
- Адрес сайта
- Поделиться