이번 모임 컨텐츠
- 메인 세션
- 프론트엔드 엔지니어 관점 Kiro Spec 모드를 제대로 쓰기 위한 시행착오로 배운 것들 (feat: FSD와 BDD) - 최지연 | 브로즈
- FSD(Feature-Sliced Design)
- BDD(Behavior-Driven Development)
- 프론트엔드 엔지니어 관점 Kiro Spec 모드를 제대로 쓰기 위한 시행착오로 배운 것들 (feat: FSD와 BDD) - 최지연 | 브로즈
- Kiro 사용자 라이트닝 토크
- 참가자 네트워킹
🤖 AI를 쓰면 방향을 잃는다?
그래서 우리는 “Spec 구조”를 만들었다 (BBD + FSD + Kiro)
AI를 도입하면 생산성은 확실히 빨라진다.
하지만 이상하게도 개발의 방향은 점점 흐려진다.
특히 프론트엔지니어 관점에서 이런 문제가 두드러졌다.
- 백엔드와의 소통 오차 증가
- 문서, Rule 파일, 메신저에 흩어진 요구사항
- 어떤 문서가 최신인지 불분명
- 모델마다 다른 코드 스타일
- AI가 맥락을 잃고 엉뚱한 구조 생성
속도는 빨라졌지만 정확도와 일관성은 떨어졌다.
그래서 우리는 질문을 바꿨다.
AI를 더 잘 쓰는 방법이 아니라
AI가 길을 잃지 않게 하는 구조는 무엇인가?
그 답이 바로
BBD + FSD + Kiro Spec 모드였다.
🚨 AI를 쓰면서 겪은 불편함
1️⃣ 생산성은 빨라졌지만 오차가 커졌다
LLM을 쓰면 코드 생성은 빨라진다.
하지만 다른 부서가 개입하는 순간 문제가 생긴다.
- 요구사항이 애매하면 AI도 애매하게 만든다
- 백엔드 API 스펙이 조금만 바뀌어도 충돌 발생
- 기능은 돌아가지만 “의도와 다른 결과”가 나온다
2️⃣ 문서가 흩어지면 AI도 길을 잃는다
- Rule 파일
- Docs
- Notion
- 메신저
- 영어/한국어 혼합 문서
AI는 다 읽는 것 같지만
사실은 맥락을 제대로 유지하지 못한다.
긴 문서는 일부를 버리고 추론해버린다.
그래서 우리는
문서를 “읽기 좋은 구조”로 정제해야 한다고 판단했다.
🧩 BBD (Cucumber)로 요구사항을 정제하다
우리는 요구사항을
Cucumber 기반 BBD 방식으로 정제했다.
Cucumber는 비즈니스 요구사항을
자연어 기반 시나리오로 작성하는 도구다.
Feature: 로그인 기능
Scenario: 유효한 계정으로 로그인 성공
Given 사용자가 로그인 페이지에 접속한다
When 올바른 이메일과 비밀번호를 입력한다
Then 대시보드 페이지로 이동한다
왜 BBD였을까?
✅ 1. 시나리오 기반 정리
요구사항을 “드라마 대본”처럼 작성한다.
누가 봐도 이해할 수 있다.
✅ 2. 다국어 지원
영어/한국어 혼합 환경에서도 대응 가능.
✅ 3. 태그 시스템
기능별 슬라이스가 가능하다.
@auth @frontend
Scenario: 로그인 성공
✅ 4. 백엔드와의 소통이 쉬워진다
긴 기획 문서 대신
시나리오 단위로 합의가 가능해졌다.
🔗 BBD → Kiro Spec으로 연결
흐름은 단순하다.
- BBD로 요구사항을 정제
- 시나리오 기반으로 Spec 작성
- Kiro가 테스트 코드 자동 생성
즉,
“무엇을 만들지”를 먼저 확정한다.
🏗 FSD가 AI의 가이드레일이 되다

다음 문제는 이것이었다.
AI는 코드를 만들지만
어디에 만들어야 하는지 모른다.
그래서 우리는
FSD (Feature-Sliced Design) 를 도입했다.
❌ 기존 문제
- 버튼이 여러 책임을 가짐
- 레이어 경계가 모호
- AI에게 수정 요청하면 구조가 더 꼬임
- 모델(Claude, Gemini)마다 스타일 다름
✅ FSD 도입 후
- 기능 단위로 폴더 구조 재정의
- 레이어별 의존성 명확화
- 시나리오 → Feature 폴더로 직결
- AI가 패턴을 학습하기 쉬운 구조 형성
특히 중요한 점은 이것이다.
긴 맥락 대신
구조 자체가 맥락이 되도록 만들었다.
📉 실제 효과
- 모델 간 파일 충돌 92% 감소
- 동일 코드 중복 생성 감소
- 코드 위치 오류 감소
- 구조 일관성 유지
모델마다 스타일은 달라도
구조는 벗어나지 않게 되었다.
🎯 왜 BBD + FSD 조합이 강력한가?
1️⃣ 구조적 일치
시나리오 → 기능 구조로 자연스럽게 연결된다.
2️⃣ 점진적 도입 가능
기존 코드 유지하면서
Feature 파일만 추가 가능.
3️⃣ 자동화 가능
- 테스트 자동 생성
- Spec 기반 코드 생성
4️⃣ 팀 협업 강화
비개발자도 Feature 검증 가능.
5️⃣ 추적성 확보
흐름이 끊기지 않는다.
📊 Kiro Spec 모드 성능 극대화 전략
1️⃣ Cucumber 시나리오
→ 무엇을 만들지 정의
→ 테스트 코드 자동 생성
2️⃣ FSD 구조
→ 어디에 만들지 명확화
→ 올바른 위치에 코드 생성
3️⃣ 의존성 명시
→ 무엇을 사용할지 Spec에서 명확히 지정
🧠 결론
AI는 강력하다.
하지만 방향을 주지 않으면 쉽게 길을 잃는다.
우리가 배운 것은 이것이다.
AI를 잘 쓰는 법은
AI를 통제하는 구조를 만드는 것이다.
BBD로 “무엇을” 정의하고
FSD로 “어디에” 정의하고
Spec 모드로 “어떻게” 실행한다.
속도가 아니라
정확도와 일관성의 문제였다.
그리고 그 해답은
“Spec 구조”였다.
'커뮤니티 및 교육 > AWSKRUG' 카테고리의 다른 글
| [3/26] ARIA-gv 워크플로 세션 후기 (1) | 2026.04.01 |
|---|---|
| [3/26] No Edits, No Fiction: Security First, Security Last 세션 후기 (1) | 2026.04.01 |
| [2/25] AWSKRUG Security 소모임 후기 - ZTA & Infra Security (0) | 2026.02.26 |
| [2/11] #container - re:Invent reCap: 컨테이너 서비스 후기 (0) | 2026.02.12 |