Начать ИТ-проект «с нуля» или модернизировать существующий? Greenfield — это совершенно новый проект, разработанный «с нуля» и не основанный на имеющихся системах, коде или инфраструктуре, в отличие от Brownfield-проекта, который строится на основе уже существующих ресурсов.
В статье рассмотрим преимущества и недостатки Greenfield и Brownfield, как вести такие проекты, как выглядит процесс разработки и какой подход лучше в конкретной ситуации.
Чем хороши проекты Greenfield и есть ли у них недостатки
Проекты Greenfield — это разработка новой ИТ-инфраструктуры или приложений «с нуля». В сфере недвижимости этот термин используется для обозначения освоения ранее неиспользуемой земли. Проекты Greenfield в ИТ могут включать в себя создание приложения, собственного центра обработки данных или развертывание совершенно новой облачной архитектуры.
Преимущества проектов Greenfield:
- Гибкость. Проекты соответствуют потребностям бизнеса как перчатка, потому что создаются именно для этого и предоставляют все индивидуальные решения, которые только можно себе представить. Более того, создается новая система без ограничений со стороны унаследованных систем. Повышенная гибкость также означает снижение затрат на обслуживание, поскольку в старом программном обеспечении нет неиспользуемых или дублирующих друг друга функций.
- Инновации. Начало проекта с нуля позволяет организациям экспериментировать с новыми идеями и создавать новые решения.
- Масштабируемость. Проекты Greenfield разработаны с нуля и с возможной дальнейшей масштабируемостью, что обеспечивает рост инфраструктуры в соответствии с потребностями организации.
Недостатки проектов Greenfield:
- Более высокие первоначальные затраты. Создание новой ИТ-инфраструктуры с нуля может быть дороже, чем модернизация существующих систем.
- Повышенный риск. Проекты Greenfield связаны с большей неопределенностью, поскольку команды могут столкнуться с непредвиденными проблемами и неудачами при создании совершенно новых систем.
- Более длительное время разработки. Разработка и внедрение новой ИТ-инфраструктуры может занять больше времени, чем модификация существующей.
Разработка ИТ-проекта «с нуля» означает, что время выхода на рынок увеличивается, а бизнес-риск выше, потому что нет проторенного пути.
Необходимо спланировать все, начиная с потребностей бизнеса и заканчивая выбором технологии, архитектуры системы, пользовательского интерфейса и так далее. На этом пути приходится принимать множество решений, которые могут замедлить или даже остановить процесс разработки.
Неудивительно, что и стоимость обычно выше. Проекты Greenfield требуют новых технических навыков, которых может не хватать на рынке, и конечным пользователям тоже придется учиться, часто с помощью внешних консультантов.
В чем преимущества проектов Brownfield и какие у них риски
Проекты Brownfield подразумевают перестройку или модернизацию существующей ИТ-инфраструктуры или приложений. Этот термин происходит из сферы недвижимости, где он обозначает освоение земель, которые ранее использовались в промышленных или коммерческих целях. В сфере ИТ проект «коричневого поля» может включать модернизацию устаревших систем, перенос приложений в облако или интеграцию новых технологий в существующую архитектуру.
Преимущества проектов Brownfield:
- Меньше неопределенности. Поскольку существующая инфраструктура уже создана, неопределенность меньше по сравнению с началом проекта «зеленого поля». Бизнес-риск снижается, так как первоначальный проект, как правило, уже зарекомендовал себя на рынке и используется пользователями в самых разных направлениях, поэтому все потенциальные подводные камни уже известны.
- Есть база. ИТ-команды уже знакомы с существующими системами, что облегчает устранение неполадок и обслуживание обновленной инфраструктуры.
- Задано направление развития. Старый код может быть использован повторно для удовлетворения новых потребностей. Это также предполагает более короткое время выхода на рынок.
Недостатки проектов Brownfield:
- Технический долг. Проекты Brownfield затруднены из-за технического долга, так как командам приходится работать с устаревшими технологиями или системами, которые сложно поддерживать или масштабировать.
- Ограниченная гибкость. Модернизация существующих систем может не обеспечить такой же уровень гибкости, как создание новых, поскольку есть ограничения, накладываемые унаследованной инфраструктурой.
- Медленный прогресс. Проекты Brownfield иногда продвигаются медленнее, так как командам приходится ориентироваться в сложностях существующих систем и преодолевать проблемы, связанные с их ограничениями.
Разработчикам приходится иметь дело со старым кодом, а функциональность не всегда соответствует потребностям пользователей.
Немаловажен и тот факт, что разработчики должны знать текущую систему во всех деталях. Если они не участвовали в ее создании, разобраться в старом коде сложно, особенно если его качество оставляет желать лучшего, а документация почти отсутствует.
А иногда конечный результат не стоит того, чтобы пытаться дополнить старое ПО новыми функциями, и в итоге проект может оказаться очень затратным по времени и ресурсам.
Как вести разработку ПО в проекте Greenfield
Проект «с нуля» дает преимущество нового старта и неограниченного творчества. Это и шанс, и одновременно серьезный вызов. Примерно так выглядит процесс в случае с Greenfield:
- Бизнес-анализ. На этом этапе, который также можно назвать стадией проектирования продукта, нужно ответить на несколько вопросов, касающихся планируемой части ПО. Речь идет о проблеме, которую будет решать продукт, о персонах пользователей, целях и причинах существования ПО. По данным CB insights, отсутствие рынка для продукта — вторая по значимости причина провала стартапа (35%).
- Стратегия. После того как все проанализировали, необходимо определиться с точной бизнес-моделью (включая способы монетизации и ценообразование) и моделью разработки ПО (включая выбор правильного подхода и технологического стека).
- Дизайн. На этом этапе сотрудничество между клиентом и агентством очень тесное. Дизайн объединяет логические, UX и графические вопросы, и все эти области взаимосвязаны, поэтому работа над ними может быть одновременной. Нужно продумать путь пользователя и воплотить его. Еще одна важная часть процесса проектирования — прототипирование, которое поможет определить оптимальный пользовательский опыт и протестировать все идеи. Созданный прототип должен быть пересмотрен, доработан и итерирован в соответствии с потребностями.
- Процесс разработки. Агентство готовит рабочий процесс, формирует команду разработчиков и определяет план действий. Хорошей практикой здесь будет создание MVP (минимального жизнеспособного продукта), то есть упрощенной версии конечного ПО, включающей только самые основные функции, необходимые для вывода его на рынок.
Как вести разработку ПО для Brownfield-проектов
В случае с проектами Brownfield путь несколько иной:
Программное обеспечение, на котором нам предстоит строить проект, может быть заброшенным (созданл некоторое время назад и не используется сейчас) или незавершенным (разработано лишь частично и содержит незаконченное ПО).
В первую очередь важно спросить, почему клиент хочет реализовать проект с подходом brownfield. Обычно думают, что стоимость будет ниже, а сроки короче, но это не всегда так.
Предположим, что проанализировали все «за» и «против» и решили, что проект brownfield будет наиболее разумным способом достижения цели. Дальше схема работы следующая:
- Анализ существующего проекта. Имеющийся код может таить в себе много сюрпризов, поэтому его необходимо тщательно проанализировать, выявив все слабые места и устаревшие элементы. Возможно, будет разумно повторно использовать только часть существующего решения. Также следует проанализировать историю продукта, основываясь на свидетельствах и документации разработчиков, его прошлые неудачи и первоначальные цели, сравнив их с новыми.
- Анализ пробелов. На этом этапе определяем, что нужно сделать, чтобы преодолеть разрыв между исходным и конечным, желаемым ПО. Вопросы, которые должны задать, позволят определить проблему. Это проблема с удобством использования, производительностью, соответствием требованиям, безопасностью или внешним видом? Также нужно сравнить новые и первоначальные требования и проверить, что уже решили.
- Построение плана. Можно подготовить дорожную карту проекта, которая подскажет, какие функции наиболее важны и должны быть реализованы в первую очередь, а какие могут подождать, чтобы заняться ими позже.
- Разработка. Заключительным этапом, как и в случае с проектом «зеленого поля», будет разработка в соответствии с планом .
«Гринфилд» или «браунфилд»: что лучше для вашего бизнеса
Когда следует выбрать подход Greenfield, а когда Brownfield будет лучшим вариантом? Ответ не так очевиден, все зависит от конкретной ситуации, и это должно быть проанализировано между всеми заинтересованными сторонами в самом начале — с участием клиента и компании-разработчика.
Если хотите просто обновить программное обеспечение новыми функциями, а старая система в целом работает хорошо, имеет чистый код и оснащена перспективными решениями, выбирайте подход Brownfield.
Если же нужно ПО, созданное на заказ и отвечающее специфическим потребностям бизнеса и пользователей, или же существующее решение устарело и не работает, определенно стоит выбрать Greenfield.
Можно ли сочетать эти два подхода? Да, в некоторых случаях имеет смысл использовать гибридную стратегию, при которой в одной концепции используются элементы как «гринфилда», так и «браунфилда». Этот метод также известен как mix & match. Система перепроектируется лишь частично, в то время как другие существующие процессы оптимизируются. Такой подход позволяет использовать потенциал новой системы без полного отказа от существующей системы.
Проекты Greenfield обычно связаны с ростом и инновациями, поскольку они позволяют компаниям разрабатывать новые продукты и услуги, выходить на еще не освоенные сегменты рынка и исследовать новые возможности, не будучи скованными существующими процессами или системами.
Проекты Brownfield предполагают изменение и обновление существующего процесса, системы или инфраструктуры. Они обычно направлены на повышение эффективности и оптимизацию, позволяют предприятиям постепенно улучшать существующие процессы и системы, а не начинать все заново.
Окончательное решение о выборе оптимального подхода принимается с учетом конкретных требований и целей компании, а также имеющихся ресурсов и ограничений.