A megfelelő specifikáció ismérvei

Összetettebb fejlesztéseknél, szerteágazó funkcionalitással rendelkező programozói munkáknál elengedhetetlen a megfelelő specifikáció létrehozása. Ez az ajánlatadás első lépése, e nélkül nem lehet beárazni a munkákat.

Mit tartalmazzon a specifikáció?

Össze kell gyűjteni az igényeket, folyamatokat, pl.:

  • Milyen funkciókra lenne szükség?
  • Ezek hogyan jelennek meg az „admin” (backend) és „felhasználó” (frontend) oldalon?
  • Az egyes folyamatoknak mi a pontos menete? Mi hogyan jelenik meg és mi mi után és hogyan történik?
  • Az egyes cselekmények milyen választ generáljanak a rendszertől? (pl.: ha nem tölti ki a felhasználó az e-mail mezőt, akkor milyen hibaüzenetet kapjon? Ha kitölti, de helytelen, akkor?)
  • Mi az ami mindenképpen szükséges, és mi az, ami egyáltalán nem, vagy csak opcionális?

Jó tudni, hogy ami nem kerül a specifikációban rögzítésre, arra általában nem vonatkozhat a specifikáció alapján adott ár, ezért érdemes körültekintően eljárni. A későbbi „még oda tegyünk egy pipálási lehetőséget” típusú kérések látszólag nem jelentenek jelentős plusz munkát, ám mivel a „pipálás” mögött funkció van, ezért jellemzően az a rendszer több pontjára hatással van, amit utólag kell a kívánt működésnek megfelelően leprogramozni. 

Ki írja a specifikációt?

Tapasztalataim szerint az a legjobb, ha az ügyfél összeírja „saját szavaival” a fentieket, és a kivitelező ezek alapján „kikérdezi” az összes szóba jöhető opcióra, problémára vonatkozóan az ügyfelet.

Formai követelmény

Minél precízebb a megfogalmazás, annál jobban lehet belőle dolgozni, és annál kisebb az esélye annak, hogy a Megrendelő mást kap, mint amit szeretett volna. Érdemes kerek egész mondatokat használni, a magyar helyesírás szabályai szerint, hiszen akár egy írásjel eltérés is más jelentést eredményezhet. Lásd: „A királynét megölni nem kell félnetek jó lesz ha mindenki egyetért én nem ellenzem.”

Megírás után érdemes „aludni rá egyet”, és másnap ismét megnézni, és az új ötletekkel kibővíteni, az esetleges hibákat, félreérthető dolgokat javítani.

Példa specifikáció

Nézzünk egy bérautókkal foglalkozó céget, aki a weboldalán foglalási funkciót szeretne. Már az összeírt igénylista felvethet egy sor megválaszolandó kérdést, amely válaszok között akár képi/rajzos vázlatoknak is szerepelni kell.

Igények:

  • A meglévő www………hu oldalon legyen egy új menüpont, amelynek a neve legyen Bérlés.
  • Lehessen autót választani, majd időpontot foglalni, és bankkártyával fizetni.
  • Legyen hasonló, mint a ….. oldalon. De ott ez a funkció nem tetszik …… Ami ott nagyon tetszik: ……..

Az igények alapján felmerülő kérdések (példák, sokkal többet fel lehet tenni)

  • Az autót milyen formában kell kiválasztani? Hasonlatosan egy webshophoz, hogy fel vannak sorolva az autók, és mindegyik mellett legyen egy foglalás gomb, vagy a Bérlés menü alatt csak egy űrlap lesz, ahol pl. legördülő menüből lehet választani autót? Vagy egyéb elképzelés van?
  • Az időpontfoglalásnál milyen időintervallumot kell megadni? Órára vagy napra lebontottat? Csak kezdő időpontot kell megadni, vagy a foglalás tervezett végét is?
  • Meg kell adni a foglaló személynek átvételi és leadási pontot? Ez bárhol lehet? Távolság vagy más szempont szerinti felár lesz, amelyet az átvételi és leadási pont alapján számolni kell? Milyen kalkuláció alapján?
  • A bankkártyás fizetésnél milyen bankkal történik a szerződéskötés? Egyáltalán bankon keresztül történjen a funkció integrálása?
  • Kell számolni valamilyen extráért plusz költséget? Ezen extrák hol lesznek felsorolva, beárazva, megjelenítve?
  • Legyen kuponkód? Ha igen, milyen opciókkal lehessen létrehozni kuponkódot?
  • Kell felhasználói fiók egy foglaláshoz? Kötelező legyen? Hogyan történjen a regisztráció? Legyen visszaigazoló e-mail? És a foglaláshoz? A foglalás nyomon követhető legyen a felhasználói fiókban? A korábbiak is?
  • Legyen számlázás csatolva a foglaláshoz? Ha igen, milyen szolgáltatóval van számlakibocsátói szerződés?
  • A foglalásokat nyomon kell követni egy backend felületen? Milyen szempont szerint, mennyi ideig, milyen szűrőkkel, milyen jogosultságokkal?

Stb. A fenti kérdésekre adott válaszok alapján további kérdések merülnek fel, amelyek alapján megint. És a sort addig lehet folytatni, amíg el nem készül a teljes részletességű specifikáció.

Mennyi idő egy specifikáció megírása?

Egyszerűbb weboldalaknál, sablonszövegekből dolgozva lehet 10 perc is. Összetett rendszereknél akár hetekig is eltarthat csak a specifikáció összeállítása.

A specifikáció megírása a sok esetben jelentős időráfordítás miatt külön költség, amelyre érdemes pénzt szánni, ha nem szeretnénk egy fejlesztés során mást kapni, mint amit várunk. Ezen költség akkor is megtérül a megrendelő számára, ha nem a specifikációt író személytől rendeli meg végül a fejlesztést, hiszen a specifikációt már nem kell ismét elkészíteni (max. pontosítani) más szolgáltató választása esetén.

Cikkértesítő

Ha nem szeretne lemaradni az új cikkekről, akkor iratkozzon fel az értesítőre!

Extra ajándékként rögtön elküldöm a 199 weboldal készítés hiba című cikksorozatom elérhetőségét!

Szólj hozzá!