Erinevad tänapäeval levinud praktikad tarkvaraarenduses


Kuigi järgnevad praktikad tulevad erinevatest koolkondadest, on neid võimalik omavahel siduda asjaoluga, et need kõik juhinduvad mingist:

Neid praktikaid ei saa võrdselt liigitada mingi kindla metodoloogia alla, kuigi mitmed neist on levinud näiteks agiilsetes meetodites, nende seas praktikad nagu TDD ja BDD. Üldiselt saaks neid kõiki praktikaid kirjeldada kui "eesmärgist juhinduva tarkvaraarenduse" (Intent-Driven Software Development) praktikad.

Sisukord

Trendid tänapäeva arenduses

Aja jooksul on tarkvaraarendus liikunud järjest rohkem põhimõtte "kood kui tagajärg, mitte alguspunkt" suunas ning seda on viimaste aastate jooksul hüppeliselt kiirendanud tehisaru areng, mis on aidanud vähendada mehaanilisust mitmetes etappe arendustöös, nagu dokumentatsiooni koostamine ning lihtsamate koodiplokkide kirjutamine. Ometi on need praktikad eksisteerinud juba enne tehisaru võidukäiku, kuid nad on kandnud endas sama põhimõtet - tarkvara arendus peaks olema juhitud selgelt määratletud kavatsustest, mitte ainult tehnilisest teostusest.

Testide kaudu juhitud arendus

Need praktikad lähtuvad ideest, et enne koodi peavad alati tulema testid ning kood ehitatakse nende testide "ümber". Selle eesmärk on ennetada vigu nende tuvastamise ja parandamise asemel.

Käitumise- ja spetsifikatsioonikesksed praktikad

Neid praktikaid seob keskendumine peamiselt sellele, mis on loodava tarkvarasüsteemi oodatud käitumine - mida ta peab tegema ja kuidas.

NB! Kuigi teoreetiliselt on neil praktikatel väikseid erinevusi, kiputakse reaalses elus tihti kasutama BDD-d, SBE-d ja ATDD-d sünonüümselt.

Domeeni- ja disainikesksed praktikad

Andmete- ja jõudlusekesksed praktikad


Viited kasutatud infole:

From Agile to Adaptive Intent-Driven Development (AIDD): The AI-First Paradigm Shift | by Binoy Ayyagari | Medium

What is Behavior-Driven Development (BDD)? - GeeksForGeeks

What is Test-Driven Development (TDD)? | IBM

Acceptance Test Driven Development (ATDD) | Agile Alliance

Arendust suunavad praktikad - ChatGPT

Specification by Example [Book] - O'Reilly

Continuous Test-Driven Development - A Novel Agile Software Development Practice and Supporting Tool - Lech Madeyski and Marcin Kawalerowicz

What is Design-Driven Development? | UXPin

Domain Driven Design - DEV Community

Secure by Design | Cyber.gov.au

Distinction between three data related programming paradigms. | Yehonathan Sharvit


Tagasi