6.03. Базы знаний и задачники
Базы знаний
В процессе работы любому работнику может потребоваться помощь. Да, конечно, можно обращаться и «дёргать» знающих, пока те не выгорят и не пошлют куда подальше. И именно для того, чтобы сконцентрировать все нужные знания в одном месте, используется специальный инструмент - база знаний.
★ База знаний — это структурированная коллекция информации, организованная таким образом, чтобы её можно было легко найти, использовать и обновлять. Это обеспечивает хранение и систематизацию знаний. Базы знаний могут относиться к конкретным инструментам - библиотекам, программам, платформам, системам, так и к более мультисферной информации - методологии, регламенты, теория, внутренняя структура и типовые решения задач. Но основное содержание - справочная информация.
★ Какие важнейшие принципы базы знаний?
- Централизация. Информация всегда должна храниться в одном месте, что упростит доступ к ней.
- Структурированность. Данные должны быть организованы по категориям, тегам или другим логическим принципам, что облегчает поиск.
- Доступность. База знаний может быть внутренней (для сотрудников) и публичной (для клиентов).
- Актуальность. База знаний должна регулярно обновляться, чтобы отражать изменения своевременно.
- Поиск и навигация. В базе данных должны использоваться встроенные механизмы поиска, что будет позволять быстро находить нужную информацию.
Так и будет решено множество проблем. Если сотрудник уходит из компании, его знания остаются в базе данных, а не теряются. Новые сотрудники будут быстрее адаптироваться, используя базу знаний как справочник. Именно с этой целью, к примеру, и я создал базу знаний по ГИСОГД и ИСУП, когда работал в структуре оператора этих систем, вложив все свои накопленные знаний и инструкции по работе, чтобы исключить зависимость и обеспечить надёжность работы даже после моего ухода из компании.
База знаний повышает эффективность работы - сотрудники меньше тратят время на поиск решений, так как информация уже систематизирована, а также это позволяет автоматизировать процессы поддержки через самообслуживание, к примеру, при обращении в техническую поддержку, отправлять ссылку на статью, где описывается решение. Помню, я к такому пришёл, когда на первичных стадиях, ещё в самом начале тестирования систем, отправлял однотипные ответы на однотипные вопросы. Тогда появился FAQ (раздел вопросы и ответы), а потом это всё превратилось в инструкции, которые стали основой для базы знаний. Можно избежать такой «эволюции», если изначально строить базу знаний. Клиенты могут самостоятельно находить ответы, что снизит нагрузку на службу поддержки, а единый источник «правды» минимизирует ошибки в коммуникации. Кроме того, база знаний позволяет сохранять решения проблем, лучшие практики и уроки, извлечённые из прошлого опыта.
★ Типы баз знаний:
- внутренние базы знаний (используются сотрудниками компании);
- внешние базы знаний (для клиентов или пользователей);
- технические базы знаний (информация о работе программного обеспечения, API, багах и их исправлениях);
- образовательные базы знаний (для обучения и развития навыков).
Создание базы знаний - многоступенчатый процесс.
Сначала определяются цели - для чего нужна база знаний и кто будет её основными пользователями? Затем выполняется сбор информации - собираются все доступные данные: документы, руководства, ответы на вопросы, решения проблем.
Полученная информация структурируется и организуется в категории, разделы, статьи. Важно предусмотреть удобную навигацию.
После сбора информации нужно выбрать платформу. Существует множество инструментов для создания баз знаний - мы их изучим отдельно. В самой платформе происходит наполнение - создаются статьи, руководства, FAQ. Важно, чтобы информация была понятной и актуальной. Зачастую этим занимаются профессионалы - технические писатели. После первичного заполнения контентом, останется лишь поддержка и обновление - регулярное добавление новых материалов и исправление устаревших данных.
Примеры реальных баз знаний:
- Корпоративные - Microsoft Docs, Atlassian Community;
- Открытые - Wikipedia, Stack Overflow;
- Технические - MDN Web Docs, Kubernetes Documentation.
★ Инструменты.
Создание базы знаний требует выбора подходящего инструмента.
- Confluence - самый популярный инструмент для корпоративных баз знаний. Разработан компанией Atlassian. Он интегрирован с Jira (для управления проектами), имеет удобный интерфейс, поддержку шаблонов и структурированных данных и гибкую настройку прав доступа. Из недостатков - платная подписка.
- MediaWiki - open-source платформа, используемая для создания таких крупных проектов, как Wikipedia. Полностью бесплатная, гибкая, предоставляет мощные возможности, но требует технических навыков (установку на сервер), и интерфейс может показаться устаревшим. Важно отметить, что она больше подойдёт для публичных баз знаний, чем для закрытых.
- Google Docs тоже можно использовать как инструмент для создания текстовых документов, из которых выстроить базу знаний. В рамках Google Workspace он бесплатный, можно легко делиться документами и даже есть совместное редактирование в реальном времени. Из недостатков - нет встроенных механизмов для структурирования данных, больше подойдёт для небольших команд.
- Microsoft Office (SharePoint) - корпоративное решение от Microsoft, которое позволяет создавать базы знаний через SharePoint или OneNote. Здесь есть интеграция с продуктами Microsoft (к примеру Outlook), готовые шаблоны и удобный интерфейс, широкие возможности настройки безопасности и контроля доступа. Но - платная подписка, так как это часть экосистемы Microsoft 365. Для мелких проектов будет избыточным.
- TiddlyWiki - лёгкая, автономная wiki-система, которая работает как один HTML-файл. Не требует установки на сервер (можно локально хранить), но функционал может быть сложным для новичков.
- BookStack - open-source платформа для создания баз знаний, ориентированная на простоту использования. Удобный интерфейс «книга-глава-страница», имеется лёгкая установка и настройка, поддержка Markdown и WYSIWYG редактора. Но возможностей чуть меньше, чем у MediaWiki.
- XWiki - расширяемая wiki-платформа с большим количеством встроенных функций. Множество расширений, встроенная поддержка API, но высокая сложность настроек, что требует технических знаний.
- DokuWiki - лёгкая wiki-система, не требующая базы данных. Простая, бесплатная, производительная. Функционал мал, да и дизайн устаревший, но подойдёт для новичков.
- Wiki.js - современная wiki-платформа, основанная на Node.js. Хороший дизайн, поддержка редакторов, интеграция с GitHub, GitLab и другими системами. Требует установки на сервер.
- Notion - платформа для организации информации и совместной работы. Платная подписка для больших команд, но гибкость и совместное редактирование в реальном времени позволяет создавать много различных инструментов (базы знаний, задачи, заметки).
- Slite ориентирована на команды. Простой, чистый интерфейс, интеграция со Slack, но платная подписка.
- Zendesk Guide - платформа, ориентированная на обслуживание клиентов. Простота использования, интеграция с Zendesk Support, но платная подписка. Больше подойдёт для внешних баз знаний.
- Help Scout Docs - простая платформа для создания баз знаний, ориентированная на поддержку клиентов. Имеется интеграция с Help Scout. Платная подписка.
- Obsidian - локальная система для создания связанных заметок и баз знаний. Работает локально, подойдёт больше для личных проектов или небольших баз знаний.
★ Создание эффективной базы знаний требует тщательного планирования её содержимого и структуры.
Что должно быть в базе знаний?
FAQ (Часто задаваемые вопросы, ЧаВО) - сборник ответов на наиболее распространённые вопросы пользователей. Такой FAQ лучше организовать по категориям (например «Учётная запись», «Настройки», «Интеграции»), и использовать простой язык, избегая технического жаргона.
Пошаговые инструкции - подробные руководства для выполнения конкретных задач. Допустим, «Как создать новую учётную запись?». Это минимизирует ошибки при выполнении действий, позволив работать по «шпаргалке». В такой инструкции важно использовать скриншоты (а можно и анимации, к примеру, GIF) для наглядности, разбивать инструкции на небольшие шаги, и включать ссылки на связанные статьи или ресурсы.
Справочные материалы - детальная информация о продукте, его функциях или возможностях. Сюда относится техническая документация, описание интерфейса, функционала, глоссарий терминов. Это помогает пользователям глубже понять продукт и является основным источником информации для разработчиков и продвинутых пользователей. Здесь используется чёткая структура по разделам, подразделам.
SDK и инструменты разработчика - информация для профессионалов, включая API, SDK, библиотеки с примерами кода. Это позволяет разработчикам эффективнее работать с продуктом. Поэтому сюда добавляется подробная документация, с параметрами, примерами кода, ссылками.
Видеоуроки - материалы в формате видеозаписей, демонстрирующие использование продукта или решение задач. Наглядный формат помогает лучше понять материал, удобен для пользователей, которые предпочитают видео тексту. Но здесь есть «ленивый» подход, когда выкладывается видео семинара, а есть «сложный» подход, который является идеальным - вместо многочасовых записей, видео короткие (5-10 минут), добавляются таймкоды для быстрого перехода к нужной части, и добавляется описание видео.
Список известных проблем - коллекция известных ошибок, багов и их решений. К примеру, если «Ошибка 404 при загрузке файла» - указывается, как исправить. Это поможет пользователям самостоятельно решать проблемы и уменьшит количество повторяющихся обращений в техническую поддержку. Но это показывает все проблемы и недоработки, может сказаться на репутации (если выложить недоработку, прямо будет видно, что вместо исправления проблемы - решение возложили на пользователей). Чтобы сделать более грамотно, нужно указывать статус проблемы («В работе»).
Структура - логическая организация контента для удобства навигации. Тут должна быть иерархичность «Категории - Подкатегории - Статьи», теги и метки по ключевым словам, и навигация (хлебные крошки, меню, фильтры). Чтобы грамотно спроектировать структуру, нужно сначала создать логическую карту сайта перед заполнением контента. В дальнейшем важно использовать шаблоны для статей, чтобы сохранять единообразие. Категории должны быть логически связаны. Разметка должна выделять заголовки (H1, H2, H3) для структурирования текста, а важные моменты выделяются жирным шрифтом или курсивом.
Задачи
★ Задача (Task) — это конкретное действие или набор действий, которые необходимо выполнить для достижения определённой цели. В IT задачи могут быть связаны с разработкой программного обеспечения, тестированием, поддержкой пользователей, администрированием и другими процессами.
★ Из чего состоит задача?
- Название - краткое описание задачи. Например «Исправить баг с авторизацией».
- Описание - подробное объяснение того, что нужно сделать. Пример - «Пользователи не могут войти в систему такую-то из-за того, что после нажатия на кнопку такую-то, выходит ошибка валидации пароля».
- Тип задачи - категория задачи (везде есть свои подходы). Используется для группировки задач.
- Приоритет - уровень важности задачи (низкий, средний, высокий, срочный).
- Ответственный - человек или команда, которая будет выполнять задачу.
- Статус - текущее состояние задачи (как правило - «В работе», «На проверке», «Завершено»).
- Дедлайн - срок выполнения задачи (обычно до указанной даты включительно).
- Зависимости - другие задачи или ресурсы, от которых зависит выполнение текущей задачи.
- Комментарии - дополнительные заметки или обсуждения по задаче.
Задачи должны быть запланированы. Как правило, крупные задачи бывают комплексными и разбиваются на подзадачи, а мелкие задачи — это те, которые выполняются за короткое время.
★ Планирование задач — это процесс определения, какие задачи нужно выполнить, в каком порядке и с какими ресурсами. Обычно они включаю следующие этапы:
- определение целей;
- разбиение целей на задачи;
- оценка трудозатрат;
- установка дедлайнов.
★ Распределение задач — это процесс назначения задач конкретным людям или командам. Грамотное распределение задач включает в себя следующие принципы:
- учёт компетенции (задача должна соответствовать навыкам исполнителя);
- учёт нагрузки (нельзя перегружать одного человека большим количеством задач);
- обеспечение чёткости (однозначное описание и назначение);
- автоматизация (можно настроить автоматическое распределение задач).
★ Отслеживание задач позволяет контролировать прогресс выполнения и своевременно выявлять проблемы. Для отслеживания используют статусы. Статусы отображают текущее состояние - «В работе», «На проверке», «Завершено». Прогресс выполнения задачи представляется в процентах - например, 50% выполнено.
Для анализа прогресса всей команты используются отчёты.
Когда задача завершена, важно убедиться, что она выполнена полностью и соответствует требованиям. Нужно всегда фиксировать результаты выполнения в документации и переводить задачу в соответствующий статус.
Дедлайн — это установленный срок выполнения задачи или проекта. Дедлайны важны - они дисциплинируют, помогая соблюдать график, мотивируют задачу завершить вовремя и помогают также планировать этапы работ. При определении дедлайна важно устанавливать достижимые сроки, учитывать риски и брать запас. К примеру, задача может иметь за собой подводные камни, которые могут усложнить разработку. Но если дедлайн не выполнен, важно проанализировать причины и скорректировать план. Современные инструменты позволяют использовать напоминания о приближающихся дедлайнах.
★ Инструменты.
Таск-трекеры, или трекеры задач — это инструменты для управления задачами, которые помогают командам и индивидуальным пользователям планировать, распределять, отслеживать и завершать задачи. Они играют ключевую роль в организации работы, особенно в IT-проектах.
- Trello - простой и гибкий инструмент для управления задачами на основе канбан-досок. Очень лёгкий в использовании, имеет визуализацию процессов, интеграцию с другими сервисами и есть бесплатная версия. Хорошо подходит для Agile-команд, использующих Kanban.
- Redmine — это open-source система управления проектами с поддержкой задач и трекинга времени. Бесплатный, гибкий, с поддержкой диаграмм и календарей. Имеется интеграция с репозиториями. Требует установки на сервер, а интерфейс может показаться устаревшим.
- YouGile — это современный инструмент для управления задачами и проектами с акцентом на удобство использования. Простой интерфейс, поддержка диаграм, есть даже автоматизация рутинных процессов. Доступен в облаке и локально, но менее известен, чем конкруренты.
- Kaiten — это российский таск-трекер, сочетающий возможности kanban-досок и диаграмм Ганта. Удобный интерфейс, гибридные доски, поддержка временных трекеров, однако платная подписка и меньше интеграций.
- Jira — это мощный инструмент для управления задачами, разработанный компанией Atlassian. Широко используется в IT-проектах. Поддерживает множество Agile-методологий, имеет гибкую настройку полей, статусов, рабочих процессов. Интегрирован с Confluence, Bitbucket и другими инструментами, но имеет высокую стоимость, поэтому больше подойдёт для крупных проектов и команд.
- Notion — это универсальный инструмент для организации информации, который можно использовать как таск-трекер. Гибкий, простой, имеет совместное редактирование в реальном времени и интеграцию с другими сервисами. Есть бесплатная версия.
- Asana — это популярный инструмент для управления задачами и проектами. Простой интерфейс, поддержка списков задач, досок, временных шкал. Платная подписка.
- ClickUp — это универсальная платформа для управления задачами, проектами и временем. Множество интеграций, гибкость, управление временем и бесплатная версия. Для новичков может показаться сложным.
- Monday.com — это визуальный инструмент для управления задачами и проектами. Яркий интерфейс, поддержка таблиц, досок, временных шкал. Но - высокая стоимость.
- Todoist — это простой и минималистичный инструмент для управления задачами. Простой, удобный, бесплатный, но больше подойдёт для индивидуального использования.
Бэклог (backlog) — это динамический список задач, которые необходимо выполнить в рамках проекта. Задачи ранжируются по приоритету, чтобы команда знала, что делать в первую очередь.
Отслеживание ошибок — это процесс документирования, мониторинга и исправления багов в программном обеспечении. Важно после выявления ошибок, описать проблему, шаги воспроизведения и ожидаемое поведение, создать задачу, назначить ответственного и указать статус. Это актуально при тестировании.
Интерфейс типичного задачника (на примере Jira) имеет несколько основных разделов - дашборд (обзор текущих задач, проектов), бэклог (список всех задач), текущий спринт, проблемы (issues) и доски - Kanban или Scrum.
При работе в некоторых задачниках (опять же Jira) в лексикон добавляются и определённые слова. Если слова «таск», «бэклог» и «дедлайн» мы уже рассмотрели, следует запомнить и следующие:
- жира (Jira) - та самая Atlassian Jira, популярный задачник;
- туду (to-do list) - список задач;
- баги (bugs) - ошибки в продукте, требующие исправления;
- эпики (epics) - крупные задачи (те, что разбиваются на подзадачи);
- User Story - описание функцинальности с точки зрения пользователя;
- спринт (sprint) - временной интервал на выполнение задач;
- канбан-доска - визуализация задач в виде столбцов;
- релизы - версии продукта, в которые включаются завершённые задачи.