1단계 · Sol high먼저 “무엇을 만들지” 좁히기
왜 Sol? 처음에는 정답이 하나가 아닙니다. ‘사진도 올릴까? 연락처는 공개해도 될까? 관리자 승인이 필요할까?’처럼 요구가 부딪히기 때문입니다.
이렇게 요청:
동아리 분실물 게시판을 만들 거야. 학생 개인정보를 최소로 쓰면서, 분실물 등록·목록 보기·찾음 표시만 되는 가장 작은 버전을 2가지로 설계해줘. 각 장단점과 위험도, 꼭 필요한 화면을 알려줘. 아직 코드는 쓰지 마.
통과 기준: 화면 수, 저장할 정보, 로그인 필요 여부, 개인정보 규칙이 한 장으로 정리됨. 안 정해진 것은 ‘결정 필요’로 남김.
다음으로 넘길 때: “무엇을 만들지”가 정해지면 Terra로 갑니다.
2단계 · Luna medium사용자 말에서 기능 후보를 빠르게 묶기
왜 Luna? 학생 30명의 “이런 기능 있으면 좋겠다” 메모는 표현이 제각각입니다. 규칙으로 단순 집계하기보다, 뜻이 비슷한 요구를 빠르게 묶는 1차 독해가 필요해요.
이 30개 학생 의견을 읽고 ‘등록하기’, ‘찾기’, ‘알림’, ‘개인정보 걱정’, ‘기타’로 분류해줘. 각 묶음마다 원문 예시 2개와, 서로 충돌하는 요구가 있으면 표시해줘. 기능을 확정하지는 마.
통과 기준: 빠진 의견 없이 분류되고, 원문 문장이 붙어 있어 사람이 다시 확인 가능함.
파이썬이 더 나은 경우: 이미 체크박스로 받은 설문 결과를 합계 내는 것. 그건 코드가 더 정확합니다.
3단계 · Terra medium기존 프로젝트를 먼저 읽기
왜 Terra? 실제 코딩 전에는 폴더 구조, 실행 방법, 이미 있는 로그인 방식, 테스트가 무엇인지 읽어야 합니다. 파일·터미널·문서를 오가는 일입니다.
이 저장소를 읽고 실행 방법, 화면이 있는 폴더, 데이터 저장 방식, 테스트 명령을 정리해줘. 파일을 바꾸지 말고, 분실물 게시판을 넣을 때 건드릴 파일 후보와 이유만 알려줘.
통과 기준: 실제 실행 명령을 한 번 돌려 보고, 추측과 확인된 사실을 나눠 설명함.
멈춤: 실행이 안 되면 모델 탓으로 넘기지 말고 오류 로그·버전·환경부터 확인합니다.
4단계 · Sol high화면과 데이터의 위험한 빈틈 찾기
왜 Sol? ‘연락처를 글에 그대로 올리면?’ ‘누가 남의 물건을 찾았다고 누르면?’ 같은 예외를 미리 생각해야 합니다. 기능을 예쁘게 만드는 단계보다, 망가질 수 있는 길을 찾는 단계예요.
분실물 게시판 설계를 리뷰해줘. 개인정보 노출, 장난 신고, 사진 파일, 같은 물건 중복 등록에서 생길 수 있는 문제를 찾아. 각 문제마다 가장 단순한 막는 방법과, 이번 첫 버전에서 미뤄도 되는 것을 구분해줘.
통과 기준: ‘나중에 고치자’가 아니라 첫 버전에 필요한 최소 안전 규칙이 정해짐. 예: 전화번호 공개 금지, 관리자가 찾음 표시 승인.
5단계 · Terra high작은 기능 하나씩 구현하기
왜 Terra? 이제는 정해진 설계를 실제 파일에 넣고, 실행하고, 테스트해야 합니다. 한 번에 모든 기능을 만들라고 하면 범위가 커집니다.
분실물 등록 기능만 구현해줘. 입력은 물건 이름·잃어버린 장소·날짜·설명이고, 전화번호는 저장하지 마. 먼저 변경할 파일과 테스트 계획을 보여준 뒤 구현해. 완료 뒤 실행한 테스트 명령과 결과를 알려줘.
통과 기준: 등록→목록에서 보임→빈칸 오류가 보임까지 실제로 확인. 바뀐 파일은 최소 범위여야 함.
다음 기능: 목록 보기, 찾음 표시를 각각 별도 작업으로 반복합니다.
6단계 · Luna medium테스트에서 빠진 경우를 1차로 찾기
왜 Luna? 이미 작성한 요구사항·테스트 목록·오류 문장을 읽고, ‘아직 안 해 본 경우’를 빠르게 제안하는 데 씁니다. 최종 판정자는 아닙니다.
분실물 등록 기능의 요구사항, 코드 설명, 현재 테스트 목록을 읽고 아직 시험하지 않은 경우를 찾아줘. 예: 아주 긴 이름, 미래 날짜, 같은 물건 두 번 등록. 중요도 순으로 10개만 제안하고 이유를 한 줄씩 써줘.
통과 기준: 제안이 실제 요구사항과 연결됨. Terra가 그중 필요한 테스트를 코드로 추가합니다.
7단계 · Terra high버그를 재현하고 고치기
상황: ‘찾음 표시’를 누르면 다른 사람이 올린 글도 사라진다는 제보가 왔습니다.
이 버그를 먼저 자동 테스트로 재현해줘. 원인 가설을 코드 위치와 함께 설명하고, 가장 작은 수정으로 고쳐. 수정 전/후 테스트 결과와 남은 위험을 알려줘. 실제 배포는 하지 마.
통과 기준: “고쳤어요”가 아니라, 수정 전 실패 테스트와 수정 뒤 통과 테스트가 둘 다 있음.
Sol로 올릴 때: 고친 뒤에도 비슷한 권한 버그가 반복되거나 로그인·DB·API 여러 곳이 얽히면 Sol high로 원인 지도를 다시 만듭니다.
8단계 · Sol high 또는 max배포 전 독립 리뷰
왜 Sol? 만든 사람이 자기 코드를 보면 놓치는 부분이 있습니다. 여기서는 새 기능을 더 만들지 말고, 요구사항과 위험을 기준으로 반례를 찾게 합니다.
아래 요구사항, 변경 diff, 테스트 결과를 독립적으로 검토해줘. 개인정보·권한·삭제 동작·사진 업로드·모바일 화면에서 빠진 경우를 찾아. 확실한 문제, 확인이 필요한 의심, 단순 개선 제안을 나눠서 써. 코드는 수정하지 마.
통과 기준: 검토 의견마다 근거 파일/테스트가 있고, Terra가 필요한 것만 고친 뒤 재테스트함.
max는 언제? 실제 개인정보, 결제, 권한, 큰 DB 변경처럼 실수 비용이 큰데 근거를 여러 번 대조해야 할 때 검토 후보로만 고려합니다. 그래도 사람 승인을 대신하지 못합니다.
9단계 · Terra medium배포 체크리스트 만들기
왜 Terra? 마지막은 멋진 설명보다 실제 확인 목록이 중요합니다. 다만 배포 버튼을 누르는 권한은 사람에게 남겨 둡니다.
이 앱을 배포하기 전 체크리스트를 만들어줘. 환경변수 값은 출력하지 말고 존재 여부만 확인해. DB 백업, 테스트, 되돌리는 방법, 배포 뒤 로그인·등록·찾음 표시 확인 순서를 적어줘. 실제 배포 명령은 실행하지 마.
통과 기준: 사람이 한 줄씩 체크할 수 있고, 실패하면 되돌리는 방법이 적혀 있음.