С удивлением следил в последние 2 года за процессами трансформации концепции S#: вначале это была бесплатная простая лицензия с увеличением функций за прохождение обучения. Затем открыли коды и лицензия как таковая потеряла актуальность. Недавно снова закрыли коды, сославшись на 'огромные убытки'. А S#.Studio пререименовали в S#.Designer, сделав обрезание функционала…
При этом непосредственно в развитии функционала и удобства библиотек было сделано весьма немного, walk forward optimization как не было так и нет, торгового исполнения индексных инструментов для pair trading как не было, так и нет.
Собственно сам факт отсутствия значимого вклада пользователей в развитие S# в эпоху 'открытого кода' достаточно плотно обсуждался в дискуссии (http://stocksharp.ru/forum/283/Nashi-niesbyvshiiesia-Open-source-miechty/). Краткий итог печален: пользователи делятся либо на алготрейдеров с идеями но без навыков качественного программирования, либо на программистов без алгоидей. И это без учета массы ламеров и алгодрочеров-неудачников.
Однако по итогам проведенного эксперимента вполне можно предложить новую парадигму развития S# как открытой платформы - S#.PMO
Суть в том, что создается Проектный офис (Project Menegement Office - PMO), в котором активные пользователи принимают участие с целью коллективного развития S# на основе проектного подхода и с учетом их компетенций.
Каждый Проект, запушенный в Офисе, имеет цель создать укальный новый функционал или существенно развить имеющийся.
Основные роли в каждом проекте:
Алго-аналитик (1 место) - отвечает за проработку Технического задания, уточнение ТЗ в процессе выполнения, подготовку Справки пользователя в период выполнения, проверяет набор тест-кейсов на предмет охвата функционала и проводит тестирование результатов выполнения задания.
Разработчик (1/2 места) - отвечает за реализацию в новых библиотеках нового функционала согласно ТЗ, результаты передает Тестировщику.
Тестировщик (1 место) - верифицирует ТЗ на предмет четкости изложения до передачи разработчикам, во время разработки подготавливает тест-кейсы для функционального/регрессионного и интеграционного тестирования, после получения разработки или ее компонентов от Разработчика проводит обозначенное тестирование функционала вместе с Аналитиком.
Спонсор (1-4 места) - место открывается в проектах, в которых требуется приобрести внешние платные компоненты или заказать разработку кода на языке отличном от C#, обеспечивает взнос не менее Х тыс.руб. Для таких проектов на этапе старта планируется Бюджет - общая сумма средств, которую необходимо набрать для успешной реализации проекта в целом.
К каждой роли кроме Спонсора предъявляется минимальный набор требований: завершение курса обучения S# и не менее полугода участия в жизни Форума.
К роли Разработчика доп. требование - заключается в наличии как минимум одной полноценной разработки на основе S#, опубликованной на общем GitHub.
Для большей мотивации восстанавливается подход двух лицензий: бесплатная для проектирования (без возможности торговли на живых коннекторах), платная - с полным функционалом и с ежегодной оплатой лицензии. При этом оставляется возможность получить платную лицензию на 1 год за участие в 1 успешно завершенном проекте S#.PMO.
Практика предоставление платных лицензий просто за обучение прекращается(не возобновляется).
Руководителем Проектного офиса назначается Михаил, или иной участник текущей команды S#. Суть данной роли - верификация уместности запускаемых проектов, аудит фин. расходов для проектов с ненулевым бюджетом, акцепт готовых проектов с присвоением статуса успешно/неуспешно выполнен.
Ведение Планов проектов не предусматривается, т.к. понятно что подобные проекты будут массово включать agile-методы итеративной разработки-тестирования, и жесткий контроль сроков каждой стадии не уместен. Однако при желании команды работать с Планом, План проекта может вестись Алго-аналитиком или участником с иной ролью.
Перед стартом работы и при каждом изменении состава команды, участники собираются для очного общения в кафе/мдк/kfc и т.д. Основная цель - социализация и создание атмосферы доверия.