Spējā izstrāde

Spējā izstrāde () ir programminženierijas nozare, kura satur organizatorisku un metodoloģisku pasākumu kopumu ar mērķi nodrošināt iespējami ātru (laika ziņā), elastīgu (lietotāja prasību ziņā) un efektīvu (izpildes ziņā) programmatūras projektu izstrādi un ieviešanu. Spējās izstrādes principi balstās uz iteratīviem soļiem, programmatūras izstrādes projektu visā tā dzīves ciklā realizējot pa nelieliem secīgiem posmiem. Katra soļa sākumā tiek noteikts vai precizēts šī soļa plāns (šajā brīdī tas tiek pielāgots atbilstoši iespējamai prasību maiņai no pasūtītāja puses) un šī posma izpildes gaitā to "no ārpuses" nevar ietekmēt. Posmu garums parasti tiek noteikts 1—2 mēnešu robežās.

Spējās izstrādes prakses 

Viens no pirmajiem spējās metodes pamatprincipus noteica grāmatas eXtreme Programming autors Kents Beks, kurš definēja 12 noteikumu kopu:
 Programmēšana pāros;
 Plānošanas spēle;
 Testu balstīta izstrāde;
 Komandas kopība;
 Integrācijas nepārtrauktība;
 Koda pilnveidošana;
 Kodēšanas standarti;
 Mazi laidieni;
 Koda kopīpašums (kopīga koda pārvaldība);
 Arhitektūras vienkāršība;
 Sistēmas metafora;
 Virzības nepārtrauktība.

Spējās programmatūras izstrādes manifests 
2001. gadā 17 industrijā atzīti speciālisti programmatūras izstrādes metodoloģiju jomā definēja Spējās programmatūras izstrādes manifestu:

Radot un palīdzot citiem radīt programmnodrošinājumu, mēs nepārtraukti turpinām meklēt un atrodam labākus izstrādes veidus.

Savā darbā novērtējam:

Cilvēkus un viņu mijiedarbi augstāk par rīkiem un procesiem

Strādājošu programmatūru augstāk par detalizētu dokumentāciju

Kopsadarbību ar pasūtītāju augstāk par līguma sarunām

Reaģēšanu uz izmaiņām augstāk par sekošanu plānam

Protams, svarīgi ir arī tas, kas rakstīts pa labi, tomēr par būtiskāku mēs atzīstam to, kas rakstīts pa kreisi.

Spējās izstrādes projektiem ir raksturīgi sekojoši principi:
 Pasūtītāja apmierinātības nodrošināšana
 Strādājošas programmatūras versijas jāpiegādā bieži (starp laidieniem nedēļas nevis mēneši) - Nepārtrauktas integrācijas prakse
 Strādājošas programmatūra ir projekta izpildes mērs
 Prasību maiņa tiek pieļauta jebkurā projekta brīdī
 Cieša, ikdienišķa sadarbība starp lietotājiem (pasūtītāja pārstāvjiem) un izstrādātājiem
 Klātienes komunikācija ir visefektīvākā
 Projektu realizē motivēti speciālisti, kuriem ir jāuzticas
 Pastāvīga vērība uz tehnisku izcilību un labu arhitektūru, un tās realizāciju
 Vienkāršība
 Pašorganizētas komandas
 Nepārtraukta pielāgošanās uz mainīgiem apstākļiem

Populārākās spējās izstrādes metodes 

Populārākās spējās izstrādes metodes, kas atbilst Kenta Beka noteikumiem un Agile Manifesto principiem:

 XP (eXtreme Programming)
 Scrum
 FDD (Feature Driven Development)
 TDD (Test Driven Development)
 MSF (Microsoft Solution Framework) v.4 for Agile Software Development

Ārējās saites
 Agile Manifesto

Datorzinātne
Programmatūras izstrāde