Oprogramowanie_godne_zaufania_Metodologia_techniki_i_narzedzia_projektowania_bezopr

Page 1

Bezpieczne oprogramowanie. Metodologia, techniki i narzêdzia projektowania Autor: Bijay K. Jayaswal, Peter C. Patton ISBN: 978-83-246-1463-9 Tytu³ orygina³u: Design for Trustworthy Software: Tools, Techniques, and Methodology of Developing Robust Software Format: 172x245, stron: 816

Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032 230 98 63 e-mail: helion@helion.pl

Poznaj narzêdzia, techniki oraz metodologiê tworzenia niezawodnego oprogramowania • Jak przeprowadziæ weryfikacjê, oceniaæ i konserwowaæ oprogramowanie? • Jakie s¹ finansowe aspekty tworzenia oprogramowania godnego zaufania? • Jak zarz¹dzaæ portfelem technologii informatycznych? Jakoœæ oprogramowania to wielowarstwowe zagadnienie. Spojrzenie na ni¹ z kilku perspektyw jest kluczowe dla procesu tworzenia nowego produktu. Nale¿y przy tym wzi¹æ pod uwagê nie tylko op³acalnoœæ jego wytwarzania i konkurencyjnoœæ, ale tak¿e jawne i ukryte potrzeby naszych klientów oraz partnerów biznesowych. St¹d wynika potrzeba u¿ywania zintegrowanej technologii, pomagaj¹cej spe³niaæ wszystkie te wymagania. Odpowiada na ni¹ technologia projektowania oprogramowania godnego zaufania (ang. Designing for Trustworthy Software). S³u¿y ona wczesnemu rozwi¹zywaniu problemów zwi¹zanych z jakoœci¹ tworzonego produktu, dziêki czemu zapobiega powstawaniu b³êdów implementacji. Si³¹ tej technologii jest tak¿e fakt, ¿e wszelkie dzia³ania zwi¹zane z jakoœci¹ s¹ podejmowane przed napisaniem ka¿dego wiersza kodu. Ta ksi¹¿ka pomo¿e w poprawie jakoœci wszystkim tym, którzy wdra¿aj¹ rozwi¹zania wewnêtrzne i zewnêtrzne, prowadz¹ konsultacje i œwiadcz¹ pomoc techniczn¹. Zawiera ona prze³omowe rozwi¹zania dla specjalistów z dziedziny oprogramowania oraz jakoœci – od programistów po liderów projektu, od g³ównych architektów oprogramowania po klientów. Z tego podrêcznika dowiesz siê m.in., jak stosowaæ najlepsze praktyki w dziedzinie kontrolowania jakoœci, organizacji szkoleñ i zarz¹dzania w wyj¹tkowym œrodowisku rozwoju oprogramowania. • Metodologia rozwoju oprogramowania • Miary jakoœci oprogramowania • Koszty jakoœci oprogramowania • Narzêdzia i techniki projektowania oprogramowania godnego zaufania • Analityczny proces hierarchiczny • Z³o¿onoœæ, b³êdy i poka-yoke w procesach rozwoju oprogramowania • Ocena ryzyka oraz analiza przyczyn i skutków b³êdów (FEMA) • Technologie obiektowe i komponentowe • Techniki AHP, TRIZ, CoSQ i metoda Taguchiego • Integracja, wzbogacanie i konserwacja oprogramowania godnego zaufania • Wdra¿ania technologii DFTS • QFD dla projektów Twórz niezawodne oprogramowanie wysokiej jakoœci!


5

Spis tre ci

Spis tre ci

Wprowadzenie

23

Przedmowa

25

Podzi kowania

31

O autorach

33

CZ I

WSPÓ CZESNY PROCES ROZWOJU APLIKACJI, JEGO BRAKI I WYZWANIA NA DRODZE DO OPROGRAMOWANIA GODNEGO ZAUFANIA

ROZDZIA 1.

Wspó czesne metodologie rozwoju oprogramowania

35 37

Rozwój oprogramowania — potrzeba nowego paradygmatu

39

Ramka 1.1. Z o ono komputerów

41

Strategie rozwoju oprogramowania i modele cyklu ycia Model utwórz i popraw Model wodospadu Model b yskawicznych prototypów Model przyrostowy Programowanie ekstremalne Model spiralny Programowanie obiektowe Rozwój iteracyjny, czyli model ewolucyjny Porównanie ró nych modeli cyklu ycia

42 44 45 45 46 48 49 50 52 53

Usprawnienia procesu rozwoju oprogramowania Model RUP Model CMM Wytyczne rozwoju oprogramowania ISO 9000-3 Porównanie modeli RUP, CMM i ISO 9000

53 54 55 56 58

Metoda ADR

60

Siedem elementów procesu rozwoju stabilnego oprogramowania

60

Model rozwoju solidnego oprogramowania

61

Ramka 1.2. Krytyczne oprogramowanie steruj ce w lotnictwie

62

Kluczowe zagadnienia

63


6

Spis tre ci

Dodatkowe materia y

64

wiczenia internetowe

64

Pytania przegl dowe

64

Zagadnienia do dyskusji i projekty

65

Przypisy

65

ROZDZIA 2.

Wyzwania na drodze do oprogramowania godnego zaufania — solidny projekt w kontek cie oprogramowania

67

Niezawodno oprogramowania — fakty i mity Podobie stwa i ró nice mi dzy oprogramowaniem i wyrobami produkowanymi Porównywanie niezawodno ci oprogramowania i sprz tu Przyczyny zawodno ci oprogramowania

69 69 71 71

Ograniczenia tradycyjnych systemów kontroli jako ci

74

Japo skie systemy zarz dzania jako ci i podej cie Taguchiego

75

Ramka 2.1. ycie i czasy doktora Genichiego Taguchiego

75

Ramka 2.2. Metodologia in ynierii jako ci w zarysie

77

Ramka 2.3. Taguchi o metodach Taguchiego

78

Ramka 2.4. Istota 14 punktów Deminga

80

Istota metod solidnego projektowania Taguchiego Zagadnienie stosunku sygna u do szumu Zagadnienie funkcji utraty jako ci Zagadnienie solidnego projektowania

83 83 85 87

Wyzwania na drodze do niezawodno ci oprogramowania — projektowanie oprogramowania godnego zaufania

88

Model rozwoju solidnego oprogramowania — proces DFTS w praktyce

94

Kluczowe zagadnienia

95

Dodatkowe materia y

97

wiczenia internetowe

97

Pytania przegl dowe

97

Pytania do dyskusji i projekty

98

Przypisy

99

ROZDZIA 3.

Miary jako ci oprogramowania

101

Pomiar jako ci oprogramowania

103

Klasyczne miary jako ci oprogramowania

103

Zarz dzanie przez jako

104

Ogólne miary jako ci oprogramowania

106


7

Spis tre ci

Metodologia pomiarów Wewn trzprocesowe miary jako ci do testowania oprogramowania Miary z o ono ci oprogramowania Nauka o oprogramowaniu Z o ono cyklomatyczna Miary punktów funkcyjnych Miary zadowolenia klienta i dost pno ci

106 107 109 110 112 113 114

Ramka 3.1. Miejska legenda o oprogramowaniu

115

Aktualne miary i modele

116

Nowe miary projektowania i oceny architektury

118

Powszechne problemy z projektowaniem architektury

119

Miary wzorców w OOAD

121

Kluczowe zagadnienia

122

Dodatkowe materia y

123

wiczenia internetowe

123

Pytania przegl dowe

123

Zagadnienia do dyskusji i projekty

124

Przypisy

124

ROZDZIA 4.

Finansowe perspektywy tworzenia oprogramowania godnego zaufania

127

Dlaczego DFTS wymaga ró nych analiz finansowych?

129

Koszty i jako — kiedy i dzi

130

Koszty jako ci oprogramowania Korzy ci p yn ce z analiz kosztów jako ci Koszty zada nakierowanych na popraw jako ci Klasyfikacja kosztów jako ci oprogramowania Ustanawianie systemu tworzenia raportów CoSQ Korzy ci inwestycji w jako Warto analiz CoSQ Pu apki zwi zane z programem CoSQ

134 134 135 137 146 148 149 149

Koszty jako ci oprogramowania w cyklu ycia

150

Studium przypadku 4.1. Zastosowanie CoSQ w Intents Software

152

CoSQ i kosztorysowanie bazuj ce na aktywno ciach ABC w firmach zajmuj cych si rozwojem oprogramowania Uruchamianie ABC przy rozwoju oprogramowania Korzy ci stosowania ABC

157 157 158 159

Ramka 4.1. ABC w przemy le us ugowym

160


8

Spis tre ci

Funkcja utraty jako ci w przypadku oprogramowania

160

Finansowa ocena inwestycji w DFTS Miary oceny DFTS Tworzenie platformy oceny finansowej programów DFTS

161 161 162

Kluczowe zagadnienia

164

Dodatkowe materia y

166

wiczenia internetowe

166

Pytania przegl dowe

166

Zagadnienia do dyskusji

167

Problemy

168

Przypisy

168

ROZDZIA 5.

Infrastruktura organizacyjna i przywództwo przy stosowaniu DFTS

171

Wyzwania organizacyjne przy wdra aniu DFTS

173

Schemat wdra ania DFTS Etap 1. Budowanie wiadomo ci zarz du i przekonywanie go Etap 2. Komunikowanie o zgodno ci i zaanga owaniu wy szej kadry zarz dzaj cej Etap 3. Wykrywanie potencjalnych pu apek zwi zanych z inicjatyw DFTS

173 174 178 179

Ramka 5.1. Nienaganny cykl nauki i TPOV Etap 4. K adzenie podwalin pod organizacj skoncentrowan na jako ci Etap 5. Budowanie infrastruktury organizacyjnej Etap 6. Zrozumienie ról kluczowych osób Etap 7. Projektowanie wspomagaj cej struktury organizacyjnej Etap 8. Ustanawianie efektywnej komunikacji Etap 9. Tworzenie odpowiedniego systemu nagród Etap 10. Ustanawianie systemu CoSQ Etap 11. Planowanie i uruchamianie szkole w ca ej organizacji Etap 12. Wdra anie modelu DFTS Etap 13. Kontrolowanie nauki i post pów oraz przekazywanie informacji zwrotnych Etap 14. Utrwalanie usprawnie i zysków Etap 15. Integracja i rozszerzanie programu

188 189 192 192 203 205 206 208 208 209 210 212 212

czenie wszystkich elementów

213

Kluczowe zagadnienia

214

Dodatkowe materia y

218

wiczenia internetowe

218


9

Spis tre ci

Pytania przegl dowe

219

Zagadnienia do dyskusji i projekty

220

Przypisy

220

CZ II

NARZ DZIA I TECHNIKI PROJEKTOWANIA OPROGRAMOWANIA GODNEGO ZAUFANIA

ROZDZIA 6.

Siedem podstawowych narz dzi zarz dzania jako ci (P7)

223 225

Siedem podstawowych narz dzi (P7)

228

Ramka 6.1. Kaoru Ishikawa — rozwój specyficznie japo skiej strategii zarz dzania jako ci

230

P7 w kontek cie DFTS

232

Inne narz dzia, techniki i metodologie DFTS

233

Diagramy przebiegu Diagramy przebiegu wysokiego poziomu Szczegó owe diagramy przebiegu Torowe diagramy przebiegu

234 235 235 236

Diagramy Pareto

236

Diagramy przyczynowo-skutkowe Tworzenie diagramów przyczynowo-skutkowych w celu okre lenia przyczyn U ywanie diagramów przyczynowo-skutkowych do klasyfikowania procesów

237 240 241

Diagramy rozproszenia

243

Arkusze kontrolne

246

Histogramy Okre lanie rozk adu Okre lanie, czy wymogi specyfikacji zosta y spe nione Porównywanie danych za pomoc warstw

246 247 248 248

Wykresy

248

Karty kontrolne

250

Kluczowe zagadnienia

252

Dodatkowe materia y

254

Pytania przegl dowe

254

Zagadnienia do dyskusji

254

Przypisy

255


10

ROZDZIA 7.

Spis tre ci

Narz dzia 7 ZP — analiza i interpretacja danych jako ciowych oraz werbalnych

257

Narz dzia N7 i 7 ZP

260

Typowe zastosowania narz dzi 7 ZP

261

Diagram pokrewie stwa

263

Diagramy wspó zale no ci

266

Diagram drzewa

270

Macierze priorytetów

272

Diagram macierzowy

274

Wykres programowy procesu decyzyjnego (PDPC)

274

Diagram sieci aktywno ci

275

Umiej tno ci behawioralne przydatne do stosowania narz dzi 7 ZP

276

Kluczowe zagadnienia

277

Dodatkowe materia y

278

Pytania przegl dowe

278

Zagadnienia do dyskusji i projekty

279

Przypisy

279

ROZDZIA 8.

Analityczny proces hierarchiczny

281

Okre lanie priorytetów, z o ono i analityczny proces hierarchiczny

283

AHP i podejmowanie decyzji w obliczu wielu celów S ownictwo Okre lanie struktury hierarchii celów Hierarchia decyzji

284 286 286 288

Studium przypadku 8.1. Informatyczny dylemat dyrektora do spraw systemów informacyjnych wspomagaj cych zarz dzanie (MIS)

289

Studium przypadku 8.1. Rozwi zanie przygotowane za pomoc Expert Choice Etap 1. Burza mózgów i tworzenie hierarchicznego modelu problemu Etap 2. Okre lanie priorytetów celów na skali ilorazowej Etap 3. Okre lanie priorytetów alternatyw z uwagi na ka dy cel Etap 4. Synteza

290 290 292 295 297

Przybli anie wyników AHP na podstawie samodzielnych oblicze Pierwsza metoda tworzenia przybli onych rozwi za Druga metoda przybli ania. Kompleksowa analityczna metoda kryteriów do okre lania priorytetów Brassarda

298 302

Wnioski

312

Kluczowe zagadnienia

313

309


11

Spis tre ci

Dodatkowe materia y

314

wiczenia internetowe

314

Pytania przegl dowe

314

Zagadnienia do dyskusji i projekty

315

Problemy Problem 1. Zarz dzanie z o ono ci przy przekszta caniu systemów Problem 2. Zarz dzanie z o ono ci oprogramowania w nowej firmie z bran y zaawansowanych technologii Problem 3. Z o ono w systemach zarz dzania kartami pacjentów Problem 4. System wspomagaj cy podejmowanie decyzji dotycz cych odwiertów ropy naftowej Problem 5. Problem ROI Problem 6. Abstrakcyjne analizy z o ono ci Problem 7. Wra liwo na z o ono

315 315

321 323 323 324

Przypisy

324

ROZDZIA 9.

Z o ono , b dy i poka-yoke w procesach rozwoju oprogramowania

318 320

327

Poka-yoke jako system kontroli jako ci

329

Zasady poka-yoke

330

Przyczyny defektów — zmienno , b dy i z o ono

331

Warunki stosowania poka-yoke

333

Pomy ki jako przyczyny defektów

334

Kontrola z o ono ci w rozwoju oprogramowania

336

Pomy ki, metody kontroli i poka-yoke

340

Wdra anie systemu poka-yoke

341

Okre lanie rozwi zania bazuj cego na poka-yoke

345

Kluczowe zagadnienia

346

Dodatkowe materia y

348

wiczenia internetowe

348

Pytania przegl dowe

349

Zagadnienia do dyskusji i projekty

349

Przypisy

350


12

Spis tre ci

ROZDZIA 10. 5S w obszarze inteligentnego zarz dzania rozwojem oprogramowania

