Управление проектами по Технологии быстрого результата

Ахитектура и дизайн

В материале последовательно раскрывается понятие архитектуры программного обеспечения, её компонентов и места в составе более широкой информационной системы. Далее рассматриваются особенности платформы «1С:Предприятие» и метода ТБР (технологии быстрого результата): возможность молниеносных изменений, которая одновременно создаёт высокие риски разрушения архитектуры. Логика изложения ведёт от осознания этих угроз к конкретным защитным мерам — подбору типовых решений, привлечению экспертов, прототипированию, регрессионному тестированию и контрольным примерам — и завершается выводом о необходимости смены подхода при глубоких архитектурных правках.

Основные мысли

В результате изучения лекции слушатель будет способен:
1. Сформулировать определение архитектуры программного обеспечения и перечислить её основные элементы.
2. Объяснить взаимосвязь между программной системой и информационной системой в целом.
3. Выделить ключевые особенности платформы 1С, влияющие на архитектуру при использовании ТБР.
4. Проанализировать риски, возникающие при быстрых и частых изменениях в проектах ТБР.
5. Предложить и обосновать комплекс мер по минимизации архитектурных рисков при вынужденной модификации решения.
6. Сравнить уместность технологии быстрого результата и корпоративного внедрения в зависимости от глубины требуемых изменений.
Показывать лекцию целиком
Краткое изложение
Архитектурное проектирование в контексте ТБР

Что такое архитектура программного обеспечения

Архитектура программного обеспечения — это представление системы, которое определяет:
• составляющие её подсистемы и компоненты;
• взаимосвязи между этими элементами;
• правила, регламентирующие эти взаимосвязи.

Наглядным примером представления архитектуры в среде «1С:Предприятие» служит окно конфигуратора, отображающее древовидную структуру решения.

В роли подсистем и компонентов могут выступать как крупные функциональные блоки (подсистема бюджетирования, расчёта себестоимости), так и прикладные объекты — справочники («Номенклатура», «Контрагенты»), документы, отчёты.

Архитектура в масштабе информационной системы

Важно понимать, что программная система — лишь часть информационной системы (ИС). Последняя представляет собой совокупность четырёх элементов:
• программное обеспечение;
• аппаратное обеспечение;
• регламенты обслуживания и эксплуатации;
• обученный персонал.

Следовательно, проектирование архитектуры не может вестись в отрыве от контекста: необходимо заранее учитывать, кто и с каким уровнем квалификации будет эксплуатировать и сопровождать систему.

Особенности платформы 1С и метода ТБР

Платформа «1С:Предприятие» обладает важной чертой: она позволяет с высокой скоростью вносить существенные изменения прямо в работающую систему. Это даёт возможность по ходу проекта реализовывать требования, возникающие из-за подвижек в бизнесе или его окружении. Данное преимущество активно используется в ТБР (технологии быстрого результата), ускоряя выполнение проектов.

Однако эта же гибкость порождает серьёзную дилемму. Базовое правило — архитектуру типового решения не следует изменять без крайней необходимости. Проблема в том, что тщательная проработка архитектуры трудно совместима с непрерывным потоком динамических правок.

Риски бесконтрольных изменений

Лёгкость и кажущаяся простота модификаций несут фундаментальные угрозы. Всего за несколько фаз внедрения система может стать практически непригодной для развития и сопровождения. Случайно «улучшить» архитектуру, как правило, не получается — случайно её ломают.

Основные негативные последствия:
низкая производительность системы;
проблемы развития — невозможность добавлять новую функциональность без каскадных поломок;
проблемы сопровождения — лавинообразный рост трудозатрат на поддержку;
проблемы второго эшелона: снижение безопасности, отказоустойчивости и надёжности.

Даже точечное изменение, затрагивающее доли процента функциональности, но нанесённое без системного анализа, способно фатально нарушить целостность архитектуры.

Если существует потребность в глубинных преобразованиях, классическая последовательность шагов ТБР должна быть дополнена действиями по архитектурному проектированию, верификации на прототипах и проверке нефункциональных требований.

Подход к вынужденному изменению архитектуры

Когда модификации избежать не удаётся, следует руководствоваться иной методологией, отличной от чистого ТБР. Рекомендуется следующая последовательность шагов.

