Dobici:
- Sposobnost razlikovanja funkcionalnih i nefunkcionalnih zahtjeva i pisanja jasnih, mjerljivih izraza zahtjeva uz podršku umjetne inteligencije
- Sposobnost korištenja umjetne inteligencije sa strukturiranim upitima za izdvajanje korisničke priče, kriterija prihvaćanja i ograničenja opsega iz bilješki intervjua
- Stjecanje navike provjeravanja zahtjeva koje je generirala umjetna inteligencija na dvosmislenost, kontradiktornost i pravila koja nedostaju te njihovo potvrđivanje sa dionicima
Analiza zahtjeva zadatak je definiranja na potpun, jasan i provjerljiv način što bi sustav trebao raditi. To je jedna od faza u kojoj MIS stručnjak proizvodi najveću vrijednost; jer pogreška ovdje eksponencijalno raste na kraju projekta. Postoje dvije osnovne vrste analize zahtjeva. Funkcionalni zahtjev opisuje posao koji bi sustav trebao obaviti: "Sustav bi kupcu trebao poslati e-poštu kada potvrdi narudžbu." Nefunkcionalni zahtjev opisuje kakav bi sustav trebao biti: kvalitete kao što su performanse, sigurnost, upotrebljivost i pristupačnost. "Zaslon izvješća trebao bi se otvoriti za manje od 2 sekunde pri prosječnom učitavanju" je nefunkcionalni zahtjev.
Dobar zahtjev ima tri karakteristike: jasan je (ima jedno tumačenje), mjerljiv je (ima prag koji se može provjeriti) i sljediv je (jasno je iz koje poslovne potrebe dolazi). "Sustav mora biti brz" ne zadovoljava ništa od ovoga; “brzo” je subjektivno, ne može se mjeriti, ne može se testirati. U ovoj fazi AI je moćna pomoć u izradi zahtjeva i hvatanju dvosmislenih riječi; ali samo dionik odlučuje koje je poslovno pravilo stvarno.
Korisnička priča i kriteriji prihvaćanja
Uobičajeni format u modernom pisanju zahtjeva je korisnička priča: "Kao [uloga], za [svrhu], želim [značajku]." Primjer: "Kao prodajni predstavnik, želim izračun popusta sa zaslona mobilnog telefona kako bih mogao napraviti brze ponude na terenu." Priča je kratka i poslovno orijentirana; Ne nameće tehničko rješenje.
Svaka bi priča trebala imati kriterije prihvaćanja: uvjete koji se mogu provjeriti i koji moraju biti ispunjeni da bi se priča smatrala "u redu". Uzorak koji se često koristi je obrazac "Dano/Kada/Tada": "Dano: kupac je u VIP segmentu. Kada: narudžbe iznad 10.000 TL. Zatim: sustav primjenjuje popust od 5%." Ovaj obrazac eliminira dvosmislenost jer jasno povezuje stanje i očekivani ishod.
Savjet: kada pišete korisničku priču za umjetnu inteligenciju, svakako recite "generirajte najmanje 2 kriterija prihvaćanja u formatu Dana/Kada/Tada za svaku priču." Kada je model prisiljen proizvesti referentne vrijednosti, skrivene praznine u zahtjevu postaju vidljive.
Korak po korak: Ekstrakcija zahtjeva uz pomoć umjetne inteligencije
Korak 1 — Prikupite neobrađeni unos. Zapisi poziva, e-pošta, postojeće snimke zaslona, popisi pritužbi. Što više stvarnog unosa, to je manje izmišljotina.
Korak 2 — izdvojite prvi skup priča. Dajte sirovi unos umjetnoj inteligenciji i neka ona proizvodi nacrte korisničkih priča. Ovaj korak nije potpuni popis, već prvi korak.
Korak 3 — Dodajte kriterije prihvaćanja. Generirajte kriterije Dano/Kada/Tada za svaku priču. Priča za koju se ne mogu proizvesti kriteriji zapravo znači da nije dovoljno definirana.
Korak 4 — Skeniranje proturječja i praznina. Pitajte AI "postoje li kontradikcije, dupliciranja ili nedefinirane situacije između ovih zahtjeva?" Pitajte i provjerite. Filtrirajte rezultat kao čovjek.
Korak 5 — odredite prioritet i potvrdite. Dajte prioritet pričama sa dionicima na temelju poslovne vrijednosti i hitnosti. Odluka o prioritetu pripada poslovnoj jedinici, a ne umjetnoj inteligenciji.
Ne zaboravite na nefunkcionalne zahtjeve
Većina projekata ima poteškoća na terenu jer zaborave one nefunkcionalne dok pišu funkcionalne zahtjeve. Izvješće može raditi "korektno", ali ako mu je potrebno 45 sekundi da se otvori, nitko ga neće koristiti. Sljedeća tablica prikazuje tipove nefunkcionalnih zahtjeva koji se često zanemaruju i mjerljive primjere pisanja.
Žanr
loš izraz
mjerljiv izraz
Izvedba
"Mora biti brz"
"Odgovor na upit < 2 sekunde pri prosječnom opterećenju"
pristupačnost
"Svatko bi ga trebao moći koristiti"
"Usuglašen s WCAG 2.1 AA; puna navigacija tipkovnicom"
Sigurnost
"Trebalo bi biti sigurno"
"Osobni podaci su šifrirani dok miruju; pristup se temelji na ulogama"
raspoloživost
"Trebalo bi biti lako"
"Novi korisnik dovršava narudžbu u 3 koraka bez obuke"
Dostupnost/kontinuitet
"Ne bi se trebao srušiti"
"Mjesečno vrijeme rada ≥ 99,5%"
Tri mini kućišta: po brojevima
Slučaj 1 — Cijena nemjerljive potrebe. Zaslon, koji je razvijen u banci sa zahtjevom da se "zaslon izvješća treba brzo otvoriti", otvorio se za 22 sekunde pod opterećenjem polja. Programer je mislio da daje riječ "brzo" u svom okruženju (2 sekunde). Da je zahtjev bio napisan kao "< 3 sekunde u vršnom satu, stvarna propusnost", problem bi bio uhvaćen u testiranju. Preuređenje je koštalo 3 tjedna i mjerljivi dodatni troškovi.
Slučaj 2 — Nedostatak obuhvaćen kriterijima prihvatljivosti. Dok je pisao kriterije prihvaćanja za priču "sustav primjenjuje popust" u projektu e-trgovine, dionik je primijetio da se uopće nije raspravljalo o tome što bi se dogodilo ako bi popust bio u sukobu s kuponom i VIP popustom. Jedno pitanje Dano/Kada/Tada spriječilo je pogrešku dvostrukog popusta prije pokretanja; Ova je pogreška uzrokovala ozbiljan gubitak prihoda u sličnim projektima.
Slučaj 3 — pravilo koje je izradila umjetna inteligencija. U jednom HR projektu, AI je u nacrt zahtjeva dodao rečenicu "zahtjev za odsustvo automatski se odobrava u roku od 24 sata". Na sastanku se nije raspravljalo o takvom automatskom odobrenju; Model je napravio pravilo koje se činilo "razumnim". Uz svaki zahtjev stručnjak piše "izvor: koji intervju/dokument?" Dodavanjem stupca uklonio je 4 rečenice bez izvora.
Slab upit / Jak upit
Slab upit:
Napišite korisničke priče za ovaj projekt.
Snažan upit:
Vaša uloga: Vi ste poslovni analitičar MIS-a. Izdvojite korisničke priče iz bilješke intervjua u nastavku. Pravila:- Format: "Kao [uloga], za [svrhu], želim [značajku]."- Napišite NAJMANJE 2 kriterija prihvaćanja za svaku priču u formatu Dano/Kada/Tada.- Dodajte stupac "Izvor" pored svake priče: iz koje je rečenice došla?- Označite [NESIGURNO] svako pravilo koje nije jasno u bilješci; uklapanje.- Napišite mjerljive nefunkcionalne zahtjeve (performanse, sigurnost, pristupačnost) u poseban odjeljak. Napomena za intervju: [tekst]
Snažni prompt nameće format priče, kriterije prihvaćanja, sljedivost izvora i nefunkcionalne zahtjeve odjednom; To olakšava kontrolu izlaza.
Četiri predloška za kopiranje
1) Pojašnjenje zahtjeva:
Pregledajte zahtjev u nastavku. Označite svaku tvrdnju koja je nejasna, nemjerljiva ili otvorena za više od jednog tumačenja i napišite pitanje za pojašnjenje za svaku. Ne izmišljaj odgovor. Zahtjev: [tekst]
2) Skeniranje kontradikcija:
Na donjem popisu zahtjeva pronađite stavke koje su proturječne jedna drugoj, ponavljaju se ili ostavljaju logičke praznine. Prijavite svaki nalaz s brojevima stavki i obrazloženjem u jednoj rečenici. Popis: [tekst]
3) Generiranje kriterija prihvaćanja:
Napišite najmanje 4 kriterija prihvaćanja za sljedeću korisničku priču u formatu Dano/Kada/Tada, uključujući ograničenja i izuzetke. Također navedite sve nejasnoće. Priča: [tekst]
4) Pregled opsega:
Nacrtajte stavke "U opsegu" i "Izvan opsega" kao tablicu u dva stupca u skladu sa sljedećim zahtjevima. Označite [POTREBNA POTVRDA] za svaku stavku za koju niste sigurni. Zahtjevi: [tekst]
Uobičajene greške
- Misliti da je rješenje potreba. "Dodaj padajući izbornik" rješenje je, a ne uvjet. Zahtjev kaže da "korisnik mora moći odabrati zemlju s definiranog popisa"; IT tim dizajnira rješenje.
- Preskakanje nefunkcionalnih. Jednostavno zapisivanje "što učiniti" i zaboravljanje "kako biti" (brzina, sigurnost, pristupačnost) je najčešća i najskuplja rupa u zakonu.
- Korištenje nemjerljivih pridjeva. Riječi poput "brzo, jednostavno, sigurno, prilagođeno korisniku" nevažeće su bez praga.
- Ne primjećujući pravilo koje je AI izmislio. Model može dodati "razumna", ali ne i stvarno izgovorena pravila; Tražite sredstva za svaku potrebu.
- Prepuštanje određivanja prioriteta AI-ju. Što prvo učiniti je odluka o poslovnoj vrijednosti; Poslovna jedinica daje ovo.
Oprez: najopasnija rečenica u analizi zahtjeva je "ovo već svi znaju". Neizgovorene pretpostavke ne ulaze u dokumentaciju, nikada ne ulaze u kod i pojavljuju se na terenu. Pitajte AI "što se pretpostavlja, ali nije napisano u ovom zahtjevu?" čini te skrivene pretpostavke vidljivima.
Ukratko
Analiza zahtjeva definira što bi sustav trebao raditi na jasan, mjerljiv i sljedivi način. Funkcionalni zahtjevi opisuju posao, nefunkcionalni zahtjevi opisuju kvalitete, a potonje se često zaboravlja. Korisnička priča i kriteriji prihvaćanja Dano/Kada/Tada moćni su alati koji eliminiraju neizvjesnost. Umjetna inteligencija značajno ubrzava izradu scenarija, kriterija prihvaćanja, otkrivanja sukoba i razjašnjavajućih pitanja; Međutim, ispravnost poslovnog pravila, opseg i prioritetna odluka te izvor svake rečenice odgovornost su čovjeka. Nemojte finalizirati nijedan zahtjev koji je neutemeljen i nemjerljiv.
Zadatak aplikacije
Napišite poslovni zahtjev od jednog odlomka za zamišljeni "mrežni sustav zakazivanja" (npr. "Klijenti bi trebali moći zakazivati sastanke online, osoblje bi trebalo moći vidjeti kalendare"). (1) Napravite najmanje 5 korisničkih priča i 2 kriterija prihvaćanja za svaku sa snažnim upitom iz ovog zahtjeva. (2) Pronađite najmanje 2 skrivene praznine u kriterijima koje proizvodi model (npr. dvostruki termin u isto vrijeme, pravilo otkazivanja). (3) Uključite najmanje 3 nefunkcionalna zahtjeva u mjerljivom obliku. (4) Identificirajte najmanje 3 stavke kao "Izvan opsega". (5) Označite pravilo koje je model možda smislio i napišite kako biste to potvrdili.
popis za provjeru
- [ ] Odvojeno sam napisao funkcionalne i nefunkcionalne zahtjeve.
- [ ] Svaki zahtjev je jasan, mjerljiv i testiran.
- [ ] Svaka priča ima kriterije prihvaćanja Dano/Kada/Tada.
- [ ] Mogu pratiti izvor (razgovor/dokument) svakog zahtjeva.
- [ ] Označio sam moguća pravila koja je AI napravio i ostavio ih za potvrdu.
- [ ] Odredio sam prioritete zajedno s poslovnom jedinicom.