353

5S — wielki krok w kierunku produktywnego rodowiska pracy

355

Etapy wdra ania systemu 5S Etap 1. Selekcja i sortowanie Etap 2. Organizowanie i porz dkowanie Etap 3. Sprz tanie i czyszczenie Etap 4. Standaryzacja Etap 5. Podtrzymywanie i samodyscyplina

356 356 356 357 357 357

System 5S i proces DFTS

358

Ramka 10.1. Od 5S do szczup ego procesu DFTS

359

Prze amywanie oporu

362

Wdra anie 5S Etap 1. Przekonywanie zarz du Etap 2. Szkolenia i wdra anie Etap 3. Powi zanie z systemem nagród Etap 4. Kontynuacja i ci g e usprawnianie

363 363 364 364 365

Kluczowe zagadnienia

365

Dodatkowe materia y

366

wiczenia internetowe

366

Pytania przegl dowe

366

Zagadnienia do dyskusji i projekty

367

Przypisy

367

ROZDZIA 11. Zrozumienie potrzeb klienta — QFD w dziedzinie oprogramowania i g os klienta

369

QFD — pocz tki i wprowadzenie Czym wyró nia si QFD w ród innych systemów jako ci? Historia QFD Historia QFD dla oprogramowania Czym jest QFD i do czego s u y? Koncentracja na priorytetach Definicja QFD Rozwini cia QFD Czteroetapowy model QFD Macierz „domu jako ci”

371 372 373 374 376 378 379 380 380 382

Problemy ze stosowaniem tradycyjnej wersji QFD do oprogramowania Niepowodzenia zwi zane z tradycyjn wersj QFD

386 386


Spis tre ci

„Ta macierz jest za du a” „To zajmuje zbyt du o czasu” „Ju to wiemy”

13

387 388 389

Nowoczesna wersja QFD dla oprogramowania B yskawiczna metoda QFD Siedem narz dzi do zarz dzania i planowania (7 ZP) Zadowolenie klienta i warto

391 391 391 391

B yskawiczny proces QFD Etap 1. Kluczowy cel projektu Etap 2. Kluczowy segment klientów Etap 3. Kluczowe etapy procesu Etap 4. Wizyta w gemba Etap 5. Jakie s potrzeby klienta? Etap 6. Struktura potrzeb klienta Etap 7. Analiza struktury potrzeb klienta Etap 8. Okre lanie priorytetów potrzeb klienta Etap 9. Realizacja priorytetowych potrzeb klientów Pó ne rozwini cia. Szczegó owa analiza (wy cznie) istotnych relacji „Dom jako ci” i nie tylko Projekty Six Sigma Dzia ania nast pcze — stosowanie, ewolucja i usprawnianie procesu B yskawiczne programowanie Rozwini cie harmonogramu za pomoc zarz dzania projektem poprzez a cuch krytyczny

393 393 395 396 396 397 401 401 402 403 405 406 408 408 408 409

Wprowadzanie QFD dla oprogramowania Czynnik ludzki w QFD Wyzwania i pu apki w obszarze QFD Jak wdra a QFD dla oprogramowania?

409 410 410 413

Wnioski Nowoczesna wersja QFD w procesie DFTS

414 414

Kluczowe zagadnienia

415

Dodatkowe materia y

417

wiczenia internetowe

418

Pytania przegl dowe

419

Zagadnienia do dyskusji

420

Przypisy

421


14

Spis tre ci

ROZDZIA 12. Kreatywno i innowacyjno w procesie projektowania oprogramowania — TRIZ i metodologia wyboru koncepcji Pugha

427

Potrzeba kreatywno ci w DFTS

429

Kreatywno i TRIZ

429

Ramka 12.1. Czym jest szcz liwy traf?

430

Ramka 12.2. Pionierzy

433

TRIZ w rozwoju oprogramowania

433

Ramka 12.3. Lingua latina non mortua est

434

TRIZ, QFD i metody Taguchiego

442

Burza mózgów

442

Metodologia wyboru koncepcji Pugha

444

Oprogramowanie jako w asno intelektualna

447

Ramka 12.4. Obraz jest wart…

449

Kluczowe zagadnienia

450

Dodatkowe materia y

450

wiczenia internetowe

450

Pytania przegl dowe

451

Zagadnienia do dyskusji i projekty

451

Przypisy

451

ROZDZIA 13. Ocena ryzyka oraz analiza przyczyn i skutków b dów (FMEA) w dziedzinie oprogramowania 453 FMEA — analizy przyczyn i efektów b dów

455

Zastosowania FMEA na wczesnych etapach

459

Analizy drzewa b dów oprogramowania

462

Przyczyny b dów w oprogramowaniu i ich ród a

465

Okre lanie i ocena ryzyka na poszczególnych etapach DFTS

467

Kluczowe zagadnienia

468

Dodatkowe materia y

469

wiczenia internetowe

469

Pytania przegl dowe

469

Zagadnienia do dyskusji i projekty

469

Przypisy

470


Spis tre ci

15

ROZDZIA 14. Technologie obiektowe i komponentowe oraz inne narz dzia programistyczne

471

G 贸wne wyzwania w rozwoju biznesowych aplikacji dla przedsi biorstw

473

Analizy, projektowanie i programowanie obiektowe

473

Ramka 14.1. Narodziny programowania obiektowego

474

Ramka 14.2. Zalety warstwy po redniej j zyka Java

479

Technologia rozwoju oprogramowania na podstawie komponent贸w

481

Poprawa produktywno ci za pomoc programowania ekstremalnego

484

Zwi kszanie niezawodno ci przy u yciu programowania wielowersyjnego Zalety NVP Wady NVP

486 487 487

Wsp贸 czesne rodowiska programistyczne

488

Trendy w automatyzacji programowania

492

Kluczowe zagadnienia

495

Dodatkowe materia y

495

wiczenia internetowe

496

Pytania przegl dowe

496

Zagadnienia do dyskusji i projekty

496

Przypisy

496

CZ III PROJEKTOWANIE OPROGRAMOWANIA GODNEGO ZAUFANIA

499

ROZDZIA 15. Miary jako ci i metody statystyczne w rozwoju oprogramowania godnego zaufania

501

Oprogramowanie godne zaufania

503

Inicjatywa Microsoftu na rzecz przetwarzania godnego zaufania

504

Statystyczne sterowanie procesem w rozwoju oprogramowania

507

Metody statystyczne dla architekt贸w oprogramowania

513

Kluczowe zagadnienia

517

Dodatkowe materia y

517

wiczenia internetowe

518

Pytania przegl dowe

518

Zagadnienia do dyskusji i projekty

518

Problemy

518

Przypisy

518


16

Spis tre ci

ROZDZIA 16. Solidne oprogramowanie w kontek cie

521

Proces tworzenia specyfikacji oprogramowania

523

Ramka 16.1. Precyzyjne specyfikacje funkcjonalne

525

Czym jest solidne oprogramowanie?

526

Wymagania, jakie musi spe nia solidne oprogramowanie

527

Ramka 16.2. Uzyskiwanie informacji od u ytkownika ko cowego

528

Ocena solidno ci oprogramowania

528

Ramka 16.3. Przyk ad projektowania parametr贸w

530

Kluczowe zagadnienia

531

Dodatkowe materia y

531

wiczenia internetowe

531

Pytania przegl dowe

532

Zagadnienia do dyskusji i projekty

532

Problemy

532

Przypisy

533

ROZDZIA 17. Metody Taguchiego i optymalizacja pod k tem solidnego oprogramowania

535

Metody Taguchiego w projektowaniu solidnego oprogramowania

537

Przyk ad z dziedziny in ynierii projektu

541

Przyk ad z obszaru projektowania i rozwoju oprogramowania

544

Macierze ortogonalne w eksperymentach Taguchiego nad projektowaniem parametr贸w

549

Zastosowania w DFTS

552

Kluczowe zagadnienia

552

Dodatkowe materia y

553

wiczenia internetowe

553

Pytania przegl dowe

553

Zagadnienia do dyskusji

553

Problemy

553

Przypisy

554

ROZDZIA 18. Weryfikacja, walidacja, testy i ocena w rozwoju oprogramowania godnego zaufania

555

Ci g dalszy cyklu rozwoju

557

Ramka 18.1. Miejska legenda o oprogramowaniu biznesowym

558


Spis tre ci

17

Weryfikacja

559

Studium przypadku 18.1. Metody Taguchiego w weryfikacji projektu systemu RTOS

559

Walidacja

563

Studium przypadku 18.2. Metody Taguchiego w walidacji oprogramowania

563

Testy i ocena

566

Ramka 18.2. Anomalie z obszaru test贸w i debugowania

567

Kluczowe zagadnienia

571

Dodatkowe materia y

572

wiczenia internetowe

572

Pytania przegl dowe

573

Zagadnienia do dyskusji i projekty

573

Problemy

573

Przypisy

573

ROZDZIA 19. Integracja, wzbogacanie i konserwacja oprogramowania godnego zaufania

575

Ko czenie cyklu rozwoju

577

Integracja

577

Ramka 19.1. Spitfire Supermarine

578

Wzbogacanie

578

Studium przypadku 19.1. Zwi kszanie mo liwo ci elektronicznego systemu do prowadzenia dzia a wojennych

579

Konserwacja

581

Studium przypadku 19.2. Konserwacja system贸w oprogramowania u klienta

582

Ramka 19.2. Usuni cie zaawansowanej funkcjonalno ci oprogramowania w wyniku konserwacji

583

Kluczowe zagadnienia

584

Dodatkowe materia y

584

wiczenia internetowe

584

Pytania przegl dowe

585

Zagadnienia do dyskusji i projekty

585

Problemy

585

Przypisy

585


18

Spis tre ci

CZ IV CZENIE WSZYSTKICH ELEMENTÓW — WDRA ANIE PROGRAMU DFTS

587

ROZDZIA 20. Przygotowanie organizacji do wdra ania DFTS

589

Czas na rozwa ania

591

Studium przypadku 20.1. D enie do doskona ego procesu produkcji

591

Studium przypadku 20.2. Instytucjonalizacja Six Sigma w GE

594

Wyzwania stoj ce przed liderami w trakcie inicjatyw transformacyjnych

598

Ocena kluczowych elementów organizacji Wzbudzanie zaanga owania liderów Zrozumienie roli liderów Ocena strategicznych powi za Zapewnianie zaanga owania ca ej organizacji Zrozumienie konieczno ci koncentracji na kliencie Ocena obecnego poziomu zarz dzania jako ci

599 600 601 602 602 603 604

Kluczowe zagadnienia

605

Dodatkowe materia y

606

wiczenia internetowe

607

Pytania przegl dowe

607

Zagadnienia do dyskusji i projekty

607

Przypisy

608

ROZDZIA 21. Uruchamianie inicjatywy DFTS

609

DFTS i platforma PICS

611

Planowanie

611

Wdra anie Etap 11. Uruchamianie szkole w ca ej organizacji Projektowanie programu szkole — dostosowanie i zró nicowanie Szkolenia dla personelu pomocniczego Etap 12. Wdra anie technologii DFTS — proces nauki i stosowania

612 613 614 615 616

Kontrola Etap 13. Systemy kontroli informacji zwrotnych

621 624

Studium przypadku 21.1. Ci g e uczenie si i wzbogacanie — proces Operating System korporacji GE Zarz dzanie projektem

627 631

Zabezpieczanie Etap 14. Utrwalanie usprawnie i zysków Etap 15. Integracja i rozwój inicjatywy

632 632 632

Studium przypadku 21.2. Inicjatywy na rzecz jako ci i ich integracja w TCS

637


19

Spis tre ci

Zastosowania w ma ych firmach programistycznych i wioskach elektronicznych

640

Co dalej?

641

Kluczowe zagadnienia

641

Dodatkowe materia y

643

wiczenia internetowe

644

Pytania przegl dowe

644

Zagadnienia do dyskusji

645

Przypisy

645

CZ V

SZE STUDIÓW PRZYPADKU

647

ROZDZIA 22. Koszty jako ci oprogramowania (CoSQ) w Raytheon’s Electronic Systems (RES) Group

653

Wprowadzenie

654

Program usprawnie w RES

654

Koszty jako ci oprogramowania Model CoSQ w RES Zbieranie danych CoSQ

655 655 656

Zdobyte do wiadczenia i wiedza Wiedza zdobyta w czasie korzystania z modelu CoSQ U ywanie danych CoSQ do zrozumienia wp ywu usprawnie Koszty i zyski z programu CoSQ Instytucjonalizacja kontroli kosztów CoSQ

656 656 657 660 660

Wnioski ze studium przypadku

660

Przypisy

661

ROZDZIA 23. Zarz dzanie portfelem technologii informatycznych

663

Cz pierwsza. Wyzwanie Pi etapów iteracyjnego procesu Obiektywno , subiektywno i jako

665 665 668

Cz druga. Nowe, racjonalne podej cie Etap 1. Projekt Etap 2. Strukturyzacja z o ono ci — koncentracja na celach Etap 3. Pomiar Etap 4. Synteza Etap 5. Optymalizacja

669 669 670 670 674 676

Ryzyko

679


20

Spis tre ci

Rozszerzenia

681

Podsumowanie

682

Przypisy

683

ROZDZIA 24. Definiowanie potrzeb klienta przy rozwoju zupe nie nowego produktu — QFD dla nowatorskiego oprogramowania

685

Wprowadzenie Definicja warto ci Dlaczego nie zapyta ? Nowatorskie produkty

687 687 688 689

Definiowanie zupe nie nowych potrzeb Metody okre lania potrzeb klientów

689 689

Narz dzia Siedem narz dzi do zarz dzania i planowania (7 ZP) w QFD

695 695

Ramka 24.1. Czym jest teoria ogranicze ? Procesy wnioskowania w TOC

696 697

Ostatnie kroki Wprowadzanie nowatorskich produktów na rynek

699 699

Warstwy oporu

700

Wnioski

700

Podzi kowania

700

Literatura cytowana

702

O autorze

704

ROZDZIA 25. Jurajskie QFD — integrowanie QFD dla us ug i produktów

705

Profil firmy MD Robotics

707

Dlaczego QFD? Historia QFD Wymagania Kany

707 708 709

Spotkanie z triceratopsem na wyspie przygód Universal Studio na Florydzie Schemat QFD Analizy g osu klienta Rozwini cie emocji Rozwini cie cia a Rozwini cie wymaga in ynieryjnych

711 711 712 715 718 719

Podsumowanie

720

O autorach

723

Przypisy

723


Spis tre ci

21

ROZDZIA 26. QFD dla projektów. Lepsze zarz dzanie projektami rozwoju oprogramowania dzi ki b yskawicznemu QFD

727

Wprowadzenie Niepowodzenia Cz ciowy sukces Zdefiniowane QFD Dobry pocz tek

729 729 730 730 730

Problemy w trakcie rozwoju nowych produktów Niespójny rozwój jest niewydajny Spójny rozwój jest wydajny

730 731 733

Koncentracja na warto ci w QFD dla projektu Siedem kroków do lepszych projektów

735 735

Podsumowanie

746

Podzi kowania

746

Literatura cytowana

747

O autorze

749

ROZDZIA 27. QFD 2000. Integrowanie QFD i innych metod zarz dzania jako ci w celu usprawnienia procesu rozwoju nowych produktów

751

Popyt na nowe produkty

753

Jako i rozwój nowych produktów Wspó czesne narz dzia do zarz dzania jako ci Proces rozwoju nowych produktów

753 754 757

