Uundaji wa Programu za Kompyuta kwa Njia ya Agile

**Uundaji wa Programu za Kompyuta kwa Njia ya Agile** (Agile Software Development) ni  mbinu za utengenezaji wa programu zinazowakilisha maadili na kanuni ambazo zilikubalika na Agile Allience, kundi la watendaji 17 wa program, mwaka 2001.
Kama ilivyoandikwaa katika Manifesto for Agile Software Development, wataalamu hao wanathamini:  
*Watu binafsi na mwingiliano kuhusu michakato na zana 
* Programu ya kufanya  kazi kupitia nyaraka kamili 
* Ushirikiano wa wateja kuhusu mazungumzo  ya mkataba
* Kujibu mabadiliko kuhusu kufuata mpango

Wataalamu hao wanataja msukumo kotoka kwa mbinu mpya za wakati huo ikiwa ni pamoja na **programu kali**,**Scrum(uundaji wa prograrmu**,**njia ya uundaji wa mifumo inayobadilika**, na kuunga mkono hitaji la njia mbadala ya michakato mikubwa ya uundaji wa programu inayoendeshwa na nyarka.

Mbinu nyingi za uundaji wa programu ziliibuka kutokana na mtazamo wa Agile. Mbinu hizi zinazotegemea Agile, zinazojulikana pia kama **"Agile"** (kwa herufi kubwa A), zinahusisha mahitaji, ugunduzi wa suluhisho, na uboreshaji wa suluhisho kupitia jitihada za ushirikiano wa timu zinazojipanga zenyewe (self-organizing) na timu zenye ujuzi mchanganyiko (cross-functional), pamoja na wateja au watumiaji wa mwisho.

Ingawa kuna *ushahidi wa hadithi (anecdotal evidence)* unaoonyesha kuwa mtazamo wa Agile na mbinu zinazotegemea Agile huboresha mchakato wa uundaji wa programu, ushahidi wa kimaandishi (*empirical evidence*) ni mdogo na haujaweza kutoa hitimisho thabiti.

## Historia
Mbinu za **uundaji wa programu kwa njia ya kurudiwa na kuongeza hatua kwa hatua|uundaji wa programu kwa hatua za kurudiwa na kuongeza (iterative and incremental software development)** zinaweza kufuatiliwa hadi mwaka 1957, ambapo usimamizi wa mradi wa kimaendeleo (*evolutionary project management*) na **uundaji wa programu unaobadilika**
 vilianza kujitokeza mapema katika miaka ya 1970.

Katika miaka ya 1990, mbinu kadhaa za uundaji wa programu zilizokuwa *nyepesi* (lightweight) ziliibuka kama mwitikio dhidi ya mbinu zilizotawala wakati huo ambazo zilikuwa *nzito* (heavyweight) — mara nyingi zikijulikana kwa pamoja kama **waterfall** — ambazo wakosoaji walizielezea kama mbinu zenye udhibiti mwingi, zenye upangaji kupita kiasi, na zinazohusisha **usimamizi wa karibu mno**.

Mbinu hizi nyepesi zilijumuisha **rapid application development** (RAD), kutoka 1991; unified process (UP) na dynamic systems development method (DSDM), zote kutoka mwaka 1994; Scrum, kutoka 1995; Crystal Clear na extreme programming (XP), zote kutoka 1996; na feature-driven development (FDD), kutoka 1997.

Ingjap mbinu hizi zilitokea kabla ya kuchapishwa kwa *Agile Manifesto*, sasa zinajulikana kwa pamoja kama mbinu za uundaji wa programu za Agile. 

Tangu mwaka 1991, mabadiliko yanayofanana tayari yalikuwa yakiendelea katika * utengenezaji wa viwandani* na katika  *fikra za usimamizi* zilizotokana na **usimamizi konda**.

Mnamo mwaka 2001, watengenezaji programu kumi na saba walikutana katika hoteli ya mapumziko huko **Snowbird, Utah** kujadili mbinu nyepesi za uundaji wa programu. Walikuwa **Kent Beck** (Extreme Programming), **Ward Cunningham** (Extreme Programming), **Dave Thomas (programmer)|Dave Thomas** (**The Pragmatic Programmer|Pragmatic Programming**, Ruby), **Jeff Sutherland** (Scrum), **Ken Schwaber** (Scrum), **Jim Highsmith** (Adaptive Software Development), **Alistair Cockburn** (Crystal), **Robert C. Martin** (**SOLID**), **Mike Beedle** (Scrum), Arie van Bennekum, **Martin Fowler (software engineer)|Martin Fowler** (**OOAD** na **UML**), James Grenning, **Andy Hunt (author)|Andrew Hunt** (Pragmatic Programming, Ruby), **Ron Jeffries** (Extreme Programming), **Jon Kern**, Brian Marick (Ruby, **Test-driven development**), na **Stephen J. Mellor|Steve Mellor** (**Shlaer–Mellor method|OOA**). Kundi hilo, The Agile Alliance, lilichapisha *Manifesto for Agile Software Development*. 

Mnamo mwaka 2005, kundi lililoongozwa na Cockburn na Highsmith liliandika nyongeza ya kanuni za usimamizi wa miradi, iitwayo PM Declaration of Interdependence, ili kuongoza usimamizi wa miradi ya programu kulingana na mbinu za usanidi programu za agile.

Mnamo mwaka 2009, kundi lililofanya kazi na Martin liliandika upanuzi wa kanuni za utayarishaji programu, uitwao Software Craftsmanship Manifesto, ili kuelekeza usanidi programu katika mwelekeo wa maadili ya kitaaluma na umahiri.

Mnamo mwaka 2011, Agile Alliance iliunda *Guide to Agile Practices* (iliyobadilishwa jina kuwa *Agile Glossary* mwaka 2016), ambacho ni mkusanyiko wa chanzo huria unaoendelea wa ufafanuzi wa vitendo, istilahi, na vipengele vya agile, pamoja na maelezo na miongozo ya uzoefu kutoka kwa jamii ya watendaji wa agile duniani kote.