E-book details

Szybkie projektowanie. Zapanuj nad chaosem zadań i presją czasu

Szybkie projektowanie. Zapanuj nad chaosem zadań i presją czasu

Steve McConnell

Ebook

Zespoły projektowe borykają się z ciągłym niedostatkiem czasu. Napięte do granic możliwości terminy wymuszają na software developerach narzucenie morderczego tempa pracy. Takie podejście sprawia, że albo dostarczony produkt nie spełnia oczekiwań, albo nie udaje się dotrzymać terminu. Co gorsza, ciągła praca pod presją czasu powoduje chroniczne przemęczenie i problemy zdrowotne, nie wspominając już o braku sił i czasu na rozwój, który w branży IT ma kolosalne znaczenie.

Książka ta jest praktycznym, zdroworozsądkowym poradnikiem metod projektowania. Opisane w tej książce strategie pracy pozwolą na usprawnienie procesu projektowego i przyśpieszenie go. Przedstawiono tu również takie zagadnienia, jak zarządzanie ryzykiem, podstawy projektowania aplikacji oraz planowanie cyklu życia projektu. Mimo że nie są bezpośrednio związane z metodami szybkiego projektowania, to jednak mają kluczowe znaczenie dla produktywności zespołu. Naturalnie, nie istnieje jedna magiczna metoda przydatna w każdych warunkach — w tej książce opisano i krytycznie przeanalizowano najprzydatniejsze rozwiązania z różnych branż tworzenia oprogramowania.

Najważniejsze zagadnienia przedstawione w książce:

  • strategie szybkiego projektowania i sprawdzone rozwiązania
  • rozwiązania przyśpieszające realizację projektu, takie jak prototypowanie, języki szybkiego projektowania, ale i zasady motywowania zespołu oraz zasady wydajnej współpracy
  • najczęściej popełniane błędy, ich przyczyny i konsekwencje
  • oparte na rzeczywistych wydarzeniach studia przypadków
  • dobieranie właściwych metod do poszczególnych projektów

Odzyskaj kontrolę nad swoim projektem i zrealizuj go w terminie!


Steve McConnell jest głównym inżynierem oprogramowania i dyrektorem generalnym w spółce Construx Software Builders. Jest także członkiem organizacji IEEE Computer Society oraz ACM. McConnell jest aktywnym programistą, koncentruje się głównie na projektowaniu komercyjnego oprogramowania „celofanowego” (ang. shrink-wrap). Współpracuje z wieloma znanymi firmami, w tym z korporacją Microsoft. Wraz z żoną i z dziećmi mieszka w Bellevue, w stanie Waszyngton.

Przedmowa do polskiego wydania (15)

Przedmowa (17)

Informacje o autorze (23)

CZĘŚĆ I. WYDAJNE PROJEKTOWANIE (25)

Rozdział 1. Witaj w świecie szybkiego projektowania (27)

  • 1.1. Czym jest szybkie projektowanie? (27)
  • 1.2. Skuteczne wdrożenie szybkiego projektowania (28)

Rozdział 2. Strategia szybkiego projektowania (31)

  • 2.1. Ogólna strategia szybkiego projektowania (34)
  • 2.2. Cztery wymiary szybkości projektowania (36)
  • 2.3. Ogólne rodzaje szybkiego projektowania (44)
  • 2.4. Który wymiar ma największe znaczenie? (46)
  • 2.5. Alternatywna strategia szybkiego projektowania (48)
  • Literatura uzupełniająca (53)

Rozdział 3. Klasyczne błędy (55)

  • 3.1. Przykład popełniania klasycznych błędów (55)
  • 3.2. Wpływ błędów na harmonogram projektowania (62)
  • 3.3. Lista klasycznych błędów (63)
  • 3.4. Ucieczka z "wyspy Gilligana" (73)
  • Literatura uzupełniająca (75)

Rozdział 4. Podstawy projektowania (77)

  • 4.1. Podstawy zarządzania (80)
  • 4.2. Podstawy techniczne (85)
  • 4.3. Podstawy kontroli jakości (93)
  • 4.4. Postępowanie zgodne z instrukcjami (101)
  • Literatura uzupełniająca (102)

