3.7 Viðhald hugbúnaðar
Yfirlit og tilgangur
Mestur hluti hugbúnaðar eyðir yfirgnæfandi meirihluta ævi sinnar ekki í að vera smíðaður heldur í að vera viðhaldið. Um leið og kerfi fer í framleiðslu fer það inn á skeið (sem oft varir í ár eða áratugi) þar sem gallar eru lagfærðir, kerfið aðlagað að breytilegu umhverfi, það sem þegar virkar bætt og framtíðarvandræðum afstýrt. Í stórum fyrirtækjum, og sérstaklega hjá hinu opinbera, ræður þetta skeið ríkjum. Skattavélar, bótakerfi, varnarvettvangar og kjarnahöfuðbækur eru rútínulega viðhaldin langt lengur en nokkur sem pantaði þau bjóst við. Hugbúnaðarviðhald er sú grein að halda afhentum hugbúnaði réttum, núgildandi og verðmætum allan rekstrarlíftíma hans.
Viðhald er langvarandi vanmetið og lítils metið og þau mistök eru dýr. Rannsókn eftir rannsókn, yfir áratugi, setur viðhald vel yfir helming af heildarlífstímakostnaði hugbúnaðar, oftast nefnt á bilinu 60 til 90 prósent fyrir langlíf kerfi. Samt skipuleggja, fjárhagsáætla, manna og fagna skipulagsheildir upphaflegu smíðinni eins og hún væri allt átakið. Síðan meðhöndla þær allt eftir það sem eftirþanka, fjármagnað úr minnkandi potti og úthlutað hverjum sem er laus. Niðurstaðan er fyrirsjáanleg: brothætt kerfi, vonlausir viðhaldsaðilar, hækkandi kostnaður breytinga og að lokum kreppa sem er römmuð sem „eldra vandamál“ (kafli 3.6) þegar hún var allan tímann óstýrt viðhaldsvandamál.
Þessi kafli fylgir þekkingarsviði SWEBOK (Software Engineering Body of Knowledge) um hugbúnaðarviðhald og ISO/IEC 14764. Hann nær yfir grunnatriði viðhalds og flokkana fjóra sem viðurkenndir eru, lykilvandamálin sem gera viðhald erfitt, þar á meðal kostnað, mönnun og móral, viðhaldsferlið, kjarnaaðferðir forritaskilnings, endurhönnunar og endurbyggingar, hvernig á að áætla viðhaldskostnað og (hugmyndin með mestu vogarstöngina í kaflanum) hvernig á að hanna fyrir viðhaldshæfni frá byrjun. Meginsannfæringin er að viðhald er ekki minni háttar starfsemi sem fylgir verkfræði. Það er stærsti hluti hugbúnaðarverkfræði og það verður að skipuleggja, fjármagna og virða sem slíkt.
Meginreglur
- Viðhald er meirihluti lífsferilsins, ekki eftirmáli. Skipuleggðu og fjárhagsáætlaðu það frá fyrsta degi. Það mun kosta meira en smíðin.
- Flokkarnir fjórir eru ólík vinna. Leiðréttandi, aðlagandi, fullkomnandi og fyrirbyggjandi viðhald hafa ólíka drifkrafta og takta. Mest fyrirhöfn er ekki villulagfæringar.
- Þú getur ekki breytt því sem þú skilur ekki. Forritaskilningur er stærsta einstaka starfsemin í viðhaldi. Gerðu kóðann og sögu hans læsilega.
- Viðhaldshæfni er hönnunareiginleiki. Kostnaður framtíðarbreytinga ræðst að miklu leyti af ákvörðunum teknum við smíði. Hannaðu fyrir hana af ásetningi.
- Lítil, örugg, samfelld breyting slær frestaða stóra breytingu. Endurbyggðu og nútímavæddu stigvaxandi undir prófunaröryggisneti í stað þess að safna breytingaskuld.
- Hugbúnaður eldist jafnvel þegar hann situr kyrr. Umhverfið hreyfist (ósjálfstæði, vettvangar, reglugerðir), svo kyrrstætt kerfi rotnar hljóðlega. Fyrirbyggjandi viðhald er raunveruleg vinna.
- Viðhaldsaðilar verðskulda fyrsta flokks stöðu. Móral, þekkingarvarðveisla og mönnun viðhaldsteyma ræður beint langtímakostnaði og áhættu.
Ráðleggingar
Greindu milli flokkanna fjögurra og mannaðu fyrir þá alla
ISO/IEC 14764 og SWEBOK viðurkenna fjóra flokka og að rugla þeim er algeng skipulagsvilla. Leiðréttandi viðhald lagar galla sem finnast í rekstri. Aðlagandi viðhald heldur hugbúnaðinum virkum þegar umhverfi hans breytist: ný stýrikerfi, vafrar, ósjálfstæði, vélbúnaður, reglugerðir eða samtengd kerfi. Fullkomnandi viðhald bætir hugbúnaðinn fyrir notendur og viðhaldsaðila, með nýjum eiginleikum, betri afköstum, bættu notagildi og aukinni viðhaldshæfni. Fyrirbyggjandi viðhald lagar leynda galla og dregur úr framtíðaráhættu áður en hún birtist, með herðingu, hreinsun og nútímavæðingu brothættra svæða. Gagnleg frekari skipting flokkar leiðréttandi og fyrirbyggjandi saman sem leiðréttingu (að takast á við galla) og aðlagandi og fullkomnandi sem endurbætur (að takast á við nýjar kröfur). Afgerandi er að reynslurannsóknir finna stöðugt að meirihluti viðhalds er ekki leiðréttandi. Endurbætur og aðlögun ráða ríkjum. Fjárhagsáætlaðu og mannaðu í samræmi við það og raktu í hvaða flokk fyrirhöfn þín fellur í raun svo þú getir stýrt henni.
Fjárfestu í forritaskilningi
Stærsta einstaka starfsemin í viðhaldi er að skilja núverandi kerfi nógu vel til að breyta því örugglega. Viðhaldsaðilar eyða rútínulega meiri tíma í að lesa og rökræða um kóða en að breyta honum. Gerðu þetta ódýrara af ásetningi. Haltu skjölun nálægt kóðanum og núgildandi (kafli 2.7). Varðveittu ákvörðunarsögu gegnum arkitektúrákvörðunarskrár (kafli 1.6) og hreina innritunarsögu (kafli 2.6). Notaðu kyrrstæða greiningu, ósjálfstæðisrit og kóðaflakkverkfæri til að kortleggja ókunnugt svæði. Einkennapróf (próf sem festa núverandi hegðun, þar á meðal sérkenni) breyta þögulli skilningi í keyranlega, varanlega þekkingu. Þegar skilningur er dýr er sérhver breyting hæg og áhættusöm. Þegar hann er ódýr verður viðhald rútína.
Endurbyggðu samfellt undir prófunaröryggisneti
Endurbygging er agað endurskipulag kóða sem bætir innri gæði hans án þess að breyta ytri hegðun. Gerð samfellt og í litlum skrefum vinnur hún gegn eðlilegu reki í átt að flækju og heldur kostnaði breytinga flötum í stað þess að hækka. Óumsemjanleg forsenda er áreiðanlegt sjálfvirkt prófasafn (kafli 2.4). Án þess er „endurbygging“ bara áhættusöm endurskrift. Fléttaðu endurbyggingu inn í dagleg störf: skildu hverja einingu eftir örlítið hreinni en þú fannst hana, frekar en að geyma hana fyrir sjaldgæfar, stórar, hættulegar hreinsanir. Þetta er fyrirbyggjandi viðhald í framkvæmd og það er ódýrasta viðhald sem til er.
Endurhannaðu þegar stigvaxandi breyting dugar ekki lengur
Þegar íhlutur hefur hrörnað þangað sem hefðbundin breyting er of kostnaðarsöm eða áhættusöm er endurhönnun (að skoða og breyta kerfi til að endurmóta það í nýju formi) þyngra verkfærið. Endurhönnun sameinar yfirleitt öfuga verkfræði (að endurheimta hönnun og ásetning úr útfærslunni) og áframhaldandi endurhönnun (að endurbyggja í betri uppbyggingu meðan hegðun er varðveitt). Kjóstu að endurhanna í afmörkuðum, stigvaxandi sneiðum með mynstrum eins og kyrkingarfíku og útibúi-með-ágripun (kafli 3.6), frekar en sem heildarendurskrift. Endurhönnun situr á samfellunni frá viðhaldi til nútímavæðingar: endurbygging fyrir hið litla og staðbundna, endurhönnun fyrir hið byggingarlega og nútímavæðing fyrir vettvangsstigið.
Keyrðu skilgreint viðhaldsferli
Viðhald nýtur góðs af skýru, endurtakanlegu ferli, eins og lýst er í ISO/IEC 14764: ferlisútfærslu (að setja áætlanir og verklag), vandamála- og breytingagreiningu (flokkun, endurgerð, mat á áhrifum og kostnaði), breytingaútfærslu, viðhaldsrýni og samþykki, flutningi og lokun. Vefðu það inn í agaða breytingastjórnun: sérhver viðhaldsbeiðni (hvort sem er villuskýrsla eða endurbót) ætti að vera skráð, flokkuð eftir flokki, metin fyrir áhrif, forgangsraðað, útfærð undir útgáfustýringu með prófum, rýnd og gefin út gegnum venjulegu leiðsluna (kafli 11.2). Áhrifagreining, að skilja allt sem fyrirhuguð breyting gæti snert, er miðlæg og verðskuldar raunverulega fyrirhöfn. Lokun er líka hluti af ferlinu: að taka kerfi úr notkun örugglega, flytja gögn þess og notendur og varðveita skrár er viðhaldsvinna sem verður að skipuleggja, ekki spinna.
Áætlaðu viðhaldskostnað skýrt og fjármagnaðu hann
Líttu ekki á viðhald sem ókeypis, eða sem hávaða í smíðafjárhagsáætluninni. Áætlaðu það. Algengar aðferðir fela í sér viðhaldsfyrirhafnarhlutföll (útbreidda þumalputtaregluna að árlegt viðhald nemi um það bil 15 til 25 prósentum af upphaflegum þróunarkostnaði, þó langlíf mikilvæg kerfi safni miklu meira yfir líftíma sinn), stikalíkön eins og COCOMO II (Constructive Cost Model) með viðhalds- og endurnýtingarviðbótum og mælikvarðadrifna spá út frá eigin sögulegum gögnum um gallatíðni, breytingamagn og breytingakostnað. Færðu þessi mat inn í heildareignarkostnaðargreiningu og hagfræðina sem rædd er í kafla 10.10. Kaupverð eða smíðakostnaður kerfis er útborgun. Veðið er viðhald, og það ætti að birtast í hverjum viðskiptarökum.
Hannaðu fyrir viðhaldshæfni frá byrjun
Mesta vogarstöngin yfir viðhaldskostnaði er beitt áður en viðhald hefst. Viðhaldshæfni (greinanleiki, breytanleiki, prófanleiki og einingaskipting, í orðaforða ISO/IEC 25010) er hönnunargæði sem verða að vera skýr krafa, ekki happ. Kjóstu einingaskipta, lauslega tengda hönnun með mikilli samloðun (kafli 2.2), skýr viðmót og aðskilnað áhyggjuefna, sterk sjálfvirk próf, læsilegan kóða og núgildandi skjölun og ríkulegan sýnileika svo rekstraraðilar og viðhaldsaðilar sjái hvað kerfið er að gera (9. hluti). Hver þessara ákvarðana skiptir örlitlu meiri fyrirhöfn núna fyrir mikinn, samsettan sparnað yfir áratugina sem kerfi mun í raun lifa. Að smíða fyrir viðhaldshæfni er fjárfestingin með hæstu ávöxtun í öllum lífsferlinum.
Málamiðlanir: kostir og gallar
| Nálgun | Kostir | Gallar |
|---|---|---|
| Samfelld endurbygging / fyrirbyggjandi viðhald | Heldur kostnaði breytinga flötum, dregur úr áhættu, há ávöxtun | Viðvarandi fyrirhöfn án sýnilegra nýrra eiginleika, krefst sterkra prófa |
| Að fresta viðhaldi („halda ljósunum kveiktum“) | Ódýrast þennan ársfjórðung, losar getu fyrir eiginleika | Breytingaskuld safnast, kreppa að lokum og þvinguð dýr aðgerð |
| Endurhönnun hrörnaðs íhlutar | Endurheimtir viðhaldshæfni og lengir nýtilegan líftíma | Veruleg fyrirhöfn og áhætta, varðveita verður hegðun vandlega |
| Hönnun fyrir viðhaldshæfni fyrirfram | Samsettur ævisparnaður, auðveldari hver framtíðarbreyting | Hærri upphafskostnaður og agi, ávinningur frestast og er minna sýnilegur |
Endurtekna málamiðlunin í viðhaldi er núverandi kostnaður gegn framtíðarkostnaði og freistingin hneigist alltaf til frestunar. Að sleppa endurbyggingu, láta ósjálfstæði eldast og svelta viðhaldsteymið lítur allt út fyrir að vera ókeypis þennan ársfjórðung, því reikningurinn kemur síðar: sem hægara, áhættusamara, dýrara kerfi og að lokum sem „eldri kerfa kreppa“. Agi góðs viðhalds er að borga lítinn, samfelldan, sýnilegan kostnað núna til að forðast mikinn, skyndilegan kostnað sem bindur enda á starfsferil síðar. Þar sem sparnaðurinn er frestaður og ósýnilegur krefst þessi skipting forystu sem skilur lífsferilshagfræði, ekki bara opnunardaga.
Spurningar til að ræða með teyminu
Hver á viðhaldstöluna í fjárhagsáætluninni ykkar og er hún fyrsta flokks lína eða afgangur sem skafinn er úr því sem smíðin eyddi ekki? Viðhald er meirihluti heildarlífstímakostnaðar, oftast 60 til 90 prósent fyrir langlíf kerfi, samt er það rútínulega fjármagnað sem eftirþanki og mannað með þeim sem eru lausir. Þegar fjárhagsáætlunin er afgangur er fyrirbyggjandi vinna fyrst skorin niður, breytingaskuld safnast og fyrirsjáanleg renna í „eldri kerfa kreppu“ fylgir. Komdu með raunverulegt mat (viðhaldsfyrirhafnarhlutfall, stikalíkan eða eigin söguleg breytingakostnaðargögn) og nefndu þann sem ber ábyrgð á að fjármagna það allan líftíma kerfisins. Lagfæringin er að fjárhagsáætla viðhald skýrt í hverjum viðskiptarökum, eins og veð situr við hlið kaupverðs. Forysta sem fagnar aðeins opnunum mun halda áfram að vanfjármagna skeiðið þar sem mestir peningar og áhætta búa í raun.
Takmarkið þið getu fyrir fyrirbyggjandi viðhald, eða tapar það alltaf fyrir næsta eiginleika? Fyrirbyggjandi vinna (endurbygging undir prófunarneti, að halda ósjálfstæði núgildandi, herða brothætt svæði) er ódýrasta viðhald sem til er, því hún heldur kostnaðarferli breytinga flötum í stað þess að láta hann klifra. Hún er líka auðveldust að fresta, því að sleppa henni lítur út fyrir að vera ókeypis þennan ársfjórðung og reikningurinn kemur síðar sem hægara, áhættusamara kerfi. Áþreifanlegur búnaður hjálpar: fast úthlutun, og mörg sterk teymi vernda um fimmtung getu, sem er varin frekar en samið um burt í hverri spretti. Komdu með kostnaðarstefnu breytinga þinnar sem sönnunargögn. Ef hún hækkar ertu nú þegar að vanfjárfesta. Agi er að borga lítinn, sýnilegan kostnað núna til að forðast mikinn, skyndilegan kostnað sem bindur enda á starfsferil síðar, og það krefst forystu sem les lífsferilshagfræði frekar en opnunardaga.
Hver er áætlun ykkar um að leggja niður kerfi og hvenær tókuð þið síðast í raun eitt úr notkun? Lokun er skýr hluti viðhaldsferlisins (gagnaflutningur, notendayfirfærsla, skjalavarðveisla, örugg lokun), samt bera skipulagsheildir dauð og óþörf kerfi árum saman því niðurlagning er óspennandi og ófjárhagsáætluð. Sérhvert uppvakningakerfi neytir enn leyfa, öryggisplástrunar, samþættingaryfirborðs og athygli fólks sem gæti verið annars staðar. Komdu með skrá og merktu kerfi án virkra notenda eða með fulla afleysingu þegar í gangi, skipuleggðu síðan lokun þeirra eins og aðra vinnu: fluttu gögn, varðveittu það sem lög krefjast og staðfestu að ekkert reiði sig enn á þau. Hjá hinu opinbera sérstaklega móta skjalavörslulög hvernig þú leggur niður, svo fáðu regluvörslu að borðinu snemma. Þroskamerki sem vert er að rekja: hvenær slökkti skipulagsheildin þín síðast viljandi á einhverju?
Hve miklu af hverri breytingu er varið í að skilja kerfið áður en það er snert og hver er strætóstuðullinn á kerfunum sem skipta mestu? Forritaskilningur er stærsta einstaka starfsemin í viðhaldi og kostnaður hans ræðst af því hve læsilegan þú hefur haldið kóðanum, sögu hans og hegðun. Þegar skilningur býr aðeins í fáum langsetnum höfðum hækkar hver brottför eða eftirlaun verð hverrar framtíðarbreytingar, og ein fjarvera getur stöðvað mikilvæga lagfæringu. Komdu með sönnunargögn: hlutfall lestrar-og-rökhugsunartíma á móti breytingatíma á nýlegum breytingum, fjölda fólks sem getur breytt hverri kjarnaeiningu örugglega og hvort viðskiptareglur og ákvarðanir eru skjalfestar við hlið kóðans eða endurbyggðar úr minni í hvert sinn. Sjónarmiðið á móti er að skjölun og einkennapróf kosta fyrirhöfn núna fyrir sparnað sem birtist aðeins síðar, svo þau eru auðveld að sleppa. Í fyrirtækjum og hjá hinu opinbera, þar sem kerfi lifa upprunalega höfunda sína um áratugi og lögbundnar reglur eru grafnar í útreikningsvél sem enginn man fullkomlega, skaltu líta á fangaðan skilning (arkitektúrákvörðunarskrár, einkennapróf, núgildandi skjölun) sem eign sem þú fjármagnar af ásetningi, ekki kurteisi sem gerist þegar einhver hefur frían tíma.
Hver mannar í raun viðhaldsvinnu ykkar og samsvarar staða hennar og móral mikilvægi hennar? Viðhald er meirihluti heildarlífstímakostnaðar og erfiðasta verkfræði sem til er, að breyta örugglega kerfum sem þú smíðaðir ekki og skilur kannski ekki fullkomlega, samt er það rútínulega afhent minnst reyndu starfsfólkinu og rammað sem lágstöðu „að halda ljósunum kveiktum“. Það merki er ætandi: bestu verkfræðingarnir forðast vinnuna, þekking safnast og gengur svo út um dyrnar og kostnaður breytinga klifrar meðan enginn fylgist með. Komdu með reynslusnið þeirra sem viðhalda lífseigustu kerfum þínum, brottfalls- og þekkingarvarðveislugögn og heiðarlegt mat á því hvort viðhald er blindgata eða virt sérgrein í skipulagsheildinni. Spennan er raunveruleg, því metnaðarfullir verkfræðingar vilja smíða nýja hluti og leiðtogar vilja fagna opnunum, svo að virða viðhald krefst yfirvegaðrar uppbyggingar. Fyrir stórt fyrirtæki eða opinbera stofnun sem rekur kerfi sem bera regluverks- og fjárhagsáhættu í áratugi er að manna viðhald með virtum eldri verkfræðingum áhættustýringarákvörðun, og að láta viðhald verða refsistöðu er hvernig þú framleiðir næstu eldri kerfa kreppu.
Fylgist þið með í hvaða flokk af fjórum fyrirhöfn ykkar fellur í raun í og mælið þið kostnað breytinga sem leiðandi vísi? Teymi skipuleggja rútínulega viðhald eins og það sé aðallega villulagfæringar, þegar reynslurannsóknir sýna að endurbætur og aðlögun ráða ríkjum, svo eignasafn fjármagnað aðeins fyrir leiðréttandi vinnu er rangt afmarkað frá upphafi. Án flokkarakningar sérðu ekki að kerfi er mótað af stöðugum straumi regluverksaðlagana, og án kostnaðarmælikvarða breytinga (afgreiðslutími breytinga, bilanahlutfall breytinga, flækjustefna) geturðu ekki sagt hvort ferillinn þinn er flatur eða hljóðlega að klifra í átt að kreppu. Komdu með raunverulega flokkaskiptingu síðasta árs, kostnaðarstefnu breytinga ef þú hefur eina og heiðarlega athugasemd um hvort áhrifagreining er raunverulegt skref eða formsatriði sem sleppt er undir tímapressu. Togið á móti er að mælingin sjálf tekur fyrirhöfn og getur fundist eins og kostnaður þegar kerfið virkar enn. Í eignasöfnum fyrirtækja og hins opinbera, þar sem mörg teymi viðhalda mörgum kerfum og hækkandi kostnaðarferill á einhverju þeirra er snemmviðvörun sem vert er að bregðast við, eru sameiginleg flokkarakning og kostnaðarvísar breytinga það sem leyfir forystu að endurhanna einingu áður en hún hrörnar frekar en eftir að hún bilar opinberlega.
Sjónarhorn eftir geirum
Sprotafyrirtæki. Með handfylli verkfræðinga og lítið svigrúm hefurðu ekki efni á þungu viðhaldsferli, en hefur heldur ekki efni á kóðagrunni sem enginn vill snerta. Taktu frá lítinn fastan skammt af hverri lotu (um það bil einn dag af fimm) fyrir fyrirbyggjandi vinnu: plástraðu ósjálfstæði, hreinsaðu smágalla áður en þeir safnast og endurbyggðu hornin sem þú óttast þegar undir hvaða prófum sem þú hefur. Markmiðið er að halda kóðanum ódýrum að breyta meðan þú snýrð stefnu, svo þú vaknir aldrei við tuttugu verkfræðinga og haldir frestað viðhald vera „eldra vandamál“.
Lítið fyrirtæki. Án sérstaks viðhaldssérfræðings og með þröngt fjárhagsáætlun skaltu hallast að því að kaupa og hýsa frekar en að smíða, svo aðlagandi viðhald (öryggisplástrar, vettvangs- og ósjálfstæðisuppfærslur) sé að mestu verk einhvers annars. Þar sem þú átt kóða skaltu hafa hann lítinn, leiðinlegan og vel skjalfestan og tryggja að að minnsta kosti tveir skilji allt sem reksturinn reiðir sig á. Raktu fáu kerfin sem þú hefur ekki efni á að missa og fjárhagsáætlaðu hóflega, skýra línu til að halda þeim núgildandi frekar en að þykjast viðhald sé ókeypis.
Stórfyrirtæki. Í stórum stíl viðheldurðu mörgum langlífum kerfum yfir mörg teymi, svo forgangurinn er skilgreint, endurtakanlegt ferli: skráð og flokkuð beiðnaleiðsla, flokkun í flokkana fjóra, rútínu áhrifagreining og föst fyrirbyggjandi úthlutun varin frekar en samið um burt. Fjármagnaðu viðhald sem fyrsta flokks áætlun, mældu kostnaðarvísa breytinga yfir eignasafnið og notaðu hækkandi feril sem kveikju til að endurhanna einingu áður en hún verður byrði. Stjórnarhættir og úttektarvæntingar þýða að flokkarakning og breytingaskrár eru ekki kostnaður, þær eru sönnunargögnin um að búið sé undir stjórn.
Hið opinbera. Innkaupareglur, gagnsæi og opinber ábyrgð móta viðhald jafn mikið og verkfræði. Aðlagandi viðhald knúið af lögum kemur á hörðum árlegum frestum sem geta ekki runnið, svo fjárhagsáætlaðu viðhald sem ótakmarkaðan rekstrarkostnað og mannaðu stöðugt sérfræðingateymi til að halda þekkingu á reglum sem höfundar þeirra hafa löngu hætt störfum við. Lokun er takmörkuð af skjalavörslulögum, svo skipuleggðu niðurlagningu með regluvörslu frá byrjun og kjóstu samninga og arkitektúra sem halda kerfinu viðhaldanlegu og flytjanlegu frekar en að fanga þig hjá einum söluaðila í áratugi.
Dæmi
Sprotafyrirtæki. Sprotafyrirtæki sem var að afhenda MVP freistast til að hella hverri klukkustund í nýja eiginleika, en stofnverkfræðingurinn tekur frá fastan skammt af hverri spretti (um það bil einn dag af fimm) fyrir viðhald frá allra fyrsta mánuði. Sú fjárhagsáætlun heldur ósjálfstæði plástruðu, hreinsar smágalla áður en þeir safnast og endurbyggir hornin sem teymið óttast þegar, svo kóðagrunnurinn helst ódýr að breyta meðan varan snýr stefnu. Sprotafyrirtækin sem sleppa þessu ná tuttugu verkfræðingum með kóðagrunn sem enginn vill snerta og taka hann fyrir „eldra vandamál“ þegar það var frestað viðhald allan tímann.
Stórfyrirtæki. Alþjóðlegur banki rekur greiðsluvettvang sem hefur verið í framleiðslu í fimmtán ár. Hann fjármagnar viðhald sem varanlega, fyrsta flokks áætlun frekar en afgangsfjárhagslínu. Vinna er flokkuð í flokkana fjóra: stöðugur straumur aðlagandi breytinga fylgir nýjum reglugerðum og viðmótsuppfærslum samstarfsbanka, fullkomnandi vinna bætir við eiginleikum og bætir afköst, leiðréttandi vinna hreinsar galla gegn ströngum þjónustustigssamningum (SLA) og föst fyrirbyggjandi úthlutun (um fimmtungur teymisgetu) greiðir niður flækju með samfelldri endurbyggingu undir yfirgripsmiklu prófasafni. Teymið mælir afgreiðslutíma breytinga og bilanahlutfall breytinga og lítur á hækkandi kostnað breytinga sem snemmviðvörun til að endurhanna einingu áður en hún verður byrði. Viðhaldsaðilar eru eldri, vel metnir verkfræðingar, ekki yngra starfsfólk lagt á „að halda ljósunum kveiktum“.
Hið opinbera. Landsbundið skattayfirvald viðheldur kerfi sem hefur gengið í yfir þrjátíu ár og er breytt á hverju ári þegar skattalög breytast. Ráðandi flokkurinn hér er aðlagandi viðhald knúið af lögum, með hörðum árlegum frestum sem geta ekki runnið. Yfirvaldið fjárfestir mikið í forritaskilningi: viðskiptareglur eru skjalfestar við hlið kóðans, einkennapróf festa hegðun reglna þar sem upprunalegir höfundar hafa löngu hætt störfum og áhrifagreining er formlegt skref fyrir hverja breytingu á útreikningsvélinni. Þar sem umhverfið (lögin) breytist stöðugt getur kerfið aldrei orðið „fullklárað“, svo yfirvaldið fjárhagsáætlar viðhald sem ótakmarkaðan rekstrarkostnað, mannar stöðugt sérfræðingateymi til að halda þekkingu og nútímavæðir umlykjandi afhendingarvinnubrögð eins og frumkóðastýringu, samfellda samþættingu (CI) og sjálfvirkar prófanir, jafnvel meðan kjarninn endist.
Viðskiptarök: hvatar, ávöxtun fjárfestingar og heildarkostnaður
Kjarnaviðskiptastaðreynd hugbúnaðar er að viðhald, ekki smíði, er þar sem peningarnir fara. Yfir iðnaðinn og áratuga rannsóknir telur viðhald skýran meirihluta heildarlífstímakostnaðar, oft nefnt 60 til 90 prósent fyrir kerfi sem lifa lengi, sem í fyrirtækjum og hjá hinu opinbera er flest þeirra. Sérhver heildareignarkostnaðargreining sem stoppar við opnun er röng um stuðul nokkurra. Helstu viðskiptarökin fyrir að taka viðhald alvarlega eru einfaldlega nákvæmni: fjárhagsáætlaðu fyrir allt líf kerfisins, eða vertu ítrekað hissa á reikningnum.
Ávöxtun fjárfestingarinnar kemur af því að beygja kostnaðarferilinn. Í vanræktu kerfi hækkar kostnaður hverrar breytingar með tímanum eftir því sem flækja safnast og skilningur rotnar, þar til breyting verður óhóflega hæg og áhættusöm. Í vel viðhöldnu kerfi heldur samfelld fyrirbyggjandi vinna (endurbygging, núgildandi ósjálfstæði, prófaþekja, skjölun) þeim ferli flötum, svo þúsundasta breytingin kostar um það bil það sama og sú tíunda. Að fjárfesta í viðhaldshæfni og fyrirbyggjandi viðhaldi er því ekki kostnaður til að lágmarka. Það er vogarstöngin sem ræður hvort kerfi helst hagkvæmt að breyta eða rekur inn í vaxandi kostnað og áhættu eldri kerfa bús (kafli 3.6) og viðvarandi áskoranir kafla 10.4. Fjármagnaðu viðhald af ásetningi, mældu kostnað breytinga sem leiðandi vísi og líttu á hækkandi feril sem merki til að bregðast við, ekki sem náttúrulögmál. Hagfræðin er rædd nánar í kafla 10.10.
Andmynstur og gildrur
- Að meðhöndla viðhald sem eftirþanka. Að fjárhagsáætla og fagna aðeins smíðinni og svelta síðan mun stærra og lengra viðhaldsskeiðið.
- Að manna viðhald með minnst reyndu fólki. Að úthluta erfiðustu vinnunni (að breyta örugglega kerfum sem þú skilur ekki fullkomlega) til þeirra sem eru verst í stakk búnir, og gefa til kynna að viðhald sé lágstöðu.
- Að rugla viðhaldi saman við villulagfæringar. Að skipuleggja aðeins fyrir leiðréttandi vinnu þegar aðlögun og endurbætur ráða í raun fyrirhöfninni.
- Að fresta fyrirbyggjandi viðhaldi endalaust. Að endurbyggja aldrei, uppfæra aldrei ósjálfstæði, þar til breytingaskuld neyðir fram dýra kreppu.
- Að breyta kóða án áhrifagreiningar. Að gera „smálagfæringu“ sem gárar út í ófyrirséðar bilanir annars staðar.
- Endurbygging án prófunaröryggisnets. Að endurskipuleggja kóða án leiðar til að sanna að hegðun hafi varðveist: það er bara áhættusöm endurskrift.
- Að láta þekkingu ganga út um dyrnar. Að skjalfesta ekki viðskiptareglur og ákvarðanir, svo hver eftirlaunataka eða brottför hækkar kostnað hverrar framtíðarbreytingar.
- Að leggja aldrei neitt niður. Að bera dauð og óþörf kerfi að eilífu því niðurlagning er óspennandi og óskipulögð.
Þroskalíkan
- Stig 1: Upphaf. Viðhald er óskipulagt og ófjármagnað, meðhöndlað viðbragðsdrifið af hverjum sem er laus. Það er talið villulagfæringar og lágstöðuvinna. Engin flokkarakning, ekkert kostnaðarmat og þekking býr í fáum höfðum. Kostnaður breytinga hækkar ómerkjanlega þar til lagfæring stöðvast eða kreppa neyðir athygli.
- Stig 2: Þróun. Sum teymi hafa byrjað að skrá og flokka viðhaldsbeiðnir og bera fjárhagslínu, en vinnubrögð eru ósamræmd yfir skipulagsheildina og fjárhagsáætlunin er venjulega afgangur. Leiðréttandi vinna er rakin á meðan aðlagandi og fullkomnandi fyrirhöfn er ekki skýrt aðgreind. Nokkur próf og skjölun eru til á blettum, svo breyting er að hluta stýrð en skilningur er enn dýr og ójafn frá teymi til teymis.
- Stig 3: Stöðlun. Skilgreint viðhaldsferli (samkvæmt ISO/IEC 14764) er skjalfest og framfylgt um alla skipulagsheildina: vinna er flokkuð í flokkana fjóra, áhrifagreining og breytingastjórnun eru rútína og viðhald er áætlað og fjármagnað skýrt í hverjum viðskiptarökum. Fyrirbyggjandi viðhald og endurbygging eru staðlað vinnubrögð undir traustu prófasafni og viðhaldshæfni (greinanleiki, breytanleiki, prófanleiki, einingaskipting) er skýr hönnunarkrafa frekar en staðbundin venja.
- Stig 4: Stjórnun. Viðhald er mælt og stýrt með gögnum gegn grunnlínum. Kostnaðarvísar breytinga (afgreiðslutími breytinga, bilanahlutfall breytinga, flækju- og gallastefnur) eru raktir fyrir hvert kerfi, fyrirhafnarblanda flokkanna fjögurra er magnsett gegn væntingum og viðhaldsfyrirhafnarhlutföll og stikamat eru athuguð gegn raunverulegum sögulegum breytingakostnaði. Hækkandi kostnaðarferill er greindur sem leiðandi vísir og kallar fram aðgerð, og fyrirbyggjandi úthlutun er stærðarákvörðuð út frá sönnunargögnum frekar en giskað. Ákvarðanir um að endurbyggja, endurhanna eða leggja niður eru teknar á mældum þröskuldum, ekki innsæi.
- Stig 5: Samhæfing. Viðhald er stöðugt bætt og samþætt um skipulagsheildina og lífsferilshagfræði hennar. Heildareignarkostnaður lífsferils knýr eignasafnsfjárfestingu, endurhönnun er beitt af ásetningi áður en íhlutir hrörna, þekking er virkt varðveitt og niðurlagning er skipulögð og rútínulega framkvæmd. Skipulagsheildin endurjafnar viðhaldsfyrirhöfn eftir því sem umhverfið breytist (reglugerðir, vettvangar, ósjálfstæði), viðhaldsaðilar eru virtir eldri verkfræðingar og allt búið aðlagast svo kostnaður breytinga haldist flatur yfir kerfi sem lifa í áratugi.
Hugmyndir til umræðu
- Hvaða hluti verkfræðifyrirhafnar þinnar fer í raun í viðhald og endurspegla fjárhagsáætlun þín og mönnun þann veruleika?
- Geturðu skipt viðhaldsvinnu þinni niður í flokkana fjóra og passar blandan við forsendur þínar?
- Hve miklum hluta dæmigerðrar breytingar er varið í að skilja kerfið á móti að breyta því og hvað myndi gera skilning ódýrari?
- Er kostnaður breytinga hjá þér hækkandi, flatur eða lækkandi með tímanum og ertu að mæla hann yfirleitt?
- Hafa teymi þín áreiðanlegt prófunaröryggisnet sem gerir samfellda endurbyggingu örugga, eða er endurskipulagning of áhættusöm til að reyna?
- Hver viðheldur lífseigustu kerfum þínum, hvernig er þekking þeirra fönguð og hver er staða og móral þeirrar vinnu?
Helstu atriði
- Viðhald er meirihluti lífstímakostnaðar hugbúnaðar (oftast 60 til 90 prósent fyrir langlíf kerfi) og verður að skipuleggja, fjárhagsáætla og manna sem fyrsta flokks starfsemi.
- Flokkarnir fjórir (leiðréttandi, aðlagandi, fullkomnandi, fyrirbyggjandi) eru ólík vinna, og endurbætur og aðlögun, ekki villulagfæringar, ráða yfirleitt ríkjum.
- Forritaskilningur er stærsta einstaka viðhaldsstarfsemin. Gerðu kóða, sögu og hegðun læsilega til að halda hverri breytingu ódýrri.
- Endurbyggðu samfellt undir prófunaröryggisneti og endurhannaðu hrörnaða íhluti stigvaxandi til að halda kostnaði breytinga flötum.
- Áætlaðu viðhaldskostnað skýrt og færðu hann inn í heildareignarkostnað og hagfræðilegar ákvarðanir.
- Hannaðu fyrir viðhaldshæfni frá byrjun (það er fjárfestingin með hæstu ávöxtun í öllum lífsferlinum) og líttu á viðhaldsaðila sem eldri fagmenn sem þeir þurfa að vera.
Heimildir og frekari lestur
- IEEE Computer Society, SWEBOK Guide (Software Engineering Body of Knowledge), Software Maintenance knowledge area
- ISO/IEC 14764 / IEEE 14764, Software Engineering: Software Life Cycle Processes, Maintenance
- ISO/IEC 25010, Systems and software Quality Requirements and Evaluation (SQuaRE): maintainability quality characteristics
- Martin Fowler, Refactoring: Improving the Design of Existing Code
- Michael Feathers, Working Effectively with Legacy Code
- Thomas M. Pigoski, Practical Software Maintenance
- Penny Grubb and Armstrong A. Takang, Software Maintenance: Concepts and Practice
- Barry Boehm et al., Software Cost Estimation with COCOMO II (maintenance and reuse models)
- Meir M. Lehman, “Laws of Software Evolution” (on why software must continually change or become less useful)
- Robert C. Seacord, Daniel Plakosh, and Grace A. Lewis, Modernising Legacy Systems