-
Notifications
You must be signed in to change notification settings - Fork 8
공통‐유저 시나리오 & 기능 명세
HyunJoong Kim edited this page Jul 12, 2024
·
24 revisions
-
코드 리뷰를 주고받을 사람을 구하기 어렵다.
-
상대방에 대한 신뢰성을 보장할 수 없었다.
-
코드 리뷰에 대한 가이드라인이 없어 양질의 코드 리뷰를 기대하기 어려웠다.
-
같은 목표인 좋은 코드를 보고 학습하고 싶었다.
사용자 | 사용자 정의 | 사용자 니즈 | 페르소나 |
---|---|---|---|
개발자 | 코드 리뷰에 참여하고 싶은 주니어 개발자 | - 내가 코드를 잘 짜고 있는지 확인받고 싶음 - 코드 리뷰를 같이 할 사람을 구하고 싶음 - 양질의 코드 리뷰를 주고받고 싶음 - 좋은 코드를 참고하고 싶음 - 새로운 기능 사용 방법을 보고 싶음 |
이름: 조희선 나이: 23세 전공: 컴퓨터공학과 개발경험: 현재 웹개발에 관심을 가지고 있고 관련 프로젝트 참여 경험이 많음. 목표: 코드 리뷰 참여를 통해 유의미한 성장을 하고 싶음. |
가수 | 새로운 꿈을 찾아 개발자로 전향하고 싶은 가수 | - 공부 방향성을 제공 받고 싶음 - 동기부여 하고 싶음 - 다양한 코드 스타일을 보고 싶음 - 개발자는 어떻게 성장하는지 알고 싶음 - 비슷한 수준의 사람들끼리 소통하고 싶음 |
이름: 조찬희 나이: 25세 전공: 실용음악과 개발경험: 없음. 목표: 새로운 꿈을 찾아 개발자로 전향하려고 함. 이 과정에서 도움을 얻고 싶음. |
시니어 개발자 | 수많은 주니어들을 코드 리뷰로 성장시켜 주고 싶은 시니어 개발자 | - 내 지식을 주니어 개발자에게 나눠주고 싶음 - 좋은 개발 문화 전파 - 주니어의 시선을 알고 싶음 - 내 지식 상태를 확인하고 싶음 - 초심 다지기 |
이름: 최거짓 나이: 32세 전공: 컴퓨터공학과 개발경험: 모 대기업 개발 7년차 목표: 좋은 개발 문화를 주니어에게 전파하고 싶음. |
페르소나 | 시나리오 | 요구사항 |
---|---|---|
가수 | 1. 조찬희는 개발자가 되기 위해 ‘코레아’ 사이트에 접속한다. 2. 처음으로 코드 가이드라인을 읽고 이를 토대로 코드에 적용해 본다. 3. 코드를 더 발전시키고 싶어 ‘코레아’의 추천랭킹에 올라온 다른 사람의 코드를 참고해 수정한다. 4. 작성한 코드가 괜찮은지 확인받고 싶어 코드 리뷰 받기를 신청한다. 5. 매칭된 상대로부터 코드 리뷰를 받고 반영해 본다. |
- 코드 가이드라인 제공 - 코드 추천 기능 - 추천 랭킹 제공 - 리뷰어/리뷰이 매칭 기능 - 코드 리뷰 받기 신청 기능 제공 |
개발자 | 1. 혼자 프로젝트를 진행하던 조희선씨는 지인 추천으로 ‘코레아’ 사이트에 접속해서 둘러본다. 2. 자신의 포지션을 선택하자 지금 진행중인 미션들이 보였고 그 중 마음에 드는 미션에 참여한다. 3. 신청 마감기한이 끝난후 자신과 함께 코드리뷰를 하는 리뷰이가 매칭이 되었고 방의 미션을 진행했다. 4. 미션을 모두 끝난 후 PR 을 제출하고 제출 완료 버튼을 클릭했다. 5. 다른 사람들도 제출 완료가 된 것을 보고 서로 리뷰를 작성한다. 6. 리뷰 마감 기한이 끝나면 상대방에 대한 피드백을 작성해준다. 7. 받은 피드백 기반으로 성장한다. 8. 자신의 미션중 팀내 상위랭킹 코드를 구경간다. |
- 방만들기 - 방 참여 - 제출 확인 기능 - 리뷰어/리뷰이 매칭 기능 - 리뷰 완료 후 피드백 남기는 기능 - 추천 랭킹 제공 |
시니어 개발자 | 1. 최거짓은 주니어 개발자에게 개발 문화를 알려주고 싶어 ‘코레아’ 사이트에 접속한다. 2. 주니어 개발자들에게 인사이트를 주고 싶어 코드 리뷰 활동을 하고 싶었던 최거짓은 리뷰 요청 게시판에 올라온 글 중 하나를 선택하여 코드 리뷰를 한다. 3. 코드 리뷰 과정 중 새롭고 신선한 시각을 배울 수 있었던 코드의 경우 높은 평점을, 태도가 좋지 않거나 피드백 반영이 제대로 되지 않는 코드의 경우 낮은 평점을 부여한다. 4. 마음에 들었던 리뷰이와는 프로필에 적힌 디스코드 아이디를 보고 연락을 이어나간다. |
- 리뷰요청 게시판 - 리뷰 완료 후 피드백 남기는 기능 - 사용자 프로필 정보 - 연락 가능한 디스코드 정보 등 |
- 요구사항: 방 리스트에서 선택한 특정 방의 상세 정보를 확인하는 기능
- 사용자 스토리: "개발자로서, 원하는 주제의 코드 리뷰에 참여하기 위해 방의 상세 정보를 확인하고 싶습니다."
-
인수 조건:
- Given: 방의 리스트를 보고 있습니다.
- When: 개발자가 특정 방을 선택합니다.
- Then: 해당 방의 상세 정보를 표시합니다.
요구사항 번호 | 요구사항명 | 요구사항기능 번호 | 요구사항기능명 | 요구사항기능내역 |
---|---|---|---|---|
01 | 방 리스트 보기 | 01_1 | 방 정보 표시 | - 방 제목 - 모집 마감일 - 키워드 - 프레임워크/언어 - 상호 리뷰 인원 - 참여 여부 |
01_2 | 방 모집 상태 표시 | 마감 기한이 지나지 않은 방은 “모집중인 방” 로 표시한다.마감 기한이 지난 방은 “종료된 방”로 표시한다. | ||
01_3 | 분야 별 모아보기 버튼 | 분야 별(BE, FE, AN)로 방을 모아볼 수 있는 인터페이스 제공 | ||
01_4 | 방 선택 시 | 방 상세 정보를 표시하는 인터페이스 제공 |
- 요구사항: 원하는 미션을 진행하는 방에 참여 기능
- 사용자 스토리: "개발자로서, 하고 있는 미션에 대한 상호 신뢰성 있는 코드 리뷰에 쉽게 참여하고 싶습니다."
-
인수 조건:
- Given: 개발자가 사이트에 로그인하고, 방의 상세 정보를 보고 있습니다.
- When: 개발자가 해당 방의
참여
버튼을 클릭합니다. - Then: 해당 방에 참여합니다.
요구사항 번호 | 요구사항명 | 요구사항기능 번호 | 요구사항기능명 | 요구사항기능내역 |
---|---|---|---|---|
01 | 방 선택 | 01_1 | 방 상세 정보 표시 | 방 정보 - 제목 - 상호 리뷰 인원 - 인원 제한 -> 일단 상한선 크게 두기 - 모집 마감일 - 리뷰 마감일 - 키워드 -> e.g. TDD, Clean-Code - 설명(Optional) - 프레임워크/언어 - 방장 잔디 온도 - repository 링크 |
01_2 | 방 참여 버튼 표시 | 모집이 마감되면 “마감” 으로 표시한다. 이미 신청을 한 상태면 “신청중” 으로 표시한다. 신청을 하지 않은 상태면 “신청”으로 표시한다. |
||
02 | 방 참여/입장 | 02_1 | 방 참여 성공 | 방 참여 알람 표시 |
- 요구사항: 방에 참여한 사람들을 인원 수에 맞게 매칭하는 기능
- 사용자 스토리: "개발자로서, 참여한 방에서 코드 리뷰 페어를 자동으로 매칭 받고 싶습니다."
-
인수 조건:
- Given: 개발자들이 방에 참여한 상태이고, 모집 마감 기한이 되었습니다.
- When: 참여한 사람들끼리 상호 리뷰 인원에 맞게 랜덤으로 매칭합니다.
- Then: 매칭이 되었음을 표시합니다.
요구사항 번호 | 요구사항명 | 요구사항기능 번호 | 요구사항기능명 | 요구사항기능내역 |
---|---|---|---|---|
01 | 매칭 | 01_1 | 매칭 인원 선별 | 신청한 인원 중 미션을 완료하지 않은 사람을 제외한다. |
01_2 | 매칭 진행 | 상호 리뷰 인원에 맞게 인원을 랜덤으로 분배한다. | ||
01_3 | 매칭 완료 | 매칭이 완료되었음을 알람으로 표시한다. | ||
01_4 | 매칭 결과 확인 | 마이페이지에서 매칭 결과를 확인한다. 매칭에 성공했으면, 리뷰이와 리뷰어를 보여준다. 매칭에 실패했으면, 실패 이유와 실패했음을 표시한다. |
- 요구사항: 코드 리뷰가 종료되면 양방향 피드백을 진행한다.
- 사용자 스토리: "개발자로서, 상호 성장을 위해 리뷰를 한 동료의 피드백을 주고받고 싶습니다."
-
인수 조건:
- Given: 리뷰를 한 번 이상 진행했습니다. (리뷰어) / 리뷰를 한 번 이상 진행했거나 마감 기한이 종료되었습니다. (리뷰이)
- When: 피드백 작성 버튼을 누르고 상대방의 피드백을 작성합니다.
- Then: 피드백 작성이 되었음을 표시합니다.
요구사항 번호 | 요구사항명 | 요구사항기능 번호 | 요구사항기능명 | 요구사항기능내역 |
---|---|---|---|---|
01 | 피드백 | 01_1 | 피드백 작성 버튼 표시 | 리뷰를 한 번 이상 주고 받았을 때 해당 버튼을 표시한다. |
피드백 작성 모달 표시 | 리뷰어 → 리뷰이 - 코드 관련 피드백 - 소프트 스킬 관련 피드백 리뷰이 → 리뷰어 - 소프트 스킬 관련 피드백 |
|||
받은 피드백 보기 | 받은 피드백을 보여준다. |
- 요구사항: 리뷰어, 리뷰이, 코드 각각에 대한 추천 랭킹을 별도로 제공한다.
- 사용자 스토리: "개발자로서, 좋은 코드나 리뷰 문화를 참고하기 위해 추천 랭킹을 보고 싶습니다."
-
인수 조건:
- Given: 추천 랭킹 리스트를 보고 있습니다.
- When: 추천 랭킹 사이드바를 클릭합니다.
- Then: 추천 랭킹 페이지로 이동합니다.
요구사항 번호 | 요구사항명 | 요구사항기능 번호 | 요구사항기능명 | 요구사항기능내역 |
---|---|---|---|---|
01 | 랭킹 | 01_1 | 랭킹 순위 | 받은 피드백이나, 추천 수를 기반으로 랭킹 순위를 보여준다. |