Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
nickshtefan
6 лет назад

О разработке Golos.io и делегатстве

Привет, нация!

Я уже представлялся в своем приветственном посте, , но с тех пор много воды утекло. В общем давайте знакомиться еще раз.

LJsHyhI.png

Меня зовут Николай, я криптоанархист, скептик и технократ. Мне 29 лет, и я люблю котиков. В сентябре 2017 года я впервые узнал о проекте golos.io. Скажу честно, для меня это было неким инсайдом, и чем больше я изучал проект, тем больше у меня возникало вопросов. С одной стороны, Голос это проект практически на самом острие технологий — мы (теперь это “мы”, а тогда это были “они”) использовали супер скоростной блокчейн с кучей фичей, о которых подавляющее большинство других блокчейн проектов и мечтать не могли, современные библиотеки для разработки web приложений, с другой стороны, сам ресурс работал, да простят меня мои коллеги, мягко говоря, не идеально, и, судя по коммитам, долгое время проект находился в состоянии стагнации. По стечению обстоятельств, именно в тот момент я искал работу в интересном и перспективном проекте, и…

С ноября 2017 года я присоединился к команде разработки golos.io. С того момента я преследую единственную цель — сделать Голос лучшим блокчейн проектом за все времена. К сожалению, такие перемены не происходят в одночасье, любое улучшение, внешнее или внутренне, это результат длительной и кропотливой работы. Пару месяцев у меня ушло на то, чтобы изучить внутреннюю кухню, погрузиться в кодовую базу, изучить возможности DPOS блокчейнов. Стало понятно, что в первую очередь нам нужно было отстроить процессы разработки, и, начиная с февраля 2018 года, я приступил к этой задаче. Это заняло больше времени чем я предполагал, но, начиная с июня, я могу с уверенностью сказать, что процесс заработал, и уже принес первые плоды.

В этом посте я хочу рассказать как я организовал процесс разработки внутри команды golos.io.

Инструменты
Мы используем приложение zenhub, которое интегрируется в github, и позволяет создавать доски, управлять issues, выставлять estimate поинты, создавать спринты. Этот простой и в тоже время очень мощный инструмент можно установить как дополнение в браузер по данной ссылке.

Организация доски разработки.
В нашей доске разработки имеются следующие столбцы

New Issues
Данный раздел содержит все новые задачи, не прошедшие сортировку.

Icebox
Icebox содержит issues c низкими приоритетом. Issues, которые находятся в Icebox не должны занимать время члена команды. Перемещая задачи в Icebox, мы откладываем решение не приоритетных задач, тем самым позволяя команде сосредоточиться на более приоритетных задачах.

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

Epics
Данный столбец содержит комплексные задачи, которые невозможно решить в рамках одного issue. Также стоит отметить, что это самые приоритетные задачи, об этом мы писали в феврале.

To Do
Список задач, которые необходимо выполнить в рамках текущего спринта.

In Progress
Issues в данном списке должны иметь большое количество подробностей, таких как оценка и требования, поскольку команда перманентно сосредоточена на данных задачах. Данный столбец отвечает на вопрос: «Что вы сейчас делаете?» В идеале каждый член команды должен работать только по одной задаче за раз.

Review/QA
Столбец Review/QA используется для задач, готовых к проверке. Обычно это означает, что код готов к развертыванию или уже находится в среде sandbox.

Done
Если вы спросите трех человек, что означает «Готово», вы можете получить три разных ответа. Вот почему важно иметь дискуссию в команде об определении “Готово”!

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

Разработка происходит итерациями: раз в две недели мы формируем список задач, которые мы планируем реализовать в течение двух недель. Выбранные задачи отправляются в столбец To Do.

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

Review/QA это, пожалуй, один из самых важных этапов работы над задачей, поскольку в этот момент происходят следующие вещи.

Код проходит ревью другим разработчиком, не занимающимся этой задачей, таким образом мы проверяем качество написанного кода. После ревью человеку, занимающемуся данной задачей предоставляется отзыв, по написанному коду, и если код удовлетворяет качеством и функциональностью, то задача назначается на тестирование.
В ходе тестирования мы проверяем, корректно ли работает описанный к реализации функционал, ищем нежелательные сайд-эффекты, проверяем корректность отображения ресурса в различных браузерах и платформах. Если все хорошо, то задача переходит в статус “Done”, если нет, то тестировщик пишет подробный отчет о проведенном тестировании, описывает обнаруженные недочеты и/или ошибки, а задача переходит в статус “To Do”.

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

Ознакомиться со всеми деталями описанного выше процесса можно по ссылке.

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

На мой взгляд, благодаря внедрению нового процесса разработки, мы смогли быстро достичь результата по ключевым задачам. В рамках этого процесса, клиент начал работать быстрее и стабильней — были обновлены важные библиотеки и исправлены различные баги, которые висели долгое время в нашем бэклоге. Был переработан редактор постов и реализовано делегирование СГ прямо из web-клиента golos.io, обновлены «шапка» и «подвал» сайта. А мы продолжаем работать, чтобы сделать клиент лучше и быстрее.

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

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

Голосуйте за мою делегатскую ноду, если вы считаете, что golos.io ускорился в своем развитии за последние полгода. А я, вне зависимости от вашего голоса, направлю все свои силы для улучшения и развития проекта Голос.

Снимок экрана 2018-06-27 в 14.07.06.png

2
8.946 GOLOS
На Golos с September 2017
Комментарии (8)
Сортировать по:
Сначала старые