다음을 통해 공유


도구 및 프로세스 표준화에 대한 권장 사항

Power Platform Well-Architected 운영 효율성 체크리스트 권장 사항에 적용됩니다.

OE:04 업계에서 입증된 개발 및 테스트 관행을 따라 소프트웨어 개발 및 품질 보증 프로세스를 최적화하세요. 명확한 역할 지정을 위해 도구, 소스 제어, 애플리케이션 디자인 패턴, 문서 및 스타일 가이드와 같은 구성 요소 전반에 걸쳐 관행을 표준화합니다.

이 가이드에서는 개발 도구 및 프로세스에 대한 표준을 정의하기 위한 권장 사항을 설명합니다. 일관된 작업 방식을 정의하면 효율적인 워크로드 팀과 고품질 작업이 가능해집니다. 높은 성과를 내는 팀은 업계에서 검증된 도구와 프로세스를 사용하여 낭비되는 노력과 잠재적인 코드 오류를 최소화합니다.

주요 디자인 전략

개발 방식을 최적화하는 첫 번째 단계는 도구와 프로세스를 표준화하는 것입니다. 가능하다면 직접 개발하는 대신 업계에서 검증된 솔루션을 사용하십시오. 표준화된 모든 도구와 프로세스에 대해 팀이 효율적으로 사용할 수 있도록 교육을 제공하세요.

개발 방식을 최적화하는 데 도움이 되는 표준을 정의하려면 다음 권장 사항을 고려하세요.

플랫폼에서 사용 가능한 도구 사용

Power Platform Tools를 우선적으로 사용하고, 그 외에는 잘 알려진 성숙한 기성 도구를 사용하며, 사용을 표준화하세요. 매우 효과적인 엔지니어링 팀은 동급 최고의 도구를 채택합니다. 계획, 개발, 테스트, 협업을 위한 솔루션 개발을 피하세요. 워크로드 요구 사항을 충족하는 도구를 선택하세요.

도구는 다음 기능을 제공해야 합니다.

  • 업무 기획 및 백로그 관리
  • 버전 관리 및 리포지토리
  • 배포 파이프라인
  • 테스팅
  • 코드 개발 및 검토

경우에 따라 하나의 도구 또는 도구 모음이 여러 기능을 제공할 수도 있습니다. 도구의 기능과 제한 사항을 이해하여 기능 전반의 요구 사항을 충족해야 합니다.

플랫폼의 프리미엄 기능에 투자해야 할지 아니면 도구의 프리미엄 버전에 투자해야 할지 결정하세요. 프리미엄 도구가 제공하는 기능과 비교하여 자체 솔루션을 개발하는 데 드는 시간과 노력을 고려하십시오. 일회성 비용과 반복 비용을 고려하세요. 대부분의 경우 기성 도구는 팀에 더 높은 가치를 제공합니다. 예를 들어, 관리형 환경은 제작자 온보딩 메시지를 설정하거나 사전에 공유를 제한하는 기본 기능을 제공합니다. 이러한 기능을 직접 구축하려면 개발 및 지속적인 유지 관리 노력이 필요하며, 이는 관리형 환경에 투자하는 것보다 비용이 더 많이 들 수 있습니다.

가능하다면 AI 도구를 사용하세요. AI 도구는 코드 개발, 검토 및 최적화에 도움이 될 수 있습니다.

공동 개발을 위한 거버넌스 프레임워크 구축

효과적인 공동 개발 거버넌스 프레임워크를 구축하여 제작자가 정의한 프로젝트와 융합 팀에서 일관성과 반복성을 보장합니다.

소스 제어 시스템 및 관행 표준화

Azure DevOps와 같은 소스 코드 제어 시스템을 채택합니다. Azure DevOps는 지원 팀이 작업을 계획하고, 코드 개발을 위한 공동 작업을 수행하며, 응용 프로그램을 구축 및 배포할 수 있는 개발자 서비스를 제공합니다. 앱 및 사용자 지정이 포함된 개발 환경에서 솔루션을 내보내고 솔루션을 풀고 구성 요소를 소스 제어 시스템에 저장합니다.

