Skip to content

공통‐유저 시나리오 & 기능 명세

HyunJoong Kim edited this page Jul 12, 2024 · 24 revisions

📌 페르소나

문제 상황

  • 코드 리뷰를 주고받을 사람을 구하기 어렵다.

  • 상대방에 대한 신뢰성을 보장할 수 없었다.

  • 코드 리뷰에 대한 가이드라인이 없어 양질의 코드 리뷰를 기대하기 어려웠다.

  • 같은 목표인 좋은 코드를 보고 학습하고 싶었다.


CoReA 페르소나

사용자 사용자 정의 사용자 니즈 페르소나
개발자 코드 리뷰에 참여하고 싶은 주니어 개발자 - 내가 코드를 잘 짜고 있는지 확인받고 싶음
- 코드 리뷰를 같이 할 사람을 구하고 싶음
- 양질의 코드 리뷰를 주고받고 싶음
- 좋은 코드를 참고하고 싶음
- 새로운 기능 사용 방법을 보고 싶음
이름: 조희선
나이: 23세
전공: 컴퓨터공학과
개발경험: 현재 웹개발에 관심을 가지고 있고 관련 프로젝트 참여 경험이 많음.
목표: 코드 리뷰 참여를 통해 유의미한 성장을 하고 싶음.
가수 새로운 꿈을 찾아 개발자로 전향하고 싶은 가수 - 공부 방향성을 제공 받고 싶음
- 동기부여 하고 싶음
- 다양한 코드 스타일을 보고 싶음
- 개발자는 어떻게 성장하는지 알고 싶음
- 비슷한 수준의 사람들끼리 소통하고 싶음
이름: 조찬희
나이: 25세
전공: 실용음악과
개발경험: 없음.
목표: 새로운 꿈을 찾아 개발자로 전향하려고 함. 이 과정에서 도움을 얻고 싶음.
시니어 개발자 수많은 주니어들을 코드 리뷰로 성장시켜 주고 싶은 시니어 개발자 - 내 지식을 주니어 개발자에게 나눠주고 싶음
- 좋은 개발 문화 전파
- 주니어의 시선을 알고 싶음
- 내 지식 상태를 확인하고 싶음
- 초심 다지기
이름: 최거짓
나이: 32세
전공: 컴퓨터공학과
개발경험: 모 대기업 개발 7년차
목표: 좋은 개발 문화를 주니어에게 전파하고 싶음.

📌 사용자 시나리오와 요구사항

CoReA 사용자 시나리오와 요구사항

페르소나 시나리오 요구사항
가수 1. 조찬희는 개발자가 되기 위해 ‘코레아’ 사이트에 접속한다.

2. 처음으로 코드 가이드라인을 읽고 이를 토대로 코드에 적용해 본다.

3. 코드를 더 발전시키고 싶어 ‘코레아’의 추천랭킹에 올라온 다른 사람의 코드를 참고해 수정한다.

4. 작성한 코드가 괜찮은지 확인받고 싶어 코드 리뷰 받기를 신청한다.

5. 매칭된 상대로부터 코드 리뷰를 받고 반영해 본다.
- 코드 가이드라인 제공
- 코드 추천 기능
- 추천 랭킹 제공
- 리뷰어/리뷰이 매칭 기능
- 코드 리뷰 받기 신청 기능 제공
개발자 1. 혼자 프로젝트를 진행하던 조희선씨는 지인 추천으로 ‘코레아’ 사이트에 접속해서 둘러본다.

2. 자신의 포지션을 선택하자 지금 진행중인 미션들이 보였고 그 중 마음에 드는 미션에 참여한다.

3. 신청 마감기한이 끝난후 자신과 함께 코드리뷰를 하는 리뷰이가 매칭이 되었고 방의 미션을 진행했다.

4. 미션을 모두 끝난 후 PR 을 제출하고 제출 완료 버튼을 클릭했다.

5. 다른 사람들도 제출 완료가 된 것을 보고 서로 리뷰를 작성한다.

6. 리뷰 마감 기한이 끝나면 상대방에 대한 피드백을 작성해준다.

7. 받은 피드백 기반으로 성장한다.

8. 자신의 미션중 팀내 상위랭킹 코드를 구경간다.
- 방만들기
- 방 참여
- 제출 확인 기능
- 리뷰어/리뷰이 매칭 기능
- 리뷰 완료 후 피드백 남기는 기능
- 추천 랭킹 제공
시니어 개발자 1. 최거짓은 주니어 개발자에게 개발 문화를 알려주고 싶어 ‘코레아’ 사이트에 접속한다.

2. 주니어 개발자들에게 인사이트를 주고 싶어 코드 리뷰 활동을 하고 싶었던 최거짓은 리뷰 요청 게시판에 올라온 글 중 하나를 선택하여 코드 리뷰를 한다.

3. 코드 리뷰 과정 중 새롭고 신선한 시각을 배울 수 있었던 코드의 경우 높은 평점을, 태도가 좋지 않거나 피드백 반영이 제대로 되지 않는 코드의 경우 낮은 평점을 부여한다.

4. 마음에 들었던 리뷰이와는 프로필에 적힌 디스코드 아이디를 보고 연락을 이어나간다.
- 리뷰요청 게시판
- 리뷰 완료 후 피드백 남기는 기능
- 사용자 프로필 정보
- 연락 가능한 디스코드 정보 등

📌 기능명세