Materia y dotycz ce QFD i innych metod zarz dzania jako ci Analityczny proces hierarchiczny (AHP) i analityczny proces sieciowy (ANP) Strategiczne karty wyników B yskawiczna QFD Analizy czne (conjoint) Spotkania z klientami Podejmowanie decyzji z udzia em klientów (CIDM) de Bono Deming Wizyty w gemba i analizy g osu klienta Planowanie hoshin Model Kano In ynieria kansei Badania g ównych u ytkowników Szczup a produkcja

760 760 761 761 761 761 761 761 761 762 762 762 762 763 763


22

Spis tre ci

Nowa strategia Lanchestera Programowanie neurolingwistyczne (NLP) Zarz dzanie projektem Wybór koncepcji metod Pugha QFD (wersja kompleksowa) Niezawodno QFD „ ród a do potrzeb” Siedem narz dzi do zarz dzania i planowania (7ZP) Siedem narz dzi do planowania produktu (7PP) Siedem narz dzi do sterowania jako ci (7SJ) Six Sigma, SPC In ynieria oprogramowania Bramki etapowe Strategiczne systemy informacyjne (SIS) Zarz dzanie a cuchem dostaw Metody Taguchiego Teoria ogranicze (TOC) Zarz dzanie przez jako (TQM) TRIZ In ynieria warto ci

763 763 763 763 764 764 764 764 764 764 765 765 765 765 765 765 765 766 766 766

O autorze

766

Literatura cytowana

767

S owniczek poj technicznych

769

Skorowidz nazwisk

779

Skorowidz

781


ROZDZIA 2

Wyzwania na drodze do oprogramowania godnego zaufania — solidny projekt w kontek cie oprogramowania Projektuj produkty tak, aby nie zawodzi y w praktyce. Tym samym zmniejszysz liczb defektów w fabryce. Genichi Taguchi

Poprawa wymaga zmian. Doskona o wynika z cz stego ich wprowadzania. Winston Churchill

Omówienie Wieloaspektowe spojrzenie na jako jest kluczowe w identyfikowaniu licznych wymaga klientów i innych partnerów. Wyst puj niezwyk e podobie stwa mi dzy zagadnieniami zwi zanymi z jako ci oprogramowania i wyrobów produkowanych, jednak nale y uwzgl dni tak e istotne ró nice. Koszty powodowane przez oprogramowanie niskiej jako ci s coraz bardziej kluczowe, poniewa koszt cyklu ycia typowego systemu przekracza cen sprz tu. Oprogramowanie wy szej jako ci pozwala istotnie zredukowa te koszty, poniewa 80 – 90% ich sumy poch ania konserwacja zwi zana z poprawianiem, adaptowaniem i rozwijaniem udost pnionego oprogramowania. Obecnie oko o 40% wydatków na rozwój oprogramowania poch aniaj testy potrzebne w celu usuni cia b dów. Kluczowa jest tak e niezawodno oprogramowania, poniewa stosunek b dów wyst puj cych w programach do usterek sprz towych mo e wynosi 100:1, a nawet jeszcze wi cej. W tym rozdziale opisujemy niepowodzenia tradycyjnych systemów zarz dzania jako ci w kontek cie udost pniania oprogramowania godnego zaufania. Proponujemy zintegrowan technologi rozwoju oprogramowania — projektowanie oprogramowania godnego zaufania (ang. Design for Trusthworthy Software — DFTS) — bazuj c na trzech kluczowych elementach: iteracyjnym modelu rozwoju solidnego oprogramowania, in ynierii optymalizacji projektu oprogramowania i technologii projektowania obiektowego. W DFTS wysi ki nad zapewnieniem jako ci koncentruj si na wczesnych etapach procesu rozwoju. Technologia ta

67


68

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

pozwala na ci g interakcj z u ytkownikami i mi dzy osobami pracuj cymi nad produktem na ró nych etapach, pomaga uwzgl dni opinie klientów oraz umo liwia wczesn i ci g analiz ryzyka, optymalizacj projektu i zastosowanie odpowiedniej technologii rozwoju oprogramowania. W tym rozdziale podkre lamy kluczow rol prawdziwego zaanga owania ze strony mened erów na drodze do tworzenia oprogramowania godnego zaufania.

Struktura rozdzia u

Niezawodno oprogramowania — fakty i mity

Ograniczenia tradycyjnych systemów kontroli jako ci

Japo skie systemy zarz dzania jako ci i podej cie Taguchiego

Istota metod Taguchiego do tworzenia solidnych projektów

Wyzwania na drodze do niezawodno ci oprogramowania — projektowanie oprogramowania godnego zaufania

Model rozwoju solidnego oprogramowania — proces DFTS w praktyce

Kluczowe zagadnienia

Dodatkowe materia y

wiczenia internetowe

Pytania przegl dowe

Zagadnienia do dyskusji i projekty

Przypisy


Niezawodno oprogramowania โ fakty i mity

69

Niezawodno oprogramowania โ fakty i mity Jako oprogramowania, podobnie jak jako sprz tu, to wieloaspektowe zagadnienie. W rzeczywisto ci spojrzenie na jako z kilku perspektyw jest kluczowe do zrozumienia i utworzenia warto ciowego produktu oraz zaspokojenia zestawu jawnych i ukrytych potrzeb klienta. Producent musi tak e spe ni wymania wielu innych partnerรณw, takich jak audytorzy, dostawcy, zwi zki bran owe, media i inne zainteresowane grupy. W ko cu, co nie najmniej istotne, ka dy wytwรณrca musi si upewni , e jego produkty s op acalne i konkurencyjne, aby mog y spe nia potrzeby w a cicieli przedsi biorstw. Jako obejmuje wszystkie takie potrzeby i wymagania. Cz sto mo na us ysze , e zagadnienia zwi zane z jako ci w wiecie oprogramowania s inne ni w przypadku innych produktรณw, jednak nie do ko ca jest to prawd . Ogรณlnie mรณwi c, zasady, systemy i metodologie jako ciowe stosowane do produkcji wyrobรณw s rรณwnie prawid owe w przypadku oprogramowania, sprz tu i innych dรณbr czy us ug. Jednak oprogramowanie ma specyficzne rodowisko projektowania i rozwoju, ktรณre trzeba zrozumie . Ponadto nale y pozna specyficzne wyzwania wynikaj ce z abstrakcyjnej natury systemรณw cyfrowych oraz poziomu z o ono ci wielu aplikacji, a tak e wzi pod uwag innowacyjno i trudno zada , do ktรณrych rozwi zywania zosta y zaprojektowane. Wierzymy, e w organizacjach zajmuj cych si rozwojem oprogramowania oraz takich, dla ktรณrych tworzenie aplikacji jest istotn dzia alno ci , zagadnienia zwi zane z architektur i projektowaniem s kluczowe dla d ugoterminowej op acalno ci i powodzenia firmy. We wszystkich takich organizacjach te zadania s zbyt wa ne, aby pozostawi je wy cznie in ynierom oprogramowania. Problem produkcji oprogramowania godnego zaufania jest prawdziwym wyzwaniem i wymaga ca kowitego zaanga owania kadry zarz dzaj cej. W tej ksi ce przedstawiamy podstawy filozoficzne, system zarz dzania oraz technologi do zarz dzania jako ci oprogramowania zarรณwno w du ych, jak i ma ych firmach, ze szczegรณlnym uwzgl dnieniem oprogramowania dla przedsi biorstw.

Podobie stwa i rรณ nice mi dzy oprogramowaniem i wyrobami produkowanymi Zrozumienie rรณ nic mi dzy oprogramowaniem i produkowanymi wyrobami jest niezb dne do zaprojektowania solidnego systemu zarz dzania jako ci oprogramowania. Jedynie wtedy mo na zaadaptowa systemy i metodologie, ktรณre przez ostatnie 50 lat mia y tak znacz cy wp yw na popraw jako ci wszelkich dรณbr produkowanych, a tak e innych wyrobรณw i us ug. Trzeba jednak uwzgl dni tak e wa ne rรณ nice, aby prawid owo rozwin system zarz dzania jako ci oprogramowania. Poni ej opisane s pewne zwi zane z tym tematem zagadnienia: x

Oprogramowanie i wyroby produkowane rรณ ni si w zakresie znaczenia rรณ nych etapรณw w procesie ich tworzenia (zobacz rysunki 2.1 i 2.2). Rozwรณj oprogramowania charakteryzuje si centralizacj projektu. Oprogramowanie to przyk ad czystego


70

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

RYSUNEK 2.1. Podstawowe etapy rozwoju wyrobów produkowanych

RYSUNEK 2.2. Podstawowe etapy rozwoju oprogramowania

projektu, w którym wszystkie operacje s powi zane w a nie z projektem. Dlatego problemy z jako ci i niezawodno ci s zawsze wynikiem b dów projektowych, które s z kolei wynikaj z pewnych braków poznawczych. x

W oprogramowaniu nie ma niczego, co mo na porówna do produkcji czy monta u, kiedy to mo na zrekompensowa , a nawet naprawi b dy pope nione na etapie projektowania. W przypadku oprogramowania produkcja w zasadzie nie ma miejsca. Sam kod programu jest po prostu dalszym etapem projektu. Ponadto nie mo na tu powiedzie , e produkt jest „wykonany i dostarczony”. Zawsze mo na zaprojektowa aplikacj od nowa, zmodyfikowa j lub zaktualizowa , a przez to zmieni . Ta charakterystyczna dla oprogramowania elastyczno cz sto prowadzi do podej cia „dostarczmy to teraz — b dy zawsze b dziemy mogli poprawi pó niej”.

x

W odró nieniu od wyrobów produkowanych, w przypadku oprogramowania nie ma odpowiednika etapu analizy projektu. Wi kszo analiz (testów) trzeba przeprowadza na kodzie programu. Dlatego problemy lub pomy ki projektowe mog pozosta ukryte a do pó nych etapów procesu rozwoju lub nawet do czasu rozpocz cia korzystania z aplikacji.

Mo na tak e zauwa y , e obecnie dzia alno wielu producentów sprz tu w coraz wi kszym stopniu zale y od oprogramowania. Takie z o one systemy winduj na nast pny poziom wyzwania w zakresie projektowania programów.


Niezawodno oprogramowania — fakty i mity

71

Porównywanie niezawodno ci oprogramowania i sprz tu Zawodno sprz tu wynika g ównie z fizycznych b dów pojedynczych komponentów, co jest cz sto konsekwencj przewrotno ci natury. Z kolei w oprogramowaniu usterki charakteryzuj si nieci g ym dzia aniem systemów cyfrowych. Wiedza o projektowaniu i in ynierii urz dze jest atwiejsza do udokumentowania w celu zapobie enia b dom ni wiedza o oprogramowaniu. Ponadto teorie awarii sprz tu s rozwijane od lat i umo liwiaj zapewnienie wysokiej niezawodno ci w wyrobach produkowanych1. Dla porównania, baza wiedzy o niezawodno ci oprogramowania jest bardzo ma a — st d nieod czne problemy w zapewnianiu stabilno ci dzia ania aplikacji. Oprogramowaniu zawsze towarzysz urz dzenia. Je li jednak znana jest niezawodno komponentu sprz towego, zawsze mo na zoptymalizowa pewno dzia ania systemu, do czaj c jedynie komponenty programowe2. Ka dy system sk adaj cy si z oprogramowania i sprz tu mo e zawie z powodu usterek aplikacji wywo anej za pomoc zewn trznych polece . Awaria oprogramowania jest definiowana jako odchylenie od oczekiwanych wyników zewn trznych lub niezgodno danych wyj ciowych programu z okre lonymi wymaganiami. Oprogramowanie mo e zawie , kiedy jest u ywane w nieoczekiwanej sytuacji. Zwykle awaria mo e wyst pi z winy oprogramowania lub nieprzewidzianych warunków jego wykorzystania. Inaczej mówi c, aby wyst pi b d, program trzeba uruchomi . Bie cy trend kosztów systemów sprz towo-programowych zmierza w kierunku nieproporcjonalnej dominacji oprogramowania. Koszt cyklu ycia (LCC) typowego oprogramowania przekracza cen sprz tu, a 80 – 90% tych wydatków wi e si z konserwacj aplikacji w zakresie naprawiania, adaptowania i rozwijania udost pnionego programu w celu zaspokojenia zmieniaj cych si i rosn cych potrzeb u ytkowników. Oko o 40% ceny rozwoju oprogramowania poch aniaj testy maj ce na celu usuni cie b dów i zapewnienie wysokiej jako ci programu3. Stosunek zawodno ci oprogramowania do sprz tu mo e wynosi a 100:1 w typowych komputerach bazuj cych na obwodach scalonych4. Dla bardziej skomplikowanych chipów ten stosunek mo e by jeszcze wy szy, co daje bardzo wyra ne wskazówki dotycz ce kosztów i jako ci. W tabeli 2.1 zamieszczono przegl d podstawowych ró nic mi dzy niezawodno ci sprz tu i oprogramowania.

Przyczyny zawodno ci oprogramowania Zawodno oprogramowania to istotny problem spo eczny. W rzeczywisto ci ma on globalne znaczenie i na jego rozwi zanie po wi ca si znaczne zasoby. W poni szych punktach opisujemy podstawowe przyczyny zawodno ci oprogramowania. x

Brak zaanga owania kadry zarz dzaj cej. Najcz stsz przyczyn problemów z jako ci jest brak zaanga owania, po wi cenia i wsparcia kadry zarz dzaj cej. Deming5 oszacowa kiedy , e powody zwi zane z zarz dzaniem mog odpowiada


72

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

TABELA 2.1. Ró nice i podobie stwa w niezawodno ci sprz tu i oprogramowania

Kategoria

Niezawodno sprz tu

Podstawowa przyczyna

Z powodu efektów fizycznych

6

Niezawodno oprogramowania Z powodu b dów programisty (lub defektów albo awarii programu)

Przyczyny w cyklu ycia Analizy

Nieprawid owe zrozumienie klienta Nieprawid owe zrozumienie klienta

Wykonalno

B dne wymagania u ytkownika

Projekt

B dy w fizycznym projekcie

B dy w projekcie programu

Rozwój

Problemy z kontrol jako ci

B dy w kodzie programu

Dzia anie

Usterka i awaria

B dy programu (lub inne defekty albo awarie)

B dne wymagania u ytkownika

Efekty stosowania Funkcja projektu Dziedziny Relacje czasowe Modele matematyczne

Obszar czasu

Funkcje

Obszar danych

Sprz t zu ywa si i zaczyna zawodzi Oprogramowanie nie zu ywa si , ale zawodzi w wyniku nieznanych defektów lub b dów Fizyka b du Umiej tno ci programisty Czas (t) Czas i dane „Krzywa wannowa” Funkcja malej ca Dobrze rozwini ta teoretycznie Dobrze rozwini ta teoretycznie, i akceptowana ale o niskiej akceptacji R = f( , t), = intensywno b dów R = f(b dy [lub defekty albo Wyk adnicza (sta a ) awarie], t) Weibulla (rosn ca ) Bez znaczenia

Brak zgodno ci mi dzy ró nymi proponowanymi modelami funkcji czasu B dy = f(testy na danych)

Modele wzrostu

Istnieje kilka modeli

Istnieje kilka modeli

Miary

, MTBF (ang. mean time between failures, czyli redni czas pomi dzy awariami)

Intensywno b dów, liczba wykrytych lub pozosta ych defektów (lub awarii)

MTTF (ang. mean time to failure, czyli redni czas do wyst pienia awarii) 6

