Исследование · Типовые проблемы команд и способы их решения#
- Статус: исследование закончено 2026-09-17 · выводы —
30-findings.md· метод правился пять раз по ходу, и все правки пришли из исполнения, а не из замысла - Предшествует: прогон E-01, прогон E-02, решение Б5 в плане ревизии E-02
- Решает: каким должен быть набор документов решений — а не «как правильно проектировать»
1. Зачем#
Набор документов решений вырос реактивно. D-01…D-05 пришли из шагов рабочего процесса, D-06 и D-07 — из двух прогонов, где дисквалификатор потребовал документа, которого нет. Так набор и дальше будет расти по одному документу на кейс, и каждый кейс будет давать MAJOR всем остальным.
Исследование заменяет реактивный рост опросом предметной области. Вопрос не «что ещё написать», а: какие проблемы у команд бывают, какие из них общие, и какие из общих требуют решения уровня документа.
Оно же отвечает на вопрос, оставшийся открытым после E-02. В плане ревизии записано: если третий кейс снова даст MAJOR всем документам, форма не сходится. Но у несходимости есть и вторая причина, которую кейсами не отличить: набор может не покрывать поле. Тогда каждый новый кейс будет натыкаться на дыру, и форма тут ни при чём. Реестр проблем различает эти два объяснения.
Что решает исследование напрямую
| Вопрос | Откуда он |
|---|---|
| Каких документов не хватает и в каком порядке их писать | Очередь D-06, D-07 собрана по двум случаям, а не по полю |
| Есть ли документы, не отвечающие ни одной названной проблеме | Никто не проверяет набор в эту сторону |
| Где живёт массовая раздача — отдельное решение или уникальный случай кейса | Развилка Б1, оставлена открытой до исследования |
| Нужна ли форма мастер-решения и как часто встречаются связанные решения | Развилки Б1 и Б3 |
| Поднимать ли третий режим («применим и бесполезен») в мастер-шаблон | Развилка Б4, придержана |
2. Что в scope и что нет#
В scope: проблемы, общие для команд, строящих и развивающих системы, — и известные способы их решения.
Не в scope:
| Что | Почему |
|---|---|
| Проблемы, уникальные для предметной области | Решение зависит от домена; документ решения сюда не дотянется |
| Сравнение конкретных продуктов | Это рыночный слой D-01, он устаревает и живёт в снимках |
| Организационные проблемы вне архитектуры — найм, мотивация, оценка | Другая дисциплина; граница проходит там, где проблема перестаёт менять устройство системы |
| «Как правильно проектировать» | Это памятка, она уже написана |
Признак общей проблемы. Первая редакция требовала трёх разных типов источников. Пилот И0 показал, что это слишком строго: из восьми записей строго проходили две, и не потому, что остальные слабы, а потому, что их никто не измерял. Действующая редакция:
Проблема считается общей, если названа в каноне и имеет хотя бы одно независимое подтверждение — данные, публичный разбор инцидента или наш собственный прогон.
Записи без подтверждения вовсе не выбрасываются, а остаются с явной пометкой: пусть видно, где критерий не сработал. Одного упоминания без формулировки последствия по-прежнему недостаточно.
3. Единица результата — запись о проблеме#
Главное проектное решение самого исследования. Реферат «что пишут про микросервисы» бесполезен; нужны сопоставимые записи.
| Поле | Что в нём | Зачем |
|---|---|---|
| Формулировка | Проблема одним предложением, в терминах последствия, а не технологии | «Каждая задача трогает три сервиса» — проблема. «Микросервисы» — нет |
| Как проявляется | Наблюдаемый симптом | Чтобы узнать её у себя, а не по названию |
| Признак | Что измерить, чтобы отличить её от похожей | Без этого реестр — список ярлыков |
| Требует решения? | Да / нет / это следствие другой проблемы | Половина «проблем» в литературе — симптомы одной |
| Цена изменения × влияние | Клетка матрицы мастер-шаблона для решения, которое проблема требует | Определяет форму: полная, короткая или «не документируем» |
| Частота | Насколько часто встречается, с указанием, откуда это известно | Определяет очередь, а не форму |
| Известные решения | Способы и их условия применимости | Заготовка раздела «из чего выбирают» |
| Зрелость | Устоявшаяся практика · спорная · мода | Отделяет то, что можно класть в умолчание |
| Жанр | Карточка · документ решения · и то и другое | Реестр проблем сам по себе не говорит, что писать. Без этого поля исследование ответит на «какие бывают проблемы», но не на вопрос, ради которого затевалось |
| Чем закрыто у нас | Документ решения, карточка, ничего | Заполняется последним, см. порядок этапов |
Реестр — список блоков, а не таблица. Девять полей в строку нечитаемы уже на третьей записи; проверено на пилоте И0. Форма от этого не меняется, меняется вёрстка.
Код записи — область плюс номер внутри неё: P-DEG-04, P-API-01, P-CHG-02. Сквозной нумерации нет по той же причине, по которой её нет у карточек: реестр пополняется по областям, и новая запись не должна сдвигать соседние. Код выдаётся при создании и не меняется. Первая редакция нумеровала записи сквозняком в каждом файле — и три файла немедленно завели по своему P-01.
Поле «чем закрыто у нас» заполняется по списку карточек блока, а не поиском по терминам. Поиск находит то, что уже названо словами реестра, и молчит о том, что названо чужими: на пилоте И0′ так была объявлена дырой тема, покрытая карточкой полнее, чем её описал реестр. Список показывает, что есть; поиск — что уже знали.
Два уточнения, без которых поле «цена × влияние» превратится в кашу. Цены изменения у проблемы нет — она есть у решения, которое проблема требует; записывать надо именно его. И матрица определяет только форму: частота в неё не входит и живёт отдельной колонкой, иначе частое и дешёвое вытеснит редкое и необратимое.
4. Источники и их иерархия#
Пять типов. Тип важен: признак общности требует совпадения в разных типах, потому что совпадение внутри одного типа — чаще всего пересказ.
| Тип | Что это | Чем ценен | Чем опасен |
|---|---|---|---|
| 1. Канон | Ford & Richards, Newman, Kleppmann, Evans, Nygard, Fowler, Skelton & Pais | Проблемы названы и разобраны | Книга описывает проблемы, которые ей удобно решать |
| 2. Данные отрасли | Отчёты с числами и методикой: DORA, State of DevOps, опросы разработчиков | Частота, а не мнение | Меряют, что умеют мерить |
| 3. Публичные разборы | Постмортемы, инженерные блоги с деталями | Проблемы, которых нет в книгах | Выжившие: пишут те, кто справился |
| 4. Каталоги практик | microservices.io, архитектурные центры облаков, радары технологий | Готовый словарь решений | Каталог решений подсказывает проблему под себя |
| 5. Наш корпус | 151 карточка, 2 прогона, 38 находок | Единственный источник, где проблема прошла до записанного решения | Мы его написали |
Правило допуска источника: у утверждения есть либо данные (выборка и методика), либо имя, отвечающее за него. Пост «10 best practices» без того и другого не источник — он ничего не добавляет к тому, что уже есть в типах 1 и 4.
Канон — не свидетельство, а формулировка#
Тип 1 опаснее остальных именно потому, что выглядит надёжнее. Четыре поправки, обязательные при работе с ним.
| Поправка | Почему |
|---|---|
| Канон даёт формулировку проблемы, а не доказательство её распространённости | «Ford & Richards пишут, что так бывает» — не частота. Частоту берут из типов 2 и 3 или не берут вовсе, и тогда колонка остаётся пустой |
| Проверять независимость: цитирование — это один голос, а не два | Newman ссылается на Эванса, Ford & Richards — на Newman. Три книги, один источник. Признак общности требует разных типов ровно поэтому, но внутри типа 1 совпадение надо проверять отдельно |
| У каждой книги есть тезис, и проблемы подобраны под него | Книга про декомпозицию находит проблемы, которые решаются декомпозицией. Обратные случаи — когда разделять не надо — в ней представлены хуже, и это не злой умысел, а жанр |
| Утверждение имеет возраст | Практика 2015 года могла устареть вместе с инфраструктурой, под которую писалась. Год утверждения записывается рядом с ним, а не подразумевается |
Пятая поправка — уже про тип 2, а не про канон. Опрос, проведённый поставщиком средств решения измеряемой проблемы, допускается при двух условиях: названы выборка и способ набора, и рядом записано, в какую сторону сдвинута выборка. Оговорка едет с цифрой всюду, куда едет цифра. Найдено на этапе И2: опрос про стоимость наблюдаемости, набранный через каналы поставщика средств наблюдаемости, измеряет тех, кто уже вложился, а не отрасль.
Шестая поправка — о соседней популяции. Найдена уже после закрытия исследования, в мини-исследовании М1. Данные, измеренные не на той популяции, о которой идёт речь, допускаются как подтверждение — при условии, что названо, чем популяции различаются и в какую сторону каждое различие смещает вывод. Разбор различий стоит дороже самой цифры и полезнее её: в М1 он показал, что перенос с библиотек на сервисы занижает остроту проблемы в двух отношениях и завышает в одном, а главный вывод от подстановки не зависит вовсе. Оговорка «измерено не на нас» без разбора направления — не оговорка, а отговорка.
Седьмая поправка — каталог одной организации есть один голос, сколько бы изданий он ни имел. Найдена в М2 и распространяет вторую поправку с типа 1 на тип 4. OWASP Top 10 2021 построен на данных свыше полумиллиона приложений; OWASP API Security Top 10 2023 — на согласии участников проекта, потому что открытый сбор данных не дал материала для статистики, о чём авторы пишут прямо. Складывать их как два подтверждения нельзя. Практическое требование: у каталога проверяется раздел о методике, а не только содержание списка — и, если методика говорит «согласие участников», запись идёт в тип 4 и частоту не даёт.
Практический след: у записи о проблеме, опирающейся только на канон, поле «частота» заполняется значением «не измерена», а не оценкой. Пустое поле честнее выдуманного, и именно оно потом заставит искать данные.
5. Порядок этапов#
Остановка и отчёт после каждого.
Сначала два пилота на узких темах#
Метод исследования обкатывается на двух конкретных документах, а не на трёх абстрактных примерах. Пилот — полный цикл в миниатюре: сбор по узкой теме → форма записи → маленький реестр → документ решения из него. На выходе каждый раз два результата: нужный документ и проверенный (или переписанный) метод.
| Пилот | Тема | Ожидаемый объём реестра | Что даёт |
|---|---|---|---|
| И0 | Деградация и поведение при отказе → D-06 |
5–8 проблем | ✅ пройден: 8 проблем, документ написан, метод поправлен в трёх местах — отчёт |
| И0′ | Декомпозиция данных → D-07 |
6–10 проблем | ✅ пройден: 7 проблем, документ написан, отчёт. Правило о критическом отношении к канону решило исход: глава 6 подтвердила шесть записей и добавила одну, а трёх записей в ней нет вовсе |
Профили источников у пилотов противоположны — и это выбрано намеренно, по той же логике, по которой E-02 брался противоположным E-01.
| И0 · Деградация | И0′ · Декомпозиция данных | |
|---|---|---|
| Канон | Есть, но рассыпан по многим авторам | Готовый костяк — Ford, Richards, гл. 6: шесть сил разделения, две интеграции |
| Публичные разборы | Много: отказы разбираются публично и подробно | Мало: развал данных идёт годами и не выглядит инцидентом |
| Данные отрасли | Частично: показатели восстановления и доли неудачных изменений | Почти нет |
| Главный риск | Утонуть в каталоге паттернов устойчивости | Пересказать одну главу одной книги |
И0′ поэтому не просто второй пилот, а стресс-тест правила о критическом отношении к канону: тема, где готовый костяк уже лежит на столе, — худший случай для этого правила и лучшая его проверка.
Затем полный опрос поля#
| Этап | Что делаем | Результат |
|---|---|---|
| И1 | Канон и каталоги практик (типы 1 и 4), по методу, проверенному пилотами | Черновой реестр |
| И2 | Данные отрасли и публичные разборы (типы 2 и 3) — отдельным этапом, потому что проверяемость здесь другая | ✅ пройден: частота заполнена в двух кандидатах из семи; очередь перестроена; добавлена пятая поправка к правилу допуска — про опрос от поставщика |
| И3 | Наш корпус (тип 5) — последним | ✅ пройден: поле «чем закрыто» заполнено по спискам карточек; правило нашло вторую ошибку того же рода; подтверждено в третий раз, что механика покрыта, а решений нет |
| И4 | Сведение. Дедупликация, отделение симптомов от проблем, критерий общности, матрица и частота | ✅ пройден: 30 записей дали 4 документа к написанию, 3 отложены до подтверждения, 1 не порождает документа. Сокращение вдвое сделал критерий общности |
| И5 | Карта покрытия и выводы | ✅ пройден: карта с обратной сверкой и выводы. Два вопроса из пяти остались без ответа — сбор «по дыркам» сломал проверку, и это записано |
Реестры пилотов входят в общий как уже собранные фрагменты — переделывать их не нужно. Правило «наш корпус последним» касается находок прогонов, а не пилотов: пилот собирается по внешним источникам и только потом сверяется с тем, что у нас уже сказано по теме.
Почему наш корпус — последним. У нас уже 38 находок и пять документов; исследование, начатое с них, найдёт ровно их. Собирать надо на чистом листе, а совмещать — в конце, и в обе стороны: не только «какой проблемы у нас нет», но и «какому документу не нашлось проблемы». Вторую сторону обычно не проверяют, и именно она способна сказать неприятное — например, что D-04 отвечает на проблему книги, а не команды.
6. Чем это кончается#
| Артефакт | Что в нём | Когда |
|---|---|---|
research/01-pilot-degradation.md |
Реестр по деградации и отчёт о том, что метод выдержал, а что пришлось переписать | И0 |
decisions/D-06-… |
Документ решения, собранный из этого реестра | И0 |
research/02-pilot-data-decomposition.md |
То же по декомпозиции данных | И0′ |
decisions/D-07-… |
Документ решения, собранный из этого реестра | И0′ |
research/10-problems.md |
Реестр общих проблем по форме раздела 3, 20–30 позиций | И4 |
research/20-coverage.md |
Карта: проблема → чем закрыта у нас → что с этим делать | И5 |
research/30-findings.md |
Выводы, включая ответы на Б1, Б3, Б4 и на вопрос о сходимости | И5 |
Правки в 96-backlog.md |
Очередь документов решений, пересобранная по полю, а не по случаям | И5 |
Реестр не обязан быть полным — он обязан быть пополняемым. Если на очередном прогоне обнаружится проблема, которой в реестре нет, это не провал исследования: заводится мини-исследование по узкой теме — тот же цикл, что у пилотов, но на одну-две проблемы, — и его результат дописывается в 10-problems.md со ссылкой на прогон, который его потребовал. Двадцать-тридцать позиций выбраны как рабочий объём, а не как оценка размера поля.
7. Риски — и что с ними делать#
| Риск | Чем опасен | Мера |
|---|---|---|
| Подтверждение вместо проверки | 38 находок и соблазн искать им опору | Наш корпус — последним этапом; обязательная проверка в обе стороны |
| Реферат вместо реестра | Пересказ книг не решает ни одного вопроса раздела 1 | Форма записи фиксируется на И1 и обкатывается до сбора; запись без поля «признак» не принимается |
| «Best practices» без основания | Мода выглядит как практика | Правило допуска источника: данные или имя |
| Каталог решений подсказывает проблему | Тип 4 устроен от решений | Проблема формулируется в терминах последствия; если сформулировать не удаётся — записи нет |
| Канон принимается за свидетельство | Книга выглядит надёжнее данных, а даёт только формулировку; три книги, цитирующие друг друга, читаются как три подтверждения | Четыре поправки в разделе 4; частота при опоре только на канон — «не измерена», а не оценка |
| Пилот И0′ вырождается в пересказ одной главы | Костяк по декомпозиции данных уже готов у Форда и Ричардса | Реестр собирается до обращения к этой главе; глава входит последней и отмечается как один голос |
| Объём | Реестр на 80 позиций станет ещё одной памяткой | См. развилку И-а |
| Симптомы вместо проблем | «Долгий релиз» — симптом десятка разных причин | Поле «требует решения?» со значением «следствие другой проблемы» и ссылкой |
Развилки — закрыты 2026-09-17#
И-а — 20–30 основных; недостающее добирается мини-исследованием по требованию прогона (раздел 6). И-б — поиск с правилом допуска принят, и канон подлежит той же критике: добавлены четыре поправки в раздел 4. И-в — не «сначала один, потом другой», а два пилота метода:
D-06обкатывает исследование,D-07проверяет его на противоположном профиле источников. Порядок этапов перестроен, см. раздел 5.
И-а. Глубина реестра#
| Вариант | Следствие |
|---|---|
| 20–30 крупных проблем | Набор документов решений всё равно измеряется десятком; реестр остаётся инструментом |
| 60–80 с мелкими | Полнее, но превращается в ещё одну памятку, и карта покрытия перестаёт читаться |
Моя рекомендация: 20–30. Мелкие всегда можно добрать позже под конкретный документ. Принято: 20–30, с мини-исследованием как штатным способом добора.
И-б. Роль веб-поиска и граница проверяемости#
Типы 2 и 3 без поиска не собрать: отчёты с данными и постмортемы живут в сети и обновляются. Типы 1 и 4 — устойчивы и в основном уже есть в 95-sources.md.
| Вариант | Следствие |
|---|---|
| Искать, с правилом допуска из раздела 4 | Частота проблем становится измеренной, а не оценённой. Медленнее |
| Только канон и каталоги | Быстрее, но колонка частоты останется мнением, а именно она задаёт очередь |
Моя рекомендация: искать, но только для типов 2 и 3, и каждое утверждение с числом — со ссылкой на методику. Всё, что не проходит правило допуска, не попадает в реестр даже пометкой. Принято, с поправкой: критическое отношение распространяется и на канон — он даёт формулировку, а не свидетельство. Поправки в разделе 4.
И-в. Что делать с D-06 и D-07 сейчас#
По Б2 решено писать обе, деградацию первой. Исследование это не отменяет, но меняет порядок.
| Вариант | За | Против |
|---|---|---|
D-06 сейчас, D-07 после И6 |
Деградация потребована дисквалификатором дважды и блокирует уже принятые решения — ждать нечего. Декомпозиция данных — ровно та область, где исследование даст больше всего | Набор временно остаётся с известной дырой |
| Обе после исследования | Обе родятся по уточнённому представлению о поле | Два ADR в E-02 остаются принятыми вне метода дольше, чем нужно |
| Обе сейчас | Дыры закрыты | D-07 придётся переписывать после И6 — ровно та ошибка, которой мы избежали в E-01 |
Моя рекомендация: первый вариант.
Принято другое, и оно лучше: оба документа становятся пилотами метода, а не задачами в очереди. D-06 обкатывает исследование на узкой теме — это дешевле и честнее, чем проверять метод на трёх абстрактных примерах; D-07 идёт вторым участником опытов, с противоположным профилем источников. Разница с моей рекомендацией в том, что документы перестают быть целью и становятся одновременно результатом и испытательным стендом — ровно то, чем были E-01 и E-02 для документов решений.