Sababu Halisi kwa Nini PR Zako Zinakuwa Kubwa
Nilifanya kazi katika kampuni ambayo ilituma pull requests (PR) kubwa sana kama mazoea. PR moja ingeweza kubaki wazi kwa wiki kadhaa. Kuipitia ilihitaji uwezo wa kukumbuka mfumo mzima wa upande mmoja (subsystem) kichwani mwako. Hitilafu (bugs) zilijikusanya. Muda wa kukamilisha kazi (deadlines) ukavuja. Hatimaye tulilazimika kujenga upya sehemu kubwa ya mfumo kwa sababu hakuna mtu aliyeweza kuubadilisha kwa usalama tena.
Wahandisi hawakuwa wabaya. Walikuwa wenye akili na walifanya kazi kwa bidii. PR zilikuwa kubwa kwa sababu ya jambo la kuchosha.
Hakuna aliyewafundisha jinsi ya kugawanya kazi katika vipande vidogo.
Mara nyingi tunachukulia PR kubwa kama tatizo la nidhamu. Tunasema, "Tengeneza tu PR ndogo zaidi." Tunafanya kana kwamba nguvu ya utashi (willpower) ndiyo tofauti pekee kati ya mabadiliko 1,500 na mabadiliko 150.
Sio suala la utashi. Kugawanya kazi kubwa katika vipande vidogo na vinavyojitegemea ni ujuzi. Watu wengi hawajawahi kufundishwa hivyo. Tiketi inaposema "ongeza malipo" (add billing), inaonekana kama kazi moja tu. Kuona mahali PR moja inapoishia na nyingine inapoanza ndiyo sehemu ngumu.
Mimi pia nilikuwa nakutuma PR kubwa. Nilidhani "kumaliza" inamaanisha kutatua tatizo lote kwa mara moja na kuliweka kwenye mapitio (review). Ilichukua miaka kujifunza kwamba kidogo ni bora zaidi.
PR ndogo zilibadilisha kila kitu kwangu:
- Wapakuzi (reviewers) wanapata hitilafu nyingi zaidi. Binadamu anaweza kuchanganua mabadiliko 200. Hawezi kuchanganua mabadiliko 2,000. Wao hupitia kwa haraka tu na kuidhinisha.
- Kuunganisha (merges) kunatokea haraka zaidi. PR zinaacha kukaa kwenye foleni.
- Niliacha kujihisi nimelemewa. Nilijikita kwenye kipande kimoja kwa wakati mmoja.
- Nilikuwa mpangaji bora zaidi. Lazima uelewe muundo wa kazi yako ili uweze kuigawanya.
Nilianza kuona mifumo kama matofali ya Lego. Ni vipande vidogo vinavyounganishwa pamoja. Ukishauona muundo wa matofali hayo, kupunguza ukubwa wa kazi inahisiwa kuwa jambo la kawaida.
Timu yangu ya sasa inatuma PR ndogo. Matokeo ni wazi:
- Wakati wetu wa wastani wa kuunganisha (merge time) ni siku 1.5.
- Tunapata na kurekebisha hitilafu haraka kwa sababu mabadiliko yanaeleweka kwa urahisi.
- Muda wetu wa utoaji ni thabiti.
Kugawanya kazi ni ujuzi ambao lazima uufundishe. Huwezi kurekebisha PR kubwa kwa kutumia sheria. Unazirekebisha kwa kuwafundisha watu kuona "matofali" (bricks).
AI inafanya ujuzi huu kuwa muhimu zaidi.
Hapo awali, kuandika mistari 2,000 ya kodi kulihitaji juhudi nyingi. Vikwazo hivyo vilifanya PR ziwe ndogo. AI imeondoa vikwazo hivyo. Unaweza kuzalisha mabadiliko makubwa kwa kutumia amri (prompt) moja tu.
Juhudi hizo hazikutoweka. Zilipimwa tu upande wa mpakuzi (reviewer). Mwandishi halipi chochote, lakini mpakuzi ndiye anayelipa gharama kamili.
Ikiwa ukubwa haionyeshi tena kiasi cha kazi ambacho mwandishi amefanya, basi ukubwa haukupi taarifa nyingi kuhusu hatari. Ni lazima uamue ni sehemu zipi zinastahili uangalifu wako mkubwa zaidi.
Ifundishe timu yako kuona matofali. Ni tabia yenye tija kubwa zaidi katika uhandisi.
Je, timu yako huamua vipi ni PR zipi zinahitaji mapitio ya kina na zipi zinaweza kupitishwa haraka?
Chanzo: https://dev.to/pixel-wraith/the-real-reason-your-prs-get-big-5cm3
Jumuiya ya kujifunzia ya hiari: https://t.me/GyaanSetuAi