Kako održavati usklađenost specifikacije, dokumentacije, demonstracije i koda
Ovaj vodič opisuje praktičan tok rada za dugoročno održavanje usklađenosti specifikacije proizvoda, dokumentacije, ponašanja demonstracije i implementacionog rada.
Sažetak
Ovaj vodič opisuje praktičan tok rada za dugoročno održavanje usklađenosti između specifikacije proizvoda, dokumentacije, ponašanja demonstracije i implementacije.
Osnovni problem
Odstupanje proizvoda retko počinje dramatičnom greškom. Obično počinje malim neusklađenostima.
Primeri:
- demonstracija doda novi tok rada, ali se specifikacija nikada ne ažurira
- dokumentacija opisuje funkcionalnost koja se više ne ponaša tako
- kod implementira zgodnu prečicu koja krši pravilo proizvoda
- validacione provere sprovode samo sintaksu, a ne nameru proizvoda
AI može sve ovo dodatno ubrzati ako je tok usklađivanja slab.
Model usklađivanja
Koristite ovaj redosled autoriteta:
- specifikacija proizvoda
- implementacione smernice
- dokumentacija trenutnog stanja
- ponašanje demonstracije ili aplikacije
- testovi i validaciona pravila
Niži slojevi treba da podržavaju više slojeve. Ako su u sukobu, lanac treba namerno ažurirati umesto da podrazumevano pobedi samo najvidljiviji artefakt.
Preporučeni tok rada
1. Počnite od promene u specifikaciji
Ako se menja korisniku vidljiv tok rada ili pravilo proizvoda, prvo ažurirajte odgovarajuću specifikaciju ili smernice.
Koristite:
AGENTS.mdza pravila i tokove rada na nivou proizvodaAGENTS-Implementation.mdza taktička pravila repozitorijuma i isporuke
2. Ažurirajte dokumentaciju trenutnog stanja
Ako promena utiče na ono što trenutno postoji, ažurirajte dokumentaciju koja opisuje trenutno stanje.
Tipični primeri:
README.mddocs/Development.mddocs/Deployment.md- novi ili revidirani sadržaj u learning/wiki/blog sekcijama gde je relevantno
3. Ažurirajte demonstraciju ili implementaciju
Tek kada je namera jasna, treba menjati demonstraciju ili aplikaciju.
To pomaže da se spreči čest obrazac u kome prototip tiho postaje izvor istine.
4. Dodajte ili ažurirajte validaciju
Zatim pitajte šta može automatski da se proveri.
Primeri:
- potpunost lokalizacionih ključeva
- prisustvo obaveznih fajlova
- generisanje metapodataka
- validacija linkova
- testovi specifični za tok rada
Ne može svako pravilo odmah da se automatizuje, ali važna pravila ne bi trebalo da ostanu zavisna samo od pamćenja.
5. Pregledajte u odnosu na specifikaciju, ne samo na izlaz
Kada pregledate promene, nemojte stati na pitanjima:
- da li se pokreće
- da li izgleda dobro
- da li testovi prolaze
Pitajte i:
- da li se poklapa sa dokumentovanim tokom rada
- da li čuva traženu granicu proizvoda
- da li su dokumentacija i opis trenutnog stanja ostali pošteni
Kako postupati sa otkrićima iz demonstracije
Ponekad demonstracija nauči tim nečemu boljem od originalne specifikacije.
To je korisno. Ispravan odgovor je:
- dokumentovati otkriće
- odlučiti da li je promena toka rada namerna
- ažurirati specifikaciju i dokumentaciju
- održati implementaciju usklađenom sa ažuriranom odlukom
Pogrešan odgovor je pustiti da demonstracija tiho pobedi samo zato što već postoji.
Kako postupati sa implementacijom uz pomoć AI
Sa AI-jem ovaj tok rada postaje još važniji, jer asistenti često optimizuju lokalnu verovatnost.
Dobra petlja usklađivanja je:
- napišite ili ažurirajte specifikaciju
- generišite implementaciju
- uporedite izlaz sa specifikacijom
- ažurirajte dokumentaciju ako se trenutno ponašanje promenilo
- dodajte validaciju gde je to praktično
Primer Let Books
Repozitorijum već sadrži koristan lanac usklađivanja:
AGENTS.mdza pravac proizvodaAGENTS-Implementation.mdza taktička pravilaREADME.mdza prikaz trenutnog stanjadocs/za pravila znanja i objavljivanja- dokumentaciju o razvoju i objavljivanju za smernice validacije
Tu strukturu treba namerno koristiti kad god se dodaju nove funkcionalnosti, dokumentacija ili javna objašnjenja.
Kontrolna lista
Pre spajanja značajne promene proverite:
- Da li je pravilo proizvoda ili tok rada jasno dokumentovan?
- Da li se dokumentacija trenutnog stanja i dalje poklapa sa stvarnošću?
- Da li demonstracija ili implementacija odražava nameravano pravilo?
- Da li postoji bar jedan validacioni ili pregledni mehanizam koji štiti promenu?
- Da li bi novi saradnik kasnije mogao da razume tu odluku?
Dalje čitanje
../spec-driven-content-program.md../wiki/sr-Latn/demo-spec-alignment.md../wiki/sr-Latn/spec-driven-development.md../blog/sr-Latn/spec-driven-development-in-let-books.md