IT-инфраструктура штабов Навального и сбор подписей: управление проектом

Cерия публикаций про сбор подписей
1. Введение, сайт «Навальный 20!8», подготовка к сбору
2. Железо и сети, видеонаблюдение
3. Жнец-2018: система для сбора подписей
4. Управление проектом


Это заключительная глава материала про IT-инфраструктуру штабов Навального. Здесь рассказывается про управление проектом и про участников проекта со стороны IT-отдела.

404431116320e389926a82590c63c3af.jpg

Работа над проектом


Подготовка к сбору подписей — долгий, сложный, ресурсоемкий и совершенно незаметный со стороны проект, который не приносит штабу и кандидату никаких «политических очков», а в случае отказа в регистрации оказывается совершенно ненужным. Почему мы решили инвестировать в него такое количество денег, времени и усилий?

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

Одна из основных сложностей этого проекта была связана с декомпозицией запутанного процесса сбора и последующей проверки подписей на ряд небольших последовательных действий. Звучит жутко, и в жизни все еще хуже.  Мы потратили много времени, чтобы расписать, уточнить и оптимизировать первоначальную схему сбора, предложенную юристами. Только хорошее понимание физики процесса позволило нам сформулировать задачи для IT-системы.

c352c8d83adc2267c96a8dacc79ac6dc.jpg

Работа велась практически в автономном и очень мультизадачном режиме, при хроническом отсутствии кандидата и начальника штаба, которых в ходе кампании несколько раз арестовывали. Почти все участники проекта совмещали нагрузку, связанную с ежедневной работой кампании, и работу над системой по сбору подписей. Успеть все в срок нам помог предыдущий опыт и долгосрочное планирование.

Мы сразу знали, что нас ждет, поэтому самые крупные части проекта запланировали заранее. Первый этап подготовки к сбору подписей начался осенью 2016 года с сайта «Навальный 20!8». Ключевым элементом на нем стала форма предварительной регистрации для желающих поставить подпись за выдвижение Навального. Так в момент запуска (13 декабря 2016) мы сразу начали собирать базу и контакты сторонников.

«Для регистрации мне понадобится 300 тысяч подписей, и с сегодняшнего дня мы начинаем собирать суперсистему, в которой эти 300 тысяч человек зарегистрируются, чтобы в час Х мы оформили это уже юридически и собрали подписи если не моментально, то очень быстро», — Алексей Навальный.


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

97f62860fce051d7f4e9cd3573507663.jpg

Финальный этап — разработка системы сбора подписей и Жнеца — начался 27 октября, в этот день прошла первая встреча по проекту. Первый коммит был сделан 16 ноября, последний — 25 декабря. За два месяца работы в режиме nightmare мы собрали рабочую систему для сбора, хранения и работы с подписными листами. Не пытайтесь повторить это дома.

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

Состав команды


Роман Рубанов — заместитель начальника штаба, руководитель IT-направления.
Антон Рубцов — devops, создание отдела поддержки.
Максим Клюев — разработка конфига микротиков.
Владислав Романцов — поддержка пользователей в штабах.
Дмитрий Дорошев — веб-приложение для верификации.
Дмитрий Ларионов — веб-приложение для верификации.
Игорь Петров — разработка и поддержка сайта »20!8».
Григорий Жижилкин — cto.
Александр Алексеев — бэкенд сайта 20!8 и Жнеца.
Олег Петров — верстка, фронтенд.
Михаил Макеев — бэкенд первой версии »20!8», различные общие инструменты.
Илья Бирюков — верстка и скрипт карты.
Юрий Федак — тестирование.
Елена Марус — арт-директор, продакт.
Анастасия Зиновьева — дизайнер.
Любовь Горбоконенко — менеджер сбора подписей.
Анна Додонова — менеджер сайта »20!8».
Руслан Каветский — приложение под iOS.
Дмитрий Бочков — приложение под Android.

И стоящие за нами спецслужбы.

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

edbfc6ea62393739a23be48ae10c7a43.jpg
Общая летучка кампании

Во всей кампании и в сборе подписей задействовано множество людей и отделов. В разное время количество участников проекта только со стороны IT-отдела варьировалось от 5 до 15 человек. Для того чтобы все в любой момент понимали общую картину, мы вели аналоговую доску с карточками ключевых задач. Карточки сгруппированы по типам и связаны между собой. Именно в таком виде мы обсуждали и обновляли задачи во время регулярных статус-встреч. Еще у этой доски был двойник в Trello.

248fc0b75a36d7acdf06eb61955be25f.jpg
Зоркий глаз может разглядеть на этом фото таблицу с десятком диаграмм Ганта, но в силу общей запутанности проекта всем было проще ориентироваться на горящие красным стикеры, а не на Ганта.

Текущие вопросы по проекту между всеми участниками команды обсуждаются в Телеграме, IT-задачи и технические штуки в Slack, документация и макеты хранятся в Google Docs. Список задач фиксируется в Trello. На первых этапах с нами была JIRA, но в рамках этого проекта мы от нее отказались.

Заключение


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

К сожалению, ЦИК не зарегистрировал выдвижение, сбор подписей не начался. Сейчас начинается новый этап жизни штабов. Значительная часть инфраструктуры продолжит работать, но уже с новыми задачами.

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

Всем спасибо за внимание!

© Habrahabr.ru