Управление знанием в стиле Open Source
Управление знанием
Знание в проектах разработки ПО (в том числе и открытого) очень часто считается вторичным по отношению к самому разрабатываемому ПО. Эта точка зрения очень сильно мешает долгосрочному развитию проектов, особенно в случае территориальной распределённости команды разработчиков.
Управление знаниями — такая же деятельность, как и разработка софта, и к ней применимы многие привычные техники открытых проектов. Проблемы с эффективным управлением знаниями проекта — обычно культурные, а не технические.
Техники открытых проектов
Списки рассылки и IRC
Использование списков рассылки и IRC вместо приватной почты и IM позволяет повысить публичность разработки знаний, получить централизованное место хранения логов общения и уменьшить дублирование информации. Часто по результатам обсуждения в списках рассылки накапливается критическое количество знаний, которое оформляется в виде wiki-страниц.
[Поиск в архивах lists.altlinux.org - один из самых эффективных способов найти решение своей проблемы, относящейся к ALT Linux]
Wiki
Wiki для хранения знаний по сравнению с оффлайновыми средствами позволяют уменьшить фрагментирование документации (особенно - расползание старых версий файлов по сети и почте), а также поощряют использование ссылок вместо всеми проклятого copy-paste.
[Оффлайновая версия документации "как стать членом ALT Linux Team" с устаревшей информацией о создании PGP-ключей находилась в обращении несколько месяцев после смены правил создания ключей. Wiki-страница была обновлена непосредственно в момент смены правил].
Управление общей картиной и небольшими задачами
Так же, как и при разработке ПО, при создании знания необходимо разделять общую картину происходящего (roadmap) и конкретные задачи. Для фиксации задач превосходно работают багтрекеры, а roadmap просто необходимо создавать и поддерживать, чтобы усилия по разработке различной документации не пропадали зря.
[В качестве примера отсутствия общей картины и несогласованности действий можно привести иерархию ALT Linux wiki freesource.info - статус и степень дописанности находящейся в ней информации были совершенно непредсказуемыми]
Спринты
Так же, как и при разработке ПО, скоординированные по времени и задачам спринты (хакатоны) позволяют достичь замечательных результатов за короткий промежуток времени, а также быстро передать информацию между членами команды.
[Например, массовое приведение багтракера в порядок, периодически устраиваемое Мишей Шигориным]
Модульность
Избегайте copy-paste любыми возможными способами! Дублирование информации ведёт к тому, что на её поддержание в актуальном состоянии приходится затрачивать массу усилий. Модульность и использование ссылок так же важны при создании знания, как и при разработке ПО.
[Немало примеров устаревшего и исправленного лишь частично знания можно найти на том же freesource.info]
Core Team
Типично в открытых проектах наблюдается core team - небольшая команда людей, непосредственно определяющих содержимое репозитория проекта (имеющие доступ к центральному репозиторию в централизованных VCS или каким-либо образом влияющие на содержимое "главного" репозитория распределённой VCS).
Аналогичная деятельность в разработке знаний - редактор. Наличие выделенных редакторов, понимающих общую картину развития проекта и согласующих свои действия, аналогично наличию core team, определяющей политику развития софта: результат получается более связным и согласованным.
Ссылки
Эта страница — вольный пересказ статьи Knowledge working open source style Сета Готлиба с упором на и примерами из жизни ALT Linux Team.