YAGNI
YAGNI ( "Et tarvitse sitä" ; englanniksi - "Et tarvitse sitä") on ohjelmistosuunnitteluprosessi ja -periaate , jossa ylimääräisen toiminnallisuuden hylkääminen julistetaan päätavoitteeksi ja/tai arvoksi, joka on hylkäävä lisäystoiminto, jota ei suoraan tarvita.
Perustelut
YAGNI-periaatteen kannattajien mukaan halu kirjoittaa koodia, jota ei tarvita juuri nyt, mutta saattaa tarvita tulevaisuudessa, johtaa seuraaviin ei-toivottuihin seurauksiin:
- Aikaa menee hukkaan, joka olisi käytetty tarvittavien toimintojen lisäämiseen, testaamiseen ja parantamiseen.
- Uusien ominaisuuksien virheenkorjaus, dokumentointi ja ylläpito tulee tehdä.
- Uudet toiminnallisuudet rajoittavat sitä, mitä tulevaisuudessa voidaan tehdä - tarpeettomat uudet ominaisuudet voivat myöhemmin estää uusien lisäämisen.
- Ennen kuin uusia ominaisuuksia todella tarvitaan, on vaikea ennustaa täysin, mitä niiden pitäisi tehdä ja testata niitä. Jos uusia ominaisuuksia ei testata perusteellisesti, ne eivät välttämättä toimi kunnolla, kun niitä myöhemmin tarvitaan.
- Tämä saa ohjelmiston monimutkaisemmaksi (joskus liian monimutkaisemmaksi).
- Jos kaikkia toimintoja ei dokumentoida, se voi jäädä käyttäjille tuntemattomaksi, mutta se voi aiheuttaa erilaisia tietoturvariskejä käyttäjän järjestelmälle.
- Uusien toimintojen lisääminen voi johtaa haluun saada lisää uusia toimintoja, mikä johtaa lumipalloefektiin.
Katso myös
Linkit