Пока в мире гремел сериал «Ход королевы», мы пилили сервис, чтобы дети учились шахматам на удобной платформе

в 12:03, , рубрики: mvp, Блог компании Skyeng, игры, логические игры, Разработка веб-сайтов, разработка продукта, удаленная работа, Управление продуктом, Управление проектом, шахматы
Это история 6 шахматнозависимых людей
Это история 6 шахматнозависимых людей

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

В институте шахматы забылись: карьера-учеба, вот это все. А потом я увлекся снова. Стал ходить в шахматный клуб на Полянке. Играл с дедами — и постоянно им проигрывал, так как плохо знал теорию. Стал проходить курсы, изучать дебютную подготовку. Начал кого-то обыгрывать. И это дико мотивировало и драйвило. Настолько, что я решил обучать шахматам.

Поделился с друзьями. И мы договорились, что откроем небольшую оффлайн-школу. Я начал смотреть разные франшизы.

И тут грянул карантин. Офлайна больше не было...

Не желая бросать новую мечту, я бросился изучать, а что есть в онлайне. Заодно решил оценить весь объем услуг онлайн и офлайн (не зря же я продуктовый аналитик). Оказалось, что в конце 2019-го шахматы обогнали по популярности хоккей, а по приросту активной аудитории уступали только футболу! Плюс, их добавили в обязательную программу начальных классов — вместо одного из уроков физкультуры.

К концу 2019-го шахматами, по данным Министерства спорта РФ, занимались уже порядка 900 тысяч человек в стране.
К концу 2019-го шахматами, по данным Министерства спорта РФ, занимались уже порядка 900 тысяч человек в стране.

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

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

Как CTO нашей платформы посоветовал меня нужным людям

Я задумался: попробовать самому или «продать» идею внутри компании? Опыта запуска продукта у меня не было, а потому было много вопросов, ответов на которые я не знал. И это перевесило: в Skyeng уже разработали платформу, отладили бизнес-модель — я понимал, как реализовать задумку с текущими ресурсами компании, но не очень представлял, как сделать все с нуля.

Тогда я пошел писать в Slack руководителям — компания исторически распределенная, так что это считается нормальной практикой. Сделал презентацию на десять слайдов, кидал ее и просил сказать, кто что думает. Конечно, шахматы не сразу приняли на ура — у компании уже планы на рынки побольше: изучение русского, физики и не только.

Исследование сайтов нескольких сотен школ — выжимка из него была в той презентации.
Исследование сайтов нескольких сотен школ — выжимка из него была в той презентации.

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

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

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

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

Чтобы запуститься, нужна доска и обучающий контент. Мы начали с контента

Для создания контента нужны: 

  • иллюстратор, 

  • контент-менеджер, который будет верстать уроки на платформе,

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

Вот так контент-менеджер верстает уроки.
Вот так контент-менеджер верстает уроки.

К концу ноября сформировался костяк этой команды. Благодаря сарафану внутри компании к нам пришел контент-менеджер Степа. Раньше он помогал верстать контент по английскому, но оказался фанатом шахмат и попросился в мой проект. Затем к Степе присоединилась контент-менеджер Оксана. 

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

Затем у нас появилась иллюстратор Лиза — она делает чумовые иллюстрации. И очень быстро.

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

Оставался вопрос сильного методиста. К этому моменту мы поняли, что в шахматах нет какой-то одной общепризнанной методологии или учебника, по которым надо преподавать железно. Есть куча классного материала, и каждый преподает так, как выучил сам.  

Как-то раз мы созвонились с Марией Фоминых — она подтвердила эту гипотезу. И посоветовала просто найти людей, которые добились хороших результатов в работе с детьми со своей методологией. Эту методологию и можно взять за основу.

В итоге я нашел методиста: Марию Лапину (Лысенко)  она пишет свои книги, преподает уже девять лет и ее ребята занимают места на разных турнирах.
В итоге я нашел методиста: Марию Лапину (Лысенко) она пишет свои книги, преподает уже девять лет и ее ребята занимают места на разных турнирах.

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

