Рекомендации по стандартизации инструментов и процессов
Применимо к этой рекомендации Power Platform контрольного списка хорошо спроектированного операционного совершенства:
ОЭ:04 | Оптимизируйте процессы разработки программного обеспечения и контроля качества, следуя проверенным в отрасли практикам в сфере разработки и тестирования. Для однозначного назначения ролей стандартизируйте методы работы с такими компонентами, как инструменты, система управления версиями, шаблоны проектирования приложений, документация и руководства по стилю. |
---|
В этом руководстве описаны рекомендации по определению стандартов для инструментов и процессов разработки. Определение последовательных практик приводит к созданию эффективной рабочей группы и высококачественной работе. Высокопроизводительные рабочие группы используют проверенные в отрасли инструменты и процессы, чтобы свести к минимуму напрасные усилия и потенциальные ошибки кода.
Ключевые стратегии проектирования
Первым шагом по оптимизации методов разработки является стандартизация инструментов и процессов. По возможности используйте проверенные в отрасли решения вместо разработки собственных. Проведите обучение всем стандартизированным инструментам и процессам, чтобы ваши рабочие группы могли эффективно их использовать.
Чтобы определить стандарты, которые помогут оптимизировать методы разработки, примите во внимание следующие рекомендации.
Используйте инструменты, доступные платформе
В первую очередь используйте инструменты Power Platform Tools, а в противном случае используйте хорошо известные и проверенные готовые инструменты, а также стандартизируйте их использование. Высокоэффективные инженерные команды используют лучшие в своем классе инструменты. Избегайте разработки решений для планирования, разработки, тестирования и совместной работы. Выбирайте инструменты, соответствующие требованиям вашей рабочей нагрузки.
Инструменты должны обеспечивать следующие функции:
- Планирование работы и управление журналом невыполненных работ
- Контроль версий и репозитории
- Конвейеры развертывания
- Тестирование
- Разработка и проверка кода
В некоторых случаях один инструмент или набор инструментов могут выполнять несколько функций. Убедитесь, что вы понимаете возможности своих инструментов и их ограничения, чтобы они соответствовали вашим требованиям по всем функциям.
Определите, стоит ли вам инвестировать в премиальные функции платформы или премиальные версии инструментов. Сравните время и усилия, потраченные на разработку собственных решений, с функциями, предоставляемыми инструментами премиум-класса. Сравните разовые затраты с периодическими. В большинстве случаев готовые инструменты приносят большую пользу вашей рабочей группе. Например, Управляемые среды предлагают готовые функции для установки приветственного сообщения создателям или упреждающего ограничения общего доступа. Создание этих функций самостоятельно требует разработки и постоянных усилий обслуживание, которые могут оказаться более затратными, чем инвестиции в Управляемые среды.
Используйте инструменты ИИ, когда это целесообразно. Инструменты искусственного интеллекта могут помочь в разработке, проверке и оптимизации кода.
Создать структуру управления для совместного развития
Создать эффективную структуру управления совместной разработкой, чтобы обеспечить последовательность и повторяемость в проектах, определяемых разработчиками, и в командах по слиянию.
Стандартизируйте свою систему и методы управления версиями
Используйте систему управления исходным кодом, например Azure DevOps. Azure DevOps предоставляет услуги разработчиков для групп поддержки по планированию работы, совместной разработке кода, а также созданию и развертыванию приложений. Экспортируйте решение из своей среды разработки, содержащей ваши приложения и настройки, распаковывайте свое решение и сохраняйте компоненты в своей системе контроля исходного кода.
Убедитесь, что управление версиями решения является точным, следуя рекомендациям по спринту и разработке, изложенным в разделе Внедрение практик Scrum для вашей команды в Azure Boards. Результаты тестирования по запросу на включение внесенных изменений могут иметь форму снимков экрана или видеороликов, демонстрирующих создаваемую функциональность. Автоматизация процесса управления запросами на извлечение помогает обеспечить качество кода без необходимости ручной проверки основных проверок, таких как версии решения.
Создавайте шаблоны для обеспечения эффективности и согласованности повысить уровень. Все аспекты работы команды выигрывают от стандартизации и упрощения: от задач по адаптации и презентаций по обзору историй до шаблонов рабочих элементов , разработанных для экономии времени и предоставления командам рекомендаций при определении пользовательских историй, функций, ошибок и задач.
Оценка метрик для количественной оценки эффективности
Команды разработки и обеспечения качества могут совершенствоваться только тогда, когда они количественно оценивают свою эффективность. Для количественной оценки эффективности им необходимо определить метрики, которые измеряют скорость разработки, и определить ключевые показатели эффективности (КПЭ).
Примеры этих метрик включают:
- Время выполнения: время, необходимое для перехода задачи или пользовательской истории из очереди выполнения в производственную среду.
- Среднее время устранения: среднее время, затрачиваемое на исправление ошибок или дефектов в коде.
- Показатель неудачных изменений: процент изменений, которые привели к неудаче.
Чтобы помочь заинтересованным сторонам и команде, занимающейся рабочей нагрузкой, легко отслеживать скорость, визуализируйте ключевые показатели эффективности с помощью панелей мониторинга или других инструментов отчетности.
Стандартизируйте то, как ваша рабочая группа пишет, проверяет и документирует код
Стандартизируйте то, как ваша рабочая группа пишет, проверяет и документирует код, используя руководство по стилю. Стандартный стиль упрощает совместную работу и помогает привлекать новых разработчиков. Чтобы работать эффективно, новым разработчикам необходимо знать, как работает группа рабочей нагрузки. Руководство по стилю с четко определенными стандартами может облегчить процесс обучения.
Руководство по стилю должно охватывать:
- Соглашения об именовании решений, артефактов, элементов управления, действий, сред, ветвей и сборок
- Стандарты обработки ошибок
- Общие шаблоны или библиотеки
Отслеживайте архитектурные решения, чтобы помочь командам сохранять свежее понимание рабочей нагрузки и позволить новым членам команды узнать о решениях по проектированию, принятых в течение жизненного цикла рабочей нагрузки. Включите в документ по архитектурным решениям инструменты и технологии, которые были рассмотрены, причину принятия решения, а также функциональные и нефункциональные требования, которые были учтены при принятии решений. Записывайте решения, чтобы избежать повторения объяснений или повторного обсуждения с новыми участниками или заинтересованными сторонами.
Внедрение стандартов и руководств по решению проблемы технического долга
Платформа и технологии быстро меняются, регулярно появляются новые функции и возможности. Примите к сведению, что технический долг необходим для достижения результатов вашей рабочей группы. Такое мышление мотивирует вашу команду регулярно рассматривать и решать техническую задолженность, чтобы избежать ее накопления. Рассматривайте техническую задолженность как регулярно повторяющуюся задачу в журнале невыполненных работ. Убедитесь, что у вас есть процессы, позволяющие вам быть в курсе изменений платформы, как новых, так и устаревших функций, а также разработайте план действий по реагированию на изменения в вашей рабочей нагрузке.
Например, функция продукта может стать устаревшей или быть заменена другой версией. Группа по рабочей нагрузке должна отдать приоритет завершению перехода на новую функцию, чтобы не повлиять на рабочую нагрузку. Команда может создать индивидуальное решение или элемент управления, который со временем станет частью платформы. Ваша рабочая группа должна перейти на эту функцию платформы, которая снизит технический долг и обслуживание вашей собственной рабочей нагрузки.
Используйте проверенные в отрасли шаблоны проектирования приложений, чтобы гарантировать надежность, производительность и безопасность вашего приложения. Используйте эти шаблоны, чтобы сэкономить время и усилия, а не разрабатывать собственные решения для своего приложения. Выбирайте шаблоны, которые принесут пользу вашей рабочей нагрузке. Регулярно просматривайте шаблоны проектирования, чтобы убедиться, что вы используете правильные шаблоны по мере развития вашей рабочей нагрузки.
Внедрите подход к тестированию со сдвигом влево
Внедрите подход к тестированию со сдвигом влево, выполняя модульное тестирование на ранних этапах и часто на протяжении всего процесса разработки. Частое тестирование в каждой среде разработки помогает разработчикам обрести уверенность в своих приложениях.
Чтобы создать стратегию тестирования с использованием подхода «сдвиг влево», примите во внимание следующие принципы:
- Пишите тесты на максимально низком уровне. Отдавайте предпочтение тестам с наименьшим количеством внешних зависимостей и запускайте тесты как часть сборки.
- Напишите тесты один раз и запускайте их везде, включая производство. Напишите тесты, которые можно будет запускать в любой среде разработки, не принимая во внимание факторы, специфичные для одной среды, такие как зашифрованные секреты или конфигурации.
- Спроектируйте рабочую нагрузку для тестирования. При разработке приложения сделайте требованием возможность тестирования.
- Рассмотрите возможность владения тестом, основанную на владении рабочей нагрузкой. Ваша рабочая группа сама отвечает за тестирование и не должна полагаться на другие команды в тестировании своего кода.
- Максимально автоматизируйте тесты. Автоматизированный код снижает нагрузку на вашу рабочую группу и обеспечивает стабильное качество.
Требуйте от своей рабочей группы понимания методов обеспечения безопасности, связанных с разработкой и обеспечением качества. Члены команды должны следовать этим правилам без исключений. Подробнее читайте в разделе Рекомендации по обеспечению безопасности жизненного цикла разработки.
Возможности в Power Platform
Pipelines Power Platform направлены на демократизацию управления жизненным циклом приложений (ALM) для Power Platform клиентов Dynamics 365 путем внедрения в сервис возможностей автоматизации ALM, непрерывной интеграции и непрерывной поставки (CI/CD).
Созданные Copilot заметки о развертывании в конвейерах формируют сводку решения и предварительно заполняют поле заметок о развертывании, предоставляя любому, кто просматривает запрос на развертывание или запись, достаточно контекста для понимания того, что делает решение и что оно содержит.
Microsoft Power Platform Инструменты сборки для Azure DevOps могут использоваться для автоматизации общих задач сборки и развертывания, связанных с приложениями, созданными на Power Platform.
Действия GitHub для Power Platform позволяют разработчикам создавать автоматизированные рабочие процессы жизненного цикла разработки программного обеспечения. С помощью GitHub Actions для Microsoft Power Platform вы можете создавать бизнес-процессы в своем репозитории для создания, тестирования, упаковки, выпуска и развертывания приложений; выполнять автоматизацию; и управлять ботами и другими компонентами на базе Power Platform.
Power Apps API веб-проверки предоставляет механизм для выполнения проверок статического анализа в отношении настроек и расширений Microsoft Dataverse платформы.
Test Studio позволяет создавать сквозные тесты пользовательского интерфейса для вашего приложения Canvas.
Автоматизируйте тесты с помощью Azure Pipelines.
Power CAT Code Review Tool позволяет выполнять обзоры кода.
Комплект Power CAT Copilot Studio позволяет настраивать вторых пилотов и тесты. Проводя индивидуальные тесты против Copilot Studio API (Direct Line), ответы второго пилота оцениваются по отношению к ожидаемым результатам.
ALM Accelerator — это инструмент с открытым исходным кодом, состоящий из набора приложений, скриптов и конвейеров, предназначенных для автоматизации процесса непрерывной интеграции/непрерывной поставки.
Microsoft Power Platform CLI (PAC CLI) — это инструмент командной строки, который поддерживает импорт и экспорт Power Platform решений, а также упаковку и распаковку Power Platform исходных файлов решений. PAC CLI доступен как автономный инструмент командной строки или как расширение для Visual Studio Code.
Другие инструменты и службы, которые могут помочь вам стандартизировать методы разработки, включают:
Azure DevOps, набор услуг, которые вы можете использовать для создания совместной, эффективной и последовательной практики разработки. Azure DevOps объединяет следующие решения:
- Azure Pipelines — облачная служба, предоставляющая услуги сборки и выпуска для поддержки CI/CD ваших приложений.
- Azure Boards — веб-инструмент управления работой, поддерживающий такие гибкие методы, как Scrum и Kanban.
- Azure Repos, инструмент управления версиями, поддерживающий распределенную систему управления версиями Git и систему управления версиями Team Foundation.
- Azure Test Plans — решение для управления тестированием на основе браузера, которое предоставляет возможности, необходимые для планового ручного тестирования, пользовательского приемочного тестирования, исследовательского тестирования и сбора отзывов от заинтересованных сторон.
GitHub Projects — инструмент управления работой, который можно использовать для создания досок Kanban, отчетов, панелей мониторинга и других функций.
Дополнительные сведения
Управление совместным развитием