Hvernig á að lesa og laga 100,000 línur af kóða á viku

Hvernig á að lesa og laga 100,000 línur af kóða á viku
Í upphafi er alltaf erfitt að skilja stórt og gamalt verkefni. Byggingarlist er ein af starfsemi arkitektamats. Venjulega þarf að vinna með stór, gömul verkefni og afraksturinn þarf að skila sér eftir viku.

Hvernig á að meta verkefni upp á 100 eða fleiri línur af kóða á einni viku en samt að veita niðurstöður sem eru sannarlega gagnlegar fyrir viðskiptavininn.

Flestir arkitektar og tæknileiðtogar hafa lent í svipuðu verkmati. Þetta gæti litið út eins og hálfformlegt ferli eða sem sérstök þjónusta eins og gert er í fyrirtækinu okkar, á einn eða annan hátt hefur flest ykkar tekist á við þetta.

Frumritið á ensku fyrir vini þína sem ekki eru rússneskumælandi er hér: Arkitektúrmat eftir viku.

Nálgun fyrirtækisins okkar

Ég skal segja þér hvernig það virkar í fyrirtækinu okkar og hvernig ég bregðast við við svipaðar aðstæður, en þú getur auðveldlega breytt þessari nálgun í samræmi við þarfir verkefnis þíns og fyrirtækis.

Það eru tvenns konar mat á arkitektúr.

Að innan – við gerum það venjulega fyrir verkefni innan fyrirtækisins. Sérhvert verkefni getur óskað eftir mati á arkitektúr af nokkrum ástæðum:

  1. Teymið telur verkefnið sitt fullkomið og þetta er grunsamlegt. Við höfum lent í slíkum tilfellum og oft í svona verkefnum er allt fjarri góðu gamni.
  2. Teymið vill prófa verkefnið sitt og lausnir þeirra.
  3. Liðið veit að hlutirnir eru slæmir. Þeir geta jafnvel skráð helstu vandamál og orsakir, en vilja heildarlista yfir vandamál og tillögur til að bæta verkefnið.

Ytri er formlegra ferli en innra mat. Viðskiptavinurinn kemur alltaf aðeins í einu tilviki, þegar allt er slæmt - mjög slæmt. Venjulega skilur viðskiptavinurinn að það eru alþjóðleg vandamál, en getur ekki rétt greint orsakir og sundurliðað þeim í þætti.

Að meta arkitektúr fyrir utanaðkomandi viðskiptavin er flóknara mál. Ferlið ætti að vera formlegra. Verkefnin eru alltaf stór og gömul. Þeir hafa mikið af vandamálum, villum og skakkan kóða. Skýrsla um unnin vinnu ætti að vera tilbúin innan nokkurra vikna að hámarki, sem ætti að innihalda helstu vandamál og tillögur um úrbætur. Þess vegna, ef við tökumst á við ytra mat á verkefninu, þá verður innra matið stykki af köku. Við skulum íhuga erfiðasta málið.

Framtaksverkefnisarkitektúrmat

Dæmigert verkefni til að meta er stórt, gamalt fyrirtækjaverkefni með miklum vandamálum. Viðskiptavinur kemur til okkar og biður okkur að laga verkefnið sitt. Þetta er eins og með ísjaka, viðskiptavinurinn sér aðeins toppinn á vandamálum sínum og hefur ekki hugmynd um hvað er undir vatninu (í djúpum kóðans).

Vandamál sem viðskiptavinur gæti kvartað yfir og gæti verið meðvitaður um:

  • Frammistöðuvandamál
  • Nothæfisvandamál
  • Langtíma dreifing
  • Skortur á einingum og öðrum prófum

Vandamál sem viðskiptavinurinn er líklega ekki meðvitaður um, en þau geta verið til staðar í verkefninu:

  • Öryggisvandamál
  • Hönnunarvandamál
  • Rangur arkitektúr
  • Reiknivillur
  • Óviðeigandi tækni
  • Tækniskuld
  • Rangt þróunarferli

Formlegt endurskoðunarferli fyrir arkitektúr

Þetta er formlegt ferli sem við fylgjum sem fyrirtæki en þú getur sérsniðið það eftir þínu fyrirtæki og verkefni.

Beiðni frá viðskiptavini

Viðskiptavinur biður um að meta arkitektúr núverandi verkefnis. Ábyrgðarmaður okkar megin safnar grunnupplýsingum um verkefnið og velur nauðsynlega sérfræðinga. Það fer eftir verkefninu, þetta geta verið mismunandi sérfræðingar.

Lausnararkitekt – aðalmaður sem ber ábyrgð á mati og samræmingu (og oft sá eini).
Stafla ákveðnum sérfræðingum – .Net, Java, Python og aðrir tæknifræðingar, allt eftir verkefninu og tækninni
Skýjasérfræðingar – þetta geta verið Azure, GCP eða AWS skýjaarkitektar.
Infrastructure - DevOps, kerfisstjóri osfrv.
Aðrir sérfræðingar - eins og stór gögn, vélanám, frammistöðuverkfræðingur, öryggissérfræðingur, QA leiðtogi.

Söfnun upplýsinga um verkefnið

Þú ættir að safna eins miklum upplýsingum og mögulegt er um verkefnið. Þú getur notað mismunandi aðferðir eftir aðstæðum:

  • Spurningalistar og aðrar samskiptaleiðir með pósti. Óvirkasta leiðin.
  • Fundir á netinu.
  • Sérstök verkfæri fyrir upplýsingaskipti eins og: Google doc, Confluence, geymslur o.fl.
  • „Live“ fundir á staðnum. Áhrifaríkasta og dýrasta leiðin.

Hvað ættir þú að fá frá viðskiptavininum?

Grunnupplýsingar. Um hvað snýst verkefnið? Tilgangur þess og gildi. Helstu markmið og áætlanir til framtíðar. Viðskiptamarkmið og aðferðir. Helstu vandamál og æskilegur árangur.

Upplýsingar um verkefni. Tæknistafla, rammar, forritunarmál. Dreifing á staðnum eða í skýi. Ef verkefnið er í skýinu, hvaða þjónusta er notuð. Hvaða byggingar- og hönnunarmynstur voru notuð.

Óvirkar kröfur. Allar kröfur sem tengjast frammistöðu, framboði og auðveldri notkun kerfisins. Öryggiskröfur o.fl.

Grunnnotkunartilvik og gagnaflæði.

Aðgangur að frumkóða. Mikilvægasti hlutinn! Þú ættir örugglega að fá aðgang að geymslunum og skjölum um hvernig á að byggja upp verkefnið.

Aðgangur að innviðum. Það væri gaman að hafa aðgang að sviðinu eða framleiðsluinnviðum til að vinna með lifandi kerfinu. Það er frábær árangur ef viðskiptavinurinn hefur verkfæri til að fylgjast með innviðum og frammistöðu. Við munum tala um þessi verkfæri í næsta kafla.

Skjöl. Ef viðskiptavinurinn hefur skjöl er þetta góð byrjun. Það kann að vera úrelt, en það er samt góð byrjun. Treystu aldrei skjölunum - prófaðu þau með viðskiptavininum, á raunverulegum innviðum og í frumkóðann.

Matsferli byggingarlistar

Hvernig er hægt að vinna svona mikið magn upplýsinga á svo stuttum tíma? Fyrst af öllu, samhliða verkinu.

DevOps ætti að skoða innviðina. Tækniforysta inn í kóðann. Árangursfræðingur til að skoða árangursmælingar. Gagnagrunnssérfræðingur ætti að kafa dýpra í gagnaskipulag.

En þetta er tilvalið mál þegar þú hefur mikið fjármagn. Venjulega metur einn til þrír menn verkefni. Þú getur jafnvel framkvæmt matið sjálfur, sem er oft raunin ef þú hefur rétta þekkingu og reynslu á öllum sviðum verkefnisins. Í þessu tilviki þarftu að gera öll ferli sjálfvirk eins mikið og mögulegt er.

Því miður verður þú að lesa skjölin handvirkt. Með réttri reynslu geturðu fljótt skilið gæði skjalanna. Hvað er satt og hvað er greinilega ekki í samræmi við raunveruleikann. Stundum gætirðu séð arkitektúr í skjölum sem mun aldrei virka í raunveruleikanum. Þetta er kveikja fyrir þig til að hugsa um hvernig það var gert í raun og veru í verkefninu.

Gagnleg verkfæri til að gera sjálfvirkan mat á verkefnum

Kóðamat er einföld æfing. Þú getur notað kyrrstöðugreiningartæki sem sýna þér hönnun, frammistöðu og öryggisvandamál. Hér eru nokkrar þeirra:

Uppbygging 101 er frábært tæki fyrir arkitekt. Það mun sýna þér heildarmyndina, ósjálfstæði milli eininga og möguleg svæði til endurnýjunar. Eins og öll góð verkfæri kostar það góðan pening, en þú getur nýtt þér 30 daga prufuútgáfu.

hljóðQube - gamalt gott verkfæri. Tól fyrir kyrrstöðugreiningu. Gerir þér kleift að bera kennsl á slæman kóða, villur og öryggisvandamál fyrir meira en 20 forritunarmál.

Allir skýjaveitendur hafa eftirlitstæki fyrir innviði. Þetta gerir þér kleift að meta skilvirkni innviða þíns með tilliti til kostnaðar og frammistöðu. Fyrir AWS er ​​þetta traustur ráðgjafi. Það er auðvelt fyrir Azure Azure ráðgjafi.

Viðbótareftirlit með frammistöðu og skráningu mun hjálpa til við að finna frammistöðuvandamál á öllum stigum. Byrjar frá gagnagrunni með árangurslausum fyrirspurnum, bakendinn og endar með framendanum. Jafnvel þótt viðskiptavinurinn hafi ekki sett þessi verkfæri upp áður, geturðu samþætt þau í núverandi kerfi nokkuð fljótt til að bera kennsl á frammistöðuvandamál.

Eins og alltaf eru góð verkfæri vel þess virði. Ég get mælt með nokkrum greiddum verkfærum. Auðvitað geturðu notað opinn uppspretta en það mun taka þig lengri tíma. Og þetta ætti að gera fyrirfram, ekki meðan á byggingarmatsferlinu stendur.

Ný relik – tæki til að meta árangur umsóknar
Gagnahundur – Vöktunarþjónusta fyrir skýjakerfi

Það eru mörg verkfæri í boði fyrir öryggisprófanir. Að þessu sinni mun ég mæla með þér ókeypis kerfisskönnunartæki.

OWASP ZAP – tól til að skanna vefforrit til að uppfylla öryggisstaðla.

Við skulum setja allt saman í eina heild.

Undirbúningur skýrslu

Byrjaðu skýrsluna þína með gögnunum sem þú safnaðir frá viðskiptavininum. Lýstu verkefnismarkmiðum, takmörkunum, óvirkum kröfum. Eftir þetta ætti að nefna öll inntaksgögn: frumkóða, skjöl, innviði.

Næsta skref. Skráðu öll vandamál sem þú fannst handvirkt eða með sjálfvirkum verkfærum. Settu stórar sjálfvirkar skýrslur í lokin í forritahlutanum. Það ættu að vera stuttar og hnitmiðaðar vísbendingar um vandamálin sem fundust.
Forgangsraðaðu vandamálunum sem finnast á villu-, viðvörunar-, upplýsingakvarðanum. Þú getur valið þinn eigin mælikvarða, en þetta er almennt viðurkennt.

Sem sannur arkitekt er það á þína ábyrgð að koma með tillögur til að leiðrétta vandamálin sem fundust. Lýstu endurbótum og viðskiptavirði sem viðskiptavinurinn mun fá. Hvernig á að sýna viðskiptavirði frá endurnýjun arkitektúrs við ræddum áðan.

Útbúið vegvísi með litlum endurtekningum. Hver endurtekning ætti að innihalda tíma til að klára, lýsingu, magn tilfræða sem þarf til umbóta, tæknilegt gildi og viðskiptavirði.

Við ljúkum arkitektúrmatinu og gefum viðskiptavinum skýrslu

Aldrei bara senda skýrslu. Það kann að vera að það sé alls ekki lesið, eða kannski ekki lesið og skilið án viðeigandi útskýringa. Í stuttu máli, lifandi samskipti hjálpa til við að útrýma misskilningi milli fólks. Þú ættir að skipuleggja fund með viðskiptavininum og tala um vandamálin sem fundust, með áherslu á þau mikilvægustu. Það er þess virði að vekja athygli viðskiptavinarins á vandamálum sem hann gæti ekki einu sinni verið meðvitaður um. Svo sem öryggisvandamál og útskýrðu hvernig þau gætu haft áhrif á fyrirtækið. Sýndu vegakortið þitt með endurbótum og ræddu mismunandi valkosti sem henta betur fyrir viðskiptavininn. Þetta gæti verið tími, fjármagn, vinnumagn.

Sem samantekt á fundinum þínum, sendu skýrsluna þína til viðskiptavinarins.

Að lokum

Mat á arkitektúr er flókið ferli. Til að framkvæma matið á réttan hátt þarftu að hafa næga reynslu og þekkingu.

Það er hægt að veita viðskiptavininum niðurstöður sem eru gagnlegar fyrir hann og fyrirtæki hans á aðeins viku. Jafnvel þó þú gerir það einn.

Byggt á reynslu minni var mörgum endurbótum hlaðið niður í miðjunni og stundum byrjað þær aldrei. Þeir sem völdu sjálfir hinn gullna meðalveg og gerðu aðeins hluta þeirra endurbóta sem nýttust fyrirtækinu best með lágmarks launakostnaði bættu gæði vöru sinnar umtalsvert. Þeir sem ekkert gerðu gátu lokað verkefninu alveg eftir nokkur ár.

Markmið þitt er að sýna viðskiptavinum hámarks endurbætur fyrir lágmarksverð.

Aðrar greinar úr deildinni arkitektúr þú getur lesið í frístundum þínum.

Ég óska ​​þér hreins kóða og góðra byggingarákvarðana.

Facebook hópurinn okkar - Hugbúnaðararkitektúr og þróun.

Heimild: www.habr.com

Bæta við athugasemd