Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

32
Nujnost odličnih specifikacij in kako jih zapisati Miloš Cigoj vodja kakovosti Parsek d.o.o.

Transcript of Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Page 1: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Nujnost odličnih specifikacij in kako jih zapisati Miloš Cigoj vodja kakovosti Parsek d.o.o.

Page 2: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Kdo sem

QA Manager

17+ let v IT

Desk // Web // Mobile

@CigojMilos

Parsek d.o.o.

16+ let v IT

Enterprise solutions for HC, Insurance, Telco etc.

@parseksolutions

Page 3: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)
Page 4: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Agenda

• značilnosti dobre zahteve

• najpogostejše napake

• tehnike pisanja

• orodja za upravljanje z zahtevami

Page 5: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)
Page 6: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Značilnosti dobre zahteve

Page 7: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)
Page 8: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Najpogostejše napake

Page 9: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)
Page 10: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Opustitve

• pomembna dejstva povezana s problemsko domeno niso del funkcijske specifikacije

• avtorji pogosto predpostavljajo, da so določene informacije ali znanja samoumevna, zato jih ne zapišejo

Page 11: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Dvoumnosti

• zapisana dejstva imajo več možnih interpretaciji

• negativni pogoji, robni primeri, sinonimi, zaimki, okrajšave, prislovi

Page 12: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Neusklajenost

• zaheteva je neusklajena z drugimi zahtevami v specifikacijah ali z drugimi dokumenti, ki opisujejo problemsko domeno

Page 13: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Odvečnosti

• vsebina funkcijske specifikacije, ki se ne nanaša na problemsko domeno ali pa ne prispeva k reševanju problemske domene

Page 14: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Nepravilnosti

• nekatere zahteve so nepravilne glede na problemsko domeno

Page 15: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Ne izvedljivost

• nekatere zahteve so ne izvedljive zaradi omejitev sistema, okolja, človeških in ostalih virov, omejitev tehnologije, …

Page 16: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Neprimerne omejitve

• zahteve osredotočene na kako ne pa na kaj naj sistem počne so pogosto nepotrebne omejitve

• zahteve morajo praviloma definirati vidike, ki so preverljivi od „zunaj“

Page 17: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Ne preverljivost

• posamezne zahteve morajo podpirati rešitev konkretne potrebe uporabnika in zato morajo biti preverljive

• zahteve brez pogojev sprejemljivosti oziroma z zelo subjektivnimi pogoji vodijo v nepravilno izvedbo

Page 18: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Tehnike pisanja

Page 19: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

?

„esejski tip“

IEEE-***

Use Case

User Story

Page 20: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Zgodbe | Use Cases | Zahteve

Page 21: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Esejski tip

• prednosti • prilagodljiv

• svoboden

• slabosti • podvržen prav vsem težavam

• pozno odkrivanje napak v specifikaciji

Page 22: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

830-1998-IEEE Recommended Practice for SRS

• prednosti • natančno definirana struktura

• slabosti • dolgočasen

• zamegljeni cilji

• ne osredotočenost

• pozno odkrivanje napak

Page 23: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Use Cases

• prednosti • zajem vseh scenarijev

• osredotočen na uporabnika

• dekompozicija

• ojačujejo identifikacijo

potreb

• slabosti • formaliziran -> omejitve

• pozno odkrivanje napak

• nerazumljiv deležnikom

Page 24: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

User Story

• prednosti

• hitrejše odkrivanje težav v zahtevi

• interdisciplinarno pisanje

• Prioritizacija & fleksibilnost & planiranje

• osredotočena na uporabniški vidik

• slabosti

• obvezno sodelovanje naročnika ->dvoumnosti

• ne definiran standard uporabnosti

Page 25: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Zakaj Gherkin?

Ker

• smo pripravljeni za avtomatizacijo testiranja

• nas sili v konsistentnost pri pisanju

• testni primeri razumljivi in dosegljivi uporabniku

• "single source of truth"

Page 26: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Primer Feature: Adminsitrator want sot do something

Some terse yet descriptive text of what is desired

In order to realize a named business value

As an explicit system actor

I want to gain some beneficial outcome so that I can reach the goal

Background:

Given a global administrator named "Greg"

And a blog named "Greg's anti-tax rants"

And a customer named "Wilson"

And a blog named "Expensive Therapy" owned by "Wilson"

Scenario: Wilson posts to his own blog

Given I am logged in as Wilson

When I try to post to "Expensive Therapy"

Then I should see "Your article was published."

Scenario: Greg posts to a client's blog

Given I am logged in as Greg

When I try to post to "Expensive Therapy"

Then I should see "Your article was published."

Page 27: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Orodja

Page 28: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Orodja

Visual Studio Online

JIRA & Confluence

SpecLog

IBM Rational DOORS ipd

WORD/Excel

Page 29: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Pregled značilnosti orodji

Epic/Story/Task

metapodatki

Epic/Story/Task

Metapodatki

Epic/Story

metapodatki

Use Case

metapodatki

Page 30: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

POVZETEK

značilnosti dobre zahteve

tehnike

orodja

Page 31: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)

Izpolnite anketo!

Vam je bilo predavanje všeč?

Ste se naučili kaj novega?

Vaše mnenje nam veliko pomeni!

Da bo NT konferenca prihodnje leto še boljša, vas prosimo, da izpolnite anketo o zadovoljstvu, ki jo najdete v svojem NTK spletnem profilu.

Please also see this short survey about new MSDN:

https://aka.ms/ntkdocssurvey

Page 32: Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)