1. Исчерпывающий подбор типового решения. Необходимо качественно собрать все требования и найти отраслевое или специализированное решение, максимально им соответствующее. Это лучший способ избежать вмешательства в архитектуру.
2. Привлечение высококлассных специалистов. Если изменений не избежать, в команде должны быть эксперты, которые одновременно глубоко знают и общую архитектуру, и конкретное типовое решение.
3. Фиксация и пауза. Невозможно качественно менять архитектуру в режиме непрерывного потока правок. Требуется приостановить текущие изменения, зафиксировать содержание проекта, выполнить архитектурные работы и только затем возвращаться к быстрым циклам.
4. Обеспечение целостности через тестирование. Обязательным становится сложное интеграционное тестирование (integration testing) или регрессионное тестирование (regression testing). Оно призвано подтвердить, что новая функциональность заработала, а всё, что работало ранее, не вышло из строя.
5. Прототипирование (prototyping). На основе одного или нескольких прототипов обкатываются варианты архитектуры. Создание нескольких итераций — норма, так как с первой попытки найти оптимальное решение практически невозможно.
6. Контрольные примеры (test cases). До начала изменений формируется представительный набор контрольных примеров. Его прогоняют перед модификацией и сразу после неё, чтобы объективно убедиться в сохранении работоспособности и корректности прежнего функционала.

Игнорирование любого из перечисленных факторов с высокой вероятностью приведёт к деградации и неработоспособности системы.

Итоговая рекомендация

Архитектуру типового решения в рамках ТБР лучше не менять. Если же возникает жёсткая необходимость глубинных архитектурных изменений, выполнять их следует не по технологии быстрого результата, а с использованием, например, технологии корпоративного внедрения, в которой изначально предусмотрены процедуры минимизации архитектурных рисков.

Краткие итоги

Проведённый анализ раскрывает двойственную природу архитектурной гибкости в среде 1С. С одной стороны, возможность ежедневно вносить изменения в работающую систему является конкурентным преимуществом, позволяя проекту идти в ногу с динамикой бизнеса. С другой — эта же способность превращается в генератор накопленных архитектурных ошибок, если не поставить её под осознанный контроль. Главный парадокс, который обнажает рассуждение, состоит в том, что инструмент, созданный для скорости, при неаккуратном обращении неизбежно ведёт к потере темпа и эскалации стоимости сопровождения.

Логическим ядром становится разграничение двух режимов работы: эволюционного (потокового) и преобразующего (архитектурного). Пока изменения носят локальный характер и не затрагивают системообразующие связи, потенциал ТБР раскрывается в полной мере. Однако как только возникает потребность перестроить несущие конструкции решения, прежний подход из преимущества превращается в прямую угрозу. В этот критический момент требуется не просто замедлиться, а сознательно сменить производственную парадигму.

Практическая ценность полученных выводов — в конкретном перечне инструментов, образующих защитный периметр вокруг архитектурной целостности. Тщательный подбор типового решения выступает первой и самой надёжной линией обороны, позволяя вовсе избежать вмешательства. Если этого недостаточно, в дело вступает не просто высокая квалификация исполнителей, а обязательная организационная пауза, в ходе которой создаются прототипы и формализованные контрольные примеры. Такая связка «прототип — регрессионный тест» работает как верификационный фильтр, отделяющий запланированное улучшение от непреднамеренного разрушения.

Итогом становится прагматичное и чёткое правило принятия решений. Там, где скорость и адаптивность являются ключевой ценностью, ТБР остаётся оптимальным выбором. Там, где на кону долгосрочная жизнеспособность системы и стоимость владения, безальтернативным становится переход к методологии корпоративного внедрения. Смешение этих двух подходов без ясного понимания границ их применимости и есть главный источник катастрофических архитектурных дефектов.
Архитектура программного обеспечения (ПО) — это представление системы, задающее её подсистемы и компоненты, связи между ними и правила этих связей. Пример отображения архитектуры в 1С — окно конфигуратора со структурой объектов: подсистемы бюджетирования и расчёта себестоимости, справочники «Номенклатура» и «Контрагенты», документы и отчёты.

Программное решение — лишь часть информационной системы (ИС). ИС, помимо ПО, включает аппаратное обеспечение, регламенты эксплуатации и обученный персонал. Проектируя архитектуру, необходимо учитывать, кто и с какой квалификацией будет обслуживать систему.