Przedruk za pozwoleniem z W. Kuo, V. Rajendra Prasad, F. A. Tillman i Ching-Lai Wang. Optimal Reliability Design. Cambridge University Press, Cambridge, 2001, punkt 13.5.1, s. 4.


73

Niezawodno oprogramowania — fakty i mity

TABELA 2.1. Ró nice i podobie stwa w niezawodno ci sprz tu i oprogramowania — ci g dalszy

Kategoria

Niezawodno sprz tu

Niezawodno oprogramowania

Techniki wzrostu

Projektowanie, przewidywanie

Przewidywanie

Techniki przewidywania

Diagramy blokowe, drzewa b dów Analiza cie ek (analiza wszystkich cie ek to nierozwi zywalny problem, poniewa liczba mo liwo ci w nawet prostych programach mo e zmierza do niesko czono ci), z o ono , symulacje

Testy i ewaluacja

Akceptacja projektu i produkcji

Akceptacja projektu

MIL-STD-781C (wyk adnicze) Inne metody (niewyk adnicze)

Testowanie cie ek, symulacje, b dy, posiew Bayesa

MIL-STD-781C

Brak

Równoleg o

Mo e poprawia niezawodno

Trzeba rozwa y najcz stsze przyczyny

Rezerwa

Automatyczne wykrywanie i poprawianie b dów, automatyczne wykrywanie usterek i prze czanie

Automatyczne wykrywanie i poprawianie b dów, automatyczne kontrolowanie i ponowne inicjowanie oprogramowania

Logika wi kszo ciowa

m elementów z n

Niepraktyczna

Projekt Operacje Zastosowanie nadmiaru

za oko o 85% ogólnych problemów z jako ci w organizacji. Pó niej Deming zrewidowa te szacunki i podniós je do 94%. Dotyczy to zarówno oprogramowania, jak i wyrobów produkowanych. x

Niewystarczaj ca interakcja z u ytkownikami. rodowisko i wymagania u ytkowników nie zosta y prawid owo zrozumiane. Powszechnie uwa a si , e nale y d y do poznania opinii klientów i dobrze zrozumie oraz zinterpretowa ich jawne i niejawne wymagania. Niestety, udzia u ytkowników w rozwoju oprogramowania po napisaniu i uzgodnieniu specyfikacji jest cz sto znikomy. Ten brak ci g ej interakcji z u ytkownikami oraz ich zmieniaj cymi si i ewoluuj cymi wymaganiami nie zawsze jest dostrzegany w procesie rozwoju oprogramowania. Jest to istotna przyczyna problemów z jako ci oprogramowania i trzeba temu po wi ci nale yt uwag .

x

Rosn ca z o ono . Systemy oprogramowania s tworzone do obs ugi problemów o rosn cej z o ono ci. Cz sto nie ma r cznych rozwi za , które mog yby pomóc w zrozumieniu natury istniej cych trudno ci. Oprogramowanie umo liwia


74

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

projektantowi zmierzenie si z ogromnymi trudno ciami i udost pnienie dodatkowych funkcji oraz udogodnie , które nie zawsze zwi kszaj prawdziw warto programu. Z o one systemy oprogramowania u ywane do automatycznej kontroli lotu, w silnikach do masowego wyszukiwania, w handlu elektronicznym czy do zarz dzania globalnymi przelewami gotówki w ró nych walutach nie maj r cznych odpowiedników, z którymi mo na je porówna . Trudno i innowacyjno prowadz do z o ono ci oraz zwi zanych z ni komplikacji projektowych i poznawczych, z czego wynikaj wyzwania w rozwoju oprogramowania w obszarze niezawodno ci, bezpiecze stwa i zabezpiecze . x

Brak uzgodnionych kryteriów. W nowych i z o onych systemach programista cz sto tworzy kryteria niezawodno ci, które nie zawsze spe niaj wymagania u ytkowników.

x

Presja czasu zwi zana z konkurencyjno ci . Konkurencyjna potrzeba skracania czasu cyklu rozwoju („mo emy to pó niej naprawi , ale dostarczy musimy na czas”) w niemal nieunikniony sposób prowadzi do b dów w projekcie i na innych etapach. Bardzo cz sto po prostu brakuje czasu na wyczerpuj ce testy i usuwanie b dów.

x

Ograniczony zakres automatyzacji. Rozwój i stosowanie oprogramowania to operacje w du ym stopniu bazuj ce na czynniku ludzkim. Narz dzia do automatyzacji, takie jak CASE i projektowanie obiektowe, s na pewno pomocne, ale zakres automatyzacji w oprogramowaniu jest ograniczony w porównaniu do wyrobów produkowanych.

x

Powi zanie z Internetem. Coraz szersze zastosowania i integracja systemów oprogramowania z Internetem nara a je na zagro enia wynikaj ce z przypadku lub celowo szkodliwej dzia alno ci. Niebezpiecze stwo mo e by bardzo powa ne: od kradzie y to samo ci, przez masowe oszustwa finansowe, po zagro enie narodowego systemu bezpiecze stwa.

x

Abstrakcyjne dzia anie systemów cyfrowych. Naturalnie abstrakcyjne dzia anie systemów cyfrowych sprawia, e trudno zapewni jako oprogramowania.

x

Brak odpowiednich zach t. Cz sto bod ce rynkowe i regulacyjne w zakresie niezawodno ci oprogramowania s niewystarczaj ce, podczas gdy istnieje wiele czynników promuj cych innowacyjne funkcje, wygod stosowania i b yskawiczny cykl rozwoju.

Ograniczenia tradycyjnych systemów kontroli jako ci Praktyki zapewniania jako ci zwykle koncentruj si na pó nych operacjach, takich jak produkcja lub testy (zobacz rysunki 2.1 i 2.2). Takie podej cie nie zawsze prowadzi do optymalnego projektu nawet w przypadku du ej liczby powtarzanych cykli projekt-prototyp-testy, które zasadniczo przebiegaj przy u yciu metody prób i b dów. Ma to wp yw


75

Japo skie systemy zarz dzania jako ci i podej cie Taguchiego

na koszty, czas trwania cyklu i jako produktu dostarczanego klientowi, je li udost pniane oprogramowanie nie ma odpowiednich w a ciwo ci w zakresie wydajno ci. Bardzo cz sto dzieje si tak, poniewa mened er produktu nie ma czasu i rodkĂłw, a musi udost pni projekt w fazie produkcyjnej. Na dalszych etapach produkty s sprawdzane i przesiewane w celu wykrycia jednostek, ktĂłre s niezgodne ze specyfikacj . Te jednostki s naprawiane, przetwarzane lub odrzucane. Takie systemy kontroli jako ci bazuj na dwĂłch podstawowych za o eniach: x

Wymagania klientĂłw s spe nione, je li produkt znajduje si w ramach uzgodnionych ogranicze wyznaczanych przez specyfikacj .

x

Biznesowe skutki wydajno ci lub jako ci produktów „ledwo spe niaj cych wymagania specyfikacji� i „na poziomie docelowym� s takie same.

Jak si wkrótce oka e, adne z tych za o e nie jest uzasadnione. W. Edwards Deming7 by jednym z pierwszych analityków zarz dzania, którzy zdali sobie spraw z braków systemów jako ci zale nych od kontroli. Jednak to japo ski in ynier przemys owy Genichi Taguchi jako pierwszy zaproponowa alternatywny system zarz dzania jako ci , nazywany metodami Taguchiego. To podej cie zwraca uwag na warto „poziomu docelowego� i potrzeb zarz dzania jako ci ju na pocz tku procesu — w dziale bada i rozwoju, na etapach projektu i in ynierii cyklu rozwoju oprogramowania — a nie polegania na kontroli maj cej na celu wykrywanie i naprawianie b dów.

Japo skie systemy zarz dzania jako ci i podej cie Taguchiego Metody Taguchiego to zestaw zasad i metodologii projektowych maj cych na celu usprawnienie produktĂłw i procesĂłw. Te techniki sk adaj si na dziedzin wiedzy nazywan in ynieri jako ci, solidn in ynieri czy, zw aszcza w Stanach Zjednoczonych, metodami Taguchiego od nazwiska autora tego podej cia, dr. Genichiego Taguchiego (zobacz ramki 2.1, 2.2 i 2.3).

Ramka 2.1. ycie i czasy doktora Genichiego Taguchiego8

,

9

Doktor Genichi Taguchi mia znacz cy wp yw na powstanie metodologii zarz dzania jako ci skoncentrowanej na projekcie. Taguchi urodzi si w 1924 roku w Japonii. Po s u bie w Wydziale Astronomicznym Instytutu Nawigacji Japo skiej Marynarki Wojennej w latach 1942 – 1945 pracowa w Ministerstwie Zdrowia i Opieki oraz Instytucie Statystycznym Ministerstwa Edukacji. Zyska bogat wiedz na temat technik projektowania eksperymentalnego i stosowania tablic ortogonalnych, ucz c si od nagradzanego japo skiego statystyka Matosaburo Masuyamy, z którym zetkn si w czasie pracy w Ministerstwie Zdrowia i Opieki. Doprowadzi o to do jego zaanga owania jako konsultanta w firmie Morinaga Pharmaceuticals i jej organizacji nadrz dnej, Morinaga Seika.


76

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

W 1950 roku Taguchi do czy do nowo powsta ego Laboratorium Komunikacji Elektrycznej w Nippon Telephone and Telegraph Company z zadaniem zwi kszenia wydajno ci dzia u bada i rozwoju poprzez szkolenie in ynierów w wydajnych technikach. Taguchi pracowa tam przez ponad 12 lat i w tym czasie rozpocz tworzenie swojej metodologii, któr dzi nazywa si metodami Taguchiego lub solidn in ynieri (zobacz ramka 2.2). Wtedy by tak e konsultantem japo skiego przemys u. W wyniku tego japo skie firmy, mi dzy innymi Toyota i jej dostawcy, zacz y, pocz wszy od wczesnych lat 50., szeroko stosowa metody Taguchiego. Pierwsza ksi ka Taguchiego, która przedstawia a tablice ortogonalne, zosta a opublikowana w 1951 roku. W latach 1954 – 55 Taguchi pracowa jako profesor zaproszony w Indyjskim Instytucie Statystycznym w Kalkucie w Indiach. W czasie tej wizyty zetkn si ze s awnymi statystykami: Ronaldem A. Fisherem i Walterem A. Shewhartem. W latach 1957 – 58 Taguchi opublikowa pierwsz wersj swej dwutomowej pracy Design of Experiments. Do Stanów Zjednoczonych przyby po raz pierwszy w 1962 roku jako zaproszony cz onek grupy badawczej na Uniwersytecie Princeton. W tym czasie odwiedzi AT&T Bell Laboratories. W Princeton Taguchi by go ciem powa anego statystyka Johna Tukeya, który u atwi mu wspó prac ze statystykami przemys owymi z Bell Laboratories. W 1962 roku Taguchi otrzyma stopie doktora Uniwersytetu Kyushu. W 1964 roku Taguchi zosta profesorem na tokijskim Uniwersytecie Aoyama Gakuin, któr to funkcj piastowa do roku 1982. W 1966 Taguchi wraz z kilkoma innymi autorami napisa ksi k Management by Total Results, która zosta a przet umaczona na j zyk chi ski przez Yuin Wu, wspó pracownika Taguchiego przy wielu pó niejszych pracach. Na tym etapie metody Taguchiego by y praktycznie nieznane na Zachodzie, cho stosowano je w Tajwanie i Indiach. W tym czasie i w latach 70. wi kszo zastosowa metod Taguchiego dotyczy a procesów produkcji. Przej cie do projektowania produktów mia o miejsce pó niej. We wczesnych latach 70. Taguchi rozwin zagadnienie funkcji utraty jako ci. Wtedy te opublikowa dwie dalsze ksi ki oraz trzecie wydanie pracy Design for Experiments. Taguchi zosta laureatem nagrody Deming Application Prize w 1960 roku oraz nagród Deminga za pozycje ksi kowe w latach 1951, 1953 i 1984, a do pó nych lat 70. zyska szerokie uznanie w Japonii. W 1980 roku zosta zaproszony do Stanów Zjednoczonych, gdzie ponownie odwiedzi AT&T Bell Laboratories. Uda o mu si , mimo problemów z komunikacj , przeprowadzi udane eksperymenty, które pozwoli y zastosowa metody Taguchiego w korporacji Bell Laboratories. Po wizycie Taguchiego w Stanach Zjednoczonych w 1980 roku coraz wi cej ameryka skich fabryk zacz o stosowa jego metodologi . Mimo niech tnego przyj cia tych metod przez grono ameryka skich statystyków, co prawdopodobnie wynika o ze sposobu ich rozpowszechniania, najwi ksze korporacje Stanów Zjednoczonych zacz y stosowa metodologi Taguchiego. W 1982 roku Taguchi zosta doradc japo skiej Organizacji do spraw Standardów. Za wk ad w rozwój przemys u na ca ym wiecie Taguchi otrzyma wiele wyró nie : x

trzykrotnie nagrod Deming Prize za wk ad w dziedzin in ynierii jako ci;

x

medal Willarda F. Rockwella za po czenie in ynierii i metod statystycznych do osi gni cia b yskawicznych korzy ci w zakresie kosztów i jako ci poprzez optymalizacj procesu projektowania i produkcji wyrobów;


Japo skie systemy zarz dzania jako ci i podej cie Taguchiego

x

medal imienia Shewharta Ameryka skiego Stowarzyszenia na rzecz Kontroli Jako ci;

x

Niebiesk Wst g cesarza Japonii, przyznan w 1990 roku za wk ad w rozwój przemys u;

x

honorowe cz onkostwo w Ameryka skim Stowarzyszeniu na rzecz Kontroli Jako ci.

Znalaz si te w motoryzacyjnej galerii s aw oraz na wiatowym poziomie galerii s aw z dziedziny in ynierii, nauki i technologii.

Ramka 2.2. Metodologia in ynierii jako ci w zarysie8, 9 Metodologia Taguchiego dotyczy optymalizacji produktu i procesu na etapach projektowania oraz prac dzia u bada i rozwoju przed rozpocz ciem produkcji. Jest to metodologia zarz dzania jako ci stosowana we wczesnych fazach rozwoju produktu lub procesu, która w mniejszym stopniu koncentruje si na osi ganiu jako ci poprzez kontrol . Jest to wydajna technika, obejmuj ca testy projektu przed rozpocz ciem etapu produkcji, fabrykacji lub sk adania. Dzi ki temu jako staje si funkcj prawid owego projektu, a nie nawet cis ych testów i kontroli. Podej cia Taguchiego mo na u ywa tak e jako metodologii rozwi zywania problemów zwi zanych z produkcj i procesami w obszarze fabrykowania. Jest te coraz cz ciej stosowane w innych dziedzinach przemys u, na przyk ad przy rozwoju oprogramowania. W odró nieniu od zachodniego podej cia do jako ci, w metodologii Taguchiego jako jest postrzegana raczej w kategoriach utraty jako ci ni samej jako ci. Utrata jako ci jest definiowana jako „straty powodowane przez produkt w spo eczno ci od momentu jego udost pnienia”. Ta utrata obejmuje straty ponoszone przez firm w postaci kosztów przetwarzania i utylizacji, wydatki na konserwacj oraz przestoje wynikaj ce z awarii sprz tu i napraw gwarancyjnych. Nale y uwzgl dni tak e koszty klientów powodowane przez zawodno oraz nisk wydajno produktu, prowadz ce do dalszych strat po stronie producenta w cznie ze spadkiem jego udzia ów w rynku. Okre laj c docelowy poziom jako ci jako najwy szy mo liwy, Taguchi wi e prost kwadratow funkcj straty z odchyleniem od poziomu docelowego. Funkcja utraty jako ci pokazuje, e zmniejszanie zmienno ci w zakresie jako ci prowadzi do zmniejszania strat i zwi zanej z tym poprawy jako ci. Gdy uwzgl dnimy takie podej cie do utraty jako ci, to strata wyst pi nawet w przypadku, kiedy produkt spe nia wymagania stawiane przez specyfikacj , a jest minimalna, je li producent d y do poziomu docelowego. W praktyce dla u ytkowników nie jest wa na specyfikacja, prawda? Klienci chc , aby produkt dzia a nawet wtedy, kiedy napi cie pr du jest niskie, droga wyboista, a operator terminala nieprzeszkolony. Produkt musi dzia a na docelowym poziomie w ró nych warunkach. Mówi c inaczej, nale y projektowa z uwzgl dnieniem ró nych warunków stosowania produktu przez u ytkowników. To w interesie producenta le y utrzymywanie wydajno ci produktu lub procesu tak blisko poziomu docelowego, jak to ekonomicznie mo liwe. Funkcja straty mo e pos u y do podj cia decyzji projektowych w kategoriach finansowych. Pomaga zdecydowa , czy dodatkowe koszty zwi kszenia odporno ci i usprawnienia produkcji s usprawiedliwione oraz czy oka si zasadne w warunkach rynkowych.

