Рекомендации по стандартизации инструментов и процессов

Применяется к следующей рекомендации контрольного списка по достижению операционной эффективности Power Platform Well-Architected:

OE:04 Оптимизируйте процессы разработки программного обеспечения и контроля качества, следуя проверенным в отрасли практикам в сфере разработки и тестирования. Для однозначного назначения ролей стандартизируйте методы работы с такими компонентами, как инструменты, система управления версиями, шаблоны проектирования приложений, документация и руководства по стилю.

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

Ключевые стратегии проектирования

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

Чтобы определить стандарты, которые помогут оптимизировать методы разработки, примите во внимание следующие рекомендации.

Используйте инструменты, доступные платформе

В первую очередь используйте инструменты Power Platform Tools, а в противном случае используйте хорошо известные и проверенные готовые инструменты, а также стандартизируйте их использование. Высокоэффективные инженерные команды используют лучшие в своем классе инструменты. Избегайте разработки решений для планирования, разработки, тестирования и совместной работы. Выбирайте инструменты, соответствующие требованиям вашей рабочей нагрузки.

Инструменты должны обеспечивать следующие функции:

  • Планирование работы и управление бэклогом
  • Контроль версий и репозитории
  • Конвейеры развертывания
  • Testing
  • Разработка и проверка кода

В некоторых случаях один инструмент или набор инструментов могут выполнять несколько функций. Убедитесь, что вы понимаете возможности своих инструментов и их ограничения, чтобы они соответствовали вашим требованиям к различным функциям.

Определите, стоит ли вам инвестировать в премиальные функции платформы или премиальные версии инструментов. Сравните время и усилия, потраченные на разработку собственных решений, с функциями, предоставляемыми инструментами премиум-класса. Сравните разовые затраты с периодическими. В большинстве случаев готовые инструменты приносят большую пользу вашей рабочей группе. Например, возможности управляемой среды предлагают встроенные функции, чтобы настроить сообщение о подключении производителя или ограничить общий доступ заранее. Создание этих функций самостоятельно требует разработки и текущих усилий по обслуживанию, которые могут оказаться более дорогостоящими, чем инвестиции в возможности premium.

Используйте инструменты искусственного интеллекта, когда это возможно. Инструменты искусственного интеллекта могут помочь в разработке, проверке и оптимизации кода.

Установка платформы управления для совместной разработки

Установите эффективную платформу управления совместной разработкой, чтобы обеспечить согласованность и повторяемость в проектах, определяемых создателями, и смешанных командах.

Стандартизируйте свою систему и методы управления версиями

Внедрение системы управления исходным кодом, например Azure DevOps. Azure DevOps предоставляет службы разработчиков для планирования работы, совместной работы над разработкой кода и создания и развертывания приложений. Экспортируйте решение из своей среды разработки, содержащей ваши приложения и настройки, распаковывайте свое решение и сохраняйте компоненты в своей системе контроля исходного кода.

Убедитесь, что версионирование решения является точным, следуя рекомендациям по спринтам и разработке, изложенным в Как внедрить практики Scrum в вашей команде на Azure Boards. Результаты тестирования запроса на вытягивание могут быть представлены в виде снимков экрана или видеороликов, демонстрирующих создаваемую функциональность. Автоматизация процесса управления запросами на извлечение помогает обеспечить качество кода без необходимости ручной проверки основных проверок, таких как версии решения.

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

Оценка метрик для количественной оценки эффективности

Команды разработки и обеспечения качества могут совершенствоваться только тогда, когда они количественно оценивают свою эффективность. Для количественной оценки эффективности им необходимо определить метрики, которые измеряют скорость разработки, и определить ключевые показатели эффективности (КПЭ).

Примеры этих метрик включают:

  • Время упреждения: время, необходимое задаче или пользовательской истории для перехода от невыполненной работы к производственному развертыванию.
  • Среднее время до разрешения: среднее время, затраченное на исправление ошибок или дефектов в коде.
  • Частота неудачных изменений: процент изменений, которые привели к сбою.