Rozdział 5. Zarządzanie ryzykiem (103)

  • 5.1. Elementy zarządzania ryzykiem (105)
  • 5.2. Identyfikacja ryzyka (107)
  • 5.3. Analiza ryzyka (112)
  • 5.4. Priorytetyzacja ryzyka (115)
  • 5.5. Kontrola ryzyka (117)
  • 5.6. Ryzyko, wysokie ryzyko i "loteria" (122)
  • Literatura uzupełniająca (125)

CZĘŚĆ II. SZYBKIE PROJEKTOWANIE (127)

Rozdział 6. Główne problemy dotyczące szybkiego projektowania (129)

  • 6.1. Czy jeden rozmiar może być uniwersalny? (129)
  • 6.2. Jaki rodzaj szybkiego projektowania jest Ci potrzebny? (131)
  • 6.3. Szanse na ukończenie projektu w terminie (136)
  • 6.4. Postrzeganie a rzeczywistość (138)
  • 6.5. Tam, dokąd płynie wolno czas (140)
  • 6.6. Kompromisy w strategii szybkiego projektowania (144)
  • 6.7. Typowy schemat usprawniania harmonogramu (146)
  • 6.8. Droga ku szybkiemu projektowaniu (148)
  • Literatura uzupełniająca (149)

Rozdział 7. Planowanie cyklu życia (151)

  • 7.1. Klasyczny model kaskadowy (153)
  • 7.2. Nieprzemyślane pisanie kodu (157)
  • 7.3. Model spiralny (158)
  • 7.4. Zmodyfikowane modele kaskadowe (160)
  • 7.5. Prototypowanie ewolucyjne (163)
  • 7.6. Wieloetapowe dostarczanie produktu (164)
  • 7.7. Wytwarzanie dopasowane do harmonogramu (165)
  • 7.8. Ewolucyjne dostarczanie produktu (167)
  • 7.9. Wytwarzanie dopasowane do narzędzi (168)
  • 7.10. Oprogramowanie komercyjne (169)
  • 7.11. Wybór najszybszego cyklu życia dla Twojego projektu (170)
  • Literatura uzupełniająca (177)

Rozdział 8. Szacowanie (179)

  • 8.1. Opowieść o szacowaniu (181)
  • 8.2. Zarys procesu szacowania (188)
  • 8.3. Szacowanie rozmiaru (189)
  • 8.4. Szacowanie wysiłku (196)
  • 8.5. Szacowanie harmonogramu (197)
  • 8.6. Orientacyjne szacowanie harmonogramu (199)
  • 8.7. Zawężanie oszacowań (210)
  • Literatura uzupełniająca (216)

Rozdział 9. Sporządzanie harmonogramu (219)

  • 9.1. Tworzenie zbyt optymistycznych harmonogramów (221)
  • 9.2. Harmonogram pod presją (233)
  • Literatura uzupełniająca (243)

Rozdział 10. Projektowanie zorientowane na klienta (245)

  • 10.1. Wpływ klienta na strategię szybkiego projektowania (248)
  • 10.2. Rozwiązania zorientowane na klienta (250)
  • 10.3. Zarządzanie oczekiwaniami klienta (254)
  • Literatura uzupełniająca (257)

Rozdział 11. Motywacja (259)

  • 11.1. Typowe motywacje projektanta (261)
  • 11.2. Stosowanie pięciu najważniejszych czynników motywujących (264)
  • 11.3. Korzystanie z pozostałych czynników motywujących (270)
  • 11.4. Czynniki niszczące morale (273)
  • Literatura uzupełniająca (279)

Rozdział 12. Praca zespołowa (281)

  • 12.1. Zastosowania pracy zespołowej w inżynierii oprogramowania (283)
  • 12.2. Znaczenie pracy zespołowej w strategii szybkiego projektowania (284)
  • 12.3. Utworzenie wydajnego zespołu (286)
  • 12.4. Dlaczego zespoły zawodzą? (295)
  • 12.5. Długoterminowe budowanie zespołu (298)
  • 12.6. Wskazówki dotyczące budowania zespołu (300)
  • Literatura uzupełniająca (301)

Rozdział 13. Struktura zespołu (303)

  • 13.1. Czynniki wpływające na strukturę zespołu (305)
  • 13.2. Modele zespołów (308)
  • 13.3. Kierownicy a liderzy techniczni (317)
  • Literatura uzupełniająca (320)

Rozdział 14. Regulowanie zestawu funkcji (323)

  • 14.1. Początek projektu: redukcja zestawu funkcji (325)
  • 14.2. Środek projektu: kontrola przerostu funkcjonalności (334)
  • 14.3. Koniec projektu: usuwanie funkcji (343)
  • Literatura uzupełniająca (345)

