3.7

View in English

3.7 Cynnal a chadw meddalwedd

Trosolwg a chymhelliant

Mae’r rhan fwyaf o feddalwedd yn treulio’r mwyafrif llethol o’i hoes nid yn cael ei hadeiladu, ond yn cael ei chynnal a’i chadw. Yr eiliad y bydd system yn mynd i mewn i gynhyrchu, mae’n mynd i mewn i gyfnod (sy’n aml yn para blynyddoedd neu ddegawdau) o drwsio namau, addasu i amgylchedd sy’n newid, gwella’r hyn sydd eisoes yn gweithio, ac atal trafferth yn y dyfodol. Mewn mentrau mawr, ac yn enwedig mewn llywodraeth, mae’r cyfnod hwn yn drech na phopeth arall. Mae peiriannau treth, systemau budd-daliadau, platfformau amddiffyn, a phrif lyfrau cyfrifon ariannol yn cael eu cynnal a’u cadw’n rheolaidd yn llawer hwy nag y disgwyliai unrhyw un a’u comisiynodd. Cynnal a chadw meddalwedd yw’r ddisgyblaeth o gadw meddalwedd a ddarparwyd yn gywir, yn gyfredol, ac yn werthfawr dros ei holl oes weithredol.

Caiff cynnal a chadw ei danamcangyfrif a’i danbrisio’n gronig, ac mae’r camgymeriad hwnnw’n gostus. Mae astudiaeth ar ôl astudiaeth, dros ddegawdau, yn gosod cynnal a chadw ymhell dros hanner cyfanswm cost oes meddalwedd, a ddyfynnir yn gyffredin yn yr ystod o 60 i 90 y cant ar gyfer systemau hirhoedlog. Eto mae sefydliadau’n cynllunio, yn cyllidebu, yn staffio, ac yn dathlu’r adeiladwaith cychwynnol fel petai’n cynrychioli’r ymgymeriad cyfan. Yna maen nhw’n trin popeth wedyn fel ôl-ystyriaeth, wedi’i gyllido o bot sy’n crebachu ac wedi’i neilltuo i bwy bynnag sydd ar gael. Mae’r canlyniad yn rhagweladwy: systemau brau, cynhalwyr digalon, cost newid gynyddol, ac yn y pen draw argyfwng a gaiff ei fframio fel “problem etifeddiaeth” (pennod 3.6) pan mai problem cynnal a chadw heb ei rheoli oedd hi mewn gwirionedd trwy’r amser.

Mae’r bennod hon yn dilyn maes gwybodaeth Cynnal a Chadw Meddalwedd SWEBOK (Software Engineering Body of Knowledge) ac ISO/IEC 14764. Mae’n ymdrin â sylfeini cynnal a chadw a’r pedwar categori cydnabyddedig; y materion allweddol sy’n gwneud cynnal a chadw’n anodd, gan gynnwys cost, staffio, a morâl; y broses gynnal a chadw; technegau craidd deall rhaglenni, ailbeirianneg, ac ailffactora; sut i amcangyfrif cost cynnal a chadw; a (syniad â’r trosoledd uchaf yn y bennod) sut i ddylunio ar gyfer cynhaladwyedd o’r cychwyn. Y confensiwn canolog yw nad gweithgaredd israddol sy’n dilyn peirianneg yw cynnal a chadw. Dyma’r rhan fwyaf o beirianneg meddalwedd, a rhaid cynllunio ar ei chyfer, ei hadnoddi, a’i pharchu felly.

Egwyddorion allweddol

  • Cynnal a chadw yw’r mwyafrif o’r cylch bywyd, nid epilog. Cynlluniwch a chyllidebwch ar ei gyfer o’r diwrnod cyntaf; bydd yn costio mwy na’r adeiladwaith.
  • Mae’r pedwar categori’n waith gwahanol. Mae gan gynnal a chadw cywiro, addasu, perffeithio, ac atal yrwyr a chyflymderau gwahanol; nid trwsio namau yw’r rhan fwyaf o’r ymdrech.
  • Ni allwch newid yr hyn nad ydych yn ei ddeall. Deall rhaglenni yw’r gweithgaredd sengl mwyaf mewn cynnal a chadw; gwnewch god a’i hanes yn ddarllenadwy.
  • Priodwedd ddylunio yw cynhaladwyedd. Caiff cost newid yn y dyfodol ei phennu’n bennaf gan benderfyniadau a wneir yn ystod adeiladu; dyluniwch ar ei chyfer yn fwriadol.
  • Mae newid bach, diogel, parhaus yn drech na newid mawr wedi’i ohirio. Ailffactorwch a moderneiddiwch yn gynyddrannol o dan rwyd ddiogelwch brofion yn hytrach na chronni dyled newid.
  • Mae meddalwedd yn heneiddio hyd yn oed pan fydd yn llonydd. Mae’r amgylchedd yn symud (dibyniaethau, platfformau, rheoliadau), felly mae system statig yn pydru’n dawel; mae cynnal a chadw ataliol yn waith go iawn.
  • Mae cynhalwyr yn haeddu statws dosbarth cyntaf. Mae morâl, cadw gwybodaeth, a staffio timau cynnal a chadw’n penderfynu’n uniongyrchol gost a risg hirdymor.

Argymhellion

Gwahaniaethwch rhwng pedwar categori cynnal a chadw a staffiwch ar gyfer pob un ohonynt

