Звіт про літнього стажера: забезпечення об’єктивного підходу до управління продуктами

12 листопада 2013 | за

Привіт, я Ренцо Лучіоні, студент старшого курсу Гарвардського університету. Я чудово провів час цього літа як стажера в edX. Я працював над уможливленням і просуванням об’єктивного підходу до управління продуктами. Мій літній проект складався з кількох окремих покращень, які стосувалися LMS і новоствореної команди Analytics. Мій проект стосувався як правильного «процесу», так і виправлення способу LMS показувати учням їхній прогрес. Під «процесом» я маю на увазі: ідентифікацію та перевірку змін, їх впровадження, а потім кількісну оцінку їх впливу. Уможливлення та сприяння цьому «процесу» є парасолькою, яка охоплює роботу, яку я виконував протягом літа.

Ось схема процесу, якого ми намагаємося дотримуватися тут, в edX. Ми починаємо з конкретного визначення проблеми та ефекту, який очікуємо від її вирішення. Ми виявляємо проблеми, які потрібно вирішити, використовуючи зібрані аналітичні дані. Потім ми обдумуємо потенційні рішення. Наступний крок — перевірка. Перш ніж повністю впроваджувати зміни, ми хочемо перевірити їх. Зміни можуть бути мотивовані будь-якою кількістю речей, але ми хочемо переконатися, що запропоновані зміни вирішать проблему. Існує багато способів перевірки. Це може означати внутрішній показ змін кільком людям, запуск групою користувачів, яких ми залучаємо для тестування змін, або проведення розділеного тестування. Якщо ми бачимо, що зміна допомагає, ми її впроваджуємо. Якщо ні, повернемося до першого кроку. Після внесення зміни ми хочемо виміряти її реальний вплив на виробництво, щоб переконатися, що ми отримуємо віддачу, яку очікували від етапу перевірки.

Щоб допомогти з етапами ідентифікації та кількісної оцінки, моя робота зосереджена на аналітиці та якості даних. Segment.io – це служба третьої сторони, яка дозволяє нам надсилати наші аналітичні дані до будь-якої служби аналітики, яку ми хочемо, без необхідності інтеграції з кожною службою окремо. Я інтегрував Segment.io з платформою edX і очистив події, які ми реєструємо. Тепер ми використовуємо Segment.io, щоб відстежувати, що роблять користувачі під час взаємодії з навчальним програмним забезпеченням, пересилаючи цю інформацію Google AnalyticsMixpanel та  Chartbeat.

Щоб покращити етап перевірки нашого процесу, я розробив гнучкий і легкий підхід до розділеного тестування. Спліт-тестування, яке також називають A/B-тестуванням, складається з поділу наших користувачів на групи, контролю того, що ці групи бачать (ми хочемо показати щось інше для кожної групи), а також моніторингу та порівняння поведінки кожного. Ми хотіли, щоб наш підхід до спліт-тестування був гнучким, щоб ми могли застосовувати його на всій платформі edX для змін, починаючи від косметичних змін і закінчуючи абсолютно новими функціями. Структура спліт-тестування, на яку я реалізував, спирається Вафельний, функція перекидання Django. Я вирішив не використовувати одну з кількох фреймворків A/B тестування з відкритим кодом, доступних для Django, тому що більшість з них несумісні з Django 1.4, більше не обслуговуються та або погано задокументовані, або зовсім недокументовані. Більше того, намагаючись абстрагувати процес спліт-тестування, я виявив, що ці фреймворки надто жорсткі для наших типових випадків використання. Більшість розроблено з явною метою відстеження реєстрацій користувачів або покупок. Використання Waffle у поєднанні з Mixpanel є більш гнучким і легким підходом.

Waffle надає три інструменти для керування тим, що бачать користувачі: прапорці, перемикачі та зразки. Мій фреймворк використовує прапорці на основі сеансу Waffle для перемикання функцій у переглядах Django та шаблонах Mako. Прапори добре відповідають вимогам спліт-тестування. Їх можна призначити всім користувачам, групі користувачів або довільному відсотку користувачів. Отримавши відповідні дозволи для моделі «Прапори» в базі даних, прапори можна створювати, перемикати та видаляти за допомогою сайту адміністратора Django без залучення DevOps. Крім того, зміни, внесені до прапорців, набувають чинності негайно, без необхідності вводити будь-який код. Моя структура відстежує, які прапори активні для конкретного користувача, додаючи властивість до викликів API Segment.io, яка містить рядок зі списком активних прапорів; ця конкретна зміна була внесена в segment-io.html. Segment.io направляє цю інформацію до Mixpanel, де ми можемо вивчати дані, що дозволяє нам порівнювати поведінку різних груп користувачів.

Ось приклад процесу в дії. Розмовляючи з групами користувачів edX, ми дізналися, що було велике бажання відображати прогрес у контексті. Історично студентам було важко візуалізувати свій прогрес у курсі. Вони також мали мінімальну допомогу під час навігації курсами. Наразі цільова сторінка програмного забезпечення повідомляє студенту, де він або вона був останній раз, і містить посилання на цей компонент. Однак у курсі «Акордеон» не вказується, що учень закінчив, над чим учень зараз працює або що учень ще не розпочав. Що ще гірше, вкладка прогресу відокремлена від навчального матеріалу, а також є надто багатослівною, тобто сторінка не відразу стає корисною для студента. Студенти не мають можливості надійно виміряти свій прогрес у контексті навчальної програми.

Я спробував вирішити цю проблему, відобразивши бали студентів у прямому ефірі поруч із назвами задач, над якими вони працюють. Щоб внести цю зміну, я змінив capa_module.py та  дисплей.кава. Ми намагаємося залишити спліт-тестування для великих, ризикованих змін, а не для явних перемог, як ця зміна; ми хочемо перевірити на потрібному рівні. Таким чином, перевірка цієї зміни складалася з внутрішнього показу зміни. Запровадження цієї функції тепер супроводжується кількісним визначенням. Ми помітили падіння трафіку від навчального програмного забезпечення до сторінки прогресу на 8%, і ми використовуватимемо ці дані для інформування про майбутні зміни.

Хоча ми лише почали використовувати дані аналітики для прийняття рішень, а ця нова структура для спліт-тестування працює, я впевнений, що ці інструменти дозволять нам зробити кращий вибір. Однією з цілей edX є виявлення того, що допомагає людям навчатися онлайн. Більш кількісний підхід у поєднанні зі спліт-тестуванням допоможе нам досягти цієї мети.

Loading

Почати обговорення о discuss.openedx.org

Час для більшого? Перегляньте статті нижче.

Оголошення представників спільноти Open edX® TOC 2026 року
Розширення можливостей нації: Як Україна масштабувала національну онлайн-школу за допомогою платформи Open edX®
Виступ на конференції Open edX 2026 – Запрошуємо доповідачів!
Як NASA розширила освіту з відкритої науки до 20 000 дослідників за допомогою платформи Open edX
Приєднуйтесь до конференції Open edX 2026!

На конференції Open edX 2026 року будуть представлені інноваційні сценарії використання однієї з найкращих у світі систем керування онлайн-навчанням з відкритим кодом, платформи Open edX, а також відкриються останні досягнення в дизайні навчання, групі курсів і методах роботи та розширення платформи Open edX. , включаючи проривні технології, такі як генеративний ШІ.