Programmalıq támiynat sapasın támiyinlew / 9-lekciya_ST
.pdf9-lekciya. Programmalıq támiynattıń sapasın basqarıw koncepciyası.
Jobası:
1.Sapanı basqarıw (Quality Management) koncepciyası hám onıń evolyuciyası.
2.TQM (Total Quality Management) – Ulıwma sapa basqarıw filosofiyası.
3.Sapanı jobalastırıw, qadaǵalaw hám jaqsılaw úshligi (Juran Trilogiyası).
4.Sapa mádeniyatı hám adam faktorı: Kadrlar menen islesiw.
Sapanı basqarıw koncepciyası hám evolyuciyası
Sapanı basqarıw (Quality Management) – bul ónimniń sapasın támiyinlewge baǵdarlanǵan barlıq is-háreketlerdi (jobalastırıw, qadaǵalaw, jaqsılaw) biriktiretuǵın ulıwma basqarıw koncepciyası. Programmalıq injeneriyada sapa basqarıw – bul tek testlew emes, al pútkil shólkemniń strategiyası. Sapa basqarıwdıń tiykarǵı ideyası: "Sapa – bul tosınnan bolatuǵın qubılıs emes, ol maqsetli túrde basqarılıwı kerek". Sapanı basqarıw ónimniń ómirlik cikli boyınsha úziliksiz dawam etetuǵın process. Sapanı basqarıw koncepciyası tariyxıy jaqtan tómendegishe rawajlandı: 1) "Inspeksiya" (Inspection) – XX ásirdiń basında sapa tek tayın ónimdi tekseriw hám jaramsızların (brak) alıp taslaw arqalı basqarılǵan. Programmalastırıwda bul – tek kod jazılıp bolǵannan keyingi testlew. 2) "Sapanı qadaǵalaw" (Quality Control - QC) – sapanı óndiris procesinde statistikalıq usıllar menen qadaǵalaw. 3) "Sapanı támiyinlew" (Quality Assurance - QA) – qátelerdiń aldın alıwǵa baǵdarlanǵan processlerdi jobalastırıw. 4) "Ulıwma sapa basqarıw" (Total Quality Management - TQM) – sapanı barlıq xızmetkerlerdiń (tek óndiris emes, al marketing, HR hám t.b.) juwapkershiligi dep qaraw.
Házirgi zamanagóy programmalıq sapa basqarıw koncepciyası – bul "Integraciyalasqan sapa". Yaǵnıy, sapa programmanıń islep shıǵıw procesine (DevOps, CI/CD) sińisip ketken. Biz endi sapanı bólek basqısh dep qaramaymız, al hárbir qádemniń (Requirement, Design, Code) ajıralmas bólegi dep qaraymız. Koncepciyanıń orayında "Paydalanıwshı" turadı. Sapa – bul paydalanıwshınıń talapların hám kútkenlerin qanaatlandırıw (Customer
Satisfaction).
Sapa basqarıwdıń eń áhmiyetli principlerinen biri – "Faktlerge tiykarlanǵan sheshim qabıllaw". Biz "Menińshe sapa jaqsı" dep aytpaw kerek,
biz "Metrikalar boyınsha sapa 95% ke jetti" dep aytıwımız kerek. Sapa basqarıw koncepciyası ólshewlerge, analizge hám úziliksiz jaqsılawǵa (Continuous Improvement) súyenedi. "Búgingi sapa – erteńgi standart".
TQM: Ulıwma sapa basqarıw
Total Quality Management (TQM) – bul 1950-jılları Yaponiya (Deming, Juran) tárepinen baslanǵan hám keyin pútkil dúnyaǵa tarqalǵan sapa filosofiyası. TQM programmalıq injeneriyada tómendegi 8 principke tiykarlanadı: 1) "Klientke baǵdarlanıw". Sapanıń birden-bir tóreshisi – klient. 2) "Liderlik". Basshılıq sapa boyınsha maqsetlerdi hám ortalıqtı jaratıwı kerek. 3) "Xızmetkerlerdiń qatnasıwı". Barlıq dárejedegi xızmetkerler sapa ushın juwapker hám processlerdi jaqsılawǵa qatnasıwı kerek.
4) "Processli kózqaras". Nátiyjege erisiw ushın resurslar hám háreketler process retinde basqarılıwı kerek. 5) "Sistemalı kózqaras". Bir-biri menen baylanısqan processlerdi sistema retinde basqarıw. 6) "Úziliksiz jaqsılaw". Sapanı jaqsılaw – turaqlı maqset. 7) "Faktlerge tiykarlanǵan sheshim". Maǵlıwmatlar hám informaciyanı analizlew. 8) "Jetkiziwshiler menen paydalı qatnasıq". Sapa tek bizge emes, al sheriklerimizge de (mısalı, kitapxana jetkiziwshilerge, autsorserlerge) baylanıslı.
TQM programmalıq kompaniyalarda "Sapa Mádeniyatı"n (Quality Culture) qáliplestiredi. Bunda qáte jiberiw – ayıplaw ushın emes, al úyreniw ushın sebep. TQM "Kaizen" (kishkene, biraq turaqlı jaqsılawlar) ámeliyatın qollaydı. Mısalı, hár sprintten keyin komanda "Retrospektiva" ótkerip, "Kelesi sprintte neni jaqsıraq isley alamız?" degen sorawǵa juwap izleydi. Bul TQM filosofiyasınıń ámeliy kórinisi. TQM-de "Sapalıq dógerekler" (Quality Circles) degen usıl bar. Bul – bir bólimde isleytuǵın xızmetkerlerdiń (mısalı, testerler toparı) óz qálewi menen jıynalıp, jumıs processindegi mashqalalardı talqılawı hám sheshim tabıwı. Bul usıl xızmetkerlerdiń motivaciyasın arttıradı hám sapanı "tómennen joqarıǵa" (Bottom-Up) jaqsılawǵa járdem beredi.
Juran Trilogiyası: Jobalastırıw, Qadaǵalaw, Jaqsılaw
Sapa menedjmentiniń klassigi Djozef Juran sapanı basqarıwdı úsh tiykarǵı proceske bóldi, bul "Juran Trilogiyası" dep ataladı.
1. "Sapanı jobalastırıw" (Quality Planning). Bul basqıshta: Klientler anıqlanadı; Olardıń talapları anıqlanadı; Sol talaplarǵa juwap beretuǵın ónim (programma) qásiyetleri islep shıǵıladı; Sapa maqsetleri (Goals) qoyıladı; Processler jobalastırıladı. Programmalıq injeneriyada bul – Talaplar analizi, Arxitekturanı jobalastırıw hám SQAP (Sapa jobası) jazıw basqıshı. Eger
jobalastırıw qáte bolsa, keyingi basqıshlar sapanı qutqara almaydı ("Quality by
Design").
2."Sapanı qadaǵalaw" (Quality Control). Bul basqıshta: Processlerdiń orınlanıwı baqlanadı; Haqıyqıy nátiyjeler sapa maqsetleri menen salıstırıladı; Ayırmashılıqlar (Deviation) tabılsa, olar dúzetiledi. Programmalıq injeneriyada bul – Testlew, Kod Review, Statikalıq analiz hám Monitoring. Qadaǵalawdıń maqseti – sapanıń turaqlı dárejesin (status quo) saqlaw hám "ót" (qáteler) óshiriw.
3."Sapanı jaqsılaw" (Quality Improvement). Bul basqıshta: Processlerdiń ónimliligin arttırıw jolları izlenedi; Qátelerdiń túpkilikli sebepleri (Root Cause) anıqlanadı hám joq etiledi; Sapa jańa, joqarı dárejege kóteriledi. Programmalıq injeneriyada bul – Processlerdi optimallastırıw, Avtomatlastırıwdı engiziw, Jańa texnologiyalardı qollanıw. Jaqsılawdıń maqseti – burınǵı dárejeden joqarıǵa
"sekiriw" (Breakthrough).
Juran Trilogiyası sapanı basqarıwdıń tolıq ciklın qamtıydı. Jobalastırıw "ne islewdi" aytadı, Qadaǵalaw "dúzetiwdi" támiyinleydi, Jaqsılaw "rawajlanıwdı" támiyinleydi. Eger tek Qadaǵalaw bolsa, sapa bir jerde turıp qaladı. Eger tek Jaqsılaw bolsa (biraq Qadaǵalaw bolmasa), sapa turaqsız boladı. Bul úsh process birge islese, sapa sistemalı túrde artadı.
Sapa mádeniyatı hám Adam faktorı
Sapa basqarıw koncepciyasınıń eń áhmiyetli, biraq eń qıyın bólegi – bul "Adam faktorı". Sapalı programmanı mashinalar emes, al adamlar (programmistler, analitikler, testerler) jaratadı. Sol sebepli, sapa basqarıw – bul birinshi gezekte adamlardı basqarıw hám "Sapa mádeniyatı"n (Quality Culture) qáliplestiriw. Sapa mádeniyatı degende, hárbir xızmetkerdiń sapalı jumıs islewge degen ishki umtılısı hám juwapkershiligi túsiniledi. Sapa mádeniyatın qáliplestiriw ushın tómendegiler zárúr: 1) "Oqıtıw hám Rawajlandırıw". Xızmetkerler sapa standartların, testlew usılların hám jańa texnologiyalardı biliwi kerek. Kompaniya turaqlı treningler hám seminarlar ótkeriwi shárt. 2) "Motivaciya". Sapalı jumıs sıylıqlanıwı kerek. Eger programmist tez (biraq qáteli) kod jazǵanı ushın sıylıq alsa, al sapalı (biraq áste) jazǵanı ushın jazalansa, sapa bolmaydı. Motivaciya sisteması sapanı qollap-quwatlawı kerek.
3) "Kommunikaciya". Komanda aǵzaları arasında ashıq hám isenimli baylanıs bolıwı kerek. Qátelerdi jasırıw emes, al talqılaw kerek. "Egersiz qáteni kórseńiz hám úndemeseńiz, siz de sol qátege sheriksiz". 4) "Psixologiyalıq qáwipsizlik". Xızmetkerler óz pikirlerin aytıwdan hám qáte islewden qorqpawı kerek (eger olar qáteden sabaq alsa). Innovaciya tek erkin ortalıqta payda boladı.
Sapanı basqarıwda "Ego-less Programming" (Menmenliksiz programmalastırıw) koncepciyası bar. Yaǵnıy – "Meniń kodım – men emes". Programmist óz kodına aytılǵan sındı (Code Review waqtında) ózine aytılǵan masqaralaw dep qabıllamawı kerek. Kod – bul komandanıń ortaq múlki. Jaqsı sapa mádeniyatında hámme bir maqsetke – sapalı ónim jaratıwǵa umtıladı. Juwmaqlap aytqanda, sapa basqarıw koncepciyası – bul texnikalıq qadaǵalawdan baslap, shólkemlik filosofiyaǵa shekemgi joldı basıp ótti. Búgingi kúnde sapa – bul barlıqtıń isi. TQM, Juran Trilogiyası hám Sapa mádeniyatı bizge programmalıq támiynattıń sapasın tosınnan emes, al kepillengen nátiyjege aylandırıwǵa járdem beredi.
BAQLAW SORAWLARÍ:
1.Sapa basqarıwdıń (Quality Management) tórt evolyuciyalıq basqıshı (Inspeksiya, QC, QA, TQM) qanday ózgerislerdi alıp keldi?
2.TQM (Total Quality Management) filosofiyasınıń tiykarǵı 8 principinen eń áhmiyetlisi qaysı dep oylaysız hám nege?
3.Juran Trilogiyasınıń úsh procesi (Jobalastırıw, Qadaǵalaw, Jaqsılaw) birbiri menen qalay baylanısqan?
4."Sapa mádeniyatı" degende neni túsinesiz hám ol programmalıq injeneriyada qalay kórinedi?
5."Ego-less Programming" koncepciyası sapanı jaqsılawǵa qalay tásir etedi?