77


78

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

Metod Taguchiego mo na u ywa w trybie „offline” w czasie projektowania lub na bie co w produkcji. Taguchi dzieli kontrol jako ci w trybie „offline” na trzy etapy. 1. Projektowanie systemu obejmuje tworzenie pomys u na projekt przy u yciu burzy mózgów, bada lub innych technik. Projektowanie systemu jako ca o ci obejmuje tak e inne narz dzia, techniki i metodologie, zw aszcza AHP (ang. Analytic Hierarchy Process), QFD (ang. Quality Function Deployment), TRIZ (ang. Theory of Inventive Problem Solving) i FMEA (ang. Failure Modes and Effects Analysis), opisane odpowiednio w rozdzia ach 8., 11., 12. i 13. 2. Projektowanie parametrów to istota metod Taguchiego. To pod tym wzgl dem Japo czycy tradycyjnie si wyró niali i osi gali wysokie poziomy jako ci bez wzrostu kosztów, co jest g ówn przyczyn ich przewagi konkurencyjnej. Testowane s nominalne w a ciwo ci projektu lub wybrane poziomy czynników procesu. Ustalane s kombinacje poziomów parametrów produktu lub poziomów operacji wchodz cych w sk ad procesu, które okaza y si najmniej wra liwe na zmiany w czynnikach rodowiskowych i inne niekontrolowalne elementy (szum). To zagadnienie opisujemy w rozdzia ach 16. i 17. 3. Projektowanie odporno ci nale y zastosowa do projektu produktu lub procesu, je li zmniejszenie wariancji uzyskane na etapie projektowania parametrów jest niewystarczaj ce. Ta faza dodatkowo zwi ksza odporno na czynniki maj ce du y wp yw na wariancj . Nale y zastosowa funkcj straty i po wi ci wi cej rodków tylko wtedy, je li jest to konieczne. Mo na zwi kszy odporno albo kupi lepsze materia y lub wyposa enie, je li jest to niezb dne, co podkre la japo sk filozofi inwestycji na ko cu, a nie na pocz tku, jak jest to praktykowane w firmach zachodnich.

Ramka 2.3. Taguchi o metodach Taguchiego10 x

Utrata jako ci wynika g ównie z awarii produktu po jego sprzeda y. „Solidno ” wyrobu jest bardziej funkcj jego projektu ni bie cej kontroli, cho by naj ci lejszej, procesu produkcji.

x

Projektuj produkty tak, aby nie zawodzi y w praktyce. Tym samym zmniejszysz liczb defektów w fabryce.

x

Udost pniaj c produkt, który ledwie spe nia standardy korporacji, producent nie zyskuje prawie nic w porównaniu z rozpowszechnianiem wadliwego wyrobu. Nale y d y do poziomu docelowego, a nie jedynie mie ci si w ramach specyfikacji.

x

In ynieria jako ci (metody Taguchiego) to technologia przewidywania b dów jako ciowych i zapobiegania im na wczesnych etapach rozwoju i projektowania produktu, w cznie z problemami zwi zanymi z funkcjami produktu, zanieczyszczeniem rodowiska i innymi kosztami, które pojawiaj si w pó nych fazach produkcji oraz po wypuszczeniu wyrobu na rynek.

x

Nie u ywaj miar jako ci zwi zanych z klientem (takich jak procent defektów czy niezawodno ) jako wczesnych miar jako ci w dziale bada i rozwoju. W zamian


Japo skie systemy zarz dzania jako ci i podej cie Taguchiego

79

u ywaj dynamicznego stosunku SN jako wska nika wydajno ci do oceny solidno ci funkcji produktu. x

Solidne produkty zapewniaj silny „sygna ” niezale nie od zewn trznego „szumu” i z minimaln ilo ci „szumów” wewn trznych. Usprawnienie projektu, czyli znacz cy wzrost w stosunku sygna u do szumu komponentu, zwi kszy solidno produktu jako ca o ci.

x

Nale y wytrwale pracowa w celu uzyskania projektów, które mo na produkowa na nieustannie wysokim poziomie. Nale y stale stawia wysokie wymagania fabryce.

x

Jest wi ksze prawdopodobie stwo problemów z powodu du ej zmienno ci w obr bie specyfikacji ni sta ego odchylenia poza ni . Je li odst pstwo od poziomu docelowego jest sta e, mo liwe jest dostosowanie procesu do tego poziomu.

x

Warunki panuj ce w fabryce rzadko s tak szkodliwe, jak zmienno w u ytkowaniu produktów przez u ytkowników.

Metody Taguchiego zosta y uznane za jedno z najwa niejszych in ynieryjnych osi gni XX wieku. Cho techniki statystyczne u ywane przez Taguchiego maj pocz tki w eksperymentalnych praktykach projektowych rozwini tych przez angielskiego statystyka sir Ronalda Fishera, ich filozoficzne podstawy s niezaprzeczalnie japo skie. Metody Taguchiego i inne japo skie systemy zarz dzania jako ci , takie jak kaizen (ci g e usprawnianie), kanban (dok adnie na czas), zarz dzanie przez jako czy szczup a produkcja, zosta y zainspirowane rozwa aniami ameryka skiego guru z obszaru jako ci, W. Edwardsa Deminga, przedstawionymi w jego ksi kach: 14 Points of Management, Seven Deadly Diseases i Obstacles to Quality Products. Proponowana przez Richarda Zultnera adaptacja zasad Deminga do rozwoju oprogramowania jest opisana w rozdziale 5. Metody Taguchiego i inne systemy zarz dzania jako ci po o y y podwaliny pod niezwyk y rozwój Japonii jako pot gi przemys owej po II wojnie wiatowej. Trudno przeceni wp yw Deminga na prace Taguchiego. Podobnie jak inni japo scy specjali ci do spraw jako ci, Taguchi by pod du ym wp ywem Deminga. Aby zrozumie specyficzne podej cie Taguchiego, nale y przeanalizowa jego kontekst i korzenie. Metody Taguchiego i wspó czesne japo skie systemy zarz dzania jako ci mia y swe pocz tki po II wojnie wiatowej. Deming, którego cz sto okre la si mianem ojca wspó czesnego ruchu na rzecz jako ci, po raz pierwszy odwiedzi Japoni w 1946 roku. W nast pnych dziesi cioleciach kontynuowa wspó prac z rz dem oraz przemys em japo skim i wyszkoli tysi ce japo skich mened erów oraz in ynierów. Ci mened erowie byli zainteresowani wspó czesnymi ameryka skimi zasadami zarz dzania. Jednak Deming zaproponowa im co zupe nie nowego, co, jego zdaniem, mia o pomóc w przekszta ceniu Japonii w dobrze prosperuj ce spo ecze stwo i odbudowa jej pozycj jako znacz cej pot gi przemys owej. Istota zasad zarz dzania Deminga jest dobrze znana (zobacz ramk 2.4), cho nie s one zbyt szeroko stosowane poza Japoni . Te zasady obejmuj g os klienta, zmniejszanie wariancji, stosowanie wska ników statystycznych, zyskiwanie zaufania i szacunku


80

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

Ramka 2.4. Istota 14 punktów Deminga11 1. B d wierny zamiarom usprawniania produktów i us ug. Cel to osi gni cie konkurencyjno ci, pozostanie w grze i zapewnienie miejsc pracy. 2. Zarz d musi zda sobie spraw z wyzwa zwi zanych z jako ci , pozna zakres odpowiedzialno ci i przej przywództwo na drodze zmian. 3. Nale y przesta uwa a kontrol za najwa niejszy element osi gania jako ci. Trzeba wyeliminowa potrzeb masowych inspekcji poprzez wbudowanie jako ci w produkt. 4. Trzeba sko czy z nagradzaniem dzia a na podstawie ceny. W zamian nale y minimalizowa koszty czne. Ka dy produkt powinien by dostarczany przez tylko jednego dostawc , co tworzy d ugotrwa y zwi zek bazuj cy na lojalno ci i zaufaniu. 5. Nale y trwale i nieustannie usprawnia system produkcji i us ug, aby poprawi jako oraz wydajno , a tym samym ci gle zmniejsza koszty. 6. Trzeba prowadzi szkolenia zawodowe. Je li ludzie s nieodpowiednio wyszkoleni, nie b d pracowa w taki sam sposób, a to wprowadza zmienno . 7. Nale y wdro y system przywództwa. Deming wprowadza rozró nienie mi dzy przywództwem i nadzorem. Ten drugi bazuje na normach i poziomach. Celem nadzoru powinno by pomaganie ludziom, maszynom i urz dzeniom w lepszym wykonywaniu zada . Nadzór zarz du wymaga starannego przemy lenia, podobnie jak nadzór pracowników odpowiedzialnych za produkcj . 8. Trzeba pozby si l ku, aby ka dy móg wydajnie pracowa dla firmy. 9. Nale y znie podzia y mi dzy wydzia ami. Osoby odpowiedzialne za badania, projektowanie, sprzeda i produkcj musz pracowa jako zespó , aby przewidywa problemy z wytwarzaniem i stosowaniem produktów lub us ug. 10. Trzeba pozby si sloganów, napomnie i norm dla si y roboczej, które dotycz braku defektów i nowych poziomów produktywno ci. Takie napomnienia prowadz wy cznie do powstawania antagonizmów. Wi kszo przyczyn niskiej jako ci i wydajno ci le y po stronie systemu i tym samym znajduje si poza kontrol si y roboczej. 11a. Nale y wyeliminowa standardy pracy (normy) dla fabryki. Trzeba zast pi je przywództwem. 11b. Trzeba wyeliminowa zarz dzanie przez zadania oraz liczby (z celami numerycznymi) i zast pi je przywództwem. 12a. Nale y usun przeszkody, które pozbawiaj pracowników zatrudnianych na godziny prawa do dumy z pracy. Pracownicy nadzoru powinni odpowiada nie za same liczby, ale za jako . 12b. Trzeba usun bariery, które pozbawiaj zarz d i in ynierów prawa do dumy z pracy. Oznacza to mi dzy innymi rezygnacj z dorocznych rankingów wydajno ci i zarz dzania przez cele. 13. Nale y wprowadzi dynamiczny program edukacji i samodoskonalenia. 14. Trzeba zach ci wszystkie osoby w firmie do pracy nad przekszta ceniami. Transformacja to zadanie dla wszystkich.


Japo skie systemy zarz dzania jako ci i podej cie Taguchiego

81

wspó pracowników oraz ci g e usprawnianie w obszarze procesów, a tak e produktów i us ug. W Japonii podej cie Deminga by o z entuzjazmem studiowane i stosowane oraz mia o znacz cy wp yw na przemys tego kraju. W 1951 roku Japo skie Stowarzyszenie Naukowców i In ynierów (ang. Japanese Union of Scientists and Engineers — JUSE) uhonorowa o Deminga, nazywaj c jego imieniem presti ow nagrod z dziedziny jako ci. Jednak w Stanach Zjednoczonych teorie Deminga by y ignorowane przez prawie 30 lat. Uwa a si , e mog o to doprowadzi do utraty konkurencyjno ci wielu ga zi ameryka skiego przemys u, takich jak motoryzacja i AGD, w których japo skie korporacje poczyni y ogromne post py. Wiele prac Taguchiego by o inspirowanych 14 punktami zarz dzania Deminga. W szczególnym stopniu dotyczy to zasady braku zale no ci od inspekcji przy osi ganiu jako ci. W procesie rozwoju produktu Taguchi cofn si jeszcze o krok, k ad c nacisk na inspekcj w dziale bada i rozwoju oraz na etapie projektowania i in ynierii. Zwraca uwag na znaczenie tego, aby produkt dzia a na sta ym, docelowym poziomie, a nie by tylko ledwie zgodny ze specyfikacj . Na rysunkach 2.3, 2.4 i 2.5 zademonstrowali my, e mo na to osi gn w dwóch krokach. Najpierw nale y zmniejszy wariancj , a nast pnie dostosowa odpowiedni czynnik, aby osi gn wyniki mo liwie jak najbli sze docelowym wymaganiom klienta, trzeba te wzi pod uwag koszty, projekt i inne ograniczenia.

RYSUNEK 2.3. Rozk ad wydajno ci w granicach specyfikacji, ale niesta ej i poni ej poziomu docelowego

RYSUNEK 2.4. Rozk ad wydajno ci sta ej, ale poni ej poziomu docelowego


82

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

RYSUNEK 2.5. Rozk ad wydajno ci sta ej i w pobli u poziomu docelowego

Ponadto Taguchi podkre la warto tolerancji projektu zarówno w rodowisku produkcyjnym, jak i rodowisku u ytkownika. W tym momencie warto przedstawi g ówne nakazy filozofii jako ci Taguchiego. Oto one. 1. Ci g a poprawa jako ci i redukcja kosztów s niezb dne dla przetrwania biznesu. 2. Wa n miar jako ci produktu jest strata ogólna spowodowana przez produkt w spo ecze stwie obliczana za pomoc funkcji straty jako ci. 3. Zmiana przedprodukcyjnych procedur eksperymentalnych z ró nicowania jednego czynnika na raz na modyfikowanie wielu czynników jednocze nie. Jest to tak zwane statystyczne projektowanie eksperymentów (ang. Statistical Design of Experiments — SDE) lub po prostu projektowanie eksperymentów (ang. Design of Experiments — DOE). Dlatego jako mo na wbudowa w produkt i proces. 4. Straty klienta wynikaj ce z niskiej jako ci s mniej wi cej proporcjonalne do kwadratu odchylenia cech wydajno ci od poziomu docelowego (warto ci nominalnej). Taguchi zmieni cele eksperymentów i definicj jako ci z osi gania zgodno ci ze specyfikacj na d enie do poziomu docelowego i minimalizacj zmienno ci. 5. Zmienno wydajno ci produktu (lub us ugi) mo na zmniejszy , sprawdzaj c nieliniowy wp yw czynników (parametrów) kontrolnych na cechy wydajno ci. Wszelkie odchylenia od poziomu docelowego prowadz do niskiej jako ci. Jednym z g ównych celów Taguchiego jest usprawnienie projektu produktu i procesu poprzez wykrycie kontrolowalnych czynników i ich warto ci, co minimalizuje zmienno w stosunku do wyniku docelowego. Ustawiaj c kontrolowalne parametry na ich optymalny poziom, mo na sprawi , e produkt b dzie bardziej odporny na zmiany w dzia aniu, stosowaniu i warunkach rodowiskowych. Podstawowa zasada metod Taguchiego dotyczy raczej usuwania negatywnych efektów przyczyn ni powodów tych niekorzystnych skutków. Dzi ki temu mo na uzyska produkt wy szej jako ci najmniejszym mo liwym kosztem. Ta strategia neutralizacji samych skutków, a nie przyczyn, jest m drym rozwi zaniem, poniewa mo e by atwiejsza, a tak e bardziej wydajna ze wzgl du na koszty i szybsza. Metody Taguchiego maj dwa kluczowe cele projektowe:


Istota metod solidnego projektowania Taguchiego

83

x

zmniejszenie i minimalizacj zmienno ci produktu i ekonomiczne osi gni cie poziomu docelowego,

x

zapewnienie tolerancji mierzonej na etapach tworzenia projektu i prototypu, które jest przenoszone na dalsze fazy w produkcji i rodowisku u ytkownika.

Istota metod solidnego projektowania Taguchiego Solidno to kluczowy koncept metod Taguchiego. „Solidno ” oznacza zdrowie, moc, energi i si . Taguchi definiuje j jako „stan, w którym dzia anie technologii, produktu lub procesu jest w minimalnym stopniu nara one na czynniki powoduj ce zmienno (zarówno w produkcji, jak i rodowisku u ytkownika) przy najni szym koszcie wyprodukowania jednostki”. Jest to zdolno produktu lub procesu do funkcjonowania i spe niania wymaga klientów (ze wzgl du na niezawodno , bezpiecze stwo, zabezpieczenia i tak dalej), mimo obecno ci ró nych czynników zak ócaj cych, które mog powodowa zmienno . Solidny proces lub produkt dzia a w oczekiwany sposób niezale nie od wszelkich szkodliwych wp ywów, zwanych szumem. Szum wynika z wszelkiego rodzaju zmienno ci: rodowiskowej wariancji w trakcie stosowania produktu przez klienta, zmienno ci w czasie produkcji poszczególnych jednostek i komponentów oraz zró nicowania komponentów w wyniku starzenia si i pogarszania cech.

Zagadnienie stosunku sygna u do szumu Wed ug Taguchiego na solidno trzeba zwróci uwag na etapie projektowania lub w dziale bada i rozwoju. Wi e si to ze specyficznym filozoficznym za o eniem, e prawdziw solidno mo na jedynie zaprojektowa i wbudowa w produkt lub projekt, a nie skontrolowa i naprawi . Mówi c inaczej, podstawowym has em jest „zapobiega , a nie leczy ”. Wymaga to tak e rozwi zywania problemów na pocz tku pracy, w dziale bada i rozwoju, w trakcie zaawansowanej in ynierii i projektowania, a nie w trakcie produkcji i kontroli lub, co gorsza, po dostarczeniu produktu do klienta. Metody Taguchiego zapewniaj wydajn ze wzgl du na koszty i czas metodologi projektowania oraz testowania produktów pod k tem solidno ci przed rozpocz ciem ich produkcji. Metody te s u tak e do rozwi zywania problemów ró nego rodzaju czy modyfikowania projektów wadliwych procesów. Poni ej znajduj si definicje niektórych podstawowych poj u ywanych w metodach Taguchiego. Sygna to co , co produkt (lub cz albo podzespó ) ma dostarcza , zgodnie z jego charakterystyk dzia ania lub funkcjonaln . W odbiorniku telewizyjnym lub telefonie sygna y to co , co produkt (odbiornik lub aparat) przekazuje jako obraz lub d wi k. Dobry sygna to taki, który zachowuje jako mimo szumu (wewn trznych i zewn trznych interferencji elektromagnetycznych w odbiorniku telewizyjnym lub telefonie).


84

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

Szum to wszystkie czynniki, które powoduj wariancj . Taguchi stwierdzi , e wielu czynników powoduj cych szum, takich jak sposób stosowania przez u ytkownika (najcz stsza przyczyna zmienno ci), warunki na drodze czy pogoda, nie mo na kontrolowa lub wyeliminowa . To szum powoduje odchylenia charakterystyk dzia ania i funkcjonalnych od docelowej jako ci. Mo na wyró ni trzy typy czynników zwi zanych z szumem: x

Szum zewn trzny, nazywany tak e szumem rodowiskowym, obejmuje czynniki zewn trzne ( rodowiskowe), takie jak interferencje cieplne lub elektromechaniczne, szoki mechaniczne i elektryczne, kurz czy nieprawid owe korzystanie ze sprz tu przez u ytkownika. W przypadku samochodu te czynniki obejmuj temperatur , nieg, drog , warunki jazdy, kurz i tak dalej.

x

Szum wewn trzny, zwany tak e wariancj komponentów lub wewn trznym pogarszaniem sprawno ci cz ci, wynika ze zu ywania si i starzenia.

x

Szum mi dzy produktami, nazywany tak e wariancj produkcyjn lub wariancj elementów, dotyczy zmienno ci obecnej mi dzy poszczególnymi produktami, mimo e s tworzone wed ug tych samych specyfikacji. Mo e to wynika ze zmienno ci w zakresie materia ów i procesów.

Szumy powoduj , e produkty dzia aj niezgodnie ze specyfikacj lub ca kowicie zawodz . Dzia anie produktu jest zdominowane przez szum jednostkowy (wewn trzny) na wczesnych etapach cyklu ycia produktu, zewn trzny w trakcie stosowania i pogarszanie sprawno ci (mi dzy produktami) pod koniec ycia. Solidno i solidne projektowanie prowadz do braku wra liwo ci na czynniki powoduj ce szum na ró nych etapach cyklu ycia produktu, cho wp ywów tych nie mo na wyeliminowa i usuwane s jedynie ich efekty. Dla odbiorników telewizyjnych powszechnym szumem jest „ nie enie” ekranu, pioruny, sztormy, wahania napi cia i inne niekorzystne warunki dzia ania. W przypadku oprogramowania kluczowe czynniki zwi zane z szumem, które powoduj zmienno , to nieprawid owe korzystanie z aplikacji przez klientów, napastnicy i hakerzy, robaki i wirusy, przypadkowe lub celowo z o liwe naruszenie zabezpiecze , brak dokumentacji, nieodpowiednie szkolenia, awarie procedur, niedozwolony dost p i u ywanie oraz korzystanie z systemu do wykonywania zada , do których nie jest przeznaczony. Taguchi sugeruje, e jako miary jako ci nale y u ywa stosunku sygna u do szumu, SN (ang. signal-to-noise)12. Taguchi twierdzi, e stosunek SN: x

mo e s u y do oceny solidno ci funkcji produktu, poniewa reprezentuje funkcjonalno ;

x

reprezentuje stosunek tolerancji (lub „ redni ” w terminologii statycznej) do zmienno ci;

x

kiedy stosuje si go do oceny solidno ci produktu lub procesu, nale y go okre la mianem przetwarzalno ci (w energi , moc, informacj , obraz, dat i tak dalej).


Istota metod solidnego projektowania Taguchiego

85

Przyk adowo dla urz dzenia elektromechanicznego, takiego jak silnik elektryczny, stosunek SN mo na wyrazi w nast puj cy sposób:

Ogólnie stosunek SN w systemach bazuj cych na in ynierii, takich jak silniki czy generatory, mo na opisa w poni szy sposób:

W przypadku oprogramowania jest to przekszta canie informacji, danych, obrazów i innych elementów, a nie energii czy mocy. Solidne projektowanie zarówno w dziedzinie oprogramowania, jak i sprz tu, ma maksymalizowa stosunek SN pod k tem optymalizacji projektu.

Zagadnienie funkcji utraty jako ci Jak ju wspomnieli my, to zagadnienie jest podstawowym odst pstwem od zachodniego podej cia do jako ci. Taguchi zajmuje si bardziej utrat jako ci ni ni sam , a tak e skutkami takich strat dla klienta, producenta i spo eczno ci jako ogó u. Jasno wynika z tego, e jako produktu to co wi cej ni tylko niezawodno , a koszty produktu obejmuj nie tylko cen produkcji i rachunki za materia y. Klienci oczekuj niezawodno ci w czasie trwania cyklu ycia produktu, a w ostatecznym rozrachunku istotna jest optymalizacja kosztów tego cyklu. Klienci coraz bardziej domagaj si bezb dnych dostaw i dzia ania. Oczekuj ró nych dodatkowych funkcji i udogodnie . Coraz cz ciej te poszukuj stabilnego, wysokiej jako ci dzia ania na poziomie docelowym i nie zadowalaj si niestabilnym funkcjonowaniem w ramach specyfikacji. Zapewnienie dzia ania na poziomie docelowym mo e wymaga poniesienia znacz cych kosztów, ale te zapewnia korzy ci zarówno producentowi, jak i klientom. Jest to jedna z podstawowych zasad metodologii Taguchiego. Fowlkes i Creveling klasyfikuj koszty cyklu ycia wed ug nast puj cych kategorii13: x

koszty dóbr, które obejmuj faktury za materia y oraz wydatki na produkcj ;

x

koszty powi zane z obs ug konserwacji, gwarancjami, naprawami, wymianami, utylizacj i odzyskiwaniem;

x

koszty klienta, które obejmuj przestoje, koszty operacyjne i wynikaj ce z rozwi zywania b dów;

x

koszty marketingu, które obejmuj czas wypuszczania produktu na rynek, promocje oraz zatrzymywanie klientów i zdobywanie nowych.


86

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

Utrata jako ci jest definiowana jako „strata, któr produkt powoduje w spo eczno ci od czasu jego wprowadzenia”. Obejmuje to straty firmy zwi zane z kosztami przeróbek, utylizacji, konserwacji i przestojów wynikaj cych z awarii sprz tu, a tak e z roszczeniami gwarancyjnymi. S to równie koszty ponoszone przez klienta w wyniku zawodno ci i s abej wydajno ci produktu, co prowadzi do dalszych strat producenta wraz z utrat udzia ów w rynku. Mog pojawi si te straty w spo eczno ci, je li dane produkty lub us ugi wi si ze sk adowaniem odpadów, zanieczyszczeniem rodowiska, przest pczo ci czy zagro eniem bezpiecze stwa i zdrowia. Okre laj c warto docelow cech jako ciowych na najwy szym mo liwym poziomie, Taguchi wi e prost kwadratow funkcj straty z odst pstwami od warto ci docelowej. Funkcja utraty jako ci pokazuje, e redukcja zmienno ci w okolicach poziomu docelowego prowadzi do zmniejszania si strat, z czego wynika wzrost jako ci. Ta funkcja s u y do podejmowania decyzji projektowych na podstawie czynników finansowych i pozwala okre li , czy dodatkowe koszty, jakich wymaga wy sza jako , oka si warte poniesienia z perspektywy rynku. Z punktu widzenia producenta czne koszty mo na wyrazi w nast puj cy sposób:

czne koszty wynikaj ce z rezygnacji z jako ci = straty produkcyjne+utrata jako ci

Straty produkcyjne obejmuj utylizacj , przeróbki, opó nienia i tak dalej. Utrata jako ci to koszt awarii produktów, który powstaje po ich udost pnieniu. Obejmuje to straty w wyniku zwrotów, gwarancji i napraw, a tak e utraty dobrej opinii, co prowadzi do zmniejszenia udzia ów w rynku. Utrata Jako ci mo e by bardzo du a nawet wtedy, kiedy produkt jest zgodny ze specyfikacj . Ta warto jest równa zeru tylko wtedy, kiedy produkt dzia a dok adnie na poziomie docelowym. Taguchi proponuje przybli ony i atwy wzór na funkcj utraty jako ci (ang. quality loss function — QLF): Utrata = O2K, gdzie O = odst pstwo od poziomu docelowego; K = koszty rodków niezb dnych do zapewnienia dzia ania produktu na poziomie docelowym.

To wyra enie jest przybli eniem, a nie „prawem natury”10. Jest to narz dzie dla in ynierów, a nie prawo naukowe. Wskazuje jedynie na fakt, e wyst puje „prawo rosn cych kosztów” wraz z odchylaniem si dzia ania produktu od poziomu docelowego. Trudno utworzy ogólny i dok adny model kosztów. Jedn z przyczyn tej trudno ci jest to, e produkt mo e mie ró nych u ytkowników i by u ywany w zmienny sposób w odmiennych warunkach rodowiskowych. Taguchi sugeruje, e firmy maj ce lepsze sposoby szacowania kosztów powinny u ywa w a nie ich. Jednak przedstawiona wcze niej wersja przybli enia funkcji QLF jest warto ciowa z nast puj cych wzgl dów.


Istota metod solidnego projektowania Taguchiego

87

x

Zapewnia in ynierom i mened erom prosty sposób szacowania kosztów odchyle od poziomu docelowego.

x

Pozwala okre li na podstawie takich szacunków poziom docelowy tolerancji i jako ci.

x

Stanowi wydajny pod wzgl dem czasu i kosztów proces szacowania optymalnego projektu. Inaczej mówi c, proces projektowania lepszego produktu jest ta szy i szybszy ni w przypadku tradycyjnego projektowania eksperymentów czy innych metod.

QLF i stosunek SN to dwie miary jako ci w metodach Taguchiego. Oba te wska niki k ad nacisk na dzia ania pocz tkowe (projektowe), a przy ocenie jako ci bazuj na miarach zwi zanych z klientem, takich jak koszty w dolarach i cechy dzia ania (funkcjonalne). Jak piszemy w rozdzia ach 16. i 17., wska niki te s powi zane ze sob i stanowi warto ciowe miary w metodologiach Taguchiego.

Zagadnienie solidnego projektowania Taguchi zaleca nast puj c strategi solidnego projektowania: x

Stosowanie tablic ortogonalnych do przeprowadzania eksperymentów na sucho. Tablica ortogonalna to macierz, która jest integraln cz ci metod Taguchiego. Analiza produktu lub procesu pod k tem solidno ci obejmuje identyfikacj czynników zak ócaj cych, które powoduj odchylenia. Mo e to by mudne i kosztowne zadanie. Taguchi zaprojektowa tablice ortogonalne w celu wyizolowania czynników zak ócaj cych spo ród innych w sposób wydajny ze wzgl du na czas i koszty. Zastosowanie tej techniki do rozwoju oprogramowania jest opisane w rozdziale 17.

x

Maksymalizacja miar wydajno ci i stosunku SN w celu optymalizacji projektu z uwzgl dnieniem czynników kontrolnych.

Solidne projektowanie za pomoc metod Taguchiego przebiega w trzech nast puj cych etapach: x

Projektowanie systemu, zwi zane z rozwojem zarysu lub prototypu projektu. Jest to niezb dne w celu zdefiniowania wyj ciowych cech produktu lub procesu. Ta faza w swej istocie przypomina projektowanie systemów stosowane na zachodzie.

x

Projektowanie parametrów. Jest to kluczowy etap solidnego projektowania, w którym Japo czycy wyró niaj si , tworz c solidne produkty ni szym kosztem. Jest to metodologia redukuj ca zmienno poprzez zmniejszenie wra liwo ci produktu lub procesu w zakresie wydajno ci na ród a wariancji, a nie poprzez prób kontroli lub eliminacji tych czynników. Na tym etapie odbywaj si testy nominalnych funkcji projektu lub wybranych poziomów czynników procesu oraz po czenia poziomów parametrów produktu lub poziomów operacyjnych procesu,


