Ambassador Labs спонсировал этот пост. Insight Partners является инвестором в Ambassador Labs и TNS.
Для проектов полагается на API, появляется общее узкое место: последовательное развитие компонентов frontend и backend. Команды frontend часто ожидают, что API -интерфейсы будут полностью функциональными, прежде чем они смогут добиться значительного прогресса, что приведет к задержкам и разочарованию. Мы все пытаемся выяснить, как делать больше с меньшими затратами, но истинный ключ к разблокировке скорости заключается в том, чтобы обеспечить упорядоченную параллельную работу между разработчиками frontend и backend.
Барьеры для сильного параллельного развития
Подход водопада является реликвией прошлого — медленной, жесткой и совершенно не синхронизированной с современными требованиями программного обеспечения. Если ваша команда frontend ждет API -интерфейсов, вы уже позади. Это исторически созданное узкие места вдоль линии, поэтому многие из нас пытались перейти на параллельное развитие.
Таким образом, многие команды разработчиков стремятся к оптимизированному параллельному подходу к разработке, который позволяет командам строить одновременно для того, чтобы отправиться быстрее и адаптироваться на лету. Тем не менее, достижение параллельной разработки легче сказать, чем сделать, когда ваш стек инструментов не позволяет вашей команде работать одновременно эффективно.
Некоторые технологические стеки делают параллельную разработку для фронта и бэкэнд сложной из -за жесткой связи, отсутствия четких контрактов API и сложных зависимостей. Когда обе команды полагаются на монолитные архитектуры или рамки, которые требуют общей среды, прогресс может быть узким местом зависимости, которые должны быть созданы и протестированы одновременно.
Могут возникнуть другие проблемы, которые могут заблокировать даже самые намеренные усилия для сильного параллельного развития, когда командам не хватает четко определенных спецификаций API или насмешливых возможностей, и командам фронтам часто приходится дождаться полного реализации конечных точек до того, как они могут привести к неэффективности и задержкам.
Кроме того, стеки, которые требуют обширной настройки для локальной разработки, например, для тех, кто требует тяжелых конфигураций базы данных или сложной оркестровки обслуживания, еще больше замедляет независимый прогресс и итерацию.
Почему параллельное развитие имеет значение
Вот почему так важно получить право на параллельное развитие:
- Более быстрое время на рынок: Перекрывая циклы разработки, команды могут быстрее предоставлять функции и выпуски, получая конкурентное преимущество. Это, пожалуй, самая большая польза и разница между этим видом развития и традиционным подходом водопада.
- Повышенная эффективность: Разработчики более продуктивны, когда они не заблокированы и не ждут других команд. Параллельная работа делает всех вовлеченных, сфокусированных и эффективных продуктивных в долгосрочной перспективе.
- Раннее обнаружение проблемы: Добавление компонентов frontend и backend Раннее помогает выявить проблемы интеграции раньше, когда они зажигают, чтобы исправить (сдвиньте все это в оставшееся!).
- Улучшенное сотрудничество: Параллельная разработка требует более тщательного общения и сотрудничества между командами фронта и бэкэнд, что приводит к лучшему пониманию и более высокому качеству. Больше не команды ждут других, чтобы закончить, прежде чем они смогут начать свою часть проекта.
- Больше гибкости: Изменения и корректировки могут быть сделаны легче, когда разработка происходит одновременно. Это обеспечивает более быстрые ответы на изменение потребностей.
Советы по обеспечению параллельной разработки
Звучит довольно здорово, верно? Теперь давайте поговорим о том, как мы делаем параллельное развитие реальностью. Это требует сдвига в мышлении и реализации следующих конкретных стратегий:
Наконец, это должно быть само собой разумеющимся, но убедитесь, что вы способствуете культуре открытого общения и сотрудничества между вашим фронтальным и бэкэнд -командами. Как бы вы ни хотели провести непрерывное развитие, оно работает только в том случае, если обе команды будут куплены. Это означает, что вы проводите регулярные встречи, чтобы избежать бункеров (или, по крайней мере, общих каналов связи для асинхронного сотрудничества).
Что, если у вас появится откат?
Обратите внимание, что ваши разработчики могут быть нерешительными сначала принять параллельное развитие из -за опасений по поводу повышенной сложности и конфликтов слияния. По сути, когда несколько команд работают над разными функциями или исправлениями одновременно, интеграция изменений может стать сложной задачей, особенно если ваша организация работает в монолитных кодовых базах.
Иногда может также быть риск нестабильности при переходе к параллельной модели. Если изменения вносятся параллели без адекватного тестирования и изоляции, существует более высокая вероятность нарушения чего -то критического. Иногда вы можете получить откат в том, что быстрые изменения будут вводить ошибки, которые трудно проследить, или что неполные функции случайно будут вживую. Вот почему очень важно иметь прочный трубопровод CI/CD или достаточное количество тестирования.
Есть также культурная и корректировка рабочего процесса, с которой могут сопротивляться некоторые команды. Переход к параллельному разработке требует от разработчиков изменить способ их работы, включая принятие флагов признаков и доверительные автоматические процессы. Если команды привыкли к более линейному процессу разработки в стиле водопада, приспособление к параллельному рабочему процессу (сначала) может чувствовать себя подавляющим.
Что искать в параллельных инструментах для разработки
Одним из наиболее значительных барьеров для параллельной разработки является устаревшие инструменты, которые не позволяют этому. Ищите инструменты, которые обеспечивают надежную платформу для создания и управления спецификациями API (включая A-A-Assisted для быстрого поколения спецификации, как в Blackbird). Вы захотите стремиться к инструментам, которые поддерживают OpenAPI, так как это гарантирует, что как фронтальные, так и бэкэнд -команды имеют четкий и последовательный контракт для работы. Это уменьшает недоразумения и гарантирует, что все находятся на одной странице.
Постарайтесь найти инструменты, которые имеют встроенное смещение, чтобы позволить разработчикам frontend точно моделировать поведение API (например, Blackbird, Postman или Wiremock). Еще лучше, если этот инструмент включает в себя расширенную насмешку, чтобы еще больше оптимизировать эти усилия. Это означает, что команды frontend могут начать строить и тестировать свои компоненты, не ожидая, когда будет готов. Эта параллельная разработка ускоряет общую графику проекта.
Наконец, ваша оценка инструмента должна включать в себя что-то, что поставляется с комплексной и уже интегрированной средой тестирования, которая поддерживает тесты на единицу, производительность и интеграцию. Это гарантирует, что компоненты как фронта, так и бэкэнд тщательно протестированы и что они беспрепятственно работают вместе. Эти типы функций тестирования помогают рано уловить проблемы, снижая риск задержек.
Параллельное развитие является необходимостью для будущего
Мы все должны двигаться быстрее и вводить новшества, и мы можем, приняв параллельное развитие. С помощью таких стратегий, как разветвление функций, автоматизированное тестирование и эфемерные среды, разработчики могут быстрее итерации при сохранении стабильности. Это также уменьшает узкие места и улучшает сотрудничество, позволяя командам frontend и backend тестировать и уточнить API одновременно.
Включение параллельного фронта и развития бэкэнд является изменяющимся игроком для будущего проектов, управляемых API. Хотя это требует сдвига в мышлении и принятии новых инструментов и процессов, преимущества параллельного развития намного перевешивают проблемы. Дни традиционного подхода к водопаду давно прошли — команды разработчиков должны сосредоточиться на всех вещах, которые разблокируют скорость и помогут им оставаться впереди в сегодняшнем конкурентном ландшафте.
Ambassador Labs является лидером опыта нативного разработчика Cloud. Самолет управления разработчиком компании для Kubernetes объединяет инфраструктуру разработки, развертывания и производства для разработчиков и организаций по всему миру, чтобы они могли кодировать, отправлять и запускать приложения быстрее и проще, чем когда -либо. Insight Partners является инвестором в посол и TNS. Узнайте больше последних из Ambassador Labs Trending Stories YouTube.com/thenewstack Tech, быстро движется, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Стив Родда, генеральный директор Ambassador, сосредоточен на стимулировании роста продукции, чтобы обеспечить инновационные решения, которые упрощают Kubernetes и микросервисы для клиентов. Стив имеет десятилетия программирования и разработчика и ранее был генеральным директором дизайна API … Подробнее от Стива Родды