Ключевое преимущество платформы «1С:Предприятие» — возможность с высокой скоростью вносить существенные изменения в работающее решение. Это позволяет прямо по ходу проекта реализовывать новые требования, что составляет суть ТБР (технологии быстрого результата). Однако данное свойство порождает фундаментальный риск: лёгкость модификаций ведёт к быстрому накоплению архитектурных ошибок. Всего за несколько фаз система может стать непригодной для дальнейшего развития и сопровождения.

Главное правило — архитектуру типового решения не меняют без крайней необходимости. Случайно улучшить её невозможно, случайно можно только сломать. Последствиями становятся низкая производительность, проблемы развития, сопровождения, а также падение безопасности и отказоустойчивости. Даже небольшое изменение, внесённое без системного анализа, способно фатально нарушить целостность решения.

Если глубинная модификация неизбежна, действовать нужно по особой процедуре, отличной от чистого ТБР.

Подбор типового решения. Исчерпывающий сбор требований и поиск максимально подходящей типовой или отраслевой конфигурации — лучший способ избежать вмешательства.
Экспертная команда. К работам привлекаются только высококлассные специалисты, глубоко знающие и общую архитектуру, и конкретное типовое решение.
Остановка изменений. Качественно перепроектировать архитектуру в потоке непрерывных правок невозможно. Требуется зафиксировать объём проекта, внести изменения и лишь затем возвращаться к быстрым циклам.
Обеспечение целостности. Обязательно проводится интеграционное (integration testing) или регрессионное тестирование (regression testing), подтверждающее, что старый функционал не пострадал.
Прототипирование (prototyping). Создаются прототипы для обкатки архитектурных вариантов. Часто требуется несколько итераций, так как угадать решение с первого раза не удаётся.
Контрольные примеры (test cases). Формируется представительный набор примеров, прогоняется до и после изменений для объективной проверки сохранения работоспособности.

Игнорирование любого из этих факторов ведёт к деградации системы. Поэтому при жёсткой необходимости изменить архитектуру следует применять не ТБР, а технологию корпоративного внедрения, в которой минимизация архитектурных рисков предусмотрена изначально.

Выводы

1. Архитектура ПО задаёт структуру подсистем, компонентов и правила их взаимодействия.
2. Программный продукт — лишь часть информационной системы, включающей также персонал, регламенты и оборудование.
3. Платформа 1С допускает сверхбыстрые изменения, что является основой метода ТБР.
4. Лёгкость внесения правок создаёт иллюзию простоты и провоцирует накопление архитектурного брака.
5. Без крайней необходимости архитектуру типового решения менять не следует.
6. Бесконтрольные быстрые изменения за несколько фаз внедрения способны сделать систему непригодной к развитию.
7. Случайно улучшить архитектуру невозможно — случайно её только разрушают.
8. Глубинные архитектурные изменения требуют полной остановки потока правок и фиксации содержания проекта.
9. К модификации архитектуры должна привлекаться команда экспертов, знающих типовое решение.
10. Обязательным элементом безопасного изменения является прототипирование и регрессионное тестирование.
11. Контрольные примеры служат объективным доказательством сохранения работоспособности системы до и после модификации.
12. При жёсткой необходимости менять архитектуру следует переходить от ТБР к технологии корпоративного внедрения.

Вопросы для самопроверки

1. Из каких элементов состоит любая архитектура программного обеспечения?
2. Почему при проектировании архитектуры недостаточно учитывать только программный код?
3. Какую ключевую особенность платформы 1С активно использует технология быстрого результата?
4. В чём заключается главная опасность «лёгкости» внесения изменений в работающую систему?
5. К каким последствиям приводит разрушение архитектуры в среднесрочной перспективе?
6. Может ли небольшое по объёму изменение нанести серьёзный ущерб архитектуре и почему?
7. Какое самое надёжное действие позволяет минимизировать риск архитектурных ошибок на старте проекта?
8. Какие специалисты должны участвовать в изменении архитектуры типового решения?
9. Почему при глубоких архитектурных правках нельзя продолжать работу в темпе, заданном ТБР?
10. Для чего при изменении архитектуры создаётся прототип и почему одного прототипа часто недостаточно?
11. Какую роль выполняет регрессионное тестирование в контексте изменения архитектуры?
12. Какая технология внедрения лучше подходит для проектов с вынужденными архитектурными доработками?
Вернуться к учебному плану