Чтобы помочь заинтересованным сторонам и команде, занимающейся рабочей нагрузкой, легко отслеживать скорость, визуализируйте ключевые показатели эффективности с помощью панелей мониторинга или других инструментов отчетности.

Стандартизируйте то, как ваша рабочая группа пишет, проверяет и документирует код

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

Руководство по стилю должно охватывать:

  • Соглашения об именовании решений, артефактов, элементов управления, действий, сред, ветвей и сборок
  • Стандарты обработки ошибок
  • Общие шаблоны или библиотеки

Дополнительные сведения о рекомендациях по программированию облачных потоков Power Automate, рекомендациях по программированию Power Apps и рекомендациях по программированию потоков Power Automate Desktop.

Tip

Используйте набор инструментов Power CAT Toolkit для выполнения проверок кода. Инструментарий включает в себя многие рекомендации по кодированию из этой документации, гарантируя, что ваши решения будут эффективными и удобными в обслуживании. Набор средств автоматически помечает любые шаблоны, которые не соответствуют этим рекомендациям, чтобы вы могли устранить потенциальные проблемы на ранних этапах процесса разработки. Такой упреждающий подход повышает качество кода и помогает оптимизировать процесс рецензирования, упрощая поддержание высоких стандартов в проектах. Интеграция Power CAT Toolkit в рабочий процесс разработки гарантирует, что ваши решения будут построены на прочном фундаменте и приведут к созданию более надежных и масштабируемых решений.

Отслеживайте архитектурные решения, чтобы помочь командам по-новому взглянуть на рабочую нагрузку и позволить новым членам команды узнать о проектных решениях, принятых в течение жизненного цикла рабочей нагрузки. Включите в документ об архитектурном решении инструменты и технологии, которые были учтены, причину решения, а также функциональные и нефункциональные требования, которые были учтены при принятии решений. Записывайте решения, чтобы избежать повторения объяснений или повторного обсуждения с новыми участниками или заинтересованными сторонами.

Внедрение стандартов и руководств по решению проблемы технического долга

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

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

Используйте проверенные в отрасли шаблоны проектирования приложений, чтобы обеспечить надежность, производительность и безопасность вашего приложения. Используйте эти шаблоны, чтобы сэкономить время и усилия, а не разрабатывать собственные решения для своего приложения. Выбирайте шаблоны, которые принесут пользу вашей рабочей нагрузке. Регулярно просматривайте шаблоны проектирования, чтобы убедиться, что вы используете правильные шаблоны по мере развития вашей рабочей нагрузки.

Внедрите подход к тестированию со сдвигом влево

Внедрите подход к тестированию со сдвигом влево, выполняя модульное тестирование на ранних этапах и часто на протяжении всего процесса разработки. Частое тестирование в каждой среде разработки помогает разработчикам обрести уверенность в своих приложениях.

Чтобы создать стратегию тестирования с использованием подхода «сдвиг влево», примите во внимание следующие принципы:

  • Пишите тесты на самом низком возможном уровне. Отдавайте предпочтение тестам с наименьшим количеством внешних зависимостей и запускайте тесты как часть сборки.
  • Напишите тесты один раз и запускайте их везде, включая производственную среду. Напишите тесты, которые можно будет запускать в любой среде разработки, не принимая во внимание факторы, специфичные для одной среды, такие как зашифрованные секреты или конфигурации.
  • Создайте рабочую нагрузку для тестирования. При разработке приложения сделайте требованием возможность тестирования.
  • Рассмотрите возможность владения тестами, которое основано на владении рабочей нагрузкой. Ваша команда по рабочей нагрузке отвечает за тестирование и не должна полагаться на другие команды для тестирования кода.
  • В как можно больше степени автоматизируйте тесты. Автоматизированный код снижает нагрузку на вашу рабочую группу и обеспечивает стабильное качество.

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

Возможности в Power Platform

