철학
HanSpec이 추구하는 개발 철학과 설계 원칙
스펙 뷰 주도 개발 (Spec-View Driven Development)
전통적인 소프트웨어 개발에서 요구사항은 종종 자연어 문서에 머물며, 코드와의 연결이 끊어지기 쉽습니다. AI가 코드를 생성하는 시대에는 이 문제가 더욱 심각해집니다. AI에게 "무엇을 만들어야 하는지"를 정확하게 전달하지 못하면, 아무리 뛰어난 AI도 올바른 결과물을 만들어낼 수 없습니다.
HanSpec은 "스펙이 곧 뷰(View)가 되어야 한다"는 철학에서 출발합니다. 요구사항이 단순한 텍스트가 아니라, 구조화된 데이터로서 코드 생성의 입력이 되고, 그 결과를 다시 추적할 수 있는 양방향 연결을 만드는 것이 핵심입니다.
AI 시대 소프트웨어 4대 핵심 원칙
확장 — Marketplace
세계 여러 사람들이 만들어놓은 확장을 사용할 수 있어야 한다.
조합 — Customizing
자신만의 조합을 곁들여서 사용할 수 있어야 한다.
연동 — Linking
외부 시스템과 자연스럽게 연결되어야 한다.
UI적 편리성 — 딸깍
입만으로도 코딩이 가능해야 한다.
1. 확장 — Marketplace
사용자는 자신의 설정뿐만이 아니라, 세계 여러 사람들이 만들어놓은 확장을 사용할 수 있어야 합니다. 개인의 역량에 한정되지 않고, 커뮤니티가 만든 다양한 확장을 활용할 수 있어야 합니다.
- 검증된 템플릿, 에이전트 설정, 워크플로우를 마켓플레이스에서 검색·설치
- 누구나 자신의 노하우를 확장으로 공유 가능
2. 조합 — Customizing
마켓플레이스의 확장을 그대로 쓰는 것이 아니라, 자신의 컨텍스트에 맞게 커스터마이징할 수 있어야 합니다.
- 여러 확장을 조합하여 나만의 워크플로우를 구성
- 설정의 오버라이드와 합성이 자유롭게 가능
3. 연동 — Linking
소프트웨어는 고립되어서는 안 됩니다. 외부 시스템과 자연스럽게 연결되어야 합니다.
- Jira, GitHub Issues — 이슈 트래킹 시스템
- Slack, Discord — 커뮤니케이션 도구
- Google Docs, Notion — 문서 도구
- 각종 봇 — 자동화 시스템
4. UI적 편리성 — 딸깍
입만으로도 코딩이 가능해야 합니다. 복잡한 설정 없이 "딸깍" 한 번으로 동작하는 경험을 제공해야 합니다.
- 입으로만 코딩 가능 — 음성 입력만으로 스펙 정의부터 코드 생성까지
- 구글 스피커를 통해서도 언제 어디서든 코딩 가능 — 키보드 앞에 앉아있지 않아도 개발 가능
- AI가 맥락을 이해하고, 최소한의 입력으로 최대한의 결과를 산출
핵심: 이 4가지 원칙은 결국 "AI를 활용하는 사람의 경험"에 집중합니다. 확장으로 역량을 넓히고, 조합으로 맞춤화하고, 연동으로 고립을 없애고, UI로 진입장벽을 제거합니다.
스펙 중심 설계 원칙
What, not How
요구사항은 "사용자가 무엇을 할 수 있는가"를 정의해야 합니다. "어떻게 구현할 것인가"는 요구사항의 영역이 아닙니다.
예시: "이메일과 비밀번호로 로그인할 수 있다" (O) vs "JWT 토큰을 사용하여 세션을 관리한다" (X)
양방향 추적성 (Bidirectional Traceability)
모든 계층 사이에 양방향 참조가 존재합니다. 요구사항에서 태스크로, 태스크에서 코드로, 그리고 다시 역방향으로 추적할 수 있어야 합니다.
AI Harness
HanSpec은 AI를 대체하는 것이 아니라, AI를 올바르게 활용하기 위한 Harness(마구)입니다.
Harness의 의미: 말(AI)의 힘을 최대한 끌어내되, 올바른 방향으로 이끄는 것. HanSpec은 AI의 생산성을 극대화하면서도, 스펙에 부합하는 결과물이 나오도록 가이드합니다.
이름의 유래
HanSpec(한스펙)은 다중적 의미를 담고 있습니다:
- Han — araHansa (개발자 아이디)가 만든 스펙
- Han — "하나의" 스펙으로 통합된 관리
- Harness — AI를 올바르게 이끄는 Harness
- Spec — 명세(Specification) 중심의 개발