88

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

które s najmniej wra liwe na zmiany w warunkach rodowiskowych i inne niekontrolowalne czynniki (szum). Jest to istota metod Taguchiego w zakresie solidnego projektowania. x

Projektowanie tolerancji, które, je li to konieczne, s u y dalszemu zmniejszaniu zmienno ci poprzez zwi kszenie odporno ci na czynniki maj ce du y wp yw na wariancj . Na tym etapie stosowana jest funkcja utraty jako ci w celu sprawdzenia, czy koszt poprawy jako ci jest uzasadniony ekonomicznie. Inwestycje w zwi kszenie tolerancji poprzez zastosowanie lepszych materia ów i sprz tu nale y wprowadza wtedy, kiedy wymaga tego rynek, a nie jako wyj ciowe podej cie.

W rozdzia ach 16. i 17. opisujemy metody Taguchiego oraz sposób ich przystosowania do rozwoju oprogramowania. Ich zastosowanie na pocz tkowych etapach rozwoju oprogramowania jest przedstawione w rozdzia ach 18. i 19.

Wyzwania na drodze do niezawodno ci oprogramowania — projektowanie oprogramowania godnego zaufania Oprogramowanie to najbardziej zdradliwy komponent ka dego systemu informatycznego. Dwa pozosta e elementy, sprz t i sieci komunikacyjne, uzyska y przez ostatnie 50 lat du o wy szy poziom wydajno ci i niezawodno ci. Na przyk ad wydajno mikroprocesorów wzros a w stopniu o oko o 200 milionów razy wy szym ni wydajno oprogramowania. Wspó czesne sieci komunikacyjne umo liwiaj przenoszenie olbrzymich ilo ci danych, obrazów i d wi ku oraz dost p do nich zarówno w obr bie organizacji, jak i globalnie. Wspó czesne sieci komunikacyjne, a zw aszcza Internet, wi si z gro b przypadkowego lub celowego nieupowa nionego dost pu oraz s podatne na inne zagro enia, jednak to braki projektowe w oprogramowaniu odpowiadaj za najwi ksz cz wra liwo ci i zawodno ci systemów informacyjnych. Nawet mimo niezwyk ego poziomu wydajno ci sprz tu, ostateczne wyniki dzia ania ka dego systemu informatycznego zale od niezawodno ci oprogramowania — i to jest tematem niniejszej ksi ki. W tabeli 2.2 opisujemy pewne cz sto stosowane definicje i atrybuty jako ci oprogramowania. Miary oprogramowania s omówione do szczegó owo w rozdziale 3., jednak w tym miejscu warto omówi kilka podstawowych zagadnie . Najbardziej fundamentalne z nich to poj cie samej jako ci. Jako oprogramowania mo na zdefiniowa jako stopie spe niania wymaga lub oczekiwa klientów albo u ytkowników przez system, komponent lub proces. Mo e to obejmowa kilka elementów, z których najcz ciej wymieniana jest wiarygodno oprogramowania. Zwi zana jest ona z ró nymi wymaganiami u ytkownika, w czaj c w to niezawodno , bezpiecze stwo, zabezpieczenia i dost pno 14. Jest to bliskie u ywanemu w tej ksi ce poj ciu oprogramowania godnego zaufania, które jednak obejmuje dodatkowo mo liwo zdobywania zaufania klientów i spe nianie ich jawnych, Wyzwania na drodze do niezawodno ci oprogramowania


Wyzwania na drodze do niezawodno ci oprogramowania

89

TABELA 2.2. Wybrane atrybuty zwi zane z jako ci oprogramowania

Jako oraz atrybuty i systemy jako ci

Opis

Jako

Stopie , w jakim systemy, komponenty lub procesy spe niaj , po pierwsze, jawne, niejawne i nieoczekiwane potrzeby lub oczekiwania klientów i u ytkowników oraz, po drugie, okre lone i ukryte wymagania innych partnerów.

Projektowanie pod k tem Six Sigma

System projektowania i rozwoju nowych produktów, procesów i us ug, które spe niaj wymagania klientów i s pozbawione defektów.

Projektowanie oprogramowania godnego zaufania (DFTS)

System projektowania i rozwoju oprogramowania, na którym mo na polega (obejmuje to niezawodno , bezpiecze stwo, zabezpieczenia, dost pno i mo liwo konserwacji, cho nie ogranicza si do tych cech) i które pozwala reagowa na klienta na ró nych etapach cyklu ycia oprogramowania.

Solidna architektura (nazywana tak e modelem rozwoju solidnego oprogramowania — RSDM)

Model rozwoju oprogramowania s u cy do tworzenia oprogramowania godnego zaufania (zobacz rysunek 2.6).

Solidne projektowanie

Metodologia utworzona przez Genichiego Taguchiego w celu rozwoju najni szym mo liwym kosztem produktów i procesów dzia aj cych na poziomie docelowym zgodnie z wymaganiami klienta, mimo obecno ci czynników, które powoduj zmienno w rodowisku u ytkownika i produkcyjnym.

Six Sigma

Filozofia, system zarz dzania i metodologia stosowane w celu usprawniania istniej cych produktów, procesów i us ug tak, aby by y pozbawione b dów i spe nia y wymagania klientów w ekonomiczny sposób.

Oprogramowanie

Programy komputerowe, procedury i (zwykle) zwi zane z nimi dokumentacja oraz dane dotycz ce dzia ania systemu komputerowego.

Dost pno oprogramowania

Mo liwo udost pniania przez oprogramowanie okre lonych funkcji, kiedy u ytkownik ich potrzebuje.

Wiarygodno oprogramowania

Stopie , w jakim systemy, komponenty lub procesy producenta oprogramowania potrafi spe nia okre lone wymagania oraz potrzeby i oczekiwania u ytkowników.


90

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

TABELA 2.2. Wybrane atrybuty zwi zane z jako ci oprogramowania — ci g dalszy

Jako oraz atrybuty i systemy jako ci

Opis

Solidno oprogramowania

Obejmuje, w ród innych atrybutów, niezawodno , bezpiecze stwo, zabezpieczenia i dost pno .

Projekt oprogramowania

Architektura i kod programu wykonuj cego okre lon funkcj .

Mo liwo konserwacji oprogramowania

atwo modyfikowania systemów lub komponentów oprogramowania po ich udost pnieniu w celu naprawy b dów, poprawy dzia ania i innych cech lub zaadaptowania do zmienionego rodowiska. Cz sto okre la si j jako MTBF/(MTBF + MTTR).

Jako oprogramowania

Zdatno oprogramowania do u ytku. Stopie , w jakim oprogramowanie ma okre lony zestaw atrybutów potrzebnych do spe niania jawnych lub ukrytych potrzeb klienta i zapewnia jego zadowolenie. Prawid owe dzia anie programu jest niezb dne, ale niewystarczaj ce, je li oprogramowanie nie zapewnia satysfakcji klienta.

Atrybuty jako ci oprogramowania

Ró ne wymagania dotycz ce oprogramowania, takie jak niezawodno , bezpiecze stwo, zabezpieczenia i dost pno , potrzebne do spe nienia okre lonych lub ukrytych potrzeb.

Niezawodno oprogramowania

To poj cie jest zwi zane z jako ci projektu oprogramowania. Wi e si raczej z wykrywaniem b dów ni ich naprawianiem. Jest to mo liwo wykonywania okre lonej funkcji przez system lub komponent oprogramowania w okre lonych warunkach i czasie.

Bezpiecze stwo oprogramowania

Brak czynników, które mog spowodowa mier , obra enia, chorob , uszkodzenia, brak kontroli lub dost pu do danych, naruszenie prywatno ci lub szkody w sprz cie, mieniu i rodowisku.

Skalowalno oprogramowania

Mo liwo uruchomienia aplikacji komputerowej na wi kszej maszynie lub procesorach równoleg ych w celu obs ugi wi kszej liczby transakcji lub zapewnienie wy szej przepustowo ci tak, aby wydajno skalowa a si liniowo lub prawie liniowo pod wzgl dem ilo ci operacji. Oznacza to, e je li aplikacja potrafi obs ugiwa okre lon liczb transakcji na danym serwerze, powinna skalowa si tak, aby obs ugiwa a cztery razy wi ksz ich liczb na czterokrotnie wi kszym serwerze.


Wyzwania na drodze do niezawodno ci oprogramowania

91

TABELA 2.2. Wybrane atrybuty zwi zane z jako ci oprogramowania — ci g dalszy

Jako oraz atrybuty i systemy jako ci

Opis

Zabezpieczenia oprogramowania

Cechy oprogramowania dotycz ce jego odporno ci na atak i zapewniaj ce ochron poufno ci, integralno ci danych oraz dost pno ci systemu.

Szybko realizacji transakcji przez oprogramowanie

Tempo obs ugi transakcji przez aplikacj na danym komputerze, zwykle mierzone w tysi cach transakcji na minut .

Mo liwo aktualizowania oprogramowania

Mo liwo atwej zmiany konfiguracji oprogramowania w celu obs ugi wi kszej liczby, wi kszych lub bardziej skomplikowanych transakcji.

Przetwarzanie godne zaufania

System sk adaj cy si ze sprz tu, oprogramowania i sieci, na którym mo na polega (obejmuje to niezawodno , bezpiecze stwo, zabezpieczenia, dost pno i mo liwo konserwacji, cho nie ogranicza si do tych cech) i który umo liwia reagowanie na klienta na ró nych etapach cyklu ycia.

Oprogramowanie godne zaufania

Oprogramowanie, na którym mo na polega (obejmuje to niezawodno , bezpiecze stwo, zabezpieczenia, dost pno i mo liwo konserwacji, cho nie ogranicza si do tych cech) i które umo liwia reagowanie na klienta na ró nych etapach cyklu ycia.

niejawnych, a nawet nieoczekiwanych potrzeb, a cechy te s tu bardzo istotne. Pi g ównych wyzwa zwi zanych z tworzeniem oprogramowania godnego zaufania to zapewnienie nast puj cych cech: x

Niezawodno ci, czyli mo liwo ci wykonywania przez oprogramowanie oczekiwanych funkcji w okre lonych warunkach i czasie. Jest to jako zwi zana z projektem oprogramowania i dotyczy raczej wykrywania b dów ni ich naprawiania.

x

Bezpiecze stwa, które dotyczy nieobecno ci czynników mog cych spowodowa mier , obra enia, chorob , uszkodzenia, brak dost pu lub kontroli danych, naruszenie prywatno ci czy szkody w sprz cie, mieniu lub rodowisku.

x

Zabezpiecze , zwi zanych z odporno ci oprogramowania na atak, co zapewnia ochron poufno ci i integralno ci danych oraz dost pu do systemu.


92

Rozdzia 2 โ ข Wyzwania na drodze do oprogramowania godnego zaufania

RYSUNEK 2.6. Model rozwoju solidnego oprogramowania

x

Mo liwo ci konserwacji, ktรณra dotyczy atwo ci modyfikowania systemรณw lub komponentรณw oprogramowania po ich udost pnieniu w celu naprawy b dรณw, poprawy dzia ania lub innych cech albo adaptacji produktu do zmieniaj cego si rodowiska.

x

Reagowania na klienta, czyli mo liwo ci producenta zwi zanych z uzyskiwaniem i interpretowaniem wymaga klienta oraz reagowaniem na nie. Wymaga to tak e


Wyzwania na drodze do niezawodno ci oprogramowania

93

obecno ci odpowiednich cech solidnego projektu oprogramowania, mo liwo ci prowadzenia szkole i przekazywania wiedzy, umiej tno ci pomocy w integracji istniej cych systemów, udost pniania pomocy technicznej po wdro eniu, mo liwo ci udost pniania zaktualizowanego oprogramowania i systemów oraz spe niania wymaga klientów w zakresie kosztów i harmonogramu dostarczania produktów. Szczególnie istotna jest mo liwo zdobywania zaufania klientów i spe nianie ich jawnych, niejawnych, a nawet nieoczekiwanych potrzeb. S to g ówne aspekty oprogramowania godnego zaufania, które jednak s potrzebne w ró nym stopniu w zale no ci od kategorii oprogramowania i jego zastosowa . Przyk adowo reagowanie na klienta to szczególnie wa ny element w przypadku oprogramowania dla przedsi biorstw. Wa ne jest tu, aby twórca oprogramowania zna i uwzgl dnia g os klienta (ang. voice of customer — VOC), interpretowa go prawid owo i móg na tej podstawie tworzy oprogramowanie godne zaufania. Warto poczyni pewne uwagi na temat zwrotu „godne zaufania”. W dziedzinie zarz dzania jako ci tego wyra enia po raz pierwszy u y Deming, który stosowa je w znaczeniu czynnika decyduj cego o wyborze dostawców w kontek cie „usuwania l ków” w ród pracowników. Uwa amy zastosowanie tego s owa przez Deminga i kontekst, w jakim go u ywa , za bardzo znacz ce dla komunikatu, który sami chcemy przekaza : godne zaufania i niezawodne oprogramowanie, a w zasadzie dowolny produkt i ka da us uga, mog by udost pniane tylko przez osoby godne zaufania. Tego zwrotu u yto tak e w programie przetwarzania godnego zaufania (ang. Trushworthy Computing — TWC) Microsoftu uruchomionym w 2002 roku. Prezes Microsoftu, Bill Gates, w prze omowych powiadomieniach przes anych w styczniu i lipcu 200215 do 50000 pracowników korporacji na ca ym wiecie napisa : „W przesz o ci starali my si , aby nasze oprogramowanie i us ugi by y atrakcyjne dla klientów ze wzgl du na nowe funkcje i przez mo liwo bogatego rozszerzania naszej platformy […] wykonali my pod tym wzgl dem doskona robot , jednak wszystkie te wspania e mo liwo ci oka si nieistotne, je li klienci nie b d ufa naszym produktom. Dlatego teraz w sytuacji wyboru mi dzy nowymi funkcjami i rozwi zywaniem problemu z zabezpieczeniami musimy stawia na zabezpieczenia”. Gates ponadto napisa , e wierzy, i TWC „b dzie najwy szym priorytetem dla firmy i przemys u przez nast pn dekad — celem jest utworzenie dla klientów rodowiska przetwarzania godnego zaufania, które jest równie niezawodne, co elektryczno zasilaj ca obecnie nasze domy i firmy”. Zapewnienie oprogramowaniu równej niezawodno ci, co w przypadku elektryczno ci, to olbrzymie wyzwanie dla przemys u zwi zanego z produkcj oprogramowania. Wyra nie wida potrzeb wspó pracy mi dzy przemys em rozwoju oprogramowania, profesjonalistami z bran y oprogramowania, u ytkownikami oprogramowania, agencjami odpowiedzialnymi za regulacje i instytutami badawczymi na ca ym wiecie. Proponowana w tej ksi ce metodologia DFTS zapewnia spójn struktur i technologi do rozwi zywania tego typu problemów z jako ci .


94

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