Страница развертывания в Центре администрирования Power Platform предоставляет упрощенный интерфейс, помогающий администраторам перемещаться по сложностям управления рабочими нагрузками управления жизненным циклом приложений Power Platform (ALM), включая управление развертываниями конвейеров в масштабе предприятия. Администраторы имеют доступ ко всем развертываниям в своем клиенте и могут утверждать запросы на развертывание и устранять неполадки.

Конвейеры в Power Platform направлены на упрощение управления жизненным циклом приложений (ALM) для клиентов Power Platform и Dynamics 365 за счет внедрения в службу возможностей автоматизации ALM, а также непрерывной поставки и непрерывной интеграции (CI/CD). Конвейеры можно настраивать для удовлетворения уникальных потребностей организации — например, добавлять этапы утверждения, развертывать с помощью субъект-служб и интегрировать с внутренними системами учета, Azure DevOps, GitHub и т. д. Дополнительные сведения см. в разделе "Расширение конвейеров" в Power Platform.

Создаваемые Copilot заметки о развертывании в конвейерах создают сводку по решению и предварительно заполняют поле заметок о развертывании, предоставляя всем, кто просматривает запрос на развертывание или запись, достаточно контекста, чтобы понять, что делает решение и что оно содержит.

Microsoft Power Platform средства сборки для Azure DevOps можно использовать для автоматизации распространенных задач сборки и развертывания, связанных с приложениями, созданными на платформе Power Platform.

GitHub Actions для Power Platform позволяют разработчикам создавать автоматизированные рабочие процессы жизненного цикла разработки программного обеспечения. С помощью GitHub Actions для Microsoft Power Platform можно создавать рабочие процессы в репозитории для создания, тестирования, тестирования, выпуска и развертывания приложений; автоматизации и управления ботами и другими компонентами, созданными на платформе Power Platform.

Веб-API средства проверки Power Apps предоставляет механизм для выполнения проверок статического анализа по настройкам и расширениям платформы Microsoft Dataverse.

Test Studio позволяет создавать комплексные тесты пользовательского интерфейса для приложения на основе холста.

Автоматизируйте тесты с помощью Azure Pipelines.

Инструмент проверки кода Power CAT позволяет выполнять обзоры кода.

пакет агента Copilot позволяет настраивать агенты и тесты. Выполняя отдельные тесты для API-интерфейсов Copilot Studio (Direct Line), ответы агента оцениваются по ожидаемым результатам.

Microsoft Power Platform CLI (CLI PAC) — это средство командной строки, поддерживающее импорт и экспорт решений Power Platform, а также упаковку в исходные файлы решений Power Platform и их распаковку. CLI PAC доступен как отдельный инструмент командной строки или как расширение для Visual Studio Code.

Другие инструменты и службы, которые могут помочь вам стандартизировать методы разработки, включают:

  • Azure DevOps — набор служб, которые можно использовать для создания совместной, эффективной и согласованной практики разработки. Azure DevOps объединяет следующие решения:

    • Azure Pipelines — облачная служба, которая предоставляет службы сборки и выпуска для поддержки CI/CD приложений.
    • Azure Boards— веб-средство управления работой, которое поддерживает гибкие методики, такие как Scrum и Kanban.
    • Azure Repos— средство управления версиями, поддерживающее распределенную систему управления версиями Git и систему управления версиями Team Foundation.
    • Azure Test Plans, решение для управления тестами на основе браузера, которое предоставляет возможности, необходимые для планового тестирования вручную, проверки приемки пользователей, исследования тестирования и сбора отзывов заинтересованных лиц.
  • GitHub Проекты, средство управления работой, которое можно использовать для создания досок Kanban, отчетов, панелей мониторинга и других функций.

  • Центр архитектуры Power Platform и Copilot Studio предоставляет структурированную платформу для документирования архитектур решений. Следование одному и тому же шаблону для документирования ваших решений обеспечивает согласованность, ясность и соответствие лучшим практикам во всех решениях. Эта платформа особенно полезна для взаимодействия сложных архитектур, упрощения проверок и обеспечения будущей масштабируемости и управления.

  • Управление совместного развития

Дальнейшие действия