Òganizasyon workflow nan yon ekip sou yon pwojè IT

Bonjou zanmim yo. Byen souvan, espesyalman nan externalisation, mwen wè foto a menm. Mank yon workflow klè nan ekip sou plizyè pwojè.

Bagay ki pi enpòtan an se ke pwogramasyon yo pa konprann ki jan yo kominike ak kliyan an ak youn ak lòt. Ki jan yo bati yon pwosesis kontinyèl nan devlope yon pwodwi bon jan kalite. Ki jan yo planifye jounen travay ou ak sprints.

Ak tout sa a finalman rezilta nan dat limit rate, lè siplemantè, konfwontasyon konstan sou ki moun ki blame, ak mekontantman kliyan ak ki kote ak ki jan tout bagay ap deplase. Byen souvan, tout bagay sa yo mennen nan yon chanjman nan pwogramasyon, oswa menm ekip antye. Pèt yon kliyan, deteryorasyon repitasyon, ak sou sa.

Nan yon moman, mwen jis te fini sou yon pwojè konsa, kote te gen tout plezi sa yo.

Pèsonn pa te vle pran responsablite pou pwojè a (yon gwo mache sèvis), woulman an te terib, kliyan an te tou senpleman chire ak fristre. CEO a yon fwa te vin jwenn mwen epi li te di ke ou gen eksperyans ki nesesè, kidonk isit la se kat yo nan men ou. Pran pwojè a pou tèt ou. Si ou vise, nou pral fèmen pwojè a epi voye tout moun deyò. Li pral travay deyò, li pral fre, Lè sa a, mennen li epi devlope li jan ou wè anfòm. Kòm yon rezilta, mwen te vin dirije ekip la pou pwojè a ak tout bagay te tonbe sou zepòl mwen.

Premye bagay mwen te fè se te devlope yon workflow nan grafouyen ki aliyen ak vizyon mwen nan moman an, epi li te ekri yon deskripsyon travay pou ekip la. Aplike li pa t fasil. Men, nan yon mwa oswa konsa tout bagay rezoud desann, devlopè yo ak kliyan an te abitye ak li, ak tout bagay te ale trankilman ak alèz. Yo nan lòd yo montre ekip la ke sa a pa te jis yon "tanpèt nan yon tas te", men yon fason reyèl soti nan sitiyasyon an, mwen te pran sou kantite maksimòm responsablite, retire woutin nan dezagreyab nan ekip la.

Yon ane ak yon mwatye deja pase, ak pwojè a ap devlope san siplemantè, san "ras rat" ak tout kalite estrès. Gen kèk moun nan ansyen ekip la pa t vle travay konsa e yo te ale; lòt moun, okontrè, te trè kontan ke règ transparan yo te parèt. Men, nan fen a, tout moun nan ekip la trè motive epi yo konnen gwo pwojè a nan plen, ki gen ladan tou de front-end ak back-end. Ki gen ladan tou de baz kòd la ak tout lojik biznis. Li te menm rive nan pwen kote nou pa sèlman "rameur", men nou menm nou vini ak anpil pwosesis biznis ak karakteristik nouvo ke biznis la vire soti nan renmen.

Mèsi a apwòch sa a sou pati nou an, kliyan an deside kòmande yon lòt mache nan konpayi nou an, ki se yon bon nouvèl.

Depi sa ap travay sou pwojè mwen an, petèt li pral ede yon moun tou. Se konsa, pwosesis la tèt li ki te ede nou sove pwojè a:

Pwosesis travay ekip sou pwojè "Pwojè pi renmen mwen an"

a) Pwosesis ekip entèn (ant devlopè)

  • Tout pwoblèm yo kreye nan sistèm Jira a
  • Chak travay yo ta dwe dekri otank posib epi fè entèdi yon aksyon
  • Nenpòt karakteristik, si li se ase konplèks, se kraze nan anpil ti travay
  • Ekip la ap travay sou karakteristik kòm yon sèl travay. Premyèman, nou tout travay ansanm sou yon sèl karakteristik, voye li pou tès, Lè sa a, pran youn nan pwochen.
  • Chak travay make, pou backend la oswa entèfas li
  • Gen kalite travay ak pinèz. Ou bezwen endike yo kòrèkteman.
  • Apre w fin ranpli yon travay, li transfere nan estati revizyon kòd (nan ka sa a, yo kreye yon demann rale pou yon kòlèg)
  • Moun ki te konplete travay la imedyatman swiv tan li pou travay sa a.
  • Apre w fin tcheke kòd la, PR a pral apwouve epi apre sa, moun ki te fè travay sa a poukont li rantre li nan branch mèt la, apre sa li chanje estati li a pare pou deplwaman nan sèvè dev la.
  • Tout travay ki pare pou deplwaman sou sèvè dev la deplwaye pa dirijan ekip la (zone responsablite li), pafwa pa yon manm ekip, si yon bagay ijan. Apre deplwaman, tout travay soti nan pare pou deplwaman rive nan dev yo transfere nan estati a - pare pou tès sou dev.
  • Tout travay yo teste pa kliyan an
  • Lè kliyan an teste travay la sou dev la, li transfere li nan estati a pare pou deplwaman nan pwodiksyon an
  • Pou deplwaman nan pwodiksyon, nou gen yon branch separe, kote nou rantre mèt la sèlman anvan deplwaman
  • Si pandan tès kliyan an jwenn ensèk, li retounen travay la pou revizyon, mete estati li kòm retounen pou revizyon. Nan fason sa a nou separe nouvo travay ak sa yo ki pa te pase tès yo.
  • Kòm yon rezilta, tout travay ale soti nan kreyasyon an fini: Pou Fè → Nan Devlopman → Revizyon Kòd → Pare deplwaye nan dev → QA sou dev → (Retounen nan dev) → Pare deplwaye pou prod → QA sou prod → Fè
  • Chak pwomotè teste kòd li poukont li, tankou yon itilizatè sit. Li pa pèmèt yo rantre yon branch nan yon sèl prensipal sof si li konnen pou sèten ke kòd la ap travay.
  • Chak travay gen priyorite. Priyorite yo mete swa pa kliyan an oswa dirijan ekip la.
  • Devlopè yo konplete travay priyorite yo an premye.
  • Devlopè yo ka bay travay youn ak lòt si yo te jwenn pinèz diferan nan sistèm nan oswa yon travay konsiste de travay plizyè espesyalis.
  • Tout travay ke kliyan an kreye ale nan dirijan ekip la, ki moun ki evalye yo epi swa mande kliyan an modifye yo oswa asiyen yo nan youn nan manm ekip yo.
  • Tout travay ki pare pou deplwaman nan devlòpman oswa prod tou ale nan dirijan ekip la, ki moun ki poukont detèmine ki lè ak ki jan fè deplwaman an. Apre chak deplwaman, dirijan ekip la (oswa manm ekip la) dwe notifye kliyan an sou sa. Epi tou chanje estati yo pou travay yo pare pou tès pou dev / kont.
  • Chak jou an menm tan (pou nou se 12.00) nou fè yon rankont ant tout manm ekip yo.
  • Tout moun nan reyinyon an fè rapò, enkli lidè ekip la, sou sa yo te fè yè ak sa yo planifye pou yo fè jodi a. Ki sa ki pa travay ak poukisa. Nan fason sa a tout ekip la konnen ki moun k ap fè sa ak nan ki etap pwojè a ye. Sa a ba nou opòtinite pou predi ak ajiste, si sa nesesè, estimasyon nou yo ak dat limit yo.
  • Nan reyinyon an, dirijan ekip la pale tou sou tout chanjman ki fèt nan pwojè a ak nivo aktyèl pinèz ki pa t jwenn pa kliyan an. Tout pinèz yo klase epi yo asiyen nan chak manm ekip yo rezoud yo.
  • Nan reyinyon an, lidè ekip la bay chak moun yon travay, dapre kantite travay aktyèl devlopè yo, nivo fòmasyon pwofesyonèl yo, epi tou li pran an kont pwoksimite yon travay patikilye ak sa pwomotè a ap fè kounye a.
  • Nan reyinyon an, lidè ekip la devlope yon estrateji jeneral pou achitekti ak lojik biznis. Apre sa, tout ekip la diskite sou sa epi deside fè ajisteman oswa adopte estrateji sa a.
  • Chak pwomotè ekri kòd epi konstwi algoritm poukont yo nan kad yon sèl achitekti ak lojik biznis. Tout moun ka eksprime vizyon yo sou aplikasyon an, men pèsonn pa fòse pèsonn fè li nan fason sa a epi yo pa otreman. Chak desizyon jistifye. Si gen yon solisyon pi bon, men pa gen tan pou li kounye a, Lè sa a, yon travay kreye nan grès pou refactoring nan lavni nan yon sèten pati nan kòd la.
  • Lè yon pwomotè pran yon travay, li transfere li nan sitiyasyon devlopman. Tout kominikasyon konsènan klarifikasyon nan travay la ak kliyan an tonbe sou zepòl yo nan pwomotè a. Kesyon teknik yo ka poze dirijan ekip la oswa kòlèg yo.
  • Si pwomotè a pa konprann sans nan travay la, epi kliyan an pa t 'kapab eksplike li klèman, Lè sa a, li kontinye nan pwochen travay la. Ak dirijan ekip la pran yon sèl aktyèl la epi diskite li ak kliyan an.
  • Chak jou, pwomotè a ta dwe ekri nan chat kliyan an sou ki travay li te travay sou yè ak sou ki travay li pral travay jodi a.
  • Pwosesis travay la pran plas dapre Scrum. Tout se divize an sprint. Chak Sprint dire de semèn.
  • Sprints yo kreye, ranpli ak fèmen pa dirijan ekip la.
  • Si pwojè a gen dat limit strik, Lè sa a, nou eseye apeprè estime tout travay yo. Epi nou mete yo ansanm nan yon sprint. Si kliyan an ap eseye ajoute plis travay nan Sprint la, Lè sa a, nou mete priyorite epi transfere kèk lòt travay nan Sprint pwochen an.

b) Pwosesis travay ak kliyan an

  • Chak pwomotè ka e yo ta dwe kominike ak kliyan an
  • Kliyan an pa ka pèmèt yo enpoze pwòp règ li nan jwèt la. Li nesesè fè li klè pou kliyan an nan yon fason politès ak zanmitay ke nou se espesyalis nan domèn nou an, epi sèlman nou dwe bati pwosesis travay ak enplike kliyan an nan yo.
  • Li nesesè, depreferans, anvan ou kòmanse aplike nenpòt fonksyonalite, yo kreye yon organigram nan tout pwosesis la lojik pou karakteristik nan (workflow). Epi voye li bay kliyan an pou konfimasyon. Sa a sèlman aplike nan fonksyonalite konplèks epi ki pa evidan, pou egzanp, yon sistèm peman, sistèm notifikasyon, elatriye. Sa a pral pèmèt nou pi byen konprann ki sa egzakteman kliyan an bezwen, sove dokiman pou karakteristik nan, epi tou asire tèt nou kont lefèt ke kliyan an ka di nan lavni ke nou pa t 'fè sa li te mande.
  • Tout dyagram/diagram/lojik elatriye. Nou sove li nan Confluence/Fat, kote nou mande kliyan an konfime kòrèkteman aplikasyon an nan lavni nan kòmantè yo.
  • Nou eseye pa chaje kliyan an ak detay teknik. Si nou bezwen yon konpreyansyon sou ki jan kliyan an vle li, Lè sa a, nou trase algoritm primitif nan fòm lan nan yon organigram ke kliyan an ka konprann ak korije / modifye tout bagay tèt li.
  • Si kliyan an jwenn yon ensèk nan pwojè a, Lè sa a, nou mande w dekri li an detay nan Zhira. Nan ki sikonstans li te rive, ki lè, ki sekans aksyon kliyan an te fèt pandan tès la. Tanpri tache Ekran.
  • Nou eseye chak jou, chak lòt jou nan pi plis, deplwaye sou sèvè dev la. Lè sa a, kliyan an kòmanse teste fonksyonalite a ak pwojè a pa kanpe san fè anyen konsa. An menm tan an, sa a se yon makè pou kliyan an ke pwojè a se nan devlopman konplè epi pèsonn pa di l 'fe.
  • Li souvan rive ke kliyan an pa konplètman konprann sa li bezwen. Paske li kreye yon nouvo biznis pou tèt li, ak pwosesis ki poko etabli. Se poutèt sa, yon sitiyasyon trè komen se lè nou jete tout moso nan kòd nan fatra a ak redesign lojik aplikasyon an. Sa a soti nan sa a ke ou pa ta dwe kouvri absoliman tout bagay ak tès yo. Li fè sans pou kouvri sèlman fonksyonalite kritik ak tès yo, ak Lè sa a, sèlman ak rezèvasyon.
  • Gen sitiyasyon kote ekip la reyalize ke nou pa respekte dat limit yo. Lè sa a, nou fè yon kontwòl kontab rapid nan travay yo epi imedyatman enfòme kliyan an sou li. Kòm yon fason pou sòti nan sitiyasyon an, nou sijere lanse fonksyonalite enpòtan ak kritik alè, epi kite rès la pou apre-lage.
  • Si kliyan an kòmanse vini ak travay diferan soti nan tèt li, kòmanse fantasme ak eksplike ak dwèt li, Lè sa a, nou mande l 'bay nou ak yon layout paj ak koule ak lojik ki ta dwe konplètman dekri konpòtman an nan tout Layout la ak eleman li yo.
  • Anvan ou pran nenpòt travay, nou dwe asire w ke karakteristik sa a te enkli nan kondisyon ki nan akò/kontra nou an. Si sa a se yon nouvo karakteristik ki ale pi lwen pase akò inisyal nou yo, Lè sa a, nou dwe pri karakteristik sa a ((estimasyon tan fini + 30%) x 2) epi endike kliyan an ke li pral pran nou anpil tan pou konplete li, plis la. dat limit la deplase pa tan an estimasyon miltipliye pa de. Ann fè travay la pi vit - gwo, tout moun ap benefisye de li. Si ou pa, Lè sa a, nou te gen ou kouvri.

c) Sa nou pa aksepte nan yon ekip:

  • Uncommitment, mank de sere, bliye
  • "Manje manje maten." Si ou pa ka ranpli yon travay epi ou pa konnen ki jan, Lè sa a, ou bezwen notifye dirijan ekip la sou li imedyatman, epi pa tann jiska dènye minit.
  • Brows ak vante soti nan yon moun ki poko pwouve kapasite li ak pwofesyonalis. Si li pwouve, Lè sa a, li posib, nan limit yo nan desans :)
  • Desepsyon nan tout fòm li yo. Si yon travay pa fini, Lè sa a, ou pa ta dwe chanje estati li a fini epi ekri nan chat kliyan an ke li pare. Òdinatè a te kraze, sistèm nan te fè aksidan, chen moulen sou laptop la - tout bagay sa yo se akseptab. Si yon evènman fòs majeure reyèl rive, yo dwe notifye dirijan ekip la imedyatman.
  • Lè yon espesyalis offline tout tan e li difisil pou jwenn li pandan lè travay.
  • Toksisite nan ekip la pa pèmèt! Si yon moun pa dakò ak yon bagay, Lè sa a, tout moun rasanble ansanm pou yon rasanbleman epi diskite ak deside sou li.

Ak yon kantite kesyon/tèz ke mwen pafwa mande kliyan mwen an efase tout malantandi:

  1. Ki kritè kalite ou?
  2. Ki jan ou detèmine si yon pwojè gen pwoblèm oswa ou pa?
  3. Lè w vyole tout rekòmandasyon nou yo ak konsèy nou yo sou chanje/amelyore sistèm nan, tout risk yo pote sèlman pa ou.
  4. Nenpòt gwo chanjman nan pwojè a (pa egzanp, tout kalite koule siplemantè) ap mennen nan aparans posib nan pinèz (ki nou pral, nan kou, ranje)
  5. Li enposib konprann nan yon koup de minit ki kalite pwoblèm ki te fèt sou pwojè a, anpil mwens ranje li imedyatman
  6. Nou travay sou yon koule pwodwi espesifik (Travay nan Zhira - Devlopman - Tès - Deplwaye). Sa vle di nou pa ka reponn a tout koule nan demann ak plent nan chat la.
  7. Pwogramè yo se pwogramasyon, pa tèsteur pwofesyonèl, epi yo pa ka asire bon jan kalite tès pwojè yo
  8. Responsablite pou tès final la ak akseptasyon nan travay pwodiksyon se antyèman nan men ou
  9. Si nou te deja pran yon travay, nou pa ka chanje imedyatman nan lòt moun jiskaske nou fini youn aktyèl la (otreman sa a mennen nan menm plis pinèz ak ogmante tan devlopman)
  10. Gen mwens moun nan ekip la (akòz vakans oswa maladi), men gen plis travay epi nou fizikman p ap gen tan reponn a tout sa ou vle.
  11. Nou mande w fè yon deplwaman nan pwodiksyon san yo pa teste travay sou dev la - sa a se sèlman risk ou, pa devlopè yo.
  12. Lè ou mete travay ki pa klè, san yon koule kòrèk, san plan konsepsyon, sa mande plis efò ak tan aplikasyon nan men nou, paske nou dwe fè yon kantite travay anplis olye de ou.
  13. Nenpòt travay sou pinèz, san yo pa yon deskripsyon detaye sou ensidan yo ak Ekran yo, pa ba nou opòtinite pou konprann sa ki te ale mal ak ki jan nou ka ranje ensèk sa a.
  14. Pwojè a mande rafineman konstan ak amelyorasyon pou amelyore pèfòmans ak sekirite. Se poutèt sa, ekip la pase yon pati nan tan li sou amelyorasyon sa yo
  15. Akòz lefèt ke nou gen lè siplemantè pa èdtan (ranje ijan), nou dwe konpanse pou yo nan lòt jou

Kòm yon règ, kliyan an imedyatman konprann ke tout bagay se pa tèlman senp nan devlopman lojisyèl, ak dezi pou kont li se klèman pa ase.

An jeneral, sa se tout. Mwen kite dèyè sèn nan anpil negosyasyon ak debogaj inisyal la nan tout pwosesis, men kòm yon rezilta, tout bagay te travay deyò. Mwen ka di ke pwosesis sa a te vin tounen yon kalite "Silver Bullet" pou nou. Nouvo moun ki te vin nan pwojè a te kapab imedyatman patisipe nan travay la depi premye jou a, depi tout pwosesis yo te dekri, ak dokimantasyon an ak achitekti nan fòm dyagram imedyatman te bay yon lide sou sa nou tout t ap fè isit la.

PS mwen ta renmen klarifye ke pa gen okenn project manager sou bò nou an. Li se sou bò kliyan an. Pa yon teknisyen ditou. Pwojè Ewopeyen an. Tout kominikasyon an anglè sèlman.

Bon chans pou tout moun nan pwojè ou yo. Pa boule epi eseye amelyore pwosesis ou yo.

Sous nan mwen an pòs blog la.

Sous: www.habr.com