Organisasyon sa dagan sa trabaho sa usa ka team sa usa ka proyekto sa IT

Hello mga higala. Kanunay, labi na sa outsourcing, makita nako ang parehas nga litrato. Kakulang sa usa ka tin-aw nga workflow sa mga team sa lain-laing mga proyekto.

Ang labing hinungdanon nga butang mao nga ang mga programmer wala makasabut kung giunsa ang pagpakigsulti sa kustomer ug sa usag usa. Sa unsa nga paagi sa pagtukod sa usa ka padayon nga proseso sa pagpalambo sa usa ka kalidad nga produkto. Giunsa pagplano ang imong adlaw sa trabaho ug mga sprint.

Ug kining tanan sa katapusan moresulta sa wala’y oras nga mga deadline, overtime, kanunay nga pag-away kung kinsa ang mabasol, ug pagkadiskontento sa kostumer kung diin ug kung giunsa ang paglihok sa tanan. Kasagaran, kining tanan nagdala sa pagbag-o sa mga programmer, o bisan sa tibuuk nga mga koponan. Pagkawala sa usa ka kustomer, pagkadaot sa dungog, ug uban pa.

Sa usa ka higayon, nahuman ra nako ang ingon nga proyekto, diin adunay tanan nga kini nga mga kalipayan.

Walay usa nga gustong moako sa responsibilidad alang sa proyekto (usa ka dako nga merkado sa serbisyo), ang turnover makalilisang, ang kustomer gikuniskunis ug nasagmuyo. Ang CEO sa makausa miduol kanako ug miingon nga ikaw adunay gikinahanglan nga kasinatian, mao nga ania ang mga kard sa imong mga kamot. Dad-a ang proyekto alang sa imong kaugalingon. Kung mapakyas ka, tapuson namon ang proyekto ug papahawaon ang tanan. Kini molihok, kini mabugnaw, unya pangunahan kini ug pauswagon kini ingon sa imong nakita nga angay. Ingon usa ka sangputanan, nahimo ako nga nanguna sa team alang sa proyekto ug ang tanan nahulog sa akong mga abaga.

Ang una nakong gibuhat mao ang paghimo og workflow gikan sa scratch nga nahiuyon sa akong panan-aw niadtong panahona, ug misulat og job description para sa team. Dili sayon ​​ang pagpatuman niini. Apan sa sulod sa usa ka bulan o labaw pa ang tanan nahusay, ang mga developer ug ang kliyente naanad niini, ug ang tanan hilom ug komportable. Aron ipakita sa team nga kini dili lamang usa ka "bagyo sa usa ka tasa sa tsa", apan usa ka tinuod nga paagi sa paggawas sa sitwasyon, akong gikuha ang pinakataas nga gidaghanon sa mga responsibilidad, nga nagtangtang sa dili maayo nga rutina gikan sa team.

Usa ka tuig ug tunga na ang milabay, ug ang proyekto nag-uswag nga walay overtime, walay "mga lumba sa ilaga" ug tanang matang sa tensiyon. Ang ubang mga tawo sa karaan nga team dili gusto nga magtrabaho sama niana ug mibiya; ang uban, sa sukwahi, nalipay kaayo nga ang mga transparent nga mga lagda nagpakita. Apan sa katapusan, ang tanan sa team madasig kaayo ug nahibal-an ang dako nga proyekto sa hingpit, lakip ang front-end ug back-end. Naglakip sa code base ug tanan nga lohika sa negosyo. Niabot pa gani sa punto nga dili lang kita “mga tigbugsay”, kondili kita mismo ang naghimo ug daghang proseso sa negosyo ug mga bag-ong feature nga morag ganahan ang negosyo.

Salamat sa kini nga pamaagi sa among bahin, ang kustomer nakahukom nga mag-order og laing merkado gikan sa among kompanya, nga maayong balita.

Tungod kay kini nagtrabaho sa akong proyekto, tingali makatabang usab kini sa usa ka tawo. Busa, ang proseso mismo nga nakatabang kanamo sa pagluwas sa proyekto:

Ang proseso sa pagtrabaho sa grupo sa proyekto nga "Akong Paborito nga Proyekto"

a) Proseso sa internal nga team (tali sa mga developer)

  • Ang tanan nga mga isyu gihimo sa sistema sa Jira
  • Ang matag buluhaton kinahanglang ihulagway kutob sa mahimo ug ipahigayon ang usa ka aksyon
  • Ang bisan unsang bahin, kung kini igo nga komplikado, gibuak sa daghang gagmay nga mga buluhaton
  • Ang team nagtrabaho sa mga feature isip usa ka buluhaton. Una, kitang tanan nagtinabangay sa usa ka bahin, ipadala kini alang sa pagsulay, dayon kuhaa ang sunod.
  • Ang matag buluhaton gimarkahan, para sa backend o frontend niini
  • Adunay mga matang sa mga buluhaton ug mga bug. Kinahanglan nimo nga ipaila sila sa husto.
  • Pagkahuman sa usa ka buluhaton, gibalhin kini sa status sa pagrepaso sa code (sa kini nga kaso, usa ka hangyo sa pagbitad gihimo alang sa usa ka kauban)
  • Ang tawo nga nakakompleto sa buluhaton nagsubay dayon sa iyang oras alang niini nga buluhaton.
  • Human masusi ang code, aprubahan sa PR ug pagkahuman, ang usa nga naghimo niini nga buluhaton nga independente nga gihiusa kini sa master branch, pagkahuman gibag-o niya ang kahimtang niini aron maandam alang sa pag-deploy sa dev server.
  • Ang tanan nga mga buluhaton nga andam alang sa pag-deploy sa dev server gi-deploy sa nanguna sa team (iyang lugar nga responsibilidad), usahay sa usa ka miyembro sa team, kung adunay dinalian. Pagkahuman sa pag-deploy, ang tanan nga mga buluhaton gikan sa andam alang sa pag-deploy hangtod sa dev gibalhin sa status - andam alang sa pagsulay sa dev
  • Ang tanan nga mga buluhaton gisulayan sa kustomer
  • Kung gisulayan na sa kustomer ang buluhaton sa dev, gibalhin niya kini sa kahimtang nga andam na alang sa pag-deploy sa produksiyon
  • Alang sa pag-deploy sa produksiyon, kami adunay usa ka lahi nga sanga, diin among gihiusa ang agalon sa wala pa i-deploy
  • Kung sa panahon sa pagsulay ang kostumer nakit-an ang mga bug, ibalik niya ang buluhaton alang sa pag-usab, nga gitakda ang kahimtang niini ingon nga gibalik alang sa rebisyon. Niining paagiha gilain namon ang mga bag-ong buluhaton gikan sa mga wala pa nakapasar sa pagsulay.
  • Ingon usa ka sangputanan, ang tanan nga mga buluhaton gikan sa paglalang hangtod sa pagkompleto: Buhaton → Sa Pag-uswag → Pagrepaso sa Code → Andam nga i-deploy sa dev → QA sa dev → (Balik sa dev) → Andam nga i-deploy sa prod → QA sa prod → Nahuman
  • Ang matag developer nagsulay sa iyang code nga independente, lakip na isip user sa site. Dili gitugotan ang paghiusa sa usa ka sanga sa panguna gawas kung nahibal-an nga sigurado nga molihok ang code.
  • Ang matag buluhaton adunay mga prayoridad. Ang mga prayoridad gitakda sa kustomer o sa nanguna sa team.
  • Gikompleto una sa mga developer ang mga prayoridad nga buluhaton.
  • Ang mga developers mahimong mag-assign sa mga buluhaton sa usag usa kung lain-laing mga bug ang nakit-an sa sistema o ang usa ka buluhaton naglangkob sa trabaho sa daghang mga espesyalista.
  • Ang tanan nga mga buluhaton nga gihimo sa kostumer moadto sa nanguna sa team, kinsa nag-evaluate kanila ug mahimong mohangyo sa kustomer nga usbon kini o i-assign kini sa usa sa mga miyembro sa team.
  • Ang tanan nga mga buluhaton nga andam alang sa pag-deploy sa dev o prod moadto usab sa nanguna sa team, nga independente nga nagtino kung kanus-a ug kung giunsa ipatuman ang deployment. Human sa matag deployment, ang team lead (o team member) kinahanglang magpahibalo sa customer bahin niini. Ug usba usab ang mga kahimtang alang sa mga buluhaton aron maandam alang sa pagsulay alang sa dev/cont.
  • Kada adlaw sa parehas nga oras (para kanamo kini sa 12.00) maghimo kami usa ka miting tali sa tanan nga mga miyembro sa team
  • Ang tanan sa miting nagtaho, lakip ang lider sa grupo, kung unsa ang ilang gibuhat kagahapon ug kung unsa ang ilang plano nga buhaton karon. Unsa ang dili molihok ug ngano. Niining paagiha nahibal-an sa tibuuk nga grupo kung kinsa ang nagbuhat kung unsa ug kung unsang yugto ang proyekto. Naghatag kini kanamo og oportunidad sa pagtagna ug pag-adjust, kung gikinahanglan, ang among mga banabana ug mga deadline.
  • Sa miting, ang nanguna sa team nagsulti usab bahin sa tanan nga mga pagbag-o sa proyekto ug ang lebel sa karon nga mga bug nga wala makit-an sa kustomer. Ang tanan nga mga bug gihusay ug gi-assign sa matag miyembro sa team aron masulbad kini.
  • Sa miting, ang lider sa grupo nag-assign sa mga buluhaton sa matag tawo, nga gikonsiderar ang karon nga buluhaton sa mga developer, ang ilang lebel sa propesyonal nga pagbansay, ug gikonsiderar usab ang kaduol sa usa ka partikular nga buluhaton sa kung unsa ang karon nga gibuhat sa developer.
  • Sa miting, ang lider sa grupo nagpalambo sa usa ka kinatibuk-ang estratehiya alang sa arkitektura ug lohika sa negosyo. Human niini ang tibuok team maghisgot niini ug mohukom sa paghimog mga kausaban o pagsagop niini nga estratehiya.
  • Ang matag developer nagsulat og code ug nagtukod og mga algorithm nga independente sulod sa gambalay sa usa ka arkitektura ug lohika sa negosyo. Ang matag usa makapahayag sa ilang panan-aw sa pagpatuman, apan walay usa nga nagpugos ni bisan kinsa sa pagbuhat niini niini nga paagi ug dili sa laing paagi. Matarung ang matag desisyon. Kung adunay usa ka mas maayo nga solusyon, apan wala'y panahon alang niini karon, nan ang usa ka buluhaton gihimo sa tambok alang sa umaabot nga refactoring sa usa ka bahin sa code.
  • Kung ang usa ka developer naghimo sa usa ka buluhaton, gibalhin niya kini sa kahimtang sa pag-uswag. Ang tanan nga komunikasyon bahin sa pagpatin-aw sa buluhaton sa kustomer nahulog sa mga abaga sa developer. Ang mga teknikal nga pangutana mahimong ipangutana sa nanguna sa team o mga kauban.
  • Kung ang developer wala makasabut sa esensya sa buluhaton, ug ang kustomer dili makahimo sa tin-aw nga pagpatin-aw niini, nan siya nagpadayon sa sunod nga buluhaton. Ug gikuha sa nanguna sa team ang kasamtangan ug hisgutan kini sa kustomer.
  • Kada adlaw, kinahanglan nga isulat sa developer sa chat sa kliyente kung unsang mga buluhaton ang iyang gitrabaho kagahapon ug kung unsang mga buluhaton ang iyang buhaton karon.
  • Ang proseso sa trabaho mahitabo sumala sa Scrum. Ang tanan gibahin sa mga sprint. Ang matag sprint molungtad og duha ka semana.
  • Ang mga sprint gihimo, gipuno ug gisirhan sa nanguna sa team.
  • Kung ang proyekto adunay estrikto nga mga deadline, nan gisulayan namon nga banabanaon ang tanan nga mga buluhaton. Ug gihiusa namo sila sa usa ka sprint. Kung ang kostumer mosulay sa pagdugang sa daghang mga buluhaton sa sprint, nan nagtakda kami og mga prayoridad ug gibalhin ang ubang mga buluhaton sa sunod nga sprint.

