Spec‐driven development SDD - ghdrako/doc_snipets GitHub Wiki
- https://martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.html Spec-Driven Development to podejście, w którym przed rozpoczęciem pisania kodu tworzy się szczegółową specyfikację (spec), która staje się głównym źródłem prawdy zarówno dla programisty, jak i dla narzędzi AI wspomagających rozwój oprogramowania. Specyfikacja ta jest traktowana jako dokumentacja wyższej jakości, która kieruje procesem tworzenia i utrzymania funkcji w oprogramowaniu.
Poziomy implementacji SDD
Mozna wyróżnic trzy poziomy implementacji SDD:
- Spec-first: Tworzenie specyfikacji przed rozpoczęciem kodowania, która następnie prowadzi do wygenerowania kodu przez narzędzia AI.
- Spec-anchored: Specyfikacja jest utrzymywana nawet po zakończeniu tworzenia funkcji, służąc jako punkt odniesienia przy dalszym rozwoju i utrzymaniu.
- Spec-as-source: Specyfikacja staje się głównym źródłem kodu, a programista nie ingeruje bezpośrednio w kod, lecz jedynie w specyfikację.
Wszystkie trzy podejścia opierają się na idei, że specyfikacja jest kluczowym elementem procesu tworzenia oprogramowania, jednak różnią się stopniem zaawansowania i integracji z narzędziami AI.
narzędzia które wspierają podejście SDD:
- Kiro: Narzędzie umożliwiające tworzenie specyfikacji w formie zrozumiałej dla AI, które następnie generuje kod na podstawie tych specyfikacji.
- spec-kit: Zestaw narzędzi wspierających tworzenie i zarządzanie specyfikacjami, integrujących się z procesem tworzenia oprogramowania.
- Tessl: Platforma umożliwiająca tworzenie specyfikacji w sposób strukturalny i testowalny, służąca jako główny artefakt w procesie tworzenia oprogramowania.