Rozdział 15. Narzędzia zwiększające produktywność (347)

  • 15.1. Rola narzędzi zwiększających produktywność w strategii szybkiego projektowania (349)
  • 15.2. Strategia wykorzystywania narzędzi zwiększających produktywność (353)
  • 15.3. Nabywanie narzędzi zwiększających produktywność (355)
  • 15.4. Stosowanie narzędzi zwiększających produktywność (359)
  • 15.5. Syndrom "srebrnej kuli" (364)
  • Literatura uzupełniająca (369)

Rozdział 16. Ratowanie projektu (371)

  • 16.1. Sposoby ratowania projektu (373)
  • 16.2. Plan ratowania projektu (375)
  • Literatura uzupełniająca (387)

CZĘŚĆ III. SPRAWDZONE ROZWIĄZANIA (389)

Rozdział 17. Komisja zatwierdzająca zmiany (403)

Rozdział 18. Codzienne kompilacje i testy dymowe (405)

  • 18.1. Stosowanie codziennych kompilacji i testów dymowych (407)
  • 18.2. Zarządzanie ryzykiem w procesie codziennych kompilacji i testów dymowych (412)
  • 18.3. Skutki uboczne korzystania z codziennych kompilacji i testów dymowych (412)
  • 18.4. Oddziaływanie codziennych kompilacji i testów dymowych z innymi metodami (413)
  • 18.5. Konkluzje (413)
  • 18.6. Czynniki decydujące o skutecznym stosowaniu codziennych kompilacji i testów dymowych (414)
  • Literatura uzupełniająca (414)

Rozdział 19. Przygotowanie architektury nastawione na zmianę (415)

  • 19.1. Stosowanie opisywanej metody (416)
  • 19.2. Zarządzanie ryzykiem podczas przygotowywania architektury nastawionego na zmianę (421)
  • 19.3. Skutki uboczne przygotowania architektury nastawionego na zmianę (422)
  • 19.4. Oddziaływanie przygotowania architektury nastawionego na zmianę z innymi metodami (422)
  • 19.5. Konkluzje (422)
  • 19.6. Czynniki decydujące o skutecznym stosowaniu przygotowania architektury nastawionego na zmianę (423)
  • Literatura uzupełniająca (423)

Rozdział 20. Ewolucyjne dostarczanie produktu (425)

  • 20.1. Stosowanie ewolucyjnego dostarczania produktu (427)
  • 20.2. Zarządzanie ryzykiem w modelu ewolucyjnego dostarczania produktu (429)
  • 20.3. Skutki uboczne ewolucyjnego dostarczania produktu (430)
  • 20.4. Oddziaływanie ewolucyjnego dostarczania produktu z innymi metodami (431)
  • 20.5. Konkluzje (431)
  • 20.6. Czynniki decydujące o skutecznym stosowaniu ewolucyjnego dostarczania produktu (432)
  • Literatura uzupełniająca (432)

Rozdział 21. Prototypowanie ewolucyjne (433)

  • 21.1. Stosowanie prototypowania ewolucyjnego (434)
  • 21.2. Zarządzanie ryzykiem w prototypowaniu ewolucyjnym (435)
  • 21.3. Skutki uboczne prototypowania ewolucyjnego (440)
  • 21.4. Oddziaływanie prototypowania ewolucyjnego z innymi metodami (440)
  • 21.5. Konkluzje (441)
  • 21.6. Czynniki decydujące o skutecznym stosowaniu prototypowania ewolucyjnego (441)
  • Literatura uzupełniająca (442)

Rozdział 22. Ustanawianie celu (443)

Rozdział 23. Inspekcje (445)

Rozdział 24. Sesje JAD (447)

  • 24.1. Stosowanie metodologii JAD (448)
  • 24.2. Zarządzanie ryzykiem w metodologii JAD (456)
  • 24.3. Skutki uboczne stosowania sesji JAD (457)
  • 24.4. Oddziaływania metodologii JAD z innymi rozwiązaniami (458)
  • 24.5. Konkluzje (458)
  • 25.6. Czynniki decydujące o skutecznym stosowaniu metodologii JAD (459)
  • Literatura uzupełniająca (459)

Rozdział 25. Wybór modelu cyklu życia (461)

