Pięć problemów modeli wytwarzania oprogramowania

Pięć problemów modeli wytwarzania oprogramowania
Samo tworzenie oprogramowania jest procesem złożonym proporcjonalnie do złożoności tworzonego produktu. Generuje to pewne problemy, ale mają one również swoje popularne rozwiązania.

Problem:

  1. Niewystarczająco zdefiniowane wymagania – jeśli wymagania są niejasne, niekompletne, zbyt ogólne lub nietestowalne, na pewno pojawią się problemy.
  2. Nierealistyczny time plan projektu – zbyt wiele pracy zaplanowanej w zbyt krótkich przedziałach czasu.
  3. Niewystarczająca ilość testów – nikt nie wie jakiej jakości jest system, dopóki klient nie zacznie zgłaszać problemów.
  4. Zmiany po zatwierdzeniu specyfikacji – mała z punktu widzenia klienta zmiana, może oznaczać zmianę koncepcji działania całego systemu. To oznacza dodatkową pracę, koszty oraz konieczność przeplanowania zadań.
  5. Brak komunikacji – jeśli programiści nie wiedzą czego oczekuje klient (np. z powodu braku wymagań) lub klient zmienia wymagania w trakcie trwania projektu, czas zaplanowany na kodowanie, testowanie jest przeznaczany na wyjaśnianie.

Rozwiązanie:

  1. Zdefiniowane wymagania – jasne, kompletne, szczegółowe, spójne logicznie oraz testowalne wymagania, które zostały zaakceptowane przez wszystkie strony. W projektach prowadzonych wg metodyk lekkich niezbędna jest ciągła koordynacja  wymagań z udziałem klienta.
  2. Realistyczne estymacje czasu – zapewnienie odpowiedniej ilości czasu na planowanie testów, tworzenie przypadków testowych, testowanie, poprawę i retesty błędów, zmiany (change requests), raporty i dokumentację - zarówno tworzenie jak i czytanie. Zespół powinien mieć szansę na ukończenie projektu bez efektu wypalenia się.
  3. Testowanie w odpowiednim momencie – rozpoczęcie testów na wczesnym etapie SDLC, retesty po poprawie błędów, testy regresywne po zmianach w bieżącej wersji systemu.
  4. Trzymanie się zdefiniowanych wymagań – kiedy ruszy kodowanie, pojawią się zmiany, które zazwyczaj oznaczają dodatkową pracę w ustalonym na początku zakresie godzin. Dobrą praktyką jest komunikowanie konsekwencji takich zmian i jeśli są one niezbędne - reestymacja czasu na testy.
  5. Komunikacja – tam, gdzie ma to sens, pomagają przeglądy i inspekcje. Narzędzia do pracy grupowej: email, repozytorium błędów i dokumentacji. Wersjonowanie. Aktualne wersje dokumentów projektowych. Oraz najważniejsze – bezpośredni kontakt członków zespołu.

Powyższy artykuł jest przedrukiem z wygasłego bloga testerskiego testowanie.net.
 

Źródła:
https://web.archive.org/web/20170728112450/http://www.testowanie.net/testowanie/piec-problemow-wystepujacych-w-sdlc

To powinno Cię zainteresować