b) Proseso sa pagtrabaho kauban ang kustomer

  • Ang matag developer mahimo ug kinahanglan nga makigsulti sa kustomer
  • Ang kustomer dili tugutan nga magpahamtang sa iyang kaugalingon nga mga lagda sa dula. Kinahanglan nga ipatin-aw sa kustomer sa usa ka matinahuron ug mahigalaon nga paagi nga kami mga espesyalista sa among natad, ug kinahanglan ra namon nga magtukod mga proseso sa trabaho ug iapil ang kustomer niini.
  • Kini mao ang gikinahanglan, labing maayo, sa dili pa magsugod sa pagpatuman sa bisan unsa nga gamit, sa paghimo sa usa ka flowchart sa tibuok lohikal nga proseso alang sa bahin (workflow). Ug ipadala kini sa kustomer alang sa kumpirmasyon. Kini magamit lamang sa komplikado ug dili klaro nga pagpaandar, pananglitan, usa ka sistema sa pagbayad, sistema sa pagpahibalo, ug uban pa. Makatugot kini kanamo nga mas tukma nga masabtan kung unsa gyud ang kinahanglan sa kostumer, i-save ang dokumentasyon alang sa bahin, ug iseguro usab ang among kaugalingon batok sa kamatuoran nga ang kustomer mahimong moingon sa umaabot nga wala namo buhata ang iyang gihangyo.
  • Tanang diagram/flowcharts/logic etc. Gitipigan namon kini sa Confluence/Fat, diin among gihangyo ang kustomer nga kumpirmahon ang katukma sa umaabot nga pagpatuman sa mga komento.
  • Gisulayan namon nga dili pabug-atan ang kustomer sa mga teknikal nga detalye. Kung kinahanglan namon ang usa ka pagsabut kung unsa ang gusto sa kostumer, nan nagdibuho kami mga primitive nga algorithm sa porma sa usa ka flowchart nga masabtan ug matul-id / mabag-o sa kostumer ang tanan sa iyang kaugalingon.
  • Kung ang kustomer nakit-an ang usa ka bug sa proyekto, nan gihangyo ka namon nga ihulagway kini sa daghang detalye sa Zhira. Ubos sa unsa nga mga kahimtang kini nahitabo, kanus-a, unsa nga pagkasunod-sunod sa mga aksyon ang gihimo sa kustomer sa panahon sa pagsulay. Palihug i-attach ang mga screenshot.
  • Gisulayan namon matag adlaw, matag adlaw sa kadaghanan, nga i-deploy sa dev server. Ang kustomer unya magsugod sa pagsulay sa pag-andar ug ang proyekto dili mohunong. Sa samang higayon, kini usa ka timaan alang sa kustomer nga ang proyekto anaa sa hingpit nga pag-uswag ug walay usa nga nagsulti kaniya og mga sugilanon.
  • Kanunay nga mahitabo nga ang kustomer dili hingpit nga makasabut sa iyang gikinahanglan. Tungod kay naghimo siya usa ka bag-ong negosyo alang sa iyang kaugalingon, nga adunay mga proseso nga wala pa matukod. Busa, usa ka komon kaayo nga sitwasyon mao ang paglabay sa tibuok nga mga piraso sa code ngadto sa basurahan ug pagdesinyo pag-usab sa lohika sa aplikasyon. Nagsunod gikan niini nga dili nimo kinahanglan nga tabonan ang tanan sa mga pagsulay. Makataronganon ang pagtabon lamang sa kritikal nga pagpaandar sa mga pagsulay, ug unya sa mga reserbasyon lamang.
  • Adunay mga sitwasyon nga ang team makaamgo nga wala kami makaabot sa mga deadline. Pagkahuman nagpahigayon kami usa ka dali nga pag-audit sa mga buluhaton ug gipahibalo dayon ang kustomer bahin niini. Ingon usa ka paagi sa paggawas sa sitwasyon, among gisugyot ang paglansad sa hinungdanon ug kritikal nga pagpaandar sa oras, ug ibilin ang nahabilin alang sa post-release.
  • Kung ang kostumer nagsugod sa paghimo sa lainlaing mga buluhaton gikan sa iyang ulo, nagsugod sa paghanduraw ug pagpatin-aw sa iyang mga tudlo, unya gihangyo namon siya nga hatagan kami usa ka layout sa panid ug pag-agay sa lohika nga kinahanglan hingpit nga maghulagway sa pamatasan sa tibuuk nga layout ug mga elemento niini.
  • Sa dili pa mobuhat sa bisan unsang buluhaton, kinahanglan natong siguroon nga kini nga bahin gilakip sa mga termino sa atong kasabutan/kontrata. Kung kini usa ka bag-ong bahin nga labaw pa sa among mga una nga kasabutan, nan kinahanglan namon nga presyohan kini nga bahin ((gibanabana nga oras sa pagkompleto + 30%) x 2) ug ipahibalo sa kustomer nga kinahanglan namon kini nga daghang oras aron makompleto kini, dugang ang Ang deadline gibalhin sa gibanabana nga oras nga gipadaghan sa duha. Atong buhaton ang buluhaton nga mas paspas - maayo, ang tanan makabenepisyo niini. Kung dili, nan among gitabonan ka.