Azure Boards에서 팀을 위한 스크럼 구현에 명시된 스프린트 및 개발자 지침에 따라 솔루션 버전 관리가 정확한지 확인하세요. 끌어오기 요청의 테스트 결과는 빌드 중인 기능을 보여 주는 스크린샷 또는 비디오 형식을 취할 수 있습니다. 끌어오기 요청 거버넌스 프로세스를 자동화하면 솔루션 버전과 같은 기본 검사를 수동으로 검토하지 않고도 코드 품질을 보장할 수 있습니다.

효율성을 제공하고 일관성을 촉진하는 템플릿을 만드세요. 온보딩 작업 및 스토리 검토 프레젠테이션부터 사용자 스토리, 기능, 버그 및 작업을 정의할 때 팀에 시간을 절약하고 지침을 제공하도록 설계된 작업 항목 템플릿까지 팀 운영의 모든 측면이 표준화 및 단순화의 이점을 누릴 수 있습니다.

메트릭을 평가하여 효율성 정량화

개발 및 품질 보증 팀은 효율성을 정량화할 때만 개선할 수 있습니다. 효율성을 정량화하려면 개발자 속도를 측정하고 핵심성과지표(KPI)를 정의하는 메트릭을 식별해야 합니다.

이러한 메트릭의 예는 다음과 같습니다.

  • 리드 타임: 작업이나 사용자 스토리가 백로그에서 프로덕션 배포로 이동하는 데 걸리는 시간입니다.
  • 평균 해결 시간: 코드의 버그나 결함을 수정하는 데 소요된 평균 시간입니다.
  • 변경 실패 비율: 실패로 이어지는 변경의 비율입니다.

이해관계자와 워크로드 팀이 속도를 쉽게 추적할 수 있도록 대시보드나 기타 보고 도구를 사용하여 KPI를 시각화하세요.

워크로드 팀이 코드를 작성, 검토 및 문서화하는 방법 표준화

워크로드 팀이 스타일 가이드를 사용하여 코드를 작성, 검토 및 문서화하는 방법을 표준화합니다. 표준 스타일은 협업을 쉽게 만들고 새로운 개발자를 온보딩하는 데 도움이 됩니다. 효과적으로 작업하려면 새로운 개발자는 워크로드 팀이 어떻게 운영되는지 알아야 합니다. 명확하게 정의된 표준이 있는 스타일 가이드는 교육 과정을 쉽게 만들어줍니다.

스타일 가이드는 다음을 다루어야 합니다.

  • 솔루션, 아티팩트, 컨트롤, 작업, 환경, 분기 및 빌드에 대한 명명 규칙
  • 오류 처리 표준
  • 일반적인 패턴 또는 라이브러리

Power Automate 코딩 지침Power Apps 코딩 지침에 대해 자세히 알아보세요.

Power CAT 툴킷을 사용하여 코드 검토를 수행합니다. 이 툴킷은 이 문서의 많은 코딩 지침을 통합하여 솔루션이 효율적이고 유지 관리 가능하도록 합니다. 도구 키트는 이러한 모범 사례를 준수하지 않는 모든 패턴에 자동으로 플래그를 지정하므로 개발 프로세스 초기에 잠재적인 문제를 해결할 수 있습니다. 이러한 사전 예방적 접근 방식은 코드의 품질을 향상시키고 검토 프로세스를 간소화하여 프로젝트 전체에서 높은 표준을 더 쉽게 유지할 수 있도록 합니다. Power CAT Toolkit을 개발 워크플로우에 통합하면 솔루션이 견고한 기반 위에 구축되고 보다 안정적이고 확장 가능한 솔루션으로 이어집니다.