Rozdział 26. Pomiary (463)

  • 26.1. Stosowanie pomiarów (464)
  • 26.2. Zarządzanie ryzykiem w pomiarach (471)
  • 26.3. Skutki uboczne stosowania pomiarów (473)
  • 26.4. Oddziaływanie pomiarów z innymi metodami (473)
  • 26.5. Konkluzje (473)
  • 26.6. Czynniki decydujące o skutecznym stosowaniu pomiarów (474)
  • Literatura uzupełniająca (474)

Rozdział 27. Rozbijanie celów na podetapy (477)

  • 27.1. Stosowanie metody rozbijania celów na podetapy (480)
  • 27.2. Zarządzanie ryzykiem podczas rozbijania celów na podetapy (483)
  • 27.3. Skutki uboczne rozbijania celów na podetapy (483)
  • 27.4. Oddziaływanie rozbijania celów na podetapy z innymi metodami (483)
  • 27.5. Konkluzje (484)
  • 27.6. Czynniki decydujące o skutecznym rozbijaniu celów na podetapy (485)
  • Literatura uzupełniająca (485)

Rozdział 28. Zewnętrzni podwykonawcy (487)

  • 28.1. Wykorzystywanie zewnętrznych podwykonawców (489)
  • 28.2. Zarządzanie ryzykiem związanym z zewnętrznymi podwykonawcami (495)
  • 28.3. Skutki uboczne zatrudniania zewnętrznych podwykonawców (496)
  • 28.4. Zatrudnianie zewnętrznych podwykonawców a inne metody (496)
  • 28.5. Konkluzje (497)
  • 28.6. Czynniki decydujące o skuteczności omawianej metody (497)
  • Literatura uzupełniająca (497)

Rozdział 29. Negocjacje zgodne z zasadami (499)

Rozdział 30. Środowisko pracy (501)

  • 30.1. Zastosowania produktywnego środowiska pracy (503)
  • 30.2. Zarządzanie ryzykiem w produktywnym środowisku pracy (505)
  • 30.3. Skutki uboczne wprowadzenia produktywnego środowiska pracy (506)
  • 30.4. Oddziaływania środowiska pracy z innymi metodami (507)
  • 30.5. Konkluzje (507)
  • 30.6. Czynniki decydujące o skutecznym wdrożeniu produktywnego środowiska pracy (508)
  • Literatura uzupełniająca (508)

Rozdział 31. Języki szybkiego projektowania (RDL) (509)

  • 31.1. Stosowanie języków RDL (513)
  • 31.2. Zarządzanie ryzykiem podczas stosowania języków RDL (513)
  • 31.3. Skutki uboczne stosowania języków RDL (515)
  • 31.4. Oddziaływanie języków RDL z innymi rozwiązaniami (515)
  • 31.5. Konkluzje (516)
  • 31.6. Czynniki decydujące o skutecznym stosowaniu języków RDL (516)
  • Literatura uzupełniająca (517)

Rozdział 32. Przesiewanie wymagań (519)

Rozdział 33. Wielokrotne wykorzystywanie zasobów (521)

  • 33.1. Stosowanie wielokrotnego wykorzystywania zasobów (522)
  • 33.2. Zarządzanie ryzykiem podczas wielokrotnego wykorzystywania zasobów (529)
  • 33.3. Skutki uboczne wielokrotnego wykorzystywania zasobów (530)
  • 33.4. Oddziaływanie wielokrotnego wykorzystywania zasobów z innymi metodami (530)
  • 33.5. Konkluzje (531)
  • 33.6. Czynniki decydujące o skutecznym, wielokrotnym wykorzystywaniu zasobów (531)
  • Literatura uzupełniająca (532)

Rozdział 34. Wspólny cel (533)

  • 34.1. Stosowanie wspólnego celu (534)
  • 34.2. Zarządzanie ryzykiem podczas ustanawiania wspólnego celu (536)
  • 34.3. Skutki uboczne wspólnego celu (538)
  • 34.4. Oddziaływanie wspólnego celu z innymi metodami (538)
  • 34.5. Konkluzje (538)
  • 34.6. Czynniki decydujące o sukcesie wspólnego celu (539)
  • Literatura uzupełniająca (539)

Rozdział 35. Spiralny model cyklu życia (541)

