Equality

Опубликовано: 19.01.2022 в 20:42

Вступление. 

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

Сейчас, когда в нашей команде аж целых два прекрасно знающих друг-друга человека, в выстраивании подобной иерархии нет необходимости. Но, если мы внезапно (а именно так обычно и происходит) примем в свой состав ещё нескольких человек, могут возникнуть проблемы. Заранее заботясь об этом, мы решили разработать приложение, которое будет выстраивать подобные отношения между всеми участниками команды. И да, как ты уже мог понять из заголовка, мы назвали его Equality.

 

Какие же задачи должно решать наше приложение?

Мы выделили три основных направления:

  1. Обеспечение демократии. То, о чём уже было написано выше: лидер проекта должен выбираться и смещаться в любой момент решением большинства. При этом, необходимо предусмотреть механизмы, защищающие всех членов команды от произвола.
  2. Организация работы. На наш взгляд, польза от программы, просто выдающей статусы пользователям без привязки к конкретной деятельности крайне мала. Мы создадим систему с проектами, где лидера и участники будут выполнять свои функции и задачи.
  3. Сбор статистики и обеспечение прозрачности. Всё вышеперечисленное должно быть максимально понятно и прозрачно, дабы все состоящие в команде могли следить за происходящим. Также мы решили реализовать сбор статистики и просмотр вклада каждого участника в тот или иной проект. 

 

Теперь конкретика.

Как-же будет организована работа в нашем приложении? Начнём, как положено, издалека.

Когда я работал в местной IT-компании, мы использовали вот такую Канбан-доску:

DefaultBoard

Если ты не знаешь, как она работает, сейчас объясню на примере. Представьте, у нас есть:

  • Член команды Иван Даркхолмов - одна штука
  • Глава команды Босс Качалкин - одна штука
  • Очень сильная необходимость создать сайт, продающий кожаные изделия

 

И вот, эти двое собираются вместе и планируют, как они будут разрабатывать этот сайт. 

После продуктивной беседы, они разбивают разработку на следующие этапы:

  • Вёрстка главной страницы
  • Создание базы данных
  • Подключение базы данных

 

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

  • Вёрстка главной страницы - 300 баллов
  • Создание базы данных - 200 баллов
  • Подключение базы данных - 100 баллов

 

Все эти задания помещаются в столбец To Do в виде карточек:

FilledBoard

Наш доблестный Иван берёт задание с вёрсткой на себя, прикрепляя себя к карточке и перемещая её в следующую колонку:

OneItemInProgress

Спустя пару часов, он выполняет своё задание, создав прекрасную страницу. Преисполнившись радости, Ваня переносит карточку с выполненным заданием в колонку On review, тем самым призвав Босса Качалкина (лидера проекта), чтобы тот проверил результат его трудов.

OneItemInReview

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

OneItemInDone

Далее этот цикл повторяется до тех пор, пока все карточки не перейдут из столбца To Do в Done. Обычно, после этого команда собирается ещё раз, чтобы обсудить новую порцию заданий, которая будет вновь занесена в To Do.

 

Как-то так ведётся работа в IT-компаниях. 

В нашем приложении мы решили слегка изменить эту систему, заодно её автоматизировав. Конкретно, мы хотим добавить столбец Proposals (Предложения). 

Давайте посмотрим, как наши герои справятся с теми же задачами в нашей программе.

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

 

Любой из участников может в любой момент прикрепить задание, находящееся в колонке To Do на себя, тем самым перенеся эту карточку в колонку In progress

 

Затем, отметив задание как выполненное, карточка переносится в колонку On review, призывая лидера проекта на проверку задания. Лидер может как принять задание, тем самым переместив его в колонку Done, так и отклонить с комментарием, вновь отправив в колонку In progress.

Колонку On review можно будет отключить в настройках. В таком случае карточка, помеченная как выполненная, будет сразу переносится из In progress в Done.

 

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

 

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


Комментариев не найдено.