Так сложилась картинка. У нас будет 4 уровня — от полного новичка до эксперта. И 60 уроков на старте. Преподаватели будут определять знания и пробелы ученика на вводном уроке, а затем подбирать программу из нужных ему занятий. Например, если человек знает базовые вещи, но не знает теорию (как я когда-то), он будет проходить с преподавателем те уроки, которые помогут наверстать упущенное. Если преподавателю не хватит наших материалов, он сможет загрузить на платформу дополнительные картинки или файлы.

С декабря к нам подключилась Лена Вербова — мастер ФИДЕ и участница сборной Узбекистана по шахматам. Она делает контент для уровня «Эксперт».
С декабря к нам подключилась Лена Вербова — мастер ФИДЕ и участница сборной Узбекистана по шахматам. Она делает контент для уровня «Эксперт».

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

Как КМС по шахматам писал нам фронтенд 

У нас есть общие ресурсы разработки на новые предметы: команда проекта «Математика» адаптирует свою платформу для всех новых направлений, и мы ходим к ним. Меня немного смущал момент: быстро ли разработчик, не знакомый с нюансами шахматных партий, разберется в этой области?

Но тут нам снова повезло. В команде разработки был идеальный кандидат. Мы созвонились и начали работу.


Рассказывает Владлен Волков, наш старший фронтенд-разработчик

Будущий фронтендер — справа. Первый тренер — слева.
Будущий фронтендер — справа. Первый тренер — слева.

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

Карьера разработчика в шахматах

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

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

На второй год я проиграл первую свою партию на областном турнире. Шок был уже у меня. А папа такой: «Да успокойся, ничего страшного не произошло». Это был важный момент: так я сам научился принимать поражения. Это важно в шахматах. 

Несколько лет история повторялась: город, область и далее. Лет в 14 в полуфиналах чемпионата России я играл с одним парнем, который занимался, кажется, только шахматами и ничем другим. Это была долгая и мучительная партия. Я понял, что не смогу его переплюнуть. И так в моей жизни появилась гитара.

Позицию разработчика я застолбил. Исходная точка была такой: есть браузерная комната для индивидуальных занятий математикой с доской для рисования графиков и формул. 

Математика для детей появилась у нас осенью 2019-го — так мы перестали быть только «школой английского».
Математика для детей появилась у нас осенью 2019-го — так мы перестали быть только «школой английского».

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

Процесс разработки был скучным как спланировал, так все и прошло.

Моей задачей было написать модуль шахматной доски для комнаты. Я хотел сделать модуль изолированным: на входе получать сущности из основного приложения, но наружу ничего не выпячивать. В своей команде я топлю за TDD. И тут такая удача — описать что-то с нуля. Решил писать через тесты. И еще раз убедился, что это не аффектит производительность и трудозатраты. Так даже легче - не надо ничего в голове держать при планировании архитектуры, плюс оно документируется лучше. 

Модуль получился экспериментальным во многих смыслах. Я смог реализовать несколько оберток для нашего кастомного стейт-менеджера, а заодно подключил нашего QA-лида к написанию юнит-тестов — до этого он писал только end-to-end. Опыт получился позитивным, хотим еще раз попробовать.

Надо было удалить доску математики и вставить шахматную доску. Выпилить понятно. А что вставить?

— Я смотрел готовые библиотеки. Сначала хотел взять ChessboardJS — проверенный инструмент. Но он тащит JQuery: чтобы развернуть доску, нужно брать 300кб всякого ненужного от мамонта. 

Стал искать что-то более независимое и инкапсулированное. И нашел cm-chessboard — она не добавляется в глобальную область видимости, есть импорты-экспорты. То, что нужно. Но был нюанс: нужно было кастомизировать доску, заменить поля на другой цвет и поменять скины фигурок — а делать верстку было лень. И я откладывал :) 