c) Unsa ang dili namo madawat sa usa ka team:

  • Pagkawalay pasalig, kakulang sa kalmado, pagkalimot
  • “Nagpakaon ug pamahaw.” Kung dili nimo makompleto ang usa ka buluhaton ug wala mahibal-an kung giunsa, kinahanglan nimo nga ipahibalo dayon ang nanguna sa team bahin niini, ug dili maghulat hangtod sa katapusan nga minuto.
  • Mga kilay ug gipanghambog gikan sa usa ka tawo nga wala pa napamatud-an ang iyang mga kapabilidad ug propesyonalismo. Kung kini napamatud-an, nan kini posible, sulod sa mga utlanan sa kaligdong :)
  • Panglimbong sa tanang porma niini. Kung ang usa ka buluhaton wala makompleto, nan dili nimo usbon ang kahimtang niini aron makompleto ug isulat sa chat sa kliyente nga andam na kini. Ang kompyuter naguba, ang sistema nahagsa, ang iro nangusap sa laptop - kining tanan dili madawat. Kung mahitabo ang usa ka tinuod nga force majeure nga panghitabo, ang nanguna sa team kinahanglan nga ipahibalo dayon.
  • Kung ang usa ka espesyalista offline kanunay ug lisud ang pagkontak kaniya sa oras sa pagtrabaho.
  • Ang toxicity sa team bawal! Kung adunay dili mouyon sa usa ka butang, nan ang tanan magtigum alang sa usa ka rally ug maghisgot ug magdesisyon bahin niini.

Ug ubay-ubay nga mga pangutana/thesis nga usahay akong ipangutana sa akong kustomer aron maklaro ang tanang dili pagsinabtanay:

  1. Unsa ang imong kalidad nga pamatasan?
  2. Giunsa nimo pagtino kung ang usa ka proyekto adunay mga problema o wala?
  3. Pinaagi sa paglapas sa tanan namon nga mga rekomendasyon ug tambag sa pagbag-o / pagpaayo sa sistema, ang tanan nga mga risgo kay ikaw ra ang nagpas-an
  4. Ang bisan unsang dagkong mga pagbag-o sa proyekto (pananglitan, tanan nga mga lahi sa dugang nga pag-agos) modala sa posible nga pagpakita sa mga bug (nga among, siyempre, ayohon)
  5. Imposible nga masabtan sulod sa pipila ka minuto kung unsang klase nga problema ang nahitabo sa proyekto, labi pa nga ayohon dayon kini
  6. Nagtrabaho kami sa usa ka piho nga dagan sa produkto (Mga buluhaton sa Zhira - Pag-uswag - Pagsulay - Pag-deploy). Kini nagpasabut nga dili kami makatubag sa tibuuk nga dagan sa mga hangyo ug reklamo sa chat.
  7. Ang mga programmer mga programmer, dili propesyonal nga mga tester, ug dili makasiguro sa hustong kalidad sa pagsulay sa proyekto
  8. Ang responsibilidad alang sa katapusan nga pagsulay ug pagdawat sa mga buluhaton sa produksiyon anaa sa bug-os kanimo
  9. Kung nakahimo na kami sa usa ka buluhaton, dili kami makabalhin dayon sa uban hangtod makompleto namon ang karon (kung dili, kini modala sa labi pa nga mga bug ug dugang nga oras sa pag-uswag)
  10. Adunay mas gamay nga mga tawo sa team (tungod sa mga bakasyon o mga sakit), apan adunay dugang nga trabaho ug kami pisikal nga walay panahon sa pagtubag sa tanan nga imong gusto.
  11. Gihangyo ka namon nga maghimo usa ka pag-deploy sa produksiyon nga wala’y nasulayan nga mga buluhaton sa dev - kini ra ang imong peligro, dili ang mga developer
  12. Kung nagbutang ka og dili klaro nga mga buluhaton, nga wala’y husto nga dagan, wala’y mga laraw sa disenyo, nanginahanglan kini labi pa nga paningkamot ug oras sa pagpatuman gikan kanamo, tungod kay kinahanglan namon nga buhaton ang dugang nga kantidad sa trabaho imbes kanimo
  13. Ang bisan unsang mga buluhaton sa mga bug, nga wala’y detalyado nga paghulagway sa ilang mga panghitabo ug mga screenshot, ayaw kami hatagi higayon nga masabtan kung unsa ang sayup ug kung giunsa namon masulbad kini nga bug
  14. Ang proyekto nanginahanglan kanunay nga pagpino ug pagpaayo aron mapauswag ang pasundayag ug kaluwasan. Busa, ang team mogugol ug bahin sa iyang panahon niini nga mga kalamboan
  15. Tungod sa kamatuoran nga kami adunay overtime sa oras (dinalian nga mga pag-ayo), kinahanglan namon nga bayran kini sa ubang mga adlaw

Ingon sa usa ka lagda, ang kustomer nakasabut dayon nga ang tanan dili kaayo yano sa pagpalambo sa software, ug ang tinguha nga mag-inusara klaro nga dili igo.

Sa kinatibuk-an, mao ra kana. Gibiyaan nako ang daghang mga negosasyon ug ang una nga pag-debug sa tanan nga mga proseso, apan ingon usa ka sangputanan, ang tanan nagtrabaho. Makaingon ko nga kini nga proseso nahimong usa ka matang sa "Silver Bullet" alang kanamo. Ang mga bag-ong tawo nga mianhi sa proyekto mahimo dayon nga moapil sa trabaho gikan sa unang adlaw, tungod kay ang tanan nga mga proseso gihulagway, ug ang dokumentasyon ug arkitektura sa porma sa mga diagram naghatag dayon usa ka ideya kung unsa ang among gibuhat dinhi.

PS Gusto nakong klarohon nga walay project manager sa among habig. Anaa kini sa bahin sa kustomer. Dili man gud techie. European nga proyekto. Ang tanan nga komunikasyon kay sa English ra.

Good luck sa tanan sa imong mga proyekto. Ayaw pagsunog ug paningkamuti nga mapaayo ang imong mga proseso.

Source sa akoa post sa blog.

Source: www.habr.com