среда, 21 апреля 2021 г.

Интеграция Agile в сменный график ниженеров.

Изначально, идеи как внедрить Agile в отдел видеоинженеров не было. Всё что было, это горы не сделанной работы и группа инженеров работающих с графиком 1/3 и одним инженером в смену 2/2, всего 5 инженеров. 

Основная проблема - рутинные и внеочередные работы возникающие в процессе работы (в рабочую смену) выполняются только в пределах одной рабочей смены. Т.е. задачи с длительным сроком решения (более одного двух дней) не выполняются вообще. 

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

Наличие системы Jira в компании никак не решает образующихся задач для отдела видеоинженеров. Основной объём задач возникает спонтанно, так же быстро и устраняются, но не всегда в одну смену. Инженеры не могут ставить сами себе задачи, вести их и закрывать в Jira. Это не функционально в текущих условиях. 

Задачи отдела можно поделить на быстрые и долгие. Быстрые - выполнимые в пределах одной смены, долгие - не выполнимые за одну смену. Долгие задачи не выполняются из-за разных функциональных характеристик инженеров и их разной (спонтанной) загруженности. Такие задачи обычно провальны, передаются из смены в смену с потерей данных о задаче и проделанной работе, этапе, с которого нужно продолжить работу. Проблема была не в сроках выполнения длительных задач, а в выполнении задач в принципе.

Я очень долго не мог решить вопрос, как делегировать одну большую задачу группе инженеров, которые даже не пересекаются друг с другом из-за сменного графика. При попытке делегировать такие задачи невольно вспоминается сценка А. Райкина про пиджак: -"К пуговицам претензий нет". По факту - глухой телефон.

Решение пришло совсем не сразу, а спустя пару месяцев после прохождения курса Agile. Определяющим фактором послужили личные навыки самих инженеров и тип смены (сутки или день). Например, поручив задачу разобраться с программным обеспечением инженеру с большим навыком в софте - больше шансов на успех. Так и инженеру выполняющему роль архивариуса лучше поручить задачи связанные с документами и написанием инструкций по работе.  Таким, образом в одной группе стало возможно выполнение задач делимых на категории: 

  • механика / мелкий ремонт, 
  • склад / обслуживание оборудования, 
  • документы, 
  • программный комплекс, 
  • проектная деятельность - коммуникации.

Основная идея - повышение качества работы и её фактическое выполнение. Здесь на лицо все признаки команды до 8 человек. В общем, все делают одну и ту же работу, и кто-то делает персональные задачи лучше. Что-то отдалённо напоминающее Canban и ещё отдалённее Scrum. Узкопрофильные задачи, требующие времени выполнения больше чем одну или 2 смены, было решено поручать только одному инженеру - специалисту 1 раз в 4 дня. Но с максимальным качеством работы. 

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

Буфер задач | в процессе | регулярные задачи | Подсказки/архив | Готово | Долгий ящик



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

В процессе соответственно задачи над которыми сейчас ведётся работа. Столбец ограничен по количеству задач, со строго присвоенными инженерами/исполнителями. Одну задачу могут выполнять сразу несколько человек, обязательно указывая проведённые работы по задаче, заполняя чек листы и оставляя комментарии внутри карточки с задачей.

Регулярные задачи - задачи выполняемые циклично, такие как проведение закупок в определённый срок, ведение отчётов, проверка/отстройка оборудования и т.п.

Подсказки/архив содержит карточки с ссылками на нормативные документы, карточки с эскизами и зарисовками схем.

Готово - тут все готовые задачи выполнение которых привело к окончательному решению проблемы.

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

Рабочая доска находится в процессе формирования, и ещё не решено окончательно какие столбики мы добавим / уберём, или отправим на новую доску.

В итоге, после введения в работу доски Trello, эффективность отдела инженеров выросла ориентировочно на 75%. Застоявшаяся работа начала делаться, пусть и не каждый день подряд, но выполняется до конца, т.к. делается в основном одним ответственным человеком, и по необходимости для ускорения решения, присоединившимися в помощь коллегами.

Таким образом, если одна задача обновления спец ПО сервера выполняется 4мя инженерами подряд, то качество работы над задачей будет максимальным только у одного специалиста. Предположим, что процент выполнения в графике 1/3 будет таким: 25%, 10%, 10%, 5%, 25%, 10% 10% 5%. Имеется ввиду, что один инженер обладает лучшим навыком решения задачи чем остальные. Итого, задача будет выполнена за 8 дней с относительно приемлемым качеством в лучшем случае. (как показывает практика, на деле задача гибнет на 3-й день. (25%, 10%, 0% 0%, 15%, 0%...))

Если поручить такую задачу только одному человеку, то срок выполнения естественно увеличится до 16 дней (4 смены), т.е в 2 раза, задача будет выполнена максимально качественно. Однако, в этом случае остальные инженеры могут параллельно вести работу над другими задачами, в этом случае при равновесных задачах, процент выполнения задач будет 25% в каждую смену. т.е. 25%, 25%, 25%,25%. В таком случае за 16 дней будет выполнено 4 узких задачи, т.к. каждый инженер максимально качественно выполняет свою  персональную задачу. а это говорит об эффективности в 50% в сравнении с 2мя задачами за 16 дней в случае последовательного делегирования.

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

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

Это что? Agile?

convert colors to midi note for midi controllers

I recently (2 years ago) designed and built a simple MIDI controller for my intercom system using an Arduino Leonardo, USB hub, sound card, ...