При написанні моєї я завжди перетворювався на написання двох трьох наборів. Контрольний список, який виконується, з додатком МНОГО ДЛЮШЕ про архітектуру системи, включаючи те, чому все робиться таким, яким вони є, ймовірними точками приходу в Інтернет та абстрактними припущеннями щодо дизайну. Далі йде список можливих проблем та їх вирішення, а потім довший розділ з інформацією про те, як працює система, чому це робиться саме так, та іншою інформацією, корисною для орієнтації людей у правильному напрямку, якщо трапиться щось унікальне.
На моїй останній роботі від нас вимагали написати документ, щоб навіть люди служби підтримки 1-го рівня могли повернути речі. Для цього потрібні контрольні списки, які зазвичай застаріли протягом 3 місяців після написання. Нас настійно закликали писати посібники з усунення несправностей, коли це можливо, але коли дерево непередбачених ситуацій отримує в ньому більше трьох гілок, ви просто не можете написати цей документ, не збираючись абстрактно.
При виході моєї останньої роботі, я повернувся в 100 сторінки «Як зробити свою роботу» керівництво перед від'їздом. У ньому були абстрактні речі, філософія дизайну, а також точки інтеграції. Оскільки я, мабуть, писав про іншого сисадміна, який збирався замінити мене, я спрямував це на когось, хто міг би приймати абстрактні поняття і перетворювати їх на конкретні дії.
Минуло п’ять років, і я вважаю, що моя думка з цього приводу дещо змінилася. Як Документ як посібник, так і документ як контрольний список мають дуже цінні місця в ієрархії документації, і обидва потрібно створити. Хоча вони націлені на дуже різні аудиторії.
Документ як контрольний список
Цільовим ринком такого роду документації є співробітники, які хочуть, як зробити щось. Вони бувають двох видів:
- Співробітники, які просто хочуть знати, як зробити щось, і не встигають переглядати посібник із п’ятнадцяти сторінок і придумувати кроки для себе.
- Процедури, які є досить складними за кроками, але їх потрібно виконувати лише раз у раз.
Нетерпіння - це рушій першого типу. Можливо, ваш колега насправді не хоче знати, чому результат повинен бути прокладений через 90 символів пергель, просто це має бути для закриття квитка. Однозначно включіть заяву на кшталт "Для детального пояснення, чому такий робочий процес виглядає таким чином, перейдіть за цим посиланням" у контрольний список для тих, хто хоче знати, чому.
Другий момент - це процедури, які не виконуються часто, але містять підводні камені. Контрольний список виступає як карта, щоб уникнути певної долі просто крилати його. Якщо контрольний список зберігається в репортажі документації, це заощаджує необхідність пошуку електронної пошти протягом часу, коли старий адміністратор розіслав HOWTO.
На мою думку, хороша контрольна документація включає також розділи про можливі пункти відмов та відповіді на ці збої. Це може зробити документ досить великим і викликати відповіді TL; DR у колег, тому я вважаю, що перетворення режимів відмов та їх відповідей є посиланням із контрольного списку, а не на самій сторінці, створюючи несанкціонований контрольний список. Отримати гіпертекстуальність.
Документ як посібник
Цільовим ринком такого роду документації є люди, які хочуть дізнатися більше про те, як працює система. Документація стилю "робити щось" повинна бути отримана з цієї документації, але частіше я бачу це як доповнення до документації в стилі контрольного списку для резервного копіювання рішень, прийнятих у робочому процесі.
Це документація, де ми включаємо такі жувальні шматочки, як:
- Пояснення, чому це налаштовано таким чином.
- Цей розділ може містити такі нетехнічні питання, як політика щодо того, як все було придбано та встановлено.
- Пояснення загальних режимів відмов та їх реакцій.
- Пояснення будь-яких угод про рівень обслуговування, як письмових, так і фактичних.
- Де-факто: "Якщо цього не вдасться під час тижня фіналу, це проблема, що стосується крапель. Якщо під час літньої перерви, поверніться спати і займайтеся цим вранці".
- Постановка цілей оновлення та рефакторингу.
- Пізніше політика може бути іншою, чому б ми не виправити деякі погані ідеї, запроваджені на початку?
Які всі дуже корисні для отримання всебічного розуміння всієї системи. Вам не потрібно всебічного розуміння для запуску простих завдань з автоматизації людини, це потрібно для того, щоб зрозуміти, чому щось порушилось так, як це було, і мати уявлення, де змусити його не робити цього знову.
Ви також згадали документацію відновлення стихійних лих, яка повинна бути контрольним.
Я розумію, у вас є мої симпатії.
Так, документація щодо ДР повинна бути максимально схожою на контрольний список.
Так, документація на ДР є найбільш стійкою до контрольних списків через те, як багато способів може зламатись.
Якщо ваш контрольний список щодо DR виглядає так:
- Телефонуй Дастін або Карен.
- Поясніть проблему.
- Відійди.
У вас проблема. Це не контрольний список, це визнання, що відновлення цієї системи є настільки складним, що архітектор потребує з'ясування. Іноді це все, що ти можеш зробити, але намагайся уникати цього, якщо це можливо.
В ідеалі документація щодо DR містить контрольні списки процедур для кількох різних речей:
- Процедури трелінгу, щоб з’ясувати, що пішло не так, що допоможе виявити ...
- Процедури відновлення певних випадків відмов. Що підтримується ...
- Сценарії відновлення, написані заздалегідь, допоможуть мінімізувати помилки людини під час відновлення.
- Документація в ручному стилі про випадки відмов, чому вони виникають і що вони означають.
Процедури обрізання - це іноді вся документація на DR, яку ви можете виготовити для деяких систем. Але якщо це означає, що виклик 4 ранку буде більш зрозумілим, і старший інженер, що здійснює відновлення, зможе швидше дістатись до реальної проблеми.
Деякі випадки відмов мають прямі процедури відновлення. Задокументуйте їх. Під час документування їх можна виявити випадки, коли списки команд вводяться в певному порядку, що є чудовим випадком використання сценаріїв; це може перетворити 96-бальну процедуру відновлення в 20-бальну. Ви ніколи не зрозумієте, чи зможете ви щось скриптувати, поки не зіставите дію процедури відновлення за дією.
Документація в ручному стилі для випадків несправностей - це останній задній стоп канави, який слід використовувати, коли немає процедур відновлення або не вдалося відновити процедури відновлення. Він пропонує підказки google, необхідні, щоб знайти когось іншого, у кого була ця проблема, і що вони зробили для її усунення.