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.
 LarmanGuide 

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,Gerald M. Weinberg, kama alivyonukuliwa katika : "Tulikuwa tunafanya maendeleo ya kuongezea taratibu (incremental development) mapema kama mwaka 1957 huko Los Angeles, chini ya usimamizi wa Bernie Dimsdale katika Service Bureau Corporation ya IBM. Alikuwa mwenzake John von Neumann, hivyo labda alijifunza huko, au alidhani ni jambo la kawaida. Nakumbuka Herb Jacobs (hasa, ingawa sote tulishiriki) akitengeneza usimulizi mkubwa kwa ajili ya Motorola, ambapo mbinu iliyotumiwa ilikuwa, ninavyoweza kuona... Sisi sote, ninavyokumbuka, tuliona kwamba kufanya mradi mkubwa kwa mtindo wa waterfall lilikuwa jambo la kijinga, au angalau kutofahamu uhalisia. Nadhani maelezo ya waterfall yalitufanya kutambua kuwa tulikuwa tunafanya kitu kingine, kitu ambacho hakikuwa na jina isipokuwa 'uundaji wa programu. 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 viwandaniIacocca Institute (1991). "21st Century Manufacturing Enterprise Strategy: An Industry Led View". Iacocca Institute, Lehigh University, Bethlehem, PA.Presley, A., J. Mills and D. Liles (1995). "Agile Aerospace Manufacturing". Nepcon East 1995, Boston. 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.

Category:Kompyuta
Category:programu za kompyuta
Category:Uhandisi wa programu