Браунфилдская разработка - это термин, обычно используемый в индустрии информационных технологий для описания проблемных пространств, требующих разработки и развертывания нового программное обеспечение системы в непосредственном присутствии существующих (устаревших) программных приложений / систем. Это означает, что любая новая архитектура программного обеспечения должна учитывать и сосуществовать с действующим программным обеспечением, уже in situ. В современном гражданском строительстве, Brownfield land означает места, где, возможно, потребуется спроектировать и возвести новые здания с учетом других структур и услуг, уже имеющихся.
Браунфилдская разработка добавляет ряд улучшений к традиционным методам разработки программного обеспечения. Они традиционно предполагают использование целевой среды «чистый лист бумаги» или «зеленая зона » на всех этапах проектирования и реализации разработки программного обеспечения. Браунфилд расширяет такие традиции, настаивая на том, чтобы контекст (местный ландшафт) создаваемой системы учитывался при любых разработках. Это требует детального знания систем, сервисов и данных, находящихся в непосредственной близости от строящегося решения.
Надежная реорганизация существующей бизнес-среды и ИТ-среды в современные конкурентоспособные интегрированные архитектуры - задача нетривиальная. Сложность бизнес-среды и ИТ-среды практически бесконтрольно накапливалась в течение сорока лет, делая изменения все более дорогими. Это происходит потому, что:
В результате увеличивается доля усилий по разработке новые бизнес-возможности тратятся на понимание и интеграцию с существующей сложной системой и бизнес-ландшафтом, а не на создание ценности. Было замечено, что до 75% общих усилий по проекту в настоящее время тратится на интеграцию и миграцию программного обеспечения, а не на новые функции.
ИТ-отрасль в целом имеет низкий уровень успешности внедрения таких крупномасштабных изменений для своих клиентов. Опрос CHAOS, проведенный Standish Group, выявил общее улучшение успешности реализации ИТ-проектов за последние двадцать лет, но даже в 2006 году крупные ИТ-проекты по-прежнему чаще терпели неудачу, чем преуспевали. Инженерные изменения и в такой среде имеют много параллелей с проблемами строительной индустрии при перепланировке промышленных или загрязненных территорий. Они полны опасностей, неожиданных сложностей и, как правило, рискованно и дорого перестраивать. Накопленная сложность ИТ-сред сделала их сайтами «Браунфилд».
Причиной крупных сбоев проекта является не сложность новой функции или какие-либо новые характеристики системы - это наше понимание и информирование об общих требованиях (как указано в Месяц мифического человека ). Чтобы добиться успеха, требования должны включать точное и всестороннее понимание ограничений существующего бизнеса и ИТ. Текущие инструменты и методы «Greenfield » используют ранние, неформальные и часто неточные абстракции, которые по существу игнорируют такую сложность. Ранние, плохо информированные абстракции обычно ошибочны и часто обнаруживаются на поздних этапах строительства, что приводит к задержкам, дорогостоящим переделкам и даже неудачным разработкам. Подход, ориентированный на Браунфилд, охватывает существующую сложность и используется для надежного ускорения общего процесса разработки решения, включая возможность поэтапных, постепенных изменений везде, где это возможно.
Brownfield использует стандартный подход OMG, основанный на модели / шаблонах, и переворачивает его с ног на голову. Вместо того, чтобы использовать традиционный подход, начинающийся с концептуальной модели и переходящий к платформенно-зависимым моделям и генерации кода, Браунфилд начинает с сбора кода и других существующих артефактов и использует шаблоны для формальной абстракции вверх к уровню архитектуры и бизнеса.
Краткое описание процесса разработки BrownfieldСтандартные методы Greenfield затем используются в комбинации для определения предпочтительной бизнес-цели. Этот метод «встречи посередине» знаком по другим методам разработки, но широкое использование формальной абстракции и использование шаблонов как для обнаружения, так и для генерации является новым.
Базовая концептуальная архитектура всех инструментов Brownfield известна как VITA. VITA означает виды, инвентаризацию, преобразование и артефакты. В архитектуре VITA определение проблемы целевого пространства может поддерживаться как отдельные (хотя и связанные) собственные «заголовки» знаний, известные как представления. Основное преимущество представления в том, что оно может быть основано практически на любом формальном инструменте. Браунфилд не навязывает ни одного инструмента или языка проблемному пространству - основной принцип состоит в том, что заголовки продолжают поддерживаться в их исходных формах и инструментах.
Собственные представления затем объединяются и связываются в единый инвентарь. Затем инвентарь используется с рядом возможностей преобразования для создания артефактов, необходимых для решения.
В настоящее время представления можно импортировать из множества источников, включая источники UML, XML, DDL, электронные таблицы и т. д. Инструмент Analysis and Renovation Catalyst от IBM расширил эту возможность за счет использования формальных грамматик и абстрактных синтаксических деревьев, позволяющих анализировать и размечать практически любую программу в Вид для включения в Инвентарь.
Быстрая циклическая природа цикла обнаружения, перепроектирования, генерации и тестирования, используемого в этом подходе, означает, что решения могут быть итеративно уточнены с точки зрения их логических и физических определений по мере того, как становятся известны все больше ограничений и доработана архитектура решения.
Итеративная разработка Браунфилда может позволить постепенное усовершенствование логической и физической архитектуры и инкрементное тестирование всего подхода, что приведет к ускорению разработки, повышению качества решения и более дешевому устранению дефектов. Браунфилд также можно использовать для создания документации решения, гарантируя, что она всегда актуальна и согласована с разных точек зрения.
Инвентаризация, созданная посредством обработки Brownfield, может быть очень сложной, поскольку представляет собой взаимосвязанную многомерную семантическую сеть. Уровень знаний в Описи может быть очень детальным, очень подробным и взаимосвязанным. Однако такие вещи трудны для понимания и могут создавать препятствия для общения. Браунфилд решает эту проблему, абстрагируя концепции с помощью предположений ремесленника, используя известные шаблоны в своем инвентаре для извлечения и вывода взаимосвязей более высокого уровня.
Формальные абстракции позволяют преобразовать сложность инвентаризации в более простые, но по своей сути точные представления для облегчения использования теми, кому необходимо понимать пространство проблемы. Эти абстрактные модели инвентаризации можно использовать для автоматической визуализации представлений многоуровневой архитектуры в таких инструментах, как Second Life.
Такие визуализации позволяют передавать сложную информацию множеству людей со всего мира в режиме реального времени. Это улучшает как понимание, так и чувство единой команды.