Maendeleo ni uundaji wa mara kwa mara wa kitu kipya na chenye manufaa.
Tunapofikiria maendeleo, mara nyingi huja akilini maendeleo ya bidhaa mpya. Hii inatofautiana na utengenezaji, ambao huzalisha bidhaa moja moja; badala yake, inahusisha kuunda vipimo vya muundo au moldi za bidhaa.
Kwa hivyo, michoro au moldi zilizoundwa kupitia maendeleo ya bidhaa mpya hutumiwa mara kwa mara viwandani kutengeneza bidhaa nyingi zinazofanana.
Pia kuna matumizi kama vile kukuza uwezo wa mtu binafsi au kukuza jamii na mataifa. Haya yanamaanisha sio tu ongezeko la kile mtu anachomiliki, bali uwezo wa kutumia mara kwa mara na kufaidika na uwezo uliokuzwa.
Wakati nguvu ya kiuchumi ya watu binafsi na jamii inaweza kubadilika-badilika kutokana na hali ya kiuchumi, uwezo uliokuzwa kimsingi ni wa kudumu.
Hata kama hupungua, inachukuliwa kuwa ni kushuka badala ya mabadiliko ya juu na chini ya ustawi wa kiuchumi.
Zaidi ya haya, pia kuna maendeleo ya teknolojia na maarifa. Tofauti na uwezo wa watu binafsi au jamii maalum, haya yana sifa ya kuweza kushirikiwa kwa urahisi.
Na miongoni mwa bidhaa, uwezo, maarifa, na teknolojia ambazo ni matokeo ya maendeleo haya, baadhi zinaweza kuchangia maendeleo yanayofuata.
Kwa kukuza matokeo hayo muhimu, wigo wa maendeleo hupanuka, na ufanisi na ubora huboreshwa.
Ujenzi wa Programu Unaoendeshwa na AI
Kwa ujumla, ujenzi umekuwa ukihitaji muda mwingi na juhudi kubwa. Hasa kadiri jamii inavyoendelea na mambo mbalimbali yanavyozidi kuwa magumu, kuunda vitu vipya kunakuwa kugumu zaidi.
Hata hivyo, kwa kuibuka kwa AI-zalishi, hali hii inabadilika. Kwa sasa, ujenzi wa programu unapitia mabadiliko makubwa kutokana na uwezo mkubwa wa AI-zalishi katika kupanga programu.
Katika mazingira haya, maono ya baadaye ambapo mawakala huru wanaotegemea AI-zalishi wanakuwa kitovu cha ujenzi wa programu kama wahandisi wa programu tayari yanatimia.
Kwa sasa tuko katika awamu ya mpito. Ingawa hatuwezi kukabidhi kikamilifu ujenzi kwa AI-zalishi, kuitumia AI-zalishi kwa ustadi kunaweza kuendeleza kwa nguvu ujenzi wa programu.
Huu unaitwa ujenzi wa programu unaoendeshwa na AI.
Maendeleo ya Maendeleo
Wakati AI-zalishi inapoongeza ufanisi wa uundaji wa programu, inaweza kurahisisha si tu uundaji wa programu lengwa ya mwisho bali pia uundaji wa programu inayosaidia uundaji wenyewe.
Kama ilivyotajwa awali, matokeo yanayorahisisha uundaji hupanua wigo wake, na kusaidia kuboresha ufanisi na ubora. Zaidi ya hayo, ikiwa yataundwa kwa ufanisi, yanaweza kutumiwa tena katika miradi mingine ya uundaji.
Kwa hiyo, kwa kuunda programu inayosaidia uundaji wakati wa mchakato wa uundaji wa programu, ufanisi wa jumla unaweza kuongezeka, na rasilimali hizi zinaweza kutumika kwa maendeleo ya baadaye.
Kijadi, kuunda programu saidizi kama hizo ilikuwa ni jambo la kawaida, lakini ilihitaji muda wake wa uundaji na juhudi, hivyo kuhitaji uzingatiaji makini na utekelezaji uliolenga.
Kwa kutumia AI-zalishi, mtu anaweza kuunda haraka programu rahisi ya kufanya kazi ndogo ndogo zinazokuja akilini ziwe otomatiki. Ikiwa kazi inahusisha usindikaji ulio wazi, AI-zalishi inaweza kutengeneza programu kwa usahihi bila makosa yoyote.
Matokeo yake, kuunda programu ya kusaidia uundaji wakati wa mchakato wa uundaji wa programu kumekuwa rahisi zaidi kuliko hapo awali.
Na, kwa kufikiria sana kuhusu hili, mtindo wa uundaji unajitokeza ambapo zana muhimu za uundaji huundwa mfululizo wakati wa mchakato, hivyo kubadilisha mbinu ya uundaji yenyewe.
Tutaipa jina hili "maendeleo ya maendeleo."
Ili kufanya maendeleo ya maendeleo, mtu anahitaji tabia ya kuchunguza kwa undani uundaji wake wa programu, akizingatia ni sehemu zipi zinaweza kushughulikiwa na programu na ni sehemu zipi tu na wanadamu, pamoja na ustadi wa kuunda programu saidizi kama hizo.
Zaidi ya hayo, AI-zalishi inaweza kuunganishwa kwenye zana hizi za programu. Kwa kuiweka ndani ya programu, tofauti na mawakala wa AI-zalishi, wigo wa usindikaji unaweza kupunguzwa kwa kiasi fulani, na njia zinaweza kufafanuliwa.
Ingawa mawakala wa AI wanaweza kufikia matokeo sawa kupitia vidokezo (prompts), programu yenye AI-zalishi iliyopachikwa inaweza kuongeza usahihi kwa urahisi zaidi kwa kuchanganya programu zote mbili na vidokezo.
Ikiwa maendeleo ya maendeleo kama haya yanaweza kufanywa, mradi wa pili utaonyesha maboresho katika ubora na gharama ikilinganishwa na wa kwanza. Zaidi ya hayo, kwa kila mradi unaofuata—wa tatu, wa nne, na kadhalika—maboresho yataendelea kuongezeka.
Hii ni tofauti kabisa na kutumia tu AI-zalishi kuunda programu. Pengo kubwa litatokea kwa muda kati ya timu zinazojua tu kutumia zana za AI-zalishi na timu zinazofanya maendeleo ya maendeleo.
Upimaji Unaoendeshwa na Urekebishaji
Kuna dhana inayoitwa Ukuzaji Unaoendeshwa na Majaribio (TDD), ambapo majaribio huundwa kwanza kulingana na vipimo, na kisha programu inakuzwa ili kupitisha majaribio hayo.
Mwanzoni, nilifikiri pia kwamba kwa kutumia AI-zalishi, itakuwa rahisi kuunda programu za majaribio kwa upimaji otomatiki, na kufanya TDD iwezekane.
Hata hivyo, nilipoanza kufanya mazoezi ya ukuzaji endelevu, nilianza kuamini kwamba kufikiria kuhusu majaribio kabla ya kuyatekeleza si mara zote njia inayofaa zaidi.
Hasa kwa programu kama vile programu za wavuti ambazo zinahusisha mambo ya kibinafsi kama vile urahisi wa matumizi na muundo wa kuona, ambazo mtu huwasiliana nazo moja kwa moja, niligundua kuwa kuendesha na kuwasiliana na programu hupata kipaumbele kuliko majaribio ya kina.
Hii ni kwa sababu ikiwa kuna kutoridhika kwingi katika kiwango cha UI/UX baada ya kuwasiliana nayo, kuna uwezekano wa kutaka kubadilisha sehemu za msingi kama vile mfumo, usanifu wa kimsingi, mfano wa data, au kesi za matumizi.
Katika mradi wangu wa sasa wa kibinafsi wa ukuzaji wa programu, niligundua masuala ya kubadilika kwa vipengele na utendaji na nikaishia kubadilisha mifumo miwili kwa tofauti.
Nilihitaji pia kukagua kabisa usindikaji katika maeneo fulani kutokana na matumizi yasiyofaa ya kumbukumbu.
Ni katika nyakati hizi za urekebishaji ambapo upimaji kwanza unakuwa kipaumbele cha kufahamu.
Ikiwa hii iko katika hatua ya mapema ya ukuzaji, au ikiwa kazi na vipimo vitabadilika sana hata hivyo, majaribio yanaweza kuwa yasiyo ya lazima.
Hata hivyo, ikiwa ukuzaji tayari umeendelea sana na kuna vitu vingi vya kuangalia, majaribio yatakuwa muhimu kuthibitisha kwamba urekebishaji haujaingiza kasoro za utendaji au mapungufu.
Kwa hivyo, njia ya kuunda programu za majaribio wakati ukuzaji umeendelea kwa kiwango fulani na urekebishaji unakuwa muhimu si wazo baya.
Katika hatua hii, ufunguo si kuunda majaribio kwa nambari zote, bali kuzingatia kupima sehemu zilizokomaa ambazo hazina uwezekano wa kubadilika sana katika siku zijazo, huku sehemu zinazobadilika zikiachwa bila majaribio ya otomatiki.
Hii inaweza kuitwa Upimaji Unaoendeshwa na Urekebishaji.
Hitimisho
AI-zalishi inabadilisha sana uundaji wa programu.
Katika makala iliyopita, niliandika kuhusu umuhimu wa kulenga kuwa "Mhandisi wa Pande Zote," mwenye uwezo wa kuunda mifumo inayounganisha nyanja mbalimbali, miundombinu, na mazingira ya utekelezaji, akivuka mipaka ya mhandisi wa kawaida wa full-stack.
Pia niliandika makala ikipendekeza kwamba tunaingia katika enzi ya "Uundaji Unaozingatia Uzoefu na Tabia," ambapo lengo si kuunganisha vipimo na utekelezaji, bali kuboresha uzoefu wa mtumiaji kupitia tabia ya programu.
Uundaji wa maendeleo na upimaji unaoendeshwa na urekebishaji ndio hasa unatoa mwelekeo mpya katika uundaji wa programu.