This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
Tuesday, 11 November 2025
Vuosien mittaan olen lukenut / kirjoittanut satoja ominaisuuksia koskevia sääntöjä, . jotkin niistä olivat loistavat,; useimmat olivat verisen hirvittävät.. Hyvän ja huonon sääntöjen välinen ero ei ole длинasta tai muodollisuudesta vaan siitä, auttaako se itse asiassa kehittäjiä rakentamaan asianmukaista asiaa ajamatta heitä hulluiksi prosessissa,
Tässä on jotakin, mitä olen oppinut Microsoftissa ja joka muutti tapani ajatella erityispiirteitä. Luettelo ei ole Raamatun teksti. Kuten mikä tahansa väline, käytätte sitä työn tekemiseksi. lisäätte niin paljon yksityiskohtia kuin olette,, sidosryhmätM SK3 ja kehittäjät tarvitsevat päästämään eteenpäin . sitten mukautelette sitäMSC5 muuttakaan sitäCSK6 ja ajantasaistetaan sitä featuren kehittyessä
Suhtaudu asiakirjaan kuin pyhään asiakirjoon, jota ei voida muuttaa, ja te rakennatte väärän asian täysin.
Tämä agile-lähestymistapa määritelmiin luo erityisen haasteen: jos ominaisuus voi kehittyä, kun olette oppineetM SK1 miten te sen arviotte?
Yleisesti ottaen olen noudattanut periaatetta, jonka mukaan olen työskennellyt urani aikana.; Kaikki prosessit, olivatpa ne sitten tarkistuksia tai kertomuksia, /, raporttien täyttäminen /, jopa kooditarkastukset jne.
Periaatteessa; feature Spec on keskusteluväline, jolla parannetaan ominaisuuksia NOT a dogmatic
Agile ei ole ”’” – tai ”-” - tai ”Ups and sticky notes“ – tai “.”. talousstrategia oikean asian rakentamiseksi epävarmuuden alla. Eläimet elävät tässä epävarmuudessa , joten niiden on oltava myös joustavia Agile Manifesto, tehkää siitä se, miten te ajattelette kaiken rakentamista, . ajatelkaa sitä mallina tuotekehityksen suunnittelulle.
Jokainen ketju lyhentää “idea” ja “käytännöllinenM SK3 välistä suhdetta.
Tarkastetaan täsmennystä jokaisen loopin jälkeen. Muutospäiväkirja on tarina siitä, mitä olette oppineet.
Yksittäinen tärkein periaate määritelmien kirjoittamisessa: Aloita aina ongelmasta, ei ratkaisusta .
Tämä malli on yksinkertainen:
I'on nähnyt lukemattomia täsmennyksiä, jotka nousevat suoraan "\ käyttäjä klikkää X-puppua, joka kutsuu API:ta Y \ "\ selittämättä koskaan sitä, mitä käyttäjä itse asiassa yrittää saavuttaa .\ Tämä on arse\M SK4\ taaksepäin.\ täytäntöönpanon yksityiskohtien pitäisi kulkea luonnollisesti ongelman ymmärtämisestä\
Muistakaa, että kehittäjät ovat erityispiirteitä rakentavia laitteita aidosti (koodi on väline, jolla tarjotaan erityispiirteetM SK1 kertoa heille mitä on tehtävä NOT miten se tehdään. jos teillä on UX-henkilö, joka on vastuussa UX:n erityismääräyksestä, silloin devin ja heidän pitäisi työskennellä yhdessä käyttäjälle , joka voi muuttua ja jokaisella on valtuudet vaatia muutosta ”(” -määräyksessä “)” - ja sen tarkistamista koskevan prosessin avulla testata ajatus“.”
flowchart TD
A[Feature Idea] --> B[Spec / Proposal]
B --> C[Visuals: Flowcharts, Figma, UI Mockups]
C --> D[Implementation]
D --> E[Internal Testing]
E --> F[Feedback Loop]
F -->|Refine| B
F -->|Ship| G[Release to Users]
G --> H[User Feedback]
H -->|Iterate| B
Ennen kuin kirjoitatte yhden sanan täytäntöönpanosta, teidän on vastattava yhteen kysymykseen. Miksi?
Miksi me rakennamme tätä??, mitä ongelmaa se ratkaisee??, ketkä hyötyvät siitä? ?, jos pystytte vastaamaan näihin kysymyksiin selkeästi?
Hyvä tarkistus alkaa :
Tämä on se paikka, jossa suurin osa täsmennyksistä menee tits-upM SK1 liian epämääräinen ja kehittäjät jäävät arvaamaan ; liian yksityiskohtainen ja te' mikrohallinnatte täytäntöönpanoa koskevia valintoja, joita kehittäjät ovat paremmin päteviä tekemään
Trick on määritellä Mitä on tapahduttava ilman Miten tapahtuu. Esimerkiksi
HyväKun käyttäjä yrittää toimittaa lomakkeen, jossa on virheellisiä tietoja, hän saa välittömästi palautetta siitä, mitkä alueet tarvitsevat korjausta.
Huono: "Formin jättämisessä, jättämispuitteellaM SK3s Click-käsittelijällä pitäisi kutsua validateFormiMSC4, joka toistaa lomakkeen kauttaFields-arvojen tarkastuksessa kutakin aluetta koskevien sääntöjen vastaisen arvon.
Ensimmäinen kertoo minulle, millainen käyttäjäkokemus pitäisi olla; Voin panna sen täytäntöön React-ohjelmissa, VueM SK2 vanilla JavaScript , tai karrier pigeon riippumatta siitä, mitä se merkitsee–. Toinen edellyttää toteutus yksityiskohtia, jotka saattavat olla täysin vääriä tekninen ryhmälle tai ottaa käyttöön tarpeettomia rajoituksiaMSC5 Eri ihmisillä on eri vahvuudet usein henkilö, joka kirjoittaa tarkistuksen ei oleMST6 ei teknistä M ST7 eiM st8 ei henkilö, jolla kirjoitetaan koodiaMst9 kuvitelkaa olevanne taksikuljettaja, jota ei kerrota määräajasta mutta jokaista vaihtelua ei tapahdu.
## Käyttäkää kuvia / etenemissuunnitelmat; Saavuta tavoitetta
Muistakaa teidät'pyritätte saamaan ihmiset ymmärtämään, mitä te ehdotatteM SK1tarkoitan teille.Jotkin ryhmät sisältävät Figman asiakirjoja (kertomustaulua /ux 'tarkistusta') tai kuvauksia UI:stä, jonka designer on rakentanut varmistamaan, että teidät ymmärretään. Käyttäkää kaikki tarvittavat työkalut
Wikin mermaid-ohjelmassa .js-diagrammat ovat GREAT tälleM SK1 ; muistaa, että AI on loistava luomassa näitä myös tekstin kuvauksen perusteella
Jotkut ihmiset osaavat analysoida kirjallisia kuvauksia, jotkut tarvitsevat kuvia ja elokuviaM SK1
flowchart LR
A[User on Profile Page] --> B[Click 'Add Profile Picture']
B --> C[Upload Dialog Opens]
C --> D[Select Image File]
D --> E[Preview + Crop Options]
E --> F{User Confirms?}
F -->|Yes| G[Profile Updated with New Picture]
F -->|No| C
G --> H[User Sees Updated Profile]
Jos on yksi asia, jonka olen oppinut, se on tämä. Käyttäjät löytävät keinoja murtaa se, mitä ette ole koskaan kuvitelleet
Hyvässä määritelmässä ei ”'” vain kuvata onnellista tietä, vaan siinä otetaan huomioon“;” ja “:”.
Te ette' tarvitse ratkaista kaikkia näitä yksityiskohtia, mutta teidän on tunnustettava, että ne ovat olemassaM SK2 Mikään ei häiritse kehittäjiä enempää kuin todeta täytäntöönpanon puolivälissä, ettei kukaan ole miettinyt sitä, mitä tapahtuu, kun ulkoinen API on heikentynyt .
MYÖNTEISistä se'on todennäköistä, että neM SK1 jäävät tämän tarkistuksen soveltamisalan ulkopuolelle. Teillä voi olla 'tekniset tarkistuksetMSC4, jotka antavat yksityiskohtaiset täytäntöönpanoa koskevat yksityiskohdat ja tekniset ratkaisut.
Niitä ei pidä ”'” –kodin tarkastelun yhteydessä käsitellä jälkikäteen – jos on olemassa erityisiä turvallisuusvaatimuksia, ”(“ –todentamisasteet”, “,” –tietoen salaus, „,” – tilintarkastuksia koskevat merkinnät, ” )” – täsmentää niitä ”Specissä”, ”M SK6”
Vastaavasti, jos suorituskykyrajoituksia on, jotka ovat tärkeitä M SK1Tämä haku on saatava päätökseen enintään 200ms:n alapuolella, kun tietojenkokonaisuus on 1 miljoonan rekisterin arvoinen
Tässä on malli, jota käytän ominaisuuksien määrittämiseen.
Yksi tai kaksi kohtaa, joissa esitetään yhteenveto siitä, mitä me rakennamme ja miksi se on tärkeää.
Mikä on tämänhetkinen tilanne?What'What prompted this feature? What have users been asking for? What would help us make more money?
Sain sen—let’s laajentakaa osuuttanne käyttäjäkertomukset ”’” ei ole vain luettelo, vaan elinkelpoinen karta siitä, miten erilaiset käyttäjät toimivat järjestelmän kanssa.
Käyttäjäkertomukset eivät ole pelkkiä laatikkoja, ne ovat tapa ilmentää todellisia ihmisiä ja niiden päämäärät. Te tiedätte koko tämän asian rakentaminen. Kun kutakin tarinaa sitotaan henkilöön, pakotetaan ajattelemaan todellisia käyttömalleja, motivaatioita ja rajoituksia.
Loppujen lopuksi henkilöt ovat tervetullut tapa tunnistaa, miten ohjelmistonne voi palvella erilaisia käyttäjätyyppejä. Kenties Alex tarvitsee taulukon turvallisuuskysymyksiä varten omassa ominaisuuksissanne, kenties Morgan tarvitsee luvansa rajoitettuja, jotta hän ei murtaisi mitään jne.
Kuten [persona / käyttäjän tyyppi] Haluan [tehdä jotain] Jotta [Olen saavuttanut jonkin tavoitteen
Euroopan unionin “siihen lausekkeella suojataan rakennuksia koskevia ominaisuuksia, joita kukaan ei tarvitse.
| Persona | tarina SSK2 Miksi se on tärkeää |
|---|---|
| Alex Hallinto, Haluan antaa tehtävät ja valtuudet niin että Voin varmistaa tietoturvan ja -vaatimusten noudattamisen. M SK1 Estää luvattoman pääsyn ja pitää järjestelmän uskottavana | |
| Jamie Tavallinen käyttäjä, Haluan yksinkertaisen taulukon niin että Voin nopeasti nähdä tärkeimmät tiedot ilman, että olen hämmästynyt. M SK1 Vähentää joustavuutta ja lisää hyväksyntää . | | |
| Priya Sähköinen käyttäjä, Haluan luoda räätälöityjä työvirtoja niin että Voin automatisoida toistuvia tehtäviä ja säästää aikaa | |
| Morgan Uusitulija, Haluan ohjattuja opastuksia ja työkaluohjeita niin että Voin oppia järjestelmästä ilman, että tunnen menettäväni. M SK1 Parantaa paikan päälläoloa ja säilyttämistä . ≥ | |
| Taylor ( Stakeholder ) | sidosryhmät, Haluan, että minulle lähetetään säännöllisesti raportteja niin että Voin seurata edistymistä ilman, että tallennetaan. |
Tämä on lihanne ja perunanne. Jakakaa se toiminnallisella alueella. Käyttäkää alaotsakkeita vapaasti . Luottakaa mallit tai moitteet, jos niissä on niitäM SK3 kuva on tuhannen sanan arvoinen
Jokaisen vaatimuksen osalta vahvistetaan
Toimivuustavoitteet, turvavaatimuksetM SK1 käyttökelpoisuusnormit, ohjelmistojen tukeminen / Älkää luulko, että nämä ovat itsestään selviäMSC6 Joissakin joukkueissa ne voivat olla TOisia TEAMejaMST7 mutta etteMst8 unohda keskittymistäänM st9 Jos yhdestä pyörän osasta tulee vesifalli, te olette menettäneet valmiutenne määritelmän mukaanMstr10
Tämä kohta on aivan yhtä tärkeä kuin se, mitä te ette tee tässä tarkistuksessa.
Miksi tämä on tärkeää:
Esimerkkejä tavaroista, jotka eivät kuulu soveltamisalaan:
Jos joku väittää, että ulottuvuuskohdan olisi kuuluttava soveltamisalaan, -:n ja -:n väliseen ulottuvuuteen, että ' on keskustelu, joka kannattaa käydä ennen kehityksen alkamista., ei ole täytäntöönpanon puolivälissä.
Olkaa rehellisiä siitä, mitä ette tiedä.
Mitkä muut järjestelmät/teamitM SK1features riippuvat siitä? Mitä on oltava valmiina, ennen kuin kehitys voi alkaa
Miten QA testaa tämän?? Niiden pitäisi olla konkreettisiaM SK1 testattavissa olevat lausunnot . Bonus-pisteet, jos ne ovat kirjoitettu sellaisessa muodossa, että niistä voisi tulla automaattisia testejä.
Tässä on jotain sellaista, josta ei puhuta tarpeeksi. Specsilla voi olla myös virheitä.
Tarkistusvirhe on silloin, kun itse määritelmä on väärä.. Se voi olla ristiriidassa sen kanssa. , tai se täsmentää käyttäytymistä, joka on teknisesti mahdoton., vai se ratkaisee täysin väärän ongelman.. Nämä ovat petollisia, koska kehittäjät saattavat panna täytäntöön sen, mitä ' on kirjoitettu ja silti saada aikaan tuotteen, joka ei toimi asianmukaisesti.
Kun olette löytänyt täsmällisen virheen kehittäjänä, teillä on muutamia vaihtoehtoja:
Tämä on lähes aina oikea vastaus.
Lähettäkää selkeä viesti kaikille, jotka omistavat täsmennyksen:
Tehkää tämä kirjallisesti.
Joskus saatetaan houkutella rakentamaan vain sitä, mikä on määritelty, vaikka tiedätte sen. DON'T älkää tehkö tätä
Olen nähnyt kehittäjiä panemaan täytäntöön säännöt, jotka he tiesivät olevan virheellisiä, koska QA hylkää ne tai käyttäjät valittavat niistä.
Poikkeus on se, että jos te olette esittäneet kysymyksen, jos teille on kerrottu jatkamaan asian käsittelyä, jos olette esittänyt sen kirjallisesti ja jos teette niin kirjallisesti.
Jos olette vakuuttuneita siitä, että tiedätte, mitä täsmennyksessä sanotaan, voi olla kiusallista korjata se itse. Tämä on hienoa ilmeisten tekstien tai muotoilun osalta, mutta olennaisissa muutoksissa on saatava osapuolten suostumus.
Älkää koskaan muuttako vaatimuksia hiljaisesti. SeM SK1 on se, miten päädytte rakentamaan ominaisuuksia, joita kukaan ei ole pyytänyt
Paras lähestymistapa on estää erityisvirheet ensisijaisesti:
Joidenkin mielestä yksityiskohtaisempi on aina parempi.
Jos tarkistus muuttuu sota- ja rauhaksi, te jokoM SK1
Päinvastoinen ongelma: M SK1Raportointijärjestelmän rakentaminen ." OikeellistaMSC3 Kiitoksia siitä. IMST5Kyllämme vain jotakin ja meMSP6katsemme, vastaako se sitä, mitä olette omassa päässänne pitäneet.
Jos tarkistuksenne voidaan ottaa kokonaisuudessaan huomioon yhdessä lauseessa,
" Tarvitsemme taulukkoa, " ei ole,' se ei ole välttämätöntä,; se on,M SK4, ennakkoluulteinen ratkaisu.. Saattaa olla, että tarvitsette taulukon, mutta ehkä tarvitsette jotain aivan muuta.. Aloittakaa ongelmasta.
Vaatimukset, jotka muuttuvat päivittäin ovat't vaatimukset; neMSC2kaosM SK3 Jos asiat muuttuvatkin niin nopeastiMST4 ette ymmärrä ongelmaa tarpeeksi hyvinMSV6 pysähdyksestä ja tee lisää keksintöjä ennen kuin kirjoitatte sääntöjäMSS7
"Meidän kanssaan on oltava mukana, mutta voisimme myös olla mukana, ,Ei ..."Eei .Eivät me voi olla mukana't.Kaikilla ominaisuuksilla on hintansa,.Jos haluatte lisätä jotakin uutta, kirjoittakaa sille erillinen nimitys ja asettakaa se asianmukaisesti etusijalle.
Tämä on ajattelutavan muutos, joka on muuttanut tapaa, jolla kirjoitan tarkistuksia: Suhtaudu erityistarkoituksiinne aivan samalla tavalla kuin kohdellaan lähdekoodia.
Tarkistusten pitäisi olla versiovalvonnassa kodin rinnalla.. Tarkastellaan niitä. . Seurataan muutoksia.. kirjoitetaan merkityksellisiä sitoumusta koskevia viestejä ajantasaistamisen yhteydessä.
Microsoftissa, säilytimme tarkistuksen samat varastot kuin koodin. Kun tarkistus muutettiin, , se käytti samaa uudelleentarkasteluprosessia kuin koodM SK3 Tämä ei ollutMSC4ei byrokratiaa ; se varmistai, että kaikki ymmärtävät, mitä on muuttumassa ja miksi–. Jopa Wordin tarkistusten seuranta on parempi kuin mikään muukaan.
Kuten koodi tarvitsee uudelleenfactorointia, niin myös erityiset säännöt. Kun opitaan enemmän täytäntöönpanon aikanaM SK2 erityissäännön pitäisi kehittyä heijastamaan tätä oppimistaMSC3
löydettiin parempi tapa ratkaista ongelma? Tarkastetaan tarkistuksen mukaan uutta lähestymistapaa ja selitetään, miksi olette muuttanut suunnan.
Kehitykselle jälkeisen tarkistuksen pitäisi olla tarkempi kuin kehityksen edeltävän tarkioituksen.. Jos se ei ole ', olette , ja te olette jättänyt mahdollisuutenne dokumentoida, mitä olette oppineet.
Tarkistus ei ole't, ", toteutettu", kun kehitys on aloitettu,, se', se on vain ', valmis', jolle se on alkanut. Se', joka on saatu päätökseen, kun ohjelmia laaditaan ja niistä tulee kunnossapitomenettelyä., kunnes siihen asti,, se' on elinkelpoinen asiakirja, joka kehittyy ongelman ymmärtämisen kanssa.
Tämä ei tarkoita, että tarkistuksen olisi muututtava päivittäin.1 Tärkeimmät muutokset vaatimuksiin edellyttävät keskustelua ja yhteisymmärrystä.2 Mutta selvennykset.3 lisäesimerkit.4 äskettäin löydettyjä reittitapauksia on kaikki liitettävä takaisin tarkitukseen, kun ne löydetään.5
Ajatelkaamme asiaa seuraavasti:: jos ette tekisi' jätä vanhentuneita huomautuksia kodessa , jätettäkö vanhentuneet tiedot eritelmissäM SK4
Tässä on jotakin sellaista, josta ei keskustella tarpeeksi. olette perustana sille, mikä tulee sen jälkeen.
Testisuunnitelmat: QA kirjoittaa testitapauksia, jotka perustuvat erityismääräykseenM SK1 Jos erityismääräys on vanhentunut , testit testaavat väärää asiaa. Saatte virheellisiä myönteisiä merkintöjä |(testit ohittavat, mutta merkki on murrettu | ) tai virheelliset kielteiset merkinnät
Asiakirja: käyttäjien asiakirjat, API-ohjelmia koskevat osiotM SK2 avustusjärjestelmät , käytännöllinen RAG AI -tukivälineenne - ne kaikki alkavat täsmennyksestä \ . Jos täsmenyksessä kuvataan sellaisia ominaisuuksia, joita ei ole \ ' tai puuttuu sellaisia näkökohtia, jotka ovat suoritettuja , osat ovat virheellisiä jo ensimmäisestä päivästä lähtien
Tuleva kehitys: Kun joku tarvitsee kuuden kuukauden kuluttua laajentaa järjestelmää, hän lukee tarkistuksen ymmärtääkseen, miten se toimii.
Matkustus: Uudet työryhmän jäsenet oppivat järjestelmän osittain lukemalla tarkistuksiaM SK1 Vanhentuneet tarkistukset opettavat heille väärää ajattelumallia siitä, miten ominaisuudet toimivat
Tämän vuoksi tarkistuksen on pysyttävä ajan tasalla.
Microsoftissa , käsittelimme tarkistuksen päivittämistä yhtä tärkeällä tavalla kuin koodin päivittämistäM SK1 Tarkistustarkistuksia tarkasteltiin uudelleen . Ne tarkistettiin kodin ohella. Kun jokin ominaisuus muutettiinMSC4 tarkiston päivittäminen ei ollutMST5ei valinnaistaMSSK6 se oli osa määritelmää
Jos koodia muutetaan, mutta ei tarkisteta täsmennystä, olette luonut TECHNICAL DEBTin. Tuleva työ hidastuu, koska kukaan ei tiedä, mikä nykyinen tilanne on.
# Specin ja täytäntöönpanon välinen suhde
Tässä on se, mitä nuoremmat kehittäjät eivät useinkaan ymmärrä Tarkistus ei ole totuuden lähde.
Se kertoo teille, mitä olette rakentamassa.
Tämä tarkoittaa:
Erilaiset ihmiset tarvitsevat eri asioita kuin erityispiirteet:
Johtajat - Halua tietää yrityksen arvon ja suunnitellun aikataulun
Tuotteiden hallinnoija - On ymmärrettävä, miten se sopii laajempaan tuotestrategiaan ja etenemissuunnitelmaan.
Kehittäjät - Tarvitaan riittävästi yksityiskohtia, jotta voidaan panna täytäntöön asianmukaisesti ilman, että heille kerrotaan, miten heidän tehtävänsä on hoidettava
QA - Heidän on tiedettävä, miten se toimii.
Designerit - On välttämätöntä tietää, millainen käyttäjäkokemus pitäisi ollaM SK1 Anna heille käyttäjäkertomukset ja vuorovaikutusvirrat . Vielä parempi on, että he kehittävät rinnakkain UX-tarkistusta koskevat tarinataulut samalla kun he työskentelevät dev:n kanssa.
Hyvä tarkistus palvelee kaikkia näitä yleisöjä ilman, että niitä poltetaan. Käyttäkää osia ja rakennetta, jotta ihmiset voivat lukea, mitä heille on tärkeääM SK1
Ennen kuin ilmoitatte tehneenne tarkistuksen, kysykää itseltänne:
"Me olemme kuitenkin agileita, !Me emme tarvitse ',!",I hear this a lot.
Agile ei tarkoita, että "ei suunnittelua, " tai "ei dokumentointia,." Se merkitsee sitä, että muutoksiin reagoidaan suunnitelman mukaisesti. määritelmät ovat työkaluja, eivät sopimuksiaM SK1 Te luotte ne riittävän yksityiskohtaisesti aloittaaksenne, ja kehitatte niitä sen jälkeen, kun olette oppineetM SK1 Minun '\Agile-matkani \ '\ oli vieläkin äärimmäisempi ♪ ;\ koska te olette super hyviä määritelmissänne jopa ne muuttuvat entistä agilemmiksi ♪,\ te haluatte mukautua ja parantaa sitä, mitä ryhmänne haluaa ♪
Peruseellinen ero on: 't muoto tai pituus, ;, se, sen ajattelutapa ja prosessi
Vesivuoren laji:
Agile Specs:
Waterfall-lähestymistapa edellyttää, että voitte täsmentää kaikkea aivan oikein ennen kuin kirjoitatte koodin riviä.. Se, että ' on kaunis kuvitelma,., todellisuudessa, osoittaa puolet vaatimuksista, kun käyttäjät todella kokevat sen.., sitä koskeva suunnitelma.
## Feedback Loops ovat kaikki
Älykkäiden määritelmien parissa, palautusketjut ovat paras ystävänne. TeM SK2 keräätte jatkuvasti tietoja ja ajantasaistetaan määritelmää
Kehittäjän palaute: "Alkuperäinen lähestymistapa voittaa' ei toimi X:n vuoksiM SK3 IMSC4m ehdottaa Y:tä sen sijaanMST5 \MST6 Tarkistetaan tarkistusta, joka heijastaa uutta lähestymistavaa ja miksi se on muuttunutMst7 Loppujen lopuksi oletteMSSK8kaikkein ensimmäinen \ MST9\ käyttäjä\ Mst10\ ominaisuuksistaM st11\ Jos se näyttää naurettavana\ M st12\ pc-virheestä ja saa sen järjestetyksi \ mst13\ vaikka pysäyttäisitte minkä tahansa sprintin \ /\ piston jne. tehdäkseen sen \ ...\don\ Mtst16\ ett odota\ M t17\
käyttäjän palautus: Yritä toimenpidettä reaalikäyttäjien kanssa. Pivotti määräys sen perusteella, mitä olette oppineet.
täytäntöönpanon palaute: Kun rakennatte,M SK1 havaitsee etutapaukset, , tekniset rajoitukset,, tai paremmat lähestymistavat,
QA:n palaute: "Lausekkeessa sanotaan X, mutta siinä ei otettu huomioon Y- skenaariotaM SK3
Jokainen näistä palauttamisketjuista tekee merkinnän paremmasta. Kehityksen sprintin jälkeen annetun merkinnan pitäisi olla tarkempi kuin ennen sitä annetun.
Tämä on syy siihen, että vesifallin tarkistukset epäonnistuvat usein.
Suuri asia, palaute yhtä pian kuin on mahdollista. se 's miksi olen rakentanut LLMApi se auttaa rakentamaan BITin ja käyttämään väärennettyjä tietoja hyödyllisen palautteen saamiseksi.
Tässä on se, mikä herättää perinteisiä hankejohtajia levottomuuteen. se' on täysin hyvä, jos alkuperäisessä määritelmässä on puutteita
Luetteloa avoimet kysymykset näkyvästi. Olkaa selvillä siitä, mitä ette ole vielä selvittäneet
Tämä ei ole'ei epävarmuus; seM SK2 rehellisyyteenne . ette tiedä kaikkea etukäteenMSC5 Se, että teette niin, merkitsee vain sitä, että kirjoitatte luottamuksellisesti virheelliselle ratkaisulle vahvistetut vaatimukset
Aloitetaan :
Sitten täyttäkää aukot, kun olette oppineet.
Hyväksy tämä nyt: omien sääntöjenne muuttuvat kehityksessä. Jos se ei ole totta, joko teillä on uskomattoman paljon onnea tai ette opi mitään.
Muutoksia, joita olisi odotettava:
Jokaisen muutoksen pitäisi olla:
':n versiohistoriasta tulee pöytäkirja siitä, mitä olette oppineet.
Agile-lähestymistapa voi epäonnistua, jos unohdetaan yksi ratkaiseva asia: "muutos, " ei, M SK2 ei tarkoita
Huono agile-tarkistus:
Hyvä agile-tarkistus:
Luettelo on elinkelpoinen asiakirja, mutta se ei ole kaaos. Se kehittyy oppimisen perusteella eikä järjettömyydellä.
Ihminen ei koskaan tee mitään, mitä haluatte, ja kutsua sitä Ihmiseen.
Se' on dynaaminen prosessi, jolla on pyrittävä rakentamaan parhaat asiat mahdollisimman nopeasti. Agile Manifesto ”':n ensimmäinen periaate”
"Ensisijaisena tavoitteenamme on tyydyttää asiakkaita varhaisen ja jatkuvan toimituksen avulla arvokas ohjelmisto."
Se ei ole järjetöntä, koska te pidätte tunteesta.
Kysymys ei ole:', ", "mikä yksityiskohtainen määräys pitäisi olla?", "What do we need to know to start building confidently" ( mitä meidän on tiedettävä, jotta voimme aloittaa rakentamisen luottavaisesti)
Joidenkin ominaisuuksien osalta, jotka saattavat olla:
Muille se voi olla:
Lisätä yksityiskohta, jos epävarmuus on olemassa. Jos kaikki ovat samaa mieltä siitä, miten jotain pitäisi toimia, ette tarvitse kirjoittaa sitä huolestuttavan yksityiskohtaisesti.
Mutta loppujen lopuksi se's M SK1on tarpeeksi yksityiskohtaista, jotta voidaan aloittaa palautusketju
## Esitykset ja AI: Aloitetaan nopeasti
Älkää harkitseko liikaa alkuperäistä määräystä.
Käytöön mallia: Pyydän perustavan mallin, johon sisältyvät keskeiset osat. (Ongelma, , Ratkaisu,, Laajuudessaan,, Laajemmasta laajuudesta,M SK5 Toteutuneet kriteerit,MSC6 Täytä ne, mitä tiedätte,MST7 jättäkää osat tyhjäksi, jos ette tiedä niitä.
Yksinkertainen malli voisi olla:
# [Feature Name]
## Problem
[What's broken? What pain exists?]
## Proposed Solution
[High-level approach]
## What "Done" Looks Like
- [ ] Specific, testable criterion 1
- [ ] Specific, testable criterion 2
- [ ] Specific, testable criterion 3
## In Scope
-
-
## Out of Scope
-
-
## Open Questions
-
-
Se's itM SK1Viisi minuuttia täyttämistä, ja te'olette saaneet tarpeeksi keskustella tai jopa rakentaaMSC3
AI:n käyttäminen laatimaan eritelmiä: Clauden tai ChatGPT:n kaltaiset välineet voivat olla loistavat ensimmäisen luonnoksen saamiseksi.
Mutta - ja tämä on kriittinen - Älkää antako AI:n täydellisyyden houkutella lisäämään kaikkea
AI haluaa olla kattava. Se' antaa teille turvallisuusnäkökohtia koskevat osatMk2 suorituskykyvaatimuksetMks3 käyttökelpoisuus, kansainvälistyminenMnsK5 virheiden käsittelyM, talletustoimien suorittaminenMvsK7 seurantaMsvK8 käyttöönottostrategiaM , takaisinoton suunnitelmat M , ja seitsemäntoista muuta asiaa, joita saattaisi tarvita
Poistakaa suurin osa siitä. säilyttäkää se, mitä tarvitsette nyt. loput voidaan lisätä myöhemmin, kun sitä todella tarvitsette
Ajatelkaa AI:ta-generated spec as a menu. Ottakaa bits, jotka ovat tärkeitä alkamiseenMSC2 Ignoreera loputM SK3 Voit aina palata hetken ajaksi
Tavoite ei ole: ' ei ole täydellinen määritelmä, ; se on ' riittävä määritelma, jotta voimme aloittaa työn.. riippumatta siitä, onko tämä ' nopea arvioinnin tulos vai , päätös ensisijaisesta tavoitteesta , vai vain selvyys siitä, mitä te rakennatte itse
Tässä on se, mitä agilessa tapahtuu. Te ette write a spec and throw it over the wall to developers. Tarkistus on yhteistyöhanke.
Paras lähestymistapa, jonka olen nähnyt
Kaikki osallistuvat täsmällyttämiseen.0 Kukaan ei omista sitä yksinomaan.1 Tämä yhteistyömalli saa aikaan ongelmia varhaisessa vaiheessa, kun ne on korjattava.2 On edullista korjata niitä mieluummin kuin myöhään, kun niitä on korjattu.3 On kalliita.4
Mikä vielä tärkeämpää, se tarkoittaa sitä, että täsmennys heijastaa sitä, mikä on todellisuudessa mahdollista eikä sitä, mitä joku toivoi eristyneesti.
Siihen kuuluu:', jossa joustavat erityispiirteet eroavat perinteisistä feature voi kehittyä rakentamalla sitä.
Saatatte todeta, että alkuperäinen lähestymistapa onnistuu' ei toimi? Tarkistaa tarkistuksen ottaen huomioon uuden lähestymistavan
Yritätte toimenpidettä ja huomaatte, että se ei ratkaise ongelmaa.
Käyttäjän palaute paljastaa paremman ratkaisun? Sisällyttää se ja selittää muutoksenM SK1
Tämä kehitys on ominaisuus.
Tämä aiheuttaa kuitenkin ongelman.
Tämä on herkkä salaisuus agile-järjestelmässä. Arviointi on hirvittävän vaikeaa, kun ominaispiirteet voivat kehittyä
Perinteinen arviointi edellyttää, että tiedätte, mitä te rakennatte.
Agile-arvioinnissa tunnustetaan, että ette tiedä kaikkea etukäteen.
Olette arvioineet raja-arvoja, ei absoluutsejaM SK1 Sen sijaan, että sanotte ", tämä kestää 3 viikkoja, " sanotte: " jossakin 2 ja 5 viikkojen välillä riippuen siitä, mitä me havaitsemme."
Olette arvioineet toistuvasti. "Me, ', käytämme yhden sprintin tutkimaan tätä ja raportoimaan siitä, mitä olemme oppineet.
time-box pikemminkin kuin scopeM SK1boxing "Aiomme käyttää tältä osin töitä t1, t2, t3, t4 ja t5. Lopuksi meillä on paras versio, jonka voimme rakentaa tuolloin
Kaikilla näillä lähestymistavoilla on kuitenkin yksi kriittinen edellytys: Teidän on tiedettävä, mitä " tarkoittaa Ilman selkeää määritelmää tehtävästä, ominaisuuksia voidaan jatkaa metastasoitumista ikuisesti.
Se”'” on yleinen kritiikki ”Agilea” Waterfallin lähestymistapaan verrattuna.“'” ilman konkreettista täsmennystä ei voida tehdä hyviä arvioita.”'.” Dunno I” '” mieluummin on olemassa floppy-arvio, joka johtaa hyvään näkökohtaan kuin kuollut unohduksiin.
Tämä on se, missä monet nopeat erityispiirteet murenevat.
Ilman selkeää määritelmää tehdystä,-ominaisuuksista ei'-ominaisuuksia ole saatu päätökseen;-ominaisuudet metastasoituvat.-ominaisuudet leviävät.-ominaisuudet lisääntyvät muihin järjestelmään kuuluviin osiin.-järjestelmään ennen kuin tunnette sen,-järjestelmänne on muuttunut yksinkertaiseksi kommenttijärjestelmäksi"-järjestelmäksi viestien välityksellä,-profiilit,-järjestelmä ja ystävähakemukset.
I'on nähnyt tarkistuksia, joissa on hyväksymiskriteerejä, kuten
Nämä eivät ole tehtyjen määritelmiä, ne ovat epämääräisiä pyrkimyksiä.
Kehittäjän on tiedettävä: mikä konkreettinen asia, täytäntöönpanon yhteydessä, tarkoittaa, että voin lopettaa tämän featuren parissa työskentelemisen
Hyvät arviointiperusteet ovat
Huono: "Komentarseja on muutettavaM SK2 Hyvä: "Admin-käyttäjät voivat hyväksyä–, hylätä–M SK3 tai poistaa kommentit admin-paneelistaltaM SK4 Ei–- hyväksytyt kommentit eivät ole näkyviä tavallisille käyttäjille. Adminille lähetetään sähköpostiilmoitus, kun uusi kommentti on julkaistuMSC7
Huono: " hakujen pitäisi olla nopeitaM SK2 Hyvä: " hakutulokset palautetaan SSK2ms:n sisällä kysymysten 95-prosenttiyksikön osalta, kun otetaan huomioon S100,000-virkamiesten tietokokonaisuusM SK5 Tulokset ovat luokiteltuja merkityksellisyyden perusteella.
Huono: "Arvioinnista käy ilmi hyödyllisiä mittareita Hyvä: "Tashboardin kuvauksetM SK2sivujen kokonaiskatsauksen määrä |( viimeisenä päivänä ♫30 päivien määrä ), ainutlaatuiset vierailijat | ( viimeisennä päivänä 30 päiveiden määrä ♫
Huomauttakaa eroa? Hyvät esimerkit kertovat teille tarkasti, mitä on tarpeen olla olemassa ja milloin voitte lopettaa asioiden lisäämisen.
Muistakaa, kun sanoin aiemmin, että laajuuden ulkopuolelle jäävä kohta on yhtä tärkeä kuin se, mikä on laajuudessaan.
Jokaista ominaisuuksia varten on kymmeniä lisäkohtia, jotka voidaan lisätä... Laajuuden ulkopuolelle jäävä kohta nimenomaisesti ilmoittaa, mitä te ette tee.'. Tämä estää ".
Laajuudessa: Sisällytettyjä huomautuksia Laajuuden ulkopuolelle: Ilman rajoituksia kommenttien liiteohjelmiaM SK1 kommenttiäänestyksen järjestäminen, kommentin liiteoihjelmien järjestäminen, paras kommenttilaskenta , kommentit pysyvät permalinkissä.
Nyt kun joku ehdottaa, että " -äänestyksen pitäisi olla enemmistöpäätöksiä, voitte viitata tällaiseen tarkistukseen ja sanoa: "M SK3"-äänestystä ei voida soveltaa tähän toistamiseen.
Oh and the NEXT spec? No, teillä on joukko käyttämättömiä hyviä ideoita jo otettu huomioon! Paljon helpompaa aloittaaM SK2
Toisinaan te ette todellakaan tiedä, miltä näyttää alkaessanne.
"AiommeM SK1 viettää 2 viikkoja ( tai siihen asti, kunnes backend on valmis) erilaiset lähestymistavat suositukseen perustuvaan algoritmiin prototipoiminenMSC5 \2\viikkojen lopussa arvioimme, mitä olemme oppineet ja päätämme, onko yhden lähestymistavan tuotannossa otettava käyttöön \
Huomauttakaa kuitenkin, että teillä on vielä betoniolosuhteet.
Spike on yksi näistä: 'käykää leikkimään ja selvittämään tämä tekninen tekniikkaaM SK1 se voi kestää niin kauan kuin Sprint ( tai pidempään M SK3 mutta yleensä vain muutaman päivän ajan. Kun minulla on virkamiehistä, teen tämän, pyydän yleensä postia lopussa ( tai wiki-postia jne.
Sprintin odotetaan saavan lopputuloksen. ( jokin muu kuin siihen osallistuva henkilö voi testata loopia.
Ne' ovat myös hauskaa virkamiehille ja auttavat työryhmää. Saanen usein Spike-ajatuksia hankkeessa, ja kun on tilaisuutta, että ' on hiljainen, sallinen virkamiehet valita yhden tutkimaan asiaa.
Jopa selvillä ":lla, ":llä ja ,:lla on kriteereitä, joiden perusteella ulottuvuus voi peitellä..:llä havaitsee raja-arvoja..:ssä ymmärrätte, että käyttäjät tarvitsevat jotakin, jota ette ollut harkitseneet.M SK5:ssa ei ole otettu huomioon.How do you handle this without breaking your definition of done
Document it, don't just do it . Kun keksitte jotain uutta, jota on lisättävä, saataisiin tarkistuksen ajan tasalleM SK1 tehtävä selväksi, että soveltamisala on muuttunut. saada osapuolten suostumus
Tällä on kaksi tarkoitusta:
Jos tarkistuksenne kasvaa jatkuvasti, se on signaali, että joko te rakennatte väärän asian, tai teidän on mentävä taaksepäin ja harkittava asiaa uudelleen.
Joissakin tapauksissa on välttämätöntä lähettää
Hyvä testi: Voiko käyttäjä saada arvoa tästä ominaisuuksista sellaisenaan?
Jos kyllä, toimittaa senM SK1 Voitte aina toistaa seuraavassa versiossa . Tehty ei tarkoita' tarkoittaa, ettei MSC4 paranneta koskaanMST5 Se merkitsee, että SSK6 ratkaisee ongelman riittävän hyvin, jotta käyttäjät hyötyvät siitä ja voimme siirtyä muuhun työhön
Jos ei, te ette ole vielä päässeet sopimukseen.
Agilen vaikein osa on: ' ei aloita työtä, ;, se, että ' lopettaa työn,., selvä, M SK4, tehty, ", kriteereet mahdollistavat työn lopettamisen
On kuitenkin muistettava, että teidän on arvioitava, annako se kaikkien käyttöön, onko A:lle läheinen ryhmä/B M SK2 UAT ( käyttäjän hyväksymistestitMSC4 SeMska5 on usein yritysten päätös riskien suhteenMske6 Joskus julkinen mielipide on järjetöntä ja katsoo osittain täydennettyä ennakkokuva-aineistoa järjestelmänne laadun parantamiseksiMスク7 Jos tämä on ongelma, valvottu ryhmä on turvallisempiMRK9
# Spec-arviointiprosessi
' ei ole tehty, kun se on kirjoitettu loppuun.
Paras käytäntö, jonka opin Microsoftissa: Erityisarviot toimivat aivan kuten koodiarviot. He ovat yhteistyöhaluisia, eivät vastakkainasettelijoita, vaikka Microsoftin ”boys club” -ryhmä ”'” usein teki ”spec-arvioista gladiatoriaalista taistelua”, jos joku oli dick.
Tarkasteltuaan määritelmiä:
Kun tarkistuksenne tarkistetaan:
Parimmat tarkistuslausekkeet ovat keskustelut. Ette kulje taka-alalle. Opitat toisistanneM SK2 Tuloksena oleva tarkistus on parempi kuin se, mitä kumpikin henkilö olisi voinut kirjoittaa yksin
Saata reviewit kaikista tärkeistä näkökohdista:
Kehittäjän arviointi - Voiko tämä todella toimia?M SK1 Onko olemassa teknisiä rajoituksia, joita emme ole ottaneet huomioon?
tuotearviointi - Ratkaiseeko tämä oikean ongelman?
suunnittelukatsaus - Onko käyttäjäkokemusta järkevää?
QA-arvio - Voimmeko testata tämänM SK1 Ovatko hyväksymisperusteet riittävän selvät ? Miten on raja-arvojen kanssa?
Te ette' tarvitse virallista merkintääM SK1kaikkilta poistettavaa . Te tarvitsette heidän puheenvuoronsa täsmennyksen parantamiseksi. Ajatelkaa sitä MSC4kommenttipyynnönä~" ei "hyväksyntäpyynnnönäMST7
Hyvät tarkastajat esittävät kysymyksiä, jotka parantavat täsmennystä
Nämä kysymykset ovat todellisia kysymyksiä, jotka auttavat määrittelemään yksityiskohdat.
Ette voi hyväksyä kaikkia ehdotuksia, mutta kun otetaan huomioon kaikki palautukset,
Arviointien olisi parannettava jokaista kierrosta.. Jos se ei toimi, 'tM SK2 ette kuuntele tai arvioijat eivät ole mukana.
Saatte arvioita kaikista näistä näkökohdista, ennen kuin aloitatte täytäntöönpanon. Ongelmien löytäminen erityiskustannusten pöytäkirjoissaM SK1 Onelmien löytäminen tuotantokustannuksissa viikkoina.
Jotta tämä kaikki olisi vähemmän abstraktia, otetaan huomioon seuraavat seikat:
Englanniksi kirjoitetut blog posts exclude only non-English speaking readers. Jokaisen postin kääntäminen käsin monille kielille on aikaa vievää -julkaisua rasittaa ja viivästyttääM SK3 Tarvitsemme automaattisen ratkaisun, joka kääntää merkitsemättömien blog-postien monille kohdelaisille kielille ilman, että kullekin postille tarvitaan käsin tapahtuvaa puuttumista.
Rakennetaan taustapalvelu, joka kääntää automaattisesti merkitsemättömät asiakirjat kohdemaihin EasyNMT-koneen käännöspalvelun avulla.
Nämä kriteerit kertovat meille tarkasti, milloin voimme lopettaa tämän featuren kehittämisen:
Huomauttakaa, että ne ovat täsmällisiä ja testattavissa. Voimme tarkistaa kutakin yksikköäM SK1 Kun kaikki täyttyvät,, me ' olemme saaneet aikaan. emme lisää edelleen sellaisia ominaisuuksia kuin MSC6 käännöksen laatuäänestysMST7 tai "\ käännösten hallinnoiminen\MST9 ellei laajenneta soveltamisalaa nimenomaisesti
Kehitystyön aikana ilmeni useita seikkoja, jotka paransivat spec::ta
Tappikokonaisuuden mukauttaminen: Lähtökohtana oli 20-linjojen sarjat, mutta löydettiin, että linjoilla on enemmän luotettavuutta pysyä EasyNMT: n alaisuudessaM SK4sanarajaa säilyttäen samalla kontekstin
Kuvan havaitseminen: Alun perin , käännöspalvelulle lähetettiin jäljennöksissä olevat kuva-asiakirjatM SK2 lausunnon murtaminen parsiminen. lisättiin tiedostojen laajentamisen havaitsemista kuvareittien välttämiseksi
Palvelujen saatavuus: EasyNMT voi olla temperamentaalista aloitusvaiheessaM SK1 Lisättiin terveystarkastelu, jossa kysytään /model_name lopullinen kohta ennen käännösten yrittämistä.
Hash-varasto: Alun perin suunnitellut tietokannan säilyttäminen file hashes-osoitteiden osalta .hash asiakirjat osoittautuivat yksinkertaisemmiksi ja estettiin tietokannan riippuvuus tästä palvelusta.
Nämä oppimukset liitettiin takaisin asiakirjaan ja ilmoitettiin vastaavista ominaisuuksista myöhemmin.
Tämä tarkistus noudatti käsiteltyjä periaatteita.
Tuloksena on ”:”, feature, joka ”'” toimii tuotantossa jo kuukausien ajan ja ”M SK2” vastaa automaattisesti jokaista blogin artikkelia vähimmäistoimilla.
Tämän perusteella, mitä olemme käsitelleet, on esitetty usein esiin tulleita kysymyksiä.
Se riippuu siitä, onko se todella merkityksetön.
Silloin kyllä, edes nopea tarkistus auttaaM SK1 Se ei ole tarpeen' ei tarvitse olla virallinenMSC3 joitakin pisteitä lippujen kattamisessa Ongelma , RatkaisuMST5 ja Tehtyjä kriteerejä riittää useinMSV6
Testi: jos voitteM SK1t selittää, mitä "on tehnytMSC3 näyttää kahdessa lauseessa , tarvitsette täsmennyksen
Viittaa soveltamisalan ulkopuoliseen osaan. Selitä, että
Jos he vaativat, että kaikki on yhtä kriittistä, he ehdottavat, että he valitsevat toisen työn viivästyttääkseen sen sijaan.
Se' on sakkoM SK1 niin kauan kuin :
Jos täsmennystä ei voida tunnistaa, koska olette alun perin täysin ymmärtäneet ongelman väärin, se on merkki siitä, että lisätutkimuksia on tehtävä ennen seuraavaa kertaa, mutta toistamista ja oppimista odotetaan
Tarkistusta koskevan version historian pitäisi kertoa, mitä olette oppineet.
Alkuvaiheessa tätä kutsutaan 'Pivot', jossa aloitatte rakentaa peliä ja rakennatte sen sijaan hämmästyttävän viestinnän järjestelmän.
Älkää liioitellen kääntäkö niitä, jos niissä on tilaisuuksia kääntää niitä, ottakaa ne käyttöön.
Kriittisten bugien osalta: ei, korjaa vain neM SK2
Moniin järjestelmiin vaikuttavien tai rakenteellisten muutosten edellyttävien monimutkaisten virheiden osalta: kyllä. kohtele sitä eräänlaisena ominaisuutena . mitäMSC3on murtunut M SK4ongelmaMST5 miten oletteMSSK6 korjaamme sen |(ratkaisunmuodonMS), miten tiedätte senMSL9olette parantanut sitäMSV10 on korjattu | (on täytäntöönpanon arviointiperusteet
Kaikkien niiden välillä: käyttäkää omaa mielipidettänneM SK1 jos korjaus ei ole selvä, tai jos sillä voi olla sivuvaikutuksia , nopea tarkistus auttaa
Tämä pätee erityisesti turvallisuusvirheisiin. Teidän on tiedettävä tarkasti, mitä te korjaatte ja miten te tarkistatte sen.
Niin muodollinen kuin ryhmänne tarvitsee. Jotkin ryhmät suhtautuvat myönteisesti yksityiskohtaisiin JIRA-lippuihin
Virallisuus on tärkeämpi kuin sisältö:
Voitte kirjoittaa sen merkitsemällä., Confluence , Word , or scrawled on napkin
Tämä on usein unohdettu avain agile-kehityksen kannalta; ja miksi en pidä Agile Frameworks -puitteista (ja SCRUM-puitteita). Tärkeintä on, että kuten agilen säännöt, prosessin on oltava myös mukautuvainen. Jos 5 päivänpyörät toimivat yhdessä joukkueessa mutta 2 viikon sprintit toisessa kokoonpanossa, Koko ajatuksena on tehdä paras tuote; työryhmänne on tuo väline, joka valmistelee tuota tuotettaM SK1 Tehdään väline mahdollisimman sujuvasti.
Hallintomiehenä katsotaan, mitkä ovat tuotteenne.; Jos taulu tarvitsee poltettavan grafiikan, miten voitte käyttää nykyisiä tietoja rakentamaan yhden?
Loppujen lopuksi työryhmä tuo mukanaan ominaisuuksia ja sitä, mitä sidosryhmät tarvitsevat.
Te tarvitsette edelleen määritelmiä, ehkä vielä enemmän. Kuuden kuukauden kuluttua, kun teidän on laajennettava tätä featureaM SK2 voitte ' ette muista, miksi te olette tehneet tiettyjä päätöksiäMSC4 määritelmä on menneisyydessänne puhuva tulevaisuuteenne
Lisäksi tarvitsette vielä:
Omien tarkistusten kirjoittaminen on kuin yksiköiden testien kirjoittaminen: se tuntuu hitaammaksi nyt, mutta säästää aikaa myöhemmin (niin tapaanM SK2 IMSC3m omassa \50s , Unohdotan nyt HIT-ongelman
Kun joku sanoo " , unohdin mainita, että sen pitäisi tehdä myös "X" .
Vastaus: M SK1Se' on hyvä edellytys , mutta seMSC4 ei ole se, mistä olemme sopineet erityissäännöksessäMST5 Sallikaa'liittää se nyt soveltamisalan ulkopuolelle ja keskustella siitä, sisällyttääkö se tai säilyttääkö se versioon SSK7
Jos se on todellakin vaatimus, ei ole mukavaa
Älkää koskaan kuunnelko kaukohuutoa, sillä se tuhoaa arvioinneenne ja uskottavuutenne.
Kyllä, jos oletteM SK1ko te valmistatte prototypia vastataksenne avoimeen kysymykseen,.ei, jos te rakennatte tuotantoa varten
Prototypointi oppimiseen on hyvä: "Meillä on kolme lähestymistapaa . Saanen nopeuttaa jokaista nähdäkseni, mikä toimii parhaitenM SK3 Se kertoo erityispiirteistäMSC4
Tuotantokoodin rakentaminen ennen määräyksen valmistumista merkitsee, että te olette tältä osin arvioimassa vaatimuksia.
Poikkeus: jos olette product owner ja developer M SK2solo-hanke ), voitte täsmentää ja koodistaa samanaikaisesti
' kunnes sääntö on valmis ' on loistava tapa saada yksikköjen maksut alkamaanM SK2 Arvioida teknologian lähestymistapoja, kirjoittaa yhteinen kattoplate jne.
Miksi?:
Jos ihmiset välttävät tarkistusten laatimisen ja sitten rakentavat väärän asian, on tehtävä kipu näkyväksi.
Lisäksi: tekee täsmennyksistä helppoja löytää. Jos ne ' ovat haudattu erään epäselvän wikin alle, ei kukaan voi lukea niitä
Kehitysaikaa koskevat säännöt
2-viikkoisen toimenpiteen osalta 1-viikoittaisen toimenpiteen osalta 2-päivämääräinen toimenpideM SK1 tunnin tai kahden mittaisen toimenpiteen osalta
Mutta älkää uskoko siihen. Jotkin piirteet vaativat enemmän huomiota.
Jos olette käyttämässä enemmän aikaa täsmennykseen kuin täytäntöönpanoon, pidätte sitä liian tärkeänä.
Koska ohjelmistojen arvioiminen on perustavanlaatuisesti vaikeaa.Tämä on epämukava totuus arviot toimivat vain, jos olette teet tarkasti kyseisen tehtävän ennen sitä.
Tämä ei läheskään tapahdu.
Joka kerta kun arvioitte, että olette tekemisissä
Siksi:
Mitä uutta työtä teette, sitä huonompia arvioinne ovatM SK1 Rakennetaan samaa CRUD-lomaketta kuin teidät ' olette rakentaneet 50 kertojaMSC4 Teidän kanssanne tulee lähelleMST6 Integroidaan uuteen palveluun tuntemattoman pöytäkirjan avulla.
Tämän vuoksi täsmennykset tarvitsevat selkeää "toteutunutM SK1kriteerit . Voitte'arvioida tarkastiMSC4 mutta voitte määritellä, milloin pysäytettävään
Nämä vaatimukset ovat erilaisia.
Esimerkki tutkimusmääräys:
Aika-boxing on avainasemassa tutkimuksessaM SK1 Ilman sitä , tutkimustehtävät eivät koskaan päätty
Aloita se, mitä tiedätte:
Markifioita osat "TBDM SK1 Olkaa rehellisiä epävarmuuden suhteen
Sitten hyödyntäkää erityisarviointiprosessia puutteiden täyttämiseksi.arvioinnin aikana käydyt keskustelut selventävät usein, mitä ette ymmärtänyt
Muistakaa: epätäydellinen- muttaM SK2 rehellinen beats complete - mutta
Täsmällisesti. Asiakirjan ei tarvitse olla erillinen asiakirjaM SK1 . GitHubin tai JIRA-lisenssin kirjoittaminen voi toimia asianomaisena asiakirjana erinomaisesti
Kysymys on sisällöstä, ei kontista.
Kysymysten käyttämisen edut:
Ratkaisut kysymysten käyttämiseksi eritelmäinä:
Testi: voisiko joku lukea kysymyksen ja tietää, mitä rakentaa, mitä " tekeeM SK3 merkitsee , ja mitä' ei kuulu soveltamisalaan?
Jos olette terveydenhuollossa, rahoitusalalla, ilmailu- ja avaruusalalla tai muilla säänneltyillä aloilla, vaatimustenmukaisuuden varmistamiseksi saattaisi tarvita enemmän muodollisia määritelmiä.
Teidän on kuitenkin myös tehtävä
Jopa säänneltyissä ympäristöissä, nopeutettu speccing toimii. Teillä on vain enemmän hoopeja päästä läpiM SK2 Speci on edelleen väline ; seMSC4 se on vain väline, joka on tarpeen niin sääntelijöiden kuin kehittäjienkin tyydyttämiseksi
Hyvät ominaispiirteet kirjoittaminen nopeutetussa ympäristössä on taito, joka paranee käytännön avulla. Tavoitteena ei ole–'–tä laatia täsmällisiä erityispiirteitä etukäteen –(– ne eivät ole olemassa –'– niitä ei ole – );– niitä on–M SK5– kirjoittaa erityispiirteet, jotka auttavat ryhmään ryhtymään ja kehittymään oppimallaan tavalla.
Keskeiset periaatteet:
Kaikkein vaikein asia on se, että ei kirjoiteta alkuperäistä sääntöä.
Tämän vuoksi nopeiden arvioiden tekeminen on niin vaikeaa. Ette ainoastaan arvioi täytäntöönpanoaikaa ; ette' arvioi oppimisaikaa. Kuinka kauan kestää löytää se, mikä itse asiassa ratkaisee ongelman?
Paras, mitä voitte tehdä: olla selvä siitä, mitä M SK1 tehdä " merkitsee, aikaMSC4laatikko epävarmuus, ja saattaa tarkistukset ajan tasalle, kun olette oppineetMST6 käsitellä sitä kuin koodiaMSSK7 versio seMSL8 korjata se
Hyvä spec antaa kehittäjille mahdollisuuden ratkaista ongelmat älykkäästi ja samalla tietää tarkasti, milloin ne voivat pysäyttää.
Ja jos olette ”'” - kehittäjä, joka lukee tarkistuksen, jolla ei ole mitään järkeä tai jossa ei ole selviä ”"” -kriteerejä“ "” -kriteeriä”, : -kysymyksiä “.” -kysymys ei ole vaikeaa“'” –kysymykseni on vaikeaa” ; –kyymys on ammattitaitoinen „.” – mieluummin järjestettäisiin se nyt kuin laadittaisiin feature that keeps growing until it takes over the entire application” .
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.