Model rozwoju solidnego oprogramowania — proces DFTS w praktyce Oprogramowanie w porównaniu z innymi produktami tworzonymi za pomoc in ynierii to przyk ad czystego projektu. Jak ju wspomnieli my, zawodno oprogramowania to zawsze wynik b dów w projekcie i intelektualnych braków cz owieka16. Dlatego jeszcze bardziej istotny jest w tym przypadku moment, w którym rozwi zywane s problemy z jako ci . Filozofia i systemy proponowane w tej ksi ce zapewniaj twórcom oprogramowania dzia aj c na wczesnych etapach metodologi , która pozwala zidentyfikowa optymalne funkcje i ustawienia solidnego (godnego zaufania) oprogramowania. Omówione wcze niej elementy systemu s przedstawione w proponowanym przez nas modelu rozwoju solidnego oprogramowania (ang. Robust Software Development Model — RSDM) utworzonym jako u atwienie do rozwoju oprogramowania godnego zaufania (zobacz rysunek 2.6). Ten model spe nia siedem kluczowych wymaga procesu rozwoju solidnego oprogramowania omówionego w rozdziale 1. Bazuje na logicznych zasadach zarz dzania i sprawdzonych narz dziach, technikach i metodologiach charakteryzuj cych si nast puj cymi kluczowymi elementami: x

Infrastruktur zapewniaj c organizacji konieczne przywództwo i system komunikacji, szkole oraz nagród, który wyra nie wspiera proces DFTS (zobacz rozdzia 5.).

x

Niezawodnym systemem zbierania danych, który pozwala prawid owo wykrywa wymagania u ytkowników (VOC) w iteracyjny sposób na ró nych etapach cyklu rozwoju oprogramowania (zobacz rozdzia 11.).

x

Wdra aniem metod Taguchiego w celu optymalizacji projektowania oprogramowania i jednocze nie uwzgl dniania ró nych wymaga klienta, takich jak niezawodno , koszty i czas trwania cyklu (zobacz rozdzia y 16. i 17.).

x

Ustanowieniem praktyki jednoczesnego pisania kodu i przeprowadzania testów oraz zapewniania wystarczaj cego czasu na usuwanie b dów. Ta strategia prowadzi do procesu debugowania wydajnego ze wzgl du na koszty i czas, poniewa informacje o nat eniu lub cz stotliwo ci b dów oprogramowania s wtedy szybciej dost pne (zobacz rozdzia 18.).

x

Tworzeniem wielu wersji programu17 w sytuacji, kiedy potrzebne jest nadmiarowe oprogramowanie. Sprawia to, e statystycznie awarie nadmiarowych kopii s tak niezale ne, jak to mo liwe. W tym celu w ró nych programach nale y stosowa odmienne j zyki programowania, narz dzia programistyczne, technologie rozwoju i strategie testowania (zobacz rozdzia 14.).

x

Wdra aniem odpowiednich narz dzi do zarz dzania jako ci i planowania, takich jak QFD, TRIZ, Pugh i FMEA, które s szeroko stosowane w produkcji, co jest zgodne z najlepszymi praktykami (zobacz odpowiednio rozdzia y 11., 12. i 13.).


Kluczowe zagadnienia

x

95

Stosowaniem innowacyjnych narz dzi do rozwoju oprogramowania, takich jak projektowanie obiektowe (ang. Object-Oriented Design — OOD), programowanie ekstremalne czy odpowiednie narz dzia CASE.

B dziemy na zmian odnosi si do modelu RSDM i procesu DFTS — model opisuje proces, a proces jest ilustrowany przez model. W kilku ostatnich dziesi cioleciach wyewoluowa y liczne modele rozwoju oprogramowania. Wiele z nich, na przyk ad model wodospadu, etapowe modele cyklu ycia, model spiralny czy model V, maj swe pocz tki w lotnictwie i innych ga ziach przemys u produkcyjnego, dlatego nie zawsze odpowiadaj rzeczywisto ci procesu rozwoju oprogramowania. RSDM to model iteracyjny, który umo liwia interakcj zarówno z wewn trznymi, jak i z zewn trznymi klientami oraz uchwycenie VOC w procesie rozwoju. Ponadto jest solidny i elastyczny, a tak e mo na go dostosowa do dowolnego procesu rozwoju oprogramowania. W nast pnych rozdzia ach opisujemy zastosowania tego modelu i jego elementy ze szczególnym uwzgl dnieniem kontekstu rozwoju oprogramowania dla przedsi biorstw. Chcemy przypomnie , e w organizacjach zajmuj cych si rozwojem oprogramowania i w innych firmach, w których prace nad technologiami informatycznymi stanowi istotn dzia alno , rozwój oprogramowania jest zbyt wa ny, aby pozostawi go samym in ynierom oprogramowania. Zarz dzanie t aktywno ci nale y do obowi zków prezesa i wy szej kadry zarz dzaj cej. Musz oni zapewni niezb dne przywództwo, utworzy prawid ow infrastruktur zarz dzania i rozwija rodowisko pod k tem tworzenia oprogramowania godnego zaufania.

Kluczowe zagadnienia x

Wieloaspektowe spojrzenie na jako jest niezb dne do zrozumienia i spe nienia zestawu jawnych oraz niejawnych wymaga klientów i innych partnerów.

x

Zazwyczaj zasady, systemy i metodologie zarz dzania jako ci odpowiednie dla wyrobów produkowanych mo na stosowa tak e dla oprogramowania. Jednak oprogramowanie wi e si ze specyficznym rodowiskiem projektowania i rozwoju. Trzeba zrozumie z o ono cz sto zwi zan z oprogramowaniem i uwzgl dni innowacyjno oraz trudno zada , do których obs ugi jest projektowane.

x

Zadanie utworzenia oprogramowania godnego zaufania to prawdziwe wyzwanie i wymaga istotnego zaanga owania kadry zarz dzaj cej.

x

Tradycyjne systemy kontroli jako ci bazuj na dwóch b dnych za o eniach: po pierwsze, wymagania klienta s spe nione, je li produkt jest zgodny ze specyfikacj , a po drugie, biznesowe skutki sytuacji, w których jako jest „ledwie zgodna ze specyfikacj ” i „na poziomie docelowym”, s takie same.

x

14 punktów zarz dzania Deminga s u cych do poprawy jako ci obejmuje ws uchiwanie si w g os klientów, zmniejszanie wariancji, stosowanie miar


96

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

statystycznych, zdobywanie zaufania i szacunku wspó pracowników oraz ci g e usprawnianie. Deming wskazuje na braki systemów zarz dzania jako ci zale nych od kontroli. x

Japo ski in ynier przemys owy Genichi Taguchi rozwin alternatywny system zarz dzania jako ci — metody Taguchiego. Taguchi podkre la warto „poziomu docelowego” i zaleca dba o o jako na wczesnych etapach, zamiast zale no ci od kontroli maj cych wykry i naprawi b dy w dalszych fazach rozwoju.

x

Filozofi zarz dzania jako ci Taguchiego mo na podsumowa w nast puj cy sposób: x

Ci g a poprawa jako ci i redukcja kosztów s konieczne dla przetrwania biznesu.

x

Wa n miar jako ci jest ogólna strata wygenerowana przez dany produkt w spo eczno ci, mierzona funkcj utraty jako ci.

x

Nale y wbudowa jako w produkt lub proces poprzez projekt, u ywaj c techniki statystycznego projektowania eksperymentów.

x

Straty klientów z powodu niskiej jako ci s nieliniowe i mo ne je oszacowa jako kwadrat odchylenia cech dzia ania od ich poziomu docelowego.

x

Zmienno dzia ania produktu mo na zmniejszy , analizuj c nieliniowy wp yw „czynników kontroli” na cechy funkcjonowania.

x

Solidne projektowanie przy u yciu metod Taguchiego przebiega w trzech fazach: projektowania systemu, projektowania parametrów i projektowania tolerancji.

x

Oprogramowanie godne zaufania spe nia liczne jawne i niejawne potrzeby klientów, a tak e musi umo liwia dostosowanie produktu do nich. W kontek cie oprogramowania dla przedsi biorstw oprogramowanie godne zaufania musi spe nia przynajmniej nast puj ce wymagania: niezawodno , bezpiecze stwo, zabezpieczenia, mo liwo konserwacji i reagowanie na klienta.

x

Proces DFTS charakteryzuje si okre lonymi cechami. Oto one: x

prawdziwe zaanga owanie kadry zarz dzaj cej i wspieraj ca to infrastruktura;

x

mo liwo identyfikacji jawnych i niejawnych wymaga za pomoc QFD;

x

optymalizacja wymaga klienta poprzez wdro enie metod Taguchiego;

x

ustanowienie praktyki jednoczesnego pisania kodu i przeprowadzania testów;

x

stosowanie w razie konieczno ci nadmiarowego oprogramowania;

x

wdra anie odpowiednich narz dzi do zarz dzania jako ci i planowania, takich jak TRIZ, Pugh i FMEA;

x

stosowanie innowacyjnych narz dzi do rozwoju oprogramowania, takich jak projektowanie obiektowe.


Dodatkowe materia y

97

Dodatkowe materia y http://www.prenhallprofessional.com/title/0131872508 http://www.agilenty.com/publications

wiczenia internetowe http://www.asiusa.com/publications/images/HBR.pdf Po przeczytaniu artyku u Taguchiego i Clausinga dost pnego pod powy szym adresem przygotuj si do dyskusji wniosków na jego temat. 1. Przeanalizuj problemy zwi zane ze stylem my lenia „w ramach specyfikacji — poza specyfikacj ” powi zanym z podej ciem „zero defektów” w kontek cie oprogramowania. Jakie rozwi zanie oferuje metodologia Taguchiego? 2. Podaj trzy przyk ady „sygna u” i „szumu” w kontek cie rozwoju oprogramowania. 3. Zaproponuj zestaw zalece umo liwiaj cych usprawnienie procesu rozwoju oprogramowania. Ten artyku jest dost pny tak e w nast puj cych miejscach: x

Genichi Taguchi i Don Clausing, Robust Quality, „Harvard Business Review”, Stycze – Luty 1990.

x

http://harvardbusinessonline.hbsp.harvard.edu/b01/en/common/item_detail.jhtml?id= ´90114&referral=8636&_requestid=9765.

Pytania przegl dowe 1. Opisz, jak wieloaspektowe spojrzenie na jako pomaga zaspokoi potrzeby ró norodnych partnerów. Zilustruj odpowied przyk adami zwi zanymi ze znanym Ci oprogramowaniem. 2. Czy problemy z jako ci oprogramowania s zasadniczo odmienne od wyst puj cych w wyrobach produkowanych? Jakie s podobie stwa i ró nice mi dzy oprogramowaniem i wyrobami produkowanymi w zakresie procesu ich rozwoju? 3. Porównaj niezawodno oprogramowania i sprz tu. Wyja nij skutki takiego stanu rzeczy na przyk adzie trzech z o onych systemów sk adaj cych si z oprogramowania i sprz tu. 4. Wymie g ówne powody zawodno ci oprogramowania. Które z nich uwa asz za najwa niejsze? 5. Opisz dwa najwa niejsze problemy z tradycyjnymi systemami kontroli jako ci i wp yw, jaki maj na oprogramowanie.


98

Rozdzia 2 • Wyzwania na drodze do oprogramowania godnego zaufania

6. Opisz istot 14 punktów zarz dzania Deminga i wyja nij ich znaczenie w dzisiejszym wiecie. 7. Wyja nij, jak metody Taguchiego wi si z zaleceniami Deminga wymienionymi w 14 punktach i jak je wspieraj . 8. Jak brzmi pi filozoficznych nakazów podej cia Taguchiego? Wyja nij ich zwi zek z rozwojem oprogramowania. Czy w przypadku sprz tu s one inne? Je li tak, to w jaki sposób? 9. Podsumuj kluczowe zasady metod Taguchiego i trzy etapy solidnego oprogramowania. Opisz, jak wspomagaj one proces rozwoju oprogramowania. 10. Wymie i opisz pi g ównych wyzwa na drodze do tworzenia oprogramowania godnego zaufania. Zilustruj odpowied dwoma znanymi Ci produktami z dziedziny oprogramowania. 11. Opisz cechy modelu rozwoju solidnego oprogramowania. Wyja nij, jak te w a ciwo ci oraz sam model jako ca o mo na porówna z dwoma podobnymi modelami opisanymi w rozdziale 1.

Pytania do dyskusji i projekty 1. Jak 14 punktów zarz dzania Deminga rozwi zuje ograniczenia tradycyjnych systemów kontroli jako ci? Mo esz pos u y si tabelami 5.2, 5.3 i 5.4 z rozdzia u 5. Jak zastosowa wskazówki Deminga do bran y rozwoju oprogramowania? Przedstaw odpowied na zaj ciach. 2. Omów i porównaj zastosowanie metodologii Taguchiego w przypadku oprogramowania dla przedsi biorstw i produktów fabrykowanych. Mo esz pos u y si materia em z rozdzia ów od 16. do 19. Przedstaw odpowied na zaj ciach. 3. Opisz zalety i wyzwania zwi zane z wdra aniem w organizacji metodologii projektowania oprogramowania godnego zaufania (DFTS). Jakie s mo liwe ród a oporu przy jej wprowadzaniu? Jak mo na sobie z nimi poradzi ? Przedstaw odpowied na zaj ciach. 4. Wyobra sobie, e jeste cz onkiem zespo u zarz dzaj cego wysokiego stopnia kierowanego przez prezesa. Zespó otrzyma od zarz du firmy zajmuj cej si rozwojem oprogramowania zadanie identyfikacji g ównych przyczyn problemów z jako ci oprogramowania i zaproponowania platformy umo liwiaj cej ich rozwi zanie. Napisz informacj dla zarz du po wst pnej ocenie. Zaprezentuj j na zaj ciach.


Przypisy

99

Przypisy 1

Bev Littlewood i Lorenzo Strigini, Software Reliability and Dependability: A Roadmap, Proc. ICSE 2000, 22nd International Conference on Software Engineering, s. 2.

2

W. Kuo, V. Rajendra Prasad, F. A. Tillman, Ching-Lai Wand, Optimal Reliability Design (Cambridge, Cambridge University Press, 2001), punkt 13.5.1, s. 325.

3

Ibid., punkt 1.3.3., s. 5.

4

D. Simmons, N. Ellis, H. W. Kuo, Software Measurement: A Visualization Toolkit for Project Control and Process Improvement (Prentice-Hall, 1998).

5

N. Logothetis, Managing for Total Quality (London, Prentice-Hall International, 1992), s. 27.

6

Zaadaptowane za przyzwoleniem, op. cit., Kuo i inni, s. 4.

7

W. Edwards Deming, Out of the Crisis (Cambridge, MA, MIT Press, 2000). Nale y zwróci szczególn uwag na punkt 3. z 14 punktów o zarz dzaniu.

8

http://www.asiusa.com/about/asi_thought_genichi.aspx.

9

http://www.berr.gov.uk.

10

Genichi Taguchi i Don Clausing, Robust Quality, „Harvard Business Review”, stycze – luty 1990, s. 68.

11

Zaadaptowane z ksi ki Out of Crisis Deminga.

12

Yuin Wu i Alan Wu, Taguchi Methods for Robust Design (Nowy Jork, ASME, 2000), s. 13 – 28.

13

William Y. Fowlkes i Clyde M. Creveling, Engineering Methods for Robust Product Design: Using Taguchi Methods in Technology and Product Development (Reading, MA, Addison-Wesley, 1997).

14

Op. cit. Littlewood i Strigini, s. 1.

15

http://www.microsoft.com/mscorp/execmail/2002/07-18twc.mspx.

16

Op. cit. Littlewood i Strigini, s. 2.

17

N. Ashrafi, O. Berman, M. Cutler, Optimal design of large software-systems using N-version programming, „IEEE Transactions on Reliability”, R-43 (2): 344 – 350, 1994.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.