[2/12] Kiro 한국 사용자 모임

​이번 모임 컨텐츠

  1. ​메인 세션
    • ​프론트엔드 엔지니어 관점 Kiro Spec 모드를 제대로 쓰기 위한 시행착오로 배운 것들 (feat: FSD와 BDD) - 최지연 | 브로즈
      • ​FSD(Feature-Sliced Design)
      • ​BDD(Behavior-Driven Development)
  2. ​Kiro 사용자 라이트닝 토크
  3. ​참가자 네트워킹

 

🤖 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 시나리오 → 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️⃣ 추적성 확보

시나리오 → Spec → Feature 폴더 → 코드

흐름이 끊기지 않는다.


📊 Kiro Spec 모드 성능 극대화 전략

1️⃣ Cucumber 시나리오

→ 무엇을 만들지 정의
→ 테스트 코드 자동 생성

 

2️⃣ FSD 구조

→ 어디에 만들지 명확화
→ 올바른 위치에 코드 생성

 

3️⃣ 의존성 명시

→ 무엇을 사용할지 Spec에서 명확히 지정


🧠 결론

AI는 강력하다.
하지만 방향을 주지 않으면 쉽게 길을 잃는다.

우리가 배운 것은 이것이다.

AI를 잘 쓰는 법은
AI를 통제하는 구조를 만드는 것이다.

 

BBD로 “무엇을” 정의하고
FSD로 “어디에” 정의하고
Spec 모드로 “어떻게” 실행한다.

 

속도가 아니라
정확도와 일관성의 문제였다.

그리고 그 해답은
“Spec 구조”였다.