Rozdział 36. Wieloetapowe dostarczanie produktu (543)

  • 36.1. Stosowanie wieloetapowego dostarczania produktu (546)
  • 36.2. Zarządzanie ryzykiem w wieloetapowym dostarczaniu produktu (549)
  • 36.3. Skutki uboczne wieloetapowego dostarczania produktu (550)
  • 36.4. Oddziaływanie wieloetapowego dostarczania produktu z innymi metodami (550)
  • 36.5. Konkluzje (551)
  • 36.6. Czynniki decydujące o skutecznym korzystaniu z wieloetapowego dostarczania produktu (552)
  • Literatura uzupełniająca (552)

Rozdział 37. Zarządzanie zgodne z teorią W (553)

  • 37.1. Stosowanie zarządzania zgodnego z teorią W (555)
  • 37.2. Zarządzanie ryzykiem w teorii W (560)
  • 37.3. Skutki uboczne zarządzania zgodnego z teorią W (561)
  • 37.4. Oddziaływanie teorii W z innymi metodami (561)
  • 37.5. Konkluzje (561)
  • 37.6. Czynniki decydujące o właściwym zarządzaniu zgodnym z teorią W (562)
  • Literatura uzupełniająca (562)

Rozdział 38. Prototypowanie z odrzuceniem (563)

  • 38.1. Stosowanie prototypowania z odrzuceniem (564)
  • 38.2. Zarządzanie ryzykiem w prototypowaniu z odrzuceniem (565)
  • 38.3. Skutki uboczne stosowania prototypowania z odrzuceniem (566)
  • 38.4. Oddziaływanie prototypowania z odrzuceniem z innymi metodami (566)
  • 38.5. Konkluzje (566)
  • 38.6. Czynniki decydujące o skutecznym stosowaniu prototypowania z odrzuceniem (567)
  • Literatura uzupełniająca (567)

Rozdział 39. Projektowanie metodą okienek czasowych (569)

  • 39.1. Stosowanie projektowania metodą okienek czasowych (571)
  • 39.2. Zarządzanie ryzykiem w projektowaniu metodą okienek czasowych (574)
  • 39.3. Skutki uboczne stosowania metody okienek czasowych (575)
  • 39.4. Oddziaływanie projektowania metodą okienek czasowych z innymi rozwiązaniami (575)
  • 39.5. Konkluzje (576)
  • 39.6. Czynniki decydujące o skutecznym projektowaniu metodą okienek czasowych (576)
  • Literatura uzupełniająca (577)

Rozdział 40. Zespół narzędziowy (579)

Rozdział 41. Lista 10 największych zagrożeń (581)

Rozdział 42. Prototypowanie interfejsu użytkownika (583)

  • 42.1. Stosowanie prototypowania interfejsu użytkownika (585)
  • 42.2. Zarządzanie ryzykiem w prototypowaniu interfejsu użytkownika (588)
  • 42.3. Skutki uboczne prototypowania interfejsu użytkownika (589)
  • 42.4. Oddziaływanie prototypowania interfejsu użytkownika z innymi rozwiązaniami (590)
  • 42.5. Konkluzje (590)
  • 42.6. Czynniki decydujące o skutecznym prototypowaniu interfejsu użytkownika (590)
  • Literatura uzupełniająca (591)

Rozdział 43. Dobrowolna praca w nadgodzinach (593)

  • 43.1. Stosowanie pracy w dobrowolnych nadgodzinach (594)
  • 43.2. Zarządzanie ryzykiem przy dobrowolnej pracy w nadgodzinach (599)
  • 43.3. Skutki uboczne dobrowolnej pracy w nadgodzinach (600)
  • 43.4. Oddziaływanie dobrowolnej pracy w nadgodzinach z innymi rozwiązaniami (600)
  • 43.5. Konkluzje (600)
  • 43.6. Czynniki decydujące o skutecznym wdrożeniu dobrowolnej pracy w nadgodzinach (601)
  • Literatura uzupełniająca (601)

Bibliografia (603)

Skorowidz (617)

  • Title: Szybkie projektowanie. Zapanuj nad chaosem zadań i presją czasu
  • Author: Steve McConnell
  • Original title: Rapid Development: Taming Wild Software Schedules
  • Translation: Krzysztof Sawka
  • ISBN: 978-83-283-3271-3, 9788328332713
  • Date of issue: 2017-06-30
  • Format: Ebook
  • Item ID: szypro
  • Publisher: Helion