기능 명세1

  • 요구사항: 방 리스트에서 선택한 특정 방의 상세 정보를 확인하는 기능
  • 사용자 스토리: "개발자로서, 원하는 주제의 코드 리뷰에 참여하기 위해 방의 상세 정보를 확인하고 싶습니다."
  • 인수 조건:
    • Given: 방의 리스트를 보고 있습니다.
    • When: 개발자가 특정 방을 선택합니다.
    • Then: 해당 방의 상세 정보를 표시합니다.
요구사항 번호 요구사항명 요구사항기능 번호 요구사항기능명 요구사항기능내역
01 방 리스트 보기 01_1 방 정보 표시 - 방 제목
- 모집 마감일
- 키워드
- 프레임워크/언어
- 상호 리뷰 인원
- 참여 여부
    01_2 방 모집 상태 표시 마감 기한이 지나지 않은 방은 “모집중인 방” 로 표시한다.마감 기한이 지난 방은 “종료된 방”로 표시한다.
    01_3 분야 별 모아보기 버튼 분야 별(BE, FE, AN)로 방을 모아볼 수 있는 인터페이스 제공
    01_4 방 선택 시 방 상세 정보를 표시하는 인터페이스 제공

기능 명세2

  • 요구사항: 원하는 미션을 진행하는 방에 참여 기능
  • 사용자 스토리: "개발자로서, 하고 있는 미션에 대한 상호 신뢰성 있는 코드 리뷰에 쉽게 참여하고 싶습니다."
  • 인수 조건:
    • Given: 개발자가 사이트에 로그인하고, 방의 상세 정보를 보고 있습니다.
    • When: 개발자가 해당 방의 참여 버튼을 클릭합니다.
    • Then: 해당 방에 참여합니다.
요구사항 번호 요구사항명 요구사항기능 번호 요구사항기능명 요구사항기능내역
01 방 선택 01_1 방 상세 정보 표시 방 정보
- 제목
- 상호 리뷰 인원
- 인원 제한 -> 일단 상한선 크게 두기
- 모집 마감일
- 리뷰 마감일
- 키워드 -> e.g. TDD, Clean-Code
- 설명(Optional)
- 프레임워크/언어
- 방장 잔디 온도
- repository 링크
    01_2 방 참여 버튼 표시 모집이 마감되면 “마감” 으로 표시한다.
이미 신청을 한 상태면 “신청중” 으로 표시한다.
신청을 하지 않은 상태면 “신청”으로 표시한다.
02 방 참여/입장 02_1 방 참여 성공 방 참여 알람 표시

기능 명세3

  • 요구사항: 방에 참여한 사람들을 인원 수에 맞게 매칭하는 기능
  • 사용자 스토리: "개발자로서, 참여한 방에서 코드 리뷰 페어를 자동으로 매칭 받고 싶습니다."
  • 인수 조건:
    • Given: 개발자들이 방에 참여한 상태이고, 모집 마감 기한이 되었습니다.
    • When: 참여한 사람들끼리 상호 리뷰 인원에 맞게 랜덤으로 매칭합니다.
    • Then: 매칭이 되었음을 표시합니다.
요구사항 번호 요구사항명 요구사항기능 번호 요구사항기능명 요구사항기능내역
01 매칭 01_1 매칭 인원 선별 신청한 인원 중 미션을 완료하지 않은 사람을 제외한다.
    01_2 매칭 진행 상호 리뷰 인원에 맞게 인원을 랜덤으로 분배한다.
    01_3 매칭 완료 매칭이 완료되었음을 알람으로 표시한다.
    01_4 매칭 결과 확인 마이페이지에서 매칭 결과를 확인한다.
매칭에 성공했으면, 리뷰이와 리뷰어를 보여준다.
매칭에 실패했으면, 실패 이유와 실패했음을 표시한다.

기능 명세4

  • 요구사항: 코드 리뷰가 종료되면 양방향 피드백을 진행한다.
  • 사용자 스토리: "개발자로서, 상호 성장을 위해 리뷰를 한 동료의 피드백을 주고받고 싶습니다."
  • 인수 조건:
    • Given: 리뷰를 한 번 이상 진행했습니다. (리뷰어) / 리뷰를 한 번 이상 진행했거나 마감 기한이 종료되었습니다. (리뷰이)
    • When: 피드백 작성 버튼을 누르고 상대방의 피드백을 작성합니다.
    • Then: 피드백 작성이 되었음을 표시합니다.
요구사항 번호 요구사항명 요구사항기능 번호 요구사항기능명 요구사항기능내역
01 피드백 01_1 피드백 작성 버튼 표시 리뷰를 한 번 이상 주고 받았을 때 해당 버튼을 표시한다.
      피드백 작성 모달 표시 리뷰어 → 리뷰이
- 코드 관련 피드백
- 소프트 스킬 관련 피드백
리뷰이 → 리뷰어
- 소프트 스킬 관련 피드백
      받은 피드백 보기 받은 피드백을 보여준다.

기능 명세5

  • 요구사항: 리뷰어, 리뷰이, 코드 각각에 대한 추천 랭킹을 별도로 제공한다.
  • 사용자 스토리: "개발자로서, 좋은 코드나 리뷰 문화를 참고하기 위해 추천 랭킹을 보고 싶습니다."
  • 인수 조건:
    • Given: 추천 랭킹 리스트를 보고 있습니다.
    • When: 추천 랭킹 사이드바를 클릭합니다.
    • Then: 추천 랭킹 페이지로 이동합니다.
요구사항 번호 요구사항명 요구사항기능 번호 요구사항기능명 요구사항기능내역
01 랭킹 01_1 랭킹 순위 받은 피드백이나, 추천 수를 기반으로 랭킹 순위를 보여준다.
Clone this wiki locally