아키텍처 의사 결정을 추적하여 팀이 워크로드에 대한 새로운 이해를 유지하고 새로운 팀 구성원이 워크로드의 수명 주기 동안 내린 디자인 결정에 대해 배울 수 있도록 합니다. 아키텍처 결정 문서에는 고려된 도구 및 기술, 결정 이유, 의사 결정에 고려된 기능 및 비기능 요구 사항을 포함합니다. 설명을 반복하거나 새로운 회원이나 이해관계자와의 논의를 다시 논의하지 않도록 결정을 기록하세요.

기술 부채 해결을 위한 표준 및 지침 구현

플랫폼과 기술은 빠르게 변화하며 새로운 기능이 정기적으로 출시됩니다. 워크로드 팀의 결과물에 기술적 부채가 필요하다는 마음가짐을 가지십시오. 이러한 마음가짐은 팀이 기술 부채 축적을 피하기 위해 정기적으로 기술 부채를 고려하고 해결하도록 동기를 부여합니다. 백로그에서 정기적으로 반복되는 작업으로 기술 부채를 해결합니다. 플랫폼 변경 사항(새로운 기능 및 사용 중단 모두)을 최신 상태로 유지하기 위한 프로세스가 있는지 확인하고 워크로드의 변경 사항을 처리하는 방법에 대한 실행 계획을 수립합니다.

예를 들어, 제품 기능이 더 이상 사용되지 않거나 다른 버전으로 대체될 수 있습니다. 워크로드 팀은 워크로드에 영향을 주지 않도록 새 기능으로의 전환을 완료하는 데 우선 순위를 지정해야 합니다. 팀은 시간이 지남에 따라 플랫폼의 일부가 되는 사용자 지정 솔루션 또는 컨트롤을 빌드할 수 있습니다. 워크로드 팀은 해당 플랫폼 기능으로 전환해야 하며, 이를 통해 기술 부채를 줄이고 자체 워크로드를 유지 관리할 수 있습니다.

업계에서 입증된 애플리케이션 설계 패턴을 사용하여 애플리케이션의 신뢰성, 성능 및 보안을 보장하세요. 애플리케이션에 대한 자체 솔루션을 개발하는 대신 이러한 패턴을 사용하면 시간과 노력을 절약할 수 있습니다. 워크로드에 도움이 되는 패턴을 선택하세요. 워크로드가 발전함에 따라 올바른 패턴을 사용할 수 있도록 디자인 패턴을 정기적으로 검토하세요.

테스트에 Shift-Left 접근 방식 구현

개발 프로세스 전반에 걸쳐 초기에 단위 테스트를 자주 수행하여 테스트에 대한 Shift-Left 접근 방식을 구현합니다. 각 개발 환경에서 자주 테스트하면 개발자는 애플리케이션에 대한 자신감을 얻을 수 있습니다.

Shift-Left 접근 방식을 사용하여 테스트 전략을 수립하려면 다음 원칙을 고려하십시오.

  • 가능한 가장 낮은 수준에서 테스트를 작성하세요. 외부 종속성이 가장 적은 테스트를 선호하고 빌드의 일부로 테스트를 실행하세요.
  • 테스트를 한 번 작성하고 프로덕션을 포함한 모든 곳에서 테스트를 실행하세요. 암호화된 비밀 또는 구성과 같은 특정 환경에 특정한 요소를 고려하지 않고 모든 개발 환경에서 실행할 수 있는 테스트를 작성합니다.
  • 테스트를 위한 워크로드를 설계하세요. 애플리케이션을 개발할 때 테스트 가능성을 요구 사항으로 삼으십시오.
  • 워크로드 소유권을 기반으로 하는 테스트 소유권을 고려하세요.. 워크로드 팀은 테스트를 담당하며 코드를 테스트하기 위해 다른 팀에 의존해서는 안 됩니다.
  • 가능한 한 많은 테스트를 자동화하십시오. 자동화된 코드는 워크로드 팀의 부담을 덜어주고 일관된 품질을 강화합니다.

워크로드 팀이 개발 및 품질 보증과 관련된 보안 관행을 이해하도록 요구합니다. 팀 구성원은 예외 없이 이러한 관행을 따라야 합니다. 개발 수명 주기 보안을 위한 권장 사항에서 자세히 알아보세요.

Power Platform 간편 사용

Power Platform의 파이프라인은 ALM 자동화 및 CI/CD(연속 통합 및 지속적인 업데이트) 기능을 서비스에 도입하여 Power Platform 및 Dynamics 365 고객을 위한 ALM(애플리케이션 수명 주기 관리)을 민주화하는 것을 목표로 합니다.

파이프라인에서 Copilot이 생성한 배포 노트는 솔루션 요약을 생성하고 배포 노트 필드를 미리 채워 배포 요청 또는 레코드를 보는 모든 사용자가 솔루션이 수행하는 작업과 포함된 내용을 이해할 수 있도록 충분한 컨텍스트를 제공합니다.

Azure DevOps용 Microsoft Power Platform 빌드 도구를 사용하여 Power Platform에 빌드된 앱과 관련된 공통 빌드 및 배포 작업을 자동화할 수 있습니다.

Power Platform용 GitHub Actions를 사용하면 개발자가 자동화된 소프트웨어 개발 라이프사이클 워크플로를 구축할 수 있습니다. Microsoft Power Platform용 GitHub Actions를 사용하면 리포지토리에서 워크플로를 만들어 앱을 빌드, 테스트, 패키징, 릴리스 및 배포할 수 있으며 자동화를 수행하여 Power Platform에 빌드된 봇 및 기타 구성 요소를 관리할 수 있습니다.

Power Apps 검사기 웹 API는 Microsoft Dataverse 플랫폼의 사용자 지정 및 확장에 대한 정적 분석 검사를 실행하는 메커니즘을 제공합니다.

Test Studio를 사용하면 캔버스 앱에 대한 엔드투엔드 UI 테스트를 빌드할 수 있습니다.

Azure Pipelines으로 테스트 자동화.

Power CAT 코드 검토 도구를 사용하면 코드 검토를 수행할 수 있습니다.

Power CAT Copilot Studio Kit를 사용하면 에이전트 및 테스트를 구성할 수 있습니다. Copilot Studio API(Direct Line)에 대해 개별 테스트를 실행하여 에이전트 응답을 예상 결과에 대해 평가합니다.

ALM 가속기는 연속 통합 및 지속적인 업데이트 프로세스를 자동화하도록 설계된 일련의 애플리케이션, 스크립트 및 파이프라인으로 구성된 오픈 소스 도구입니다.

Microsoft Power Platform CLI(PAC CLI)는 Power Platform 솔루션의 가져오기와 내보내기, Power Platform 솔루션 소스 파일에 대한 패킹과 패킹 해제를 지원하는 명령줄 도구입니다. PAC CLI는 독립형 명령줄 도구 또는 Visual Studio Code용 확장 프로그램으로 사용할 수 있습니다.

개발 방식을 표준화하는 데 도움이 되는 기타 도구 및 서비스는 다음과 같습니다.

  • Azure DevOps는 협업적이고 효율적이며 일관된 개발 방식을 구축하는 데 사용할 수 있는 서비스 모음입니다. Azure DevOps는 다음 솔루션을 번들로 제공합니다.

    • Azure 파이프라인: 애플리케이션의 CI/CD를 지원하기 위해 빌드 및 릴리스 서비스를 제공하는 클라우드 서비스입니다.
    • Azure Boards: Scrum 및 Kanban과 같은 Agile 방식을 지원하는 웹 기반 작업 관리 도구입니다.
    • Azure Repos: Git 분산 버전 제어 시스템과 Team Foundation 버전 제어 시스템을 지원하는 버전 제어 도구입니다.
    • Azure Test Plans: 계획된 수동 테스트, 사용자 승인 테스트, 탐색적 테스트 및 이해관계자 피드백 수집에 필요한 기능을 제공하는 브라우저 기반 테스트 관리 솔루션입니다.
  • GitHub 프로젝트: Kanban 보드, 보고서, 대시보드 및 기타 기능을 만드는 데 사용할 수 있는 작업 관리 도구입니다.

공동개발 거버넌스

다음 단계: