Menaxhim projekteshZhvillim softueriUdhëzuesTeknologji

"Është gati 90%": pse projektet softuerike vonohen gjithmonë

Ligji i Hofstadterit, Ligji i Brooks-it dhe problemi i 90%. Pse softueri vonohet dhe pesë gjëra që mund të bëni si klient për ta mbajtur në kohë.

O

Oltion Elezi

·5 min lexim

4 shikime
"Është gati 90%": pse projektet softuerike vonohen gjithmonë

"Është gati 90%." E keni dëgjuar këtë nga një programues? Atëherë e dini edhe vazhdimin: dy javë më vonë është ende 90%, dhe një muaj më vonë ende 90%. Projektet softuerike nuk vonohen sepse programuesit janë dembelë. Vonohen sepse kanë disa ligje të vetat, dhe shumica e njerëzve nuk i njohin.

Ky shkrim është për ju që porositni softuer — pronar biznesi, menaxher, drejtues projekti. Nëse i kuptoni këto ligje, nuk do t'i shmangni plotësisht, por do të ndaloni së habituri dhe do të filloni të planifikoni me to.

Ligji i Hofstadterit

Douglas Hofstadter e formuloi kështu:

Gjithmonë zgjat më shumë se sa pret, edhe kur e merr parasysh Ligjin e Hofstadterit.

Duket si shaka, por është e vërtetë për një arsye të thjeshtë: vlerësojmë punën që shohim. Nuk vlerësojmë punën që nuk e dimë ende se ekziston — rastin e rrallë që zbulohet në testim, integrimin me sistemin e vjetër që nuk ka dokumentim, pyetjen që askush nuk ia bëri vetes deri sa u shfaq në ekran.

Problemi i 90 përqindëshit

Në softuer ka një shaka të vjetër: 90% e parë e kodit merr 90% të kohës. 10% e mbetur merr 90% e tjetër.

Pjesa e dukshme — ekranet, butonat, rrjedha kryesore — ndërtohet shpejt dhe jep ndjesinë që projekti është pothuajse gati. Pastaj vijnë gjërat që nuk duken në demo:

  • Çfarë ndodh kur interneti bie në mes të një veprimi?
  • Çfarë ndodh kur dy veta ndryshojnë të njëjtën gjë në të njëjtin moment?
  • Si sillet sistemi me 50,000 regjistrime në vend të 50 të testimit?
  • Kush ka të drejtë të shohë çfarë?
  • Si kalojnë të dhënat nga sistemi i vjetër?

Asnjë nga këto nuk është pjesë e "funksionalitetit". Të gjitha janë pjesë e "funksionon".

Ligji i Brooks-it

Fred Brooks, që drejtoi një nga projektet më të mëdha softuerike të viteve '60 në IBM, e shkroi në librin The Mythical Man-Month: shtimi i njerëzve në një projekt softuerik të vonuar e vonon edhe më shumë.

Pse? Sepse njerëzit e rinj duhet të mësojnë projektin, dhe ata që i mësojnë janë pikërisht ata që do të punonin. Dhe sepse me çdo person të ri rritet numri i bisedave të nevojshme për të mbajtur të gjithë në të njëjtën faqe. Nëntë gra nuk lindin një fëmijë në një muaj.

"Edhe një gjë e vogël"

Shtrirja e fushës — scope creep — rrallë vjen si një kërkesë e madhe. Vjen si dhjetë kërkesa të vogla, secila e arsyeshme:

  • "A mund ta eksportojmë edhe në PDF?"
  • "Do ishte mirë të dërgonte edhe një email."
  • "Po të shtojmë edhe një kolonë këtu?"

Asnjëra nuk duket sikur ndryshon afatin. Të gjitha bashkë e ndryshojnë. Dhe shpesh askush nuk e thotë me zë: "kjo shton dy ditë".

"Gati" për kë?

Shkaku më i nënvlerësuar i vonesave është që klienti dhe zhvilluesi kanë në kokë dy përkufizime të ndryshme për "gati". Për programuesin, gati do të thotë që kodi funksionon. Për klientin, gati do të thotë që stafi e përdor pa telefonuar për ndihmë. Mes këtyre dy "gati"-ve janë javë pune.

Çfarë mund të bëni ju si klient

Nuk mund t'i shfuqizoni këto ligje. Mund të ndërtoni një proces që i merr parasysh.

1. Filloni me një MVP

Produkti minimal i përdorshëm është versioni më i vogël që zgjidh problemin kryesor dhe mund të përdoret vërtet. Jo prototip, jo demo — diçka që punon në përditshmëri, por pa asnjë shtesë. Çdo gjë tjetër shkon në listën e fazës së dytë, dhe gjysma e saj zakonisht nuk nevojitet më pasi e keni përdorur versionin e parë.

2. Fushë e fiksuar për çdo fazë

Brenda një faze, lista e punëve nuk ndryshon. Ide të reja ka gjithmonë — shkruhen, dhe hyjnë në fazën tjetër. Kjo nuk është ngurtësi; është mënyra e vetme që një afat të ketë kuptim.

3. Demo çdo javë

Kërkoni të shihni diçka që funksionon çdo javë, jo raport progresi. Një ekran i gjallë tregon më shumë se "jemi në 70%". Dhe keqkuptimet dalin në javën e dytë, jo në muajin e katërt.

4. Shkruani kriteret e pranimit

Për çdo funksion, shkruani në fjali të thjeshta si do ta kuptoni që është gati. Për shembull:

  • "Kamarieri mund të shtojë një porosi pa internet dhe ajo sinkronizohet kur rikthehet lidhja."
  • "Menaxheri sheh raportin e ditës brenda pesë sekondave."
  • "Një përdorues pa të drejta nuk sheh çmimet e blerjes."

Kjo e kthen "gati"-n nga një ndjenjë në një listë që mund të kontrollohet.

5. Kërkoni vlerësime me interval

"Katër deri në shtatë javë" është një vlerësim më i ndershëm se "pesë javë". Nëse dikush ju jep një datë të vetme e të saktë për një projekt të ri, ose nuk e ka menduar mirë, ose po ju thotë atë që doni të dëgjoni.

Kështu punojmë edhe ne: faza të vogla, demo të shpeshta dhe kritere të shkruara që në fillim. Nëse keni një projekt në mendje, na tregoni — ose shikoni fillimisht çfarë ndërtojmë.

Pyetje të shpeshta

Pse programuesit nuk mund të japin një afat të saktë?

Sepse një pjesë e punës zbulohet vetëm gjatë ndërtimit: raste të veçanta, integrime pa dokumentim, pyetje që askush nuk i kishte bërë. Vlerësimi me interval, për shembull katër deri në shtatë javë, e tregon këtë pasiguri në mënyrë të ndershme, dhe ngushtohet sa më shumë përparon projekti.

Çfarë është MVP?

MVP (Minimum Viable Product) është versioni më i vogël i një softueri që zgjidh problemin kryesor dhe përdoret vërtet në punën e përditshme. Qëllimi është të mësoni nga përdorimi real para se të investoni në funksionalitete që mund të mos ju duhen.

A e shpejton projektin shtimi i më shumë programuesve?

Zakonisht jo, sidomos kur projekti tashmë është vonuar. Njerëzit e rinj kanë nevojë për kohë për ta mësuar projektin, dhe ata që i mësojnë ndalojnë punën e tyre. Ky efekt njihet si Ligji i Brooks-it.

Si ta shmang shtrirjen e fushës pa humbur idetë e reja?

Mbani një listë të veçantë për idetë e reja dhe fiksoni punën e fazës aktuale. Çdo ide shkruhet, vlerësohet dhe planifikohet për fazën tjetër. Kështu asgjë nuk humbet dhe afati i fazës aktuale mbetet i vlefshëm.

Lexoni më tej

AI nuk do t'ju zëvendësojë. Kolegu që e përdor, po.

Pesë detyra që mund t'ia jepni AI-së që nesër, si ta pyesni që të merrni diçka të dobishme, ku gabon dhe çfarë nuk duhet ngjitur kurrë në chat.

Faqja juaj është e ngadaltë. Provojeni vetë në 5 minuta

Si ta testoni shpejtësinë e faqes me PageSpeed Insights, çfarë do të thonë LCP, CLS dhe INP, dhe pesë shkaqet që e ngadalësojnë pothuajse çdo faqe.

Excel nuk është bazë të dhënash: 7 shenja që e keni tejkaluar

Versione me email, një person që "e di formulën", asnjë historik ndryshimesh. Shtatë shenja që biznesi juaj e ka tejkaluar Excel-in, dhe kur nuk e ka.

O

Shkruar nga

Oltion Elezi

Founder & CEO of Elei Soft