«Влад, может, нужна помощь с этим?» — оказалось, Степа, наш контент-менеджер, начал изучать JS во время карантина. И ему была интересна задачка со стилизацией. 

Так у меня появился джун: я объяснил ему, как работать с монорепой нашего фронтенда — что, как, куда. Скоро стили были в проде.

Было — стало.
Было — стало.

Опыт шахматиста в итоге пригодился?

— Да, был интересный момент — нотации. Мы логируем партию, чтобы откатываться по ней и делать разборы: нужно записать фигуру и клетку, на которую идет фигура. Как записать рокировку? Если бы я не занимался шахматами, я бы подумал: «Нужно просто переставить короля». Правильный ответ: короткая рокировка это 0-0, длинная — 0-0-0.

А что-то свое, кроме TDD, удалось в проект внести?

— У нашей доски два режима: режим игры и режим редактора доски, где преподаватель и ученик могут разбирать что-то вместе. В процессе разработки я переключаюсь между этими режимами и обновляю страницу. Как-то раз поймал себя на мысли, что смотрю на доску и не понимаю, чей ход сейчас. Подумал-подумал и бонусной фичей добавил индикатор хода. Ребята на демо сказали: «Вау, спасибо!».

Плюс мы хотели сделать домашки автоматически проверяемыми, как в других продуктах. От математики в наследство достались домашки, где ответ описывался инпутом. Это не очень удобно. Так что сделали механику, которая позволяет решать задачи прямо на доске: просто двигаешь фигуры, пытаясь решить задачу (например, мат в два хода), и если сделал меньше заданного числа ошибок, то засчитывается успех.


Как проверить, что не фигню делаешь

К середине декабря у нас было 20 уроков и первая версия доски на платформе. Я понимал, что если начну показывать MVP детям, то не получу нужного фидбека: ребенок не обратит внимания на кучу деталей, которые важны для команды продукта.

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

В целом фидбек был положительным.
В целом фидбек был положительным.

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

Первых таких репетиторов мы наши среди тех, кто уже ведет математику в той Skysmart, детской онлайн-школе от Skyeng. В целом, неудивительно — тем более экспериментами доказано, что изучение шахмат влияет на успеваемость по точным предметам (ссылка в конце поста). А дальше включился стандартный флоу подбора преподавателя. Сейчас подбирать их нам помогает Настя, она руководит поиском учителей для всей компании. И так сложилось, что в детстве сама много занималась шахматами, а ее папа преподает игру до сих пор.

Что по итогу-то вышло?

1 февраля шахматы от Skysmart запустились в паблик. Мы реализовали все ключевые фичи MVP, но еще многое впереди. Сейчас можно играть и заниматься с ПК или планшета, а вот с мобилки - только если в браузере. Пока у нас нет турниров — здесь есть масса готовых решений с большими командами разработки, нет смысла гнаться за ними. Наш приоритет — интерактивное обучение. Так что будем добавлять механики в домашки, делать мини-игры и работать над удобством платформы.

Думаю, проще увидеть. Видео без звука, т.к. делалось на лендинг. Кстати, урок веду я, привет!

А из интересных планов — Владлен уже подбирает игровой ИИ, чтобы в будущем на нашей платформе можно было играть против компьютера. И тут ему снова помогает опыт КМС.

Все же, в нашей стране есть отличная школа шахмат. Работая над проектом, я убедился в этом еще раз: в компании даже сформировалось сообщество любителей шахмат и возник канал #chess в Slack. И все мы хотим, чтобы игра с прекрасной философией и историей, снова стала популярной — и доступной для изучения в любых обстоятельствах.

p.s. Небольшая подборка для дальнейшего изучения, если вас заинтересовала тема пользы шахмат, их преподавания школьникам и этого рынка в целом:

  • Статья «Шахматы и мозг» от издания Reminder, которую очень всем рекомендую последнее время — внутри много ссылок на исследования

Автор: Данила Пилин

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js