Skip to main content

GitHub Copilot으로 프로젝트 계획하기

GitHub Copilot을 사용하여 아이디어를 이슈로 전환해 다음 프로젝트를 계획하세요.

누가 이 기능을 사용할 수 있나요?

Anyone with a Copilot license can use Copilot to create issues.
Try Copilot for free

참고 항목

  • 이 기능은 공개 미리 보기 버전에 있고 변경될 수 있습니다.
  • 이 문서에 표시된 응답은 예제입니다. Copilot Chat 응답은 비결정적이므로 여기에 표시된 응답과 다른 응답을 얻을 수 있습니다.

Copilot을 사용하여 GitHub Issues로 프로젝트를 관리하세요. 이 자습서에서는 Copilot의 에이전트 이슈 생성 기능을 사용하여 제품 아이디어를 에픽, 기능, 작업으로 전환합니다. 에픽은 대규모의 작업 단위를 나타내는 반면, 기능과 작업은 이를 더 작고 실행 가능한 부분으로 나눕니다. 마지막에는 팀과 공유할 수 있는 구조화된 백로그를 얻게 됩니다.

프로젝트 개요

제품으로 무엇을 하고 싶은지 정의하는 것이 중요합니다. SDLC(소프트웨어 개발 수명 주기)의 계획 단계에서는 프로젝트를 에픽, 기능, 더 작은 작업 단위로 나누어 아이디어를 실행 가능한 작업으로 전환합니다. 이를 통해 생각을 정리하고, 우선 순위를 설정하며, 팀이 개발을 준비할 수 있도록 돕습니다.

Copilot을 사용할 때, 이 프로세스를 주도하는 것은 사용자입니다. Copilot은 구조를 제안하고 세부 사항을 보완해 줄 수 있습니다. 하지만 작업을 어떤 방식으로 구성할지에 대해 사용자가 명확한 방향성을 가지고 있을 때, 최상의 결과를 얻을 수 있습니다. Copilot은 사용자의 의견을 바탕으로 계획을 구체화하고, 확장하고, 문서화하는 데 도움을 줍니다.

이 시나리오에서는 사용자가 다음을 수행할 수 있는 새로운 쇼핑 웹 사이트를 계획합니다.

  • 범주와 검색을 통해 제품 카탈로그 탐색
  • 장바구니에 상품 추가
  • 안전한 결제 완료

목표는 Copilot을 사용하여 이 비전을 신속하게 구조화된 프로젝트 계획으로 전환하고, 사이트의 각 부분을 포착하는 에픽과 세부적인 이슈를 만드는 것입니다.

리포지토리 설정

GitHub Issues가 활성화된 리포지토리를 설정합니다. 새 리포지토리 만들기을(를) 참조하세요.

기본적으로 새 리포지토리에는 이슈가 활성화되어 있습니다. 기존 리포지토리를 사용하고 싶지만 Issues 탭이 보이지 않는 경우, 다음 단계에 따라 이슈를 활성화하세요.

  1. 리포지토리에서 Settings를 선택합니다.
  2. "Features"에서 Issues 확인란을 선택합니다.

프로젝트 이슈 생성

리포지토리를 설정하면 Copilot을 사용해 프로젝트 비전을 일련의 실행 가능한 이슈 집합으로 전환할 수 있습니다.

Copilot 몰입형 보기 시작

  1. GitHub의 페이지 오른쪽 위에서 검색 창 옆에 있는 단추를 클릭합니다.

    Copilot Chat의 전체 페이지 몰입형 모드가 표시됩니다.

  2. 채팅 패널을 사용해 쇼핑 웹 사이트의 리포지토리를 연결합니다. 그러면 Copilot이 해당 리포지토리에 액세스하여 직접 이슈를 생성할 수 있습니다.

에픽 이슈 만들기

  1. 프롬프트로 자세한 프로젝트 설명을 입력합니다. 예시:
    I’m planning to create a shopping website in React and Node.js. The site should allow users to browse products by category, search for items, add products to a cart, and complete checkout. Please help me plan the project by creating issues and breaking it down into epics, features, and tasks.
  2. 프롬프트를 제출합니다. Copilot은 일반적으로 맨 위에 에픽이 있고, 각 주요 기능 또는 작업에 대한 하위 이슈가 있는 이슈 트리를 생성합니다.

몰입형 모드의 Copilot Chat 스크린샷 Copilot Chat은 맨 위에 에픽이 있고 그 아래에 여러 하위 이슈가 있는 이슈 목록을 표시합니다.

  1. 워크벤치에서 에픽을 클릭하며 세부 정보를 확인합니다. 워크벤치를 통해 이슈 트리를 탐색하세요.

  2. 각 이슈에는 보통 제목과 설명이 포함됩니다. 레이블 또는 담당자와 같은 추가 메타데이터는 워크벤치에서 직접 편집할 수 있습니다.

  3. 하위 이슈를 확장하거나 축소하여 프로젝트의 특정 부분에 집중할 수 있습니다.

    이슈 트리는 프로젝트 구조에 대한 명확한 개요를 제공하여 에픽, 기능, 작업 간에 쉽게 탐색할 수 있도록 해줍니다.

  4. 이 초안의 첫 번째 반복에서는 Copilot이 상위 수준의 이슈만 생성할 수 있습니다. 이러한 이슈를 더 작은 작업 또는 기능으로 세분화하여 더 구체화할 수 있습니다. 이제 "Feature: UI Skeleton and Navigation" 이슈를 세분화해 보겠습니다.

    Copilot에 다음과 같이 프롬프트를 입력하세요.
    Can you break down the issue "Feature: UI Skeleton and Navigation" into smaller tasks?

    Copilot은 다음과 같은 여러 개의 새로운 하위 이슈를 생성합니다.

    • 작업: React 프로젝트 구조와 초기 파일 설정
    • 작업: 주 경로를 위한 자리 표시자 페이지 만들기
    • 작업: 사이트 전체에 적용되는 탐색 표시줄 구성 요소 구현
    • 작업: 라우팅과 탐색 통합
    • 작업: 기본 반응형 레이아웃 추가
  5. 이 프로세스를 에픽 내 나머지 기능 이슈에도 반복합니다.

Copilot Chat 워크벤치의 스크린샷 워크벤치는 맨 위에 에픽이 있고 그 아래에 여러 하위 이슈가 있는 이슈 트리를 표시합니다.

이슈 설명 개선하기

이슈 트리 생성을 완료한 후, Copilot이 만든 이슈 설명이 짧거나 불분명할 수 있습니다. 실행 가능한 상태로 만들려면, 필요에 따라 각 이슈를 다듬으세요.

  1. "작업: 주 경로를 위한 자리 표시자 페이지 만들기"와 같이 새로 생성된 이슈부터 시작합니다.

    Copilot에 다음과 같이 프롬프트를 입력하세요.
    Can you improve the description for “Task: Create placeholder pages for main routes”? Please provide a detailed technical summary, list the main routes to be included, outline the steps for implementation, and specify what should be delivered for this task.

  2. Copilot은 "작업: 주 경로를 위한 자리 표시자 페이지 만들기"라는 초안 이슈의 새 버전을 생성합니다.

    이슈 왼쪽 상단에서 버전 드롭다운을 클릭하고 Version 2를 선택하여 새로운 변경 내용을 검토하세요.

  3. Copilot의 수정된 버전을 유지할지, 추가로 편집할지, 더 자세한 설명을 다시 요청할지 검토하여 결정합니다.

  4. 에픽 내 다른 이슈에도 이 프로세스를 반복하면서 필요에 따라 설명을 구체화하고, 작업을 세분화합니다.

  5. 이슈 설명에 만족하면, Create all을 클릭하여 리포지토리에 이슈를 생성합니다.

Copilot이 이슈 트리에 속하지 않는 하위 이슈를 생성하는 경우, 이슈 트리에서 연결 해제할 수 있습니다.

  1. 워크벤치 이슈 트리에서 하위 이슈 옆에 있는 아이콘을 클릭한 다음, Unlink sub-issue를 클릭합니다.
  2. 해당 이슈는 부모와의 연결이 해제되며, 트리의 해당 에픽 아래에는 더 이상 표시되지 않습니다.

다음 단계

이제 프로젝트 이슈를 생성하고 구체화했으니, 이제 각 이슈를 적합한 팀원에게 할당하거나 Copilot에게 맡겨 추가적인 지원을 받을 수 있습니다. Copilot 또는 기여자를 이슈에 할당하는 방법과 Copilot의 에이전트 기능을 사용하여 프로젝트를 계속 계획하고 구현하는 방법에 대해 자세히 알아보려면 GitHub Copilot에게 끌어오기 요청을 생성하도록 요청을(를) 참조하세요.

추가 참고 자료