Mae ISO/IEC 14764 a SWEBOK yn cydnabod pedwar categori, ac mae eu drysu’n gamgymeriad cynllunio cyffredin. Mae cynnal a chadw cywiro yn trwsio namau a ganfyddir wrth weithredu. Mae cynnal a chadw addasu yn cadw’r feddalwedd yn gweithio wrth i’w hamgylchedd newid: systemau gweithredu newydd, porwyr, dibyniaethau, caledwedd, rheoliadau, neu systemau rhyngwynebu. Mae cynnal a chadw perffeithio yn gwella’r feddalwedd ar gyfer defnyddwyr a chynhalwyr, drwy nodweddion newydd, perfformiad gwell, defnyddioldeb gwell, a chynhaladwyedd gwell. Mae cynnal a chadw ataliol yn cywiro namau cudd ac yn lleihau risg yn y dyfodol cyn iddi ymddangos, drwy galedu, glanhau, a moderneiddio meysydd brau. Mae rhaniad pellach defnyddiol yn grwpio cywiro ac ataliol fel cywiriad (ymdrin â namau) ac addasu a pherffeithio fel gwelliant (ymdrin â gofynion newydd). Yn hollbwysig, mae astudiaethau empeiraidd yn gyson yn canfod nad cywiro yw’r rhan fwyaf o gynnal a chadw; gwelliant ac addasu sy’n drech. Cyllidebwch a staffiwch yn unol â hynny, a dilynwch pa gategori y mae eich ymdrech mewn gwirionedd yn perthyn iddo fel y gallwch ei reoli.

Buddsoddwch mewn deall rhaglenni

Y gweithgaredd sengl mwyaf mewn cynnal a chadw yw deall y system bresennol yn ddigon da i’w newid yn ddiogel. Mae cynhalwyr yn rheolaidd yn treulio mwy o amser yn darllen ac yn rhesymu am god nag y maen nhw’n ei dreulio’n ei addasu. Gwnewch hyn yn rhatach yn fwriadol. Cadwch ddogfennaeth yn agos at y cod ac yn gyfredol (pennod 2.7). Cadwch hanes penderfyniadau drwy gofnodion penderfyniadau pensaernïol (pennod 1.6) a hanes ymrwymiadau glân (pennod 2.6). Defnyddiwch ddadansoddiad statig, graffiau dibyniaeth, ac offer llywio cod i fapio tiriogaeth anghyfarwydd. Mae profion nodweddu (profion sy’n pinio ymddygiad presennol, gan gynnwys hynodion) yn troi dealltwriaeth ddisiarad yn wybodaeth weithredadwy, barhaus. Pan fydd deall yn ddrud, mae pob newid yn araf ac yn risglyd. Pan fydd yn rhad, mae cynnal a chadw’n dod yn rheolaidd.

Ailffactorwch yn barhaus o dan rwyd ddiogelwch brofion

Mae ailffactora yn ailstrwythuro disgybledig o god sy’n gwella ei ansawdd mewnol heb newid ei ymddygiad allanol. Wedi’i wneud yn barhaus ac mewn camau bach, mae’n gwrthweithio’r drifft naturiol tuag at gymhlethdod ac yn cadw cost newid yn wastad yn hytrach na chynyddu. Y rhagofyniad na ellir ei negodi yw cyfres brofion awtomataidd ddibynadwy (pennod 2.4). Hebddi, dim ond ailysgrifennu risglyd yw “ailffactora.” Plygwch ailffactora i mewn i waith bob dydd: gadewch bob modiwl ychydig yn lanach na sut y daethoch chi o hyd iddo, yn hytrach na’i gadw ar gyfer glanhau prin, mawr, peryglus. Dyma gynnal a chadw ataliol ar waith, a dyma’r cynnal a chadw rhataf sydd.

Ailbeiriannwch pan nad yw newid cynyddrannol yn ddigon mwyach

Pan fydd cydran wedi dirywio i’r pwynt lle mae newid arferol yn rhy gostus neu’n rhy risglyd, mae ailbeirianneg (archwilio ac addasu system i’w hailffurfio ar ffurf newydd) yn arf trymach. Mae ailbeirianneg fel arfer yn cyfuno peirianneg wrthdro (adfer dyluniad a bwriad o’r gweithrediad) â pheirianneg flaen (ailadeiladu i strwythur gwell tra’n cadw ymddygiad). Ffafriwch ailbeirianneg mewn sleisys cyfyngedig, cynyddrannol gan ddefnyddio patrymau megis strangler fig a branch-by-abstraction (pennod 3.6), yn hytrach nag fel ailysgrifeniad cyfan. Mae ailbeirianneg yn eistedd ar y continwwm cynnal-a-chadw-i-foderneiddio: ailffactora ar gyfer y bach a’r lleol, ailbeirianneg ar gyfer y strwythurol, a moderneiddio ar lefel y platfform.

Rhedwch broses gynnal a chadw ddiffiniedig

Mae cynnal a chadw’n elwa o broses eglur, ailadroddadwy, fel y’i disgrifir yn ISO/IEC 14764: gweithredu proses (sefydlu cynlluniau a gweithdrefnau), dadansoddi problemau ac addasiadau (didoli, atgynhyrchu, asesu effaith a chost), gweithredu addasiadau, adolygu a derbyn cynnal a chadw, mudo, a diddymu. Lapiwch hyn mewn rheolaeth newid ddisgybledig: dylid cofnodi pob cais cynnal a chadw (boed yn adroddiad nam neu’n welliant), ei ddosbarthu yn ôl categori, asesu ei effaith, ei flaenoriaethu, ei weithredu o dan reolaeth fersiynau gyda phrofion, ei adolygu, a’i ryddhau drwy’r biblinell arferol (pennod 11.2). Mae dadansoddi effaith, deall popeth y gallai newid arfaethedig ei gyffwrdd, yn ganolog ac yn haeddu ymdrech go iawn. Mae diddymu hefyd yn rhan o’r broses: mae rhoi’r gorau i system yn ddiogel, mudo ei data a’i defnyddwyr, a chadw cofnodion yn waith cynnal a chadw y mae’n rhaid ei gynllunio, nid ei fyrfyfyrio.

Amcangyfrifwch gost cynnal a chadw’n benodol a’i chyllido

Peidiwch â thrin cynnal a chadw fel rhywbeth am ddim, na fel sŵn yn y gyllideb adeiladu. Amcangyfrifwch hi. Mae dulliau cyffredin yn cynnwys cymarebau ymdrech cynnal a chadw (y rheol bawd a ddefnyddir yn eang bod cynnal a chadw blynyddol yn rhedeg tua 15 i 25 y cant o gost ddatblygu wreiddiol, er bod systemau hollbwysig hirhoedlog yn cronni llawer mwy dros eu hoes), modelau parametrig megis COCOMO II (y Constructive Cost Model) gyda’i estyniadau cynnal a chadw ac ailddefnyddio, a rhagolygon a yrrir gan fetrigau o’ch data hanesyddol eich hun ar gyfraddau namau, cyfaint newid, a chost newid. Bwydwch yr amcangyfrifon hyn i mewn i ddadansoddiad cyfanswm cost berchnogaeth a’r economeg a drafodir ym mhennod 10.10. Blaendal yw pris prynu neu gost adeiladu system. Y morgais yw cynnal a chadw, a dylai ymddangos ym mhob achos busnes.

Dyluniwch ar gyfer cynhaladwyedd o’r cychwyn

Caiff y trosoledd mwyaf dros gost cynnal a chadw ei arfer cyn i gynnal a chadw ddechrau. Mae cynhaladwyedd (dadansoddadwyedd, addasadwyedd, profadwyedd, a modylaredd, yng ngeirfa ISO/IEC 25010) yn briodwedd ddylunio y mae’n rhaid iddi fod yn ofyniad penodol, nid yn ddamwain hapus. Ffafriwch ddyluniadau modiwlaidd, cydberthynas isel, cydlyniad uchel (pennod 2.2); rhyngwynebau clir a gwahanu pryderon; profion awtomataidd cryf; cod darllenadwy a dogfennaeth gyfredol; ac arsylladwyedd cyfoethog fel y gall gweithredwyr a chynhalwyr weld beth mae’r system yn ei wneud (Rhan 9). Mae pob un o’r penderfyniadau hyn yn cyfnewid ychydig mwy o ymdrech nawr am arbedion mawr, cronnus dros y degawdau y bydd system yn byw mewn gwirionedd. Adeiladu ar gyfer cynhaladwyedd yw’r buddsoddiad â’r elw uchaf yn y cylch bywyd cyfan.

Cyfaddawdau: manteision ac anfanteision

DullManteisionAnfanteision
Ailffactora parhaus / cynnal a chadw ataliolYn cadw cost newid yn wastad, yn lleihau risg, elw uchelYmdrech barhaus heb nodweddion newydd gweladwy; angen profion cryf
Gohirio cynnal a chadw (“cadw’r goleuadau ymlaen”)Rhataf y chwarter hwn; yn rhyddhau capasiti ar gyfer nodweddionMae dyled newid yn cronni; argyfwng anochel a gweithredu costus gorfodol
Ailbeiriannu cydran ddirywiedigYn adfer cynhaladwyedd ac yn ymestyn oes ddefnyddiolYmdrech a risg sylweddol; rhaid cadw ymddygiad yn ofalus
Dylunio ar gyfer cynhaladwyedd o’r cychwynArbedion hydoes cronnus; pob newid yn y dyfodol yn hawsCost ddechreuol a disgyblaeth uwch; mae’r manteision wedi’u gohirio a llai gweladwy

Y cyfaddawd cylchol mewn cynnal a chadw yw cost bresennol yn erbyn cost yn y dyfodol, ac mae’r demtasiwn bob amser yn rhedeg tuag at ohirio. Mae hepgor ailffactora, gadael i ddibyniaethau heneiddio, a llwgu’r tîm cynnal a chadw i gyd yn ymddangos yn rhad ac am ddim y chwarter hwn, oherwydd mae’r bil yn cyrraedd yn ddiweddarach: fel system arafach, mwy risglyd, ddrutach, ac yn y pen draw fel “argyfwng etifeddiaeth.” Disgyblaeth cynnal a chadw da yw talu costau bach, parhaus, gweladwy nawr i osgoi costau mawr, sydyn, sy’n diffinio gyrfa’n ddiweddarach. Gan fod yr arbedion wedi’u gohirio ac yn anweladwy, mae’r cyfnewid hwn yn gofyn am arweinyddiaeth sy’n deall economeg cylch bywyd, nid dim ond dyddiadau lansio.

Cwestiynau i’w trafod gyda’ch tîm

  1. Pwy sy’n berchen ar y ffigur cynnal a chadw yn eich cyllideb, ac a yw’n llinell dosbarth cyntaf neu’n weddillyn a grafwyd o beth bynnag na wariodd yr adeiladwaith? Cynnal a chadw yw’r rhan fwyaf o gost oes, yn gyffredin 60 i 90 y cant ar gyfer systemau hirhoedlog, eto caiff ei gyllido’n rheolaidd fel ôl-ystyriaeth a’i staffio â phwy bynnag sy’n rhydd. Pan fydd y gyllideb yn weddillyn, gwaith ataliol yw’r peth cyntaf i’w dorri, mae dyled newid yn cronni, ac mae llithro rhagweladwy i mewn i “argyfwng etifeddiaeth” yn dilyn. Dewch ag amcangyfrif go iawn (cymhareb ymdrech cynnal a chadw, model parametrig, neu eich data cost newid hanesyddol eich hun) ac enwch y person sy’n atebol am ei chyllido ar draws oes y system. Yr ateb yw cyllidebu cynnal a chadw’n benodol ym mhob achos busnes, fel y mae morgais yn eistedd wrth ochr pris prynu. Bydd arweinyddiaeth sy’n dathlu lansiadau’n unig yn parhau i dan-gyllido’r cyfnod lle mae’r rhan fwyaf o’r arian a’r risg mewn gwirionedd yn byw.

  2. A ydych chi’n neilltuo capasiti ar gyfer cynnal a chadw ataliol, neu a yw bob amser yn colli i’r nodwedd nesaf? Gwaith ataliol (ailffactora o dan rwyd brofion, cadw dibyniaethau’n gyfredol, caledu meysydd brau) yw’r cynnal a chadw rhataf sydd, oherwydd mae’n cadw’r gromlin cost-newid yn wastad yn hytrach na gadael iddi ddringo. Dyma hefyd yr hawsaf i’w ohirio, gan fod ei hepgor yn ymddangos yn rhad ac am ddim y chwarter hwn a’r bil yn cyrraedd yn ddiweddarach fel system arafach, mwy risglyd. Mae mecanwaith pendant yn helpu: dyraniad sefydlog, ac mae llawer o dimau cryf yn diogelu tua un rhan o bump o’r capasiti, sydd wedi’i warchod yn hytrach na’i negodi i ffwrdd bob sbrint. Dewch â’ch tuedd cost-newid fel tystiolaeth; os yw’n codi, rydych eisoes yn tanfuddsoddi. Y ddisgyblaeth yw talu costau bach, gweladwy nawr i osgoi rhai mawr, sydyn, sy’n diffinio gyrfa’n ddiweddarach, ac mae hynny’n gofyn am arweinyddiaeth sy’n darllen economeg cylch bywyd yn hytrach na dyddiadau lansio.

  3. Beth yw eich cynllun i roi’r gorau i system, a phryd wnaethoch chi ddiddymu un go iawn ddiwethaf? Mae diddymu’n rhan benodol o’r broses gynnal a chadw (mudo data, trosglwyddo defnyddwyr, cadw cofnodion, cau’n ddiogel), eto mae sefydliadau’n cario systemau marw a diangen am flynyddoedd oherwydd bod diddymu’n ddi-lachar ac heb ei gyllidebu. Mae pob system sombi’n dal i ddefnyddio trwyddedau, clytio diogelwch, arwynebedd integreiddio, a sylw pobl a allai fod yn rhywle arall. Dewch â rhestr eiddo a nodwch systemau heb ddefnyddwyr gweithredol neu lle mae disodliad llawn eisoes yn fyw, yna cynlluniwch eu cau fel unrhyw waith arall: mudo data, cadw’r hyn y mae statud yn ei fynnu, a chadarnhau nad oes dim yn dal i ddibynnu arnynt. Mewn llywodraeth yn enwedig, mae cyfraith cadw cofnodion yn llunio sut rydych yn diddymu, felly cynhwyswch gydymffurfiaeth yn gynnar. Arwydd aeddfedrwydd sy’n werth ei ddilyn: pryd wnaeth eich sefydliad ddiffodd rhywbeth yn fwriadol ddiwethaf?

  4. Faint o bob newid a dreulir yn deall y system cyn ei gyffwrdd, a beth yw eich “ffactor bws” ar y systemau sydd bwysicaf? Deall rhaglenni yw’r gweithgaredd sengl mwyaf mewn cynnal a chadw, ac mae ei gost yn cael ei phennu gan pa mor ddarllenadwy y cadwoch chi’r cod, ei hanes, a’i ymddygiad. Pan fydd deall yn byw dim ond mewn ychydig o benglogau hirdymor, mae pob ymadawiad neu ymddeoliad yn codi pris pob newid yn y dyfodol, a gall un absenoldeb atal trwsiad hollbwysig. Dewch â thystiolaeth: cymhareb amser darllen-a-rhesymu i amser golygu ar newidiadau diweddar, nifer y bobl a all addasu pob modiwl craidd yn ddiogel, ac a yw rheolau a phenderfyniadau busnes wedi’u dogfennu ochr yn ochr â’r cod neu’n cael eu hail-adeiladu o’r cof bob tro. Yr ystyriaeth gystadleuol yw bod dogfennaeth a phrofion nodweddu’n costio ymdrech nawr am arbedion na welir ond yn ddiweddarach, felly maen nhw’n hawdd eu hepgor. Mewn menter fawr a llywodraeth, lle mae systemau’n goroesi eu hawduron gwreiddiol am ddegawdau ac mae rheolau statudol wedi’u claddu mewn peiriant cyfrifo nad oes neb yn ei gofio’n llawn, triniwch ddealltwriaeth wedi’i chofnodi (cofnodion penderfyniadau pensaernïol, profion nodweddu, dogfennaeth gyfredol) fel ased rydych yn ei gyllido’n fwriadol, nid caredigrwydd sy’n digwydd pan fydd gan rywun amser sbâr.

  5. Pwy sy’n staffio eich gwaith cynnal a chadw mewn gwirionedd, ac a yw ei statws a’i forâl yn cyfateb i’w bwysigrwydd? Cynnal a chadw yw’r rhan fwyaf o gost oes a’r beirianneg anoddaf sydd, sef newid systemau na wnaethoch eu hadeiladu ac na allwch eu deall yn llawn efallai, yn ddiogel, eto caiff ei drosglwyddo’n rheolaidd i’r bobl leiaf profiadol a’i fframio fel “cadw’r goleuadau ymlaen” statws isel. Mae’r arwydd hwnnw’n gyrydol: mae eich peirianwyr gorau’n osgoi’r gwaith, mae gwybodaeth yn crynhoi ac yna’n cerdded allan drwy’r drws, ac mae cost newid yn dringo tra nad oes neb yn gwylio. Dewch â phroffil hynafedd pwy sy’n cynnal eich systemau hiraf eu hoes, eich data traul a chadw gwybodaeth, a darlleniad gonest ar a yw cynnal a chadw’n dwll marw gyrfa neu’n arbenigedd parchus yn eich sefydliad. Mae’r tyndra’n real, gan fod peirianwyr uchelgeisiol am adeiladu pethau newydd ac arweinwyr am ddathlu lansiadau, felly mae parchu cynnal a chadw’n gofyn am strwythur bwriadol. I fenter fawr neu gorff cyhoeddus sy’n rhedeg systemau sy’n cario risg reoleiddiol ac ariannol am ddegawdau, mae staffio cynnal a chadw â pheirianwyr uwch parchus yn benderfyniad rheoli risg, ac mae gadael i gynnal a chadw ddod yn swydd gosb yn ffordd o gynhyrchu’r argyfwng etifeddiaeth nesaf.

  6. A ydych chi’n olrhain i ba un o’r pedwar categori y mae eich ymdrech mewn gwirionedd yn perthyn, ac a ydych chi’n mesur cost newid fel dangosydd arweiniol? Mae timau’n rheolaidd yn cynllunio ar gyfer cynnal a chadw fel petai’n bennaf yn drwsio namau, pan fydd astudiaethau empeiraidd yn dangos bod gwelliant ac addasu’n drech, felly mae portffolio a gyllidir ar gyfer gwaith cywiro’n unig wedi’i gwmpasu’n anghywir o’r cychwyn. Heb olrhain categori ni allwch weld bod system yn cael ei hailffurfio gan ffrwd gyson o addasiadau rheoleiddiol, a heb fetrig cost-newid (amser arwain newid, cyfradd methiant newid, tueddiadau cymhlethdod) ni allwch ddweud a yw eich cromlin yn wastad neu’n dringo’n dawel tuag at argyfwng. Dewch â’ch dadansoddiad categori go iawn ar gyfer y flwyddyn ddiwethaf, eich tuedd cost-newid os oes gennych un, a nodyn gonest ar a yw dadansoddiad effaith yn gam go iawn neu’n ffurfioldeb a hepgorir dan bwysau amserlen. Y tyndra cystadleuol yw bod mesur ynddo’i hun yn cymryd ymdrech a gall deimlo fel gorbenion pan fydd y system yn dal i weithio. Mewn portffolios menter fawr a llywodraeth, lle mae llawer o dimau’n cynnal llawer o systemau a lle mae cromlin gost sy’n codi ar unrhyw un ohonynt yn rhybudd cynnar sy’n werth gweithredu arno, olrhain categori a rennir a dangosyddion cost-newid yw’r hyn sy’n caniatáu i arweinyddiaeth ailbeiriannu modiwl cyn iddo ddirywio yn hytrach nag ar ôl iddo fethu’n gyhoeddus.

Trwy lens sector

Cwmni newydd. Gyda llond dwrn o beirianwyr a phrin ddim rhedfa, ni allwch fforddio proses cynnal a chadw drwm, ond ni allwch chwaith fforddio cronfa god na fydd neb yn ei chyffwrdd. Neilltuwch sleisen sefydlog fach o bob cylch (tua diwrnod o bob pump) ar gyfer gwaith ataliol: clytiwch ddibyniaethau, clirwch namau bach cyn iddynt gronni, ac ailffactorwch y corneli rydych eisoes yn eu hofni o dan ba brofion bynnag sydd gennych. Y nod yw cadw’r cod yn rhad i’w newid tra byddwch yn troi, fel na fyddwch byth yn deffro gydag ugain peiriannydd yn camgymryd cynnal a chadw wedi’i ohirio am “broblem etifeddiaeth.”

Busnes bach. Heb arbenigwr cynnal a chadw penodedig a chyllideb dynn, pwyswch tuag at brynu a chynnal yn hytrach nag adeiladu, fel bo cynnal a chadw addasu (clytiau diogelwch, diweddariadau platfform a dibyniaeth) yn bennaf yn waith i rywun arall. Lle mae gennych god eich hun, cadwch ef yn fach, yn ddiflas, ac wedi’i ddogfennu’n dda, a sicrhewch fod o leiaf dau berson yn deall unrhyw beth y mae’r busnes yn dibynnu arno. Dilynwch y llond dwrn o systemau na allwch fforddio eu colli, a chyllidebwch linell fach, benodol ar gyfer eu cadw’n gyfredol yn hytrach na esgus bod cynnal a chadw’n rhad ac am ddim.

Menter fawr. Ar raddfa fawr, rydych yn cynnal llawer o systemau hirhoedlog ar draws llawer o dimau, felly’r flaenoriaeth yw proses ddiffiniedig, ailadroddadwy: piblinell geisiadau wedi’i chofnodi a’i didoli, dosbarthiad i’r pedwar categori, dadansoddiad effaith rheolaidd, a dyraniad ataliol sefydlog sydd wedi’i warchod yn hytrach na’i negodi i ffwrdd. Cyllidebwch gynnal a chadw fel rhaglen ddosbarth cyntaf, mesurwch ddangosyddion cost-newid ar draws y portffolio, a defnyddiwch gromlin sy’n codi fel yr ysgogiad i ailbeiriannu modiwl cyn iddo ddod yn atebolrwydd. Mae disgwyliadau llywodraethu ac archwilio’n golygu nad gorbenion yw olrhain categori a chofnodion newid, nhw yw’r dystiolaeth bod yr ystad dan reolaeth.

Llywodraeth. Mae rheolau caffael, tryloywder, ac atebolrwydd cyhoeddus yn llunio cynnal a chadw gymaint â pheirianneg. Mae cynnal a chadw addasu a yrrir gan statud yn cyrraedd ar derfynau amser blynyddol caled na allant lithro, felly cyllidebwch gynnal a chadw fel cost weithredol amhenodol a staffiwch dîm arbenigol sefydlog i gadw gwybodaeth am reolau y mae eu hawduron wedi ymddeol ers tro byd. Mae diddymu wedi’i gyfyngu gan gyfraith cadw cofnodion, felly cynlluniwch ddiddymu â chydymffurfiaeth o’r cychwyn, a ffafriwch gontractau a phensaernïaethau sy’n cadw’r system yn gynhaladwy ac yn gludadwy yn hytrach na’ch dal yn sownd wrth un gwerthwr am ddegawdau.

Enghreifftiau

Cwmni newydd. Mae cwmni newydd sydd newydd ryddhau ei MVP wedi’i demtio i dywallt pob awr i nodweddion newydd, ond mae ei beiriannydd sefydlu’n neilltuo sleisen sefydlog o bob sbrint (tua un diwrnod o bob pump) ar gyfer cynnal a chadw o’r mis cyntaf un. Mae’r gyllideb honno’n cadw dibyniaethau wedi’u clytio, yn clirio namau bach cyn iddynt gronni, ac yn ailffactora’r corneli y mae’r tîm eisoes yn eu hofni, felly mae’r gronfa god yn aros yn rhad i’w newid tra bo’r cynnyrch yn troi. Mae’r cwmnïau newydd sy’n hepgor hyn yn cyrraedd ugain peiriannydd â chronfa god nad oes neb am ei chyffwrdd ac yn ei chamgymryd am “broblem etifeddiaeth” pan mai cynnal a chadw wedi’i ohirio ydoedd trwy’r amser.

Menter fawr. Mae banc byd-eang yn rhedeg platfform taliadau sydd wedi bod mewn cynhyrchu ers pymtheg mlynedd. Mae’n cyllido cynnal a chadw fel rhaglen barhaol, ddosbarth cyntaf yn hytrach na llinell gyllideb weddillyn. Caiff gwaith ei ddidoli i’r pedwar categori: mae ffrwd gyson o newidiadau addasu’n dilyn rheoliadau newydd a diweddariadau rhyngwyneb banciau partner, mae gwaith perffeithio’n ychwanegu nodweddion ac yn gwella trwybwn, mae gwaith cywiro’n clirio namau yn erbyn cytundebau lefel gwasanaeth (SLAs) llym, ac mae dyraniad ataliol sefydlog (tua un rhan o bump o gapasiti’r tîm) yn talu cymhlethdod i lawr drwy ailffactora parhaus o dan gyfres brofion gynhwysfawr. Mae’r tîm yn mesur amser arwain newid a chyfradd methiant newid, ac yn trin cost-newid sy’n codi fel rhybudd cynnar i ailbeiriannu modiwl cyn iddo ddod yn atebolrwydd. Mae’r cynhalwyr yn beirianwyr uwch, parchus, nid staff iau wedi’u parcio ar “gadw’r goleuadau ymlaen.”

Llywodraeth. Mae awdurdod treth cenedlaethol yn cynnal system sydd wedi rhedeg ers dros ddeng mlynedd ar hugain ac a addesir bob blwyddyn wrth i gyfraith treth newid. Y categori sy’n drech yma yw cynnal a chadw addasu a yrrir gan statud, gyda therfynau amser blynyddol caled na allant lithro. Mae’r awdurdod yn buddsoddi’n helaeth mewn deall rhaglenni: mae rheolau busnes wedi’u dogfennu ochr yn ochr â’r cod, mae profion nodweddu’n pinio ymddygiad rheolau y mae eu hawduron gwreiddiol wedi ymddeol ers tro byd, ac mae dadansoddiad effaith yn gam ffurfiol cyn unrhyw newid i’r peiriant cyfrifo. Gan fod yr amgylchedd (y gyfraith) yn newid yn barhaus, ni all y system fyth fod yn “orffenedig,” felly mae’r awdurdod yn cyllidebu cynnal a chadw fel cost weithredol amhenodol, yn staffio tîm arbenigol sefydlog i gadw gwybodaeth, ac yn moderneiddio’r arferion cyflenwi cyfagos megis rheolaeth ffynhonnell, integreiddio parhaus (CI), a phrofi awtomataidd, hyd yn oed tra bo’r craidd yn dal ati.

Achos busnes: cymhellion, ROI, a TCO

Y ffaith fusnes graidd am feddalwedd yw mai cynnal a chadw, nid adeiladu, yw lle mae’r arian yn mynd. Ar draws y diwydiant ac ar draws degawdau o astudio, mae cynnal a chadw’n cyfrif am fwyafrif clir cost oes, a ddyfynnir yn aml yn 60 i 90 y cant ar gyfer systemau sy’n byw’n hir, sef y rhan fwyaf ohonynt mewn menter fawr a llywodraeth. Mae unrhyw ddadansoddiad cyfanswm cost berchnogaeth sy’n stopio wrth fynd yn fyw yn anghywir gan ffactor o sawl gwaith. Y prif achos busnes dros drin cynnal a chadw o ddifrif yw cywirdeb yn syml: cyllidebwch ar gyfer holl oes y system, neu cewch eich synnu dro ar ôl tro gan y bil.

Daw’r enillion ar fuddsoddiad o blygu’r gromlin gost. Mewn system esgeulus, mae cost pob newid yn codi dros amser wrth i gymhlethdod gronni a deall ddirywio, nes bod newid yn dod yn araf a risglyd yn ormodol. Mewn system a gynhelir yn dda, mae gwaith ataliol parhaus (ailffactora, cyfredoldeb dibyniaeth, cwmpas profion, dogfennaeth) yn cadw’r gromlin honno’n wastad, fel bo’r newid milfed yn costio tua’r un faint â’r degfed. Nid gwariant i’w leihau yw buddsoddi mewn cynhaladwyedd a chynnal a chadw ataliol felly. Dyma’r lifer sy’n penderfynu a yw system yn aros yn fforddiadwy i’w newid neu’n drifftio i mewn i gost a risg gynyddol ystad etifeddiaeth (pennod 3.6) a heriau cynnal pennod 10.4. Cyllidebwch gynnal a chadw’n fwriadol, mesurwch gost newid fel dangosydd arweiniol, a thriniwch gromlin sy’n codi fel arwydd i weithredu, nid ffaith natur. Ceir rhagor am yr economeg ym mhennod 10.10.

Gwrthbatrymau a pheryglon

  • Trin cynnal a chadw fel ôl-ystyriaeth. Cyllidebu a dathlu’r adeiladwaith yn unig, yna llwgu’r cyfnod cynnal a chadw sydd lawer mwy a hirach.
  • Staffio cynnal a chadw â’r bobl leiaf profiadol. Neilltuo’r gwaith anoddaf (newid systemau’n ddiogel nad ydych yn eu deall yn llawn) i’r rhai lleiaf abl, ac arwyddo bod cynnal a chadw’n statws isel.
  • Drysu cynnal a chadw â thrwsio namau. Cynllunio ar gyfer gwaith cywiro’n unig pan fydd addasu a gwelliant mewn gwirionedd yn drech na’r ymdrech.
  • Gohirio cynnal a chadw ataliol yn amhenodol. Byth yn ailffactora, byth yn diweddaru dibyniaethau, nes bod dyled newid yn gorfodi argyfwng costus.
  • Newid cod heb ddadansoddiad effaith. Gwneud “trwsiad bach” sy’n crychdonni i mewn i fethiannau annisgwyl mewn mannau eraill.
  • Ailffactora heb rwyd ddiogelwch brofion. Ailstrwythuro cod heb ddim ffordd o brofi bod ymddygiad wedi’i gadw: dim ond ailysgrifennu risglyd yw hynny.
  • Gadael i wybodaeth gerdded allan drwy’r drws. Methu dogfennu rheolau a phenderfyniadau busnes, fel bo pob ymddeoliad neu ymadawiad yn codi cost pob newid yn y dyfodol.
  • Byth yn diddymu unrhyw beth. Cario systemau marw a diangen am byth oherwydd bod diddymu’n ddi-lachar ac heb ei gynllunio.

Model aeddfedrwydd

  • Lefel 1: Cychwyn. Mae cynnal a chadw heb ei gynllunio a heb ei gyllido, ac yn cael ei drin yn adweithiol gan bwy bynnag sy’n rhydd. Caiff ei weld fel trwsio namau ac fel gwaith statws isel. Nid oes olrhain categori, dim amcangyfrif cost, ac mae gwybodaeth yn byw mewn ychydig o benglogau. Mae cost newid yn codi heb i neb sylwi nes bod trwsiad yn atal neu argyfwng yn gorfodi sylw.
  • Lefel 2: Datblygu. Mae rhai timau wedi dechrau cofnodi a didoli ceisiadau cynnal a chadw ac yn cario llinell gyllideb, ond mae’r arfer yn anghyson ar draws y sefydliad ac mae’r gyllideb fel arfer yn weddillyn. Caiff gwaith cywiro ei olrhain tra nad yw ymdrech addasu a pherffeithio’n cael eu gwahaniaethu’n glir. Mae rhai profion a dogfennaeth yn bodoli mewn pocedi, felly caiff newid ei reoli’n rhannol ond mae deall yn parhau i fod yn ddrud ac yn anghyson o dîm i dîm.
  • Lefel 3: Safoni. Mae proses gynnal a chadw ddiffiniedig (yn ôl ISO/IEC 14764) wedi’i dogfennu a’i gorfodi ar draws y sefydliad: caiff gwaith ei ddosbarthu i’r pedwar categori, mae dadansoddiad effaith a rheolaeth newid yn rheolaidd, a chaiff cynnal a chadw ei amcangyfrif a’i gyllido’n benodol ym mhob achos busnes. Mae cynnal a chadw ataliol ac ailffactora’n arferion safonol o dan gyfres brofion gadarn, ac mae cynhaladwyedd (dadansoddadwyedd, addasadwyedd, profadwyedd, modylaredd) yn ofyniad dylunio penodol yn hytrach nag arfer lleol.
  • Lefel 4: Rheoli. Caiff cynnal a chadw ei fesur a’i reoli â data yn erbyn llinellau sylfaen. Caiff dangosyddion cost-newid (amser arwain newid, cyfradd methiant newid, tueddiadau cymhlethdod a namau) eu holrhain fesul system, caiff cymysgedd ymdrech y pedwar categori ei feintioli yn erbyn disgwyliadau, a chaiff cymarebau ymdrech cynnal a chadw ac amcangyfrifon parametrig eu gwirio yn erbyn cost newid hanesyddol wirioneddol. Caiff cromlin gost sy’n codi ei chanfod fel dangosydd arweiniol ac mae’n ysgogi gweithredu, a chaiff dyraniad ataliol ei feintio o dystiolaeth yn hytrach na dyfalu. Gwneir penderfyniadau i ailffactora, ailbeiriannu, neu ddiddymu ar drothwyon a fesurwyd, nid greddf.
  • Lefel 5: Cydgysylltu. Caiff cynnal a chadw ei wella’n barhaus a’i integreiddio ar draws y sefydliad a’i economeg cylch bywyd. Mae TCO cylch bywyd yn gyrru buddsoddiad portffolio, caiff ailbeirianneg ei chymhwyso’n fwriadol cyn i gydrannau ddirywio, caiff gwybodaeth ei chadw’n weithredol, a chaiff diddymu ei gynllunio a’i weithredu’n rheolaidd. Mae’r sefydliad yn ailgydbwyso ymdrech cynnal a chadw wrth i’r amgylchedd symud (rheoliadau, platfformau, dibyniaethau), mae cynhalwyr yn beirianwyr uwch parchus, ac mae’r ystad gyfan yn addasu fel bo cost newid yn aros yn wastad ar draws systemau sy’n byw am ddegawdau.

Syniadau i’w trafod

  1. Pa gyfran o’ch ymdrech beirianneg sydd mewn gwirionedd yn mynd i gynnal a chadw, ac a yw eich cyllideb a’ch staffio’n adlewyrchu’r realiti hwnnw?
  2. A allwch chi rannu eich gwaith cynnal a chadw i mewn i’r pedwar categori, ac a yw’r cymysgedd yn cyfateb i’ch tybiaethau?
  3. Faint o newid nodweddiadol a dreulir yn deall y system o’i gymharu â’i addasu, a beth fyddai’n gwneud deall yn rhatach?
  4. A yw eich cost newid yn codi, yn wastad, neu’n gostwng dros amser, ac a ydych yn ei fesur o gwbl?
  5. A oes gan eich timau rwyd ddiogelwch brofion ddibynadwy sy’n gwneud ailffactora parhaus yn ddiogel, neu a yw ailstrwythuro’n rhy risglyd i’w geisio?
  6. Pwy sy’n cynnal eich systemau hiraf eu hoes, sut mae eu gwybodaeth yn cael ei chofnodi, a beth yw statws a morâl y gwaith hwnnw?

Prif negeseuon

  • Cynnal a chadw yw’r mwyafrif o gost oes meddalwedd (yn gyffredin 60 i 90 y cant ar gyfer systemau hirhoedlog) a rhaid ei gynllunio, ei gyllido, a’i staffio fel gweithgaredd dosbarth cyntaf.
  • Mae’r pedwar categori (cywiro, addasu, perffeithio, ataliol) yn waith gwahanol, ac mae gwelliant ac addasu, nid trwsio namau, fel arfer yn drech.
  • Deall rhaglenni yw’r gweithgaredd cynnal a chadw sengl mwyaf; gwnewch god, hanes, ac ymddygiad yn ddarllenadwy i gadw pob newid yn rhad.
  • Ailffactorwch yn barhaus o dan rwyd ddiogelwch brofion ac ailbeiriannwch gydrannau dirywiedig yn gynyddrannol i gadw cost newid yn wastad.
  • Amcangyfrifwch gost cynnal a chadw’n benodol a’i bwydo i mewn i benderfyniadau cyfanswm cost berchnogaeth ac economaidd.
  • Dyluniwch ar gyfer cynhaladwyedd o’r cychwyn (dyma’r buddsoddiad â’r elw uchaf yn y cylch bywyd cyfan) a thriniwch gynhalwyr fel y gweithwyr proffesiynol uwch y mae angen iddynt fod.

Cyfeiriadau a darllen pellach

  • IEEE Computer Society, SWEBOK Guide (Software Engineering Body of Knowledge), maes gwybodaeth Software Maintenance
  • ISO/IEC 14764 / IEEE 14764, Software Engineering: Software Life Cycle Processes, Maintenance
  • ISO/IEC 25010, Systems and software Quality Requirements and Evaluation (SQuaRE): nodweddion ansawdd cynhaladwyedd
  • Martin Fowler, Refactoring: Improving the Design of Existing Code
  • Michael Feathers, Working Effectively with Legacy Code
  • Thomas M. Pigoski, Practical Software Maintenance
  • Penny Grubb ac Armstrong A. Takang, Software Maintenance: Concepts and Practice
  • Barry Boehm et al., Software Cost Estimation with COCOMO II (modelau cynnal a chadw ac ailddefnyddio)
  • Meir M. Lehman, “Laws of Software Evolution” (ar pam bod rhaid i feddalwedd newid yn barhaus neu ddod yn llai defnyddiol)
  • Robert C. Seacord, Daniel Plakosh, a Grace A. Lewis, Modernizing Legacy Systems