Управление знанием в стиле Open Source

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Управление знанием

Знание в проектах разработки ПО (в том числе и открытого) очень часто считается вторичным по отношению к самому разрабатываемому ПО. Эта точка зрения очень сильно мешает долгосрочному развитию проектов, особенно в случае территориальной распределённости команды разработчиков.

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

Техники открытых проектов

Списки рассылки и 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.