Rozwój prędkości Internetu

Internet-Speed ​​Development to zwinna metoda rozwoju oprogramowania wykorzystująca połączony model spiralny / model kaskadowy z codziennymi kompilacjami mającymi na celu opracowanie produktu o dużej szybkości.

Został opracowany pod koniec lat dziewięćdziesiątych, ponieważ rozwój oprogramowania szybko się zmieniał. Firmy miały problemy z dostarczaniem produktów o odpowiednich wymaganiach w czasie przewidzianym na projekt i jako takie przechodziły na bardziej zwinne metody wytwarzania oprogramowania. Więcej szczegółów na temat tego, jak opracowano metodę prędkości Internetu, można zobaczyć na mapie ewolucyjnej w artykule Abrahamssona.

Główne idee stojące za rozwojem prędkości Internetu

Często jednym z największych problemów w inżynierii oprogramowania jest to, że wymagania szybko się zmieniają, a metoda rozwoju prędkości internetu została stworzona, aby dostosować się do tej sytuacji. Pomysł polega na połączeniu dwóch głównych standardów w modelach inżynierii oprogramowania, a mianowicie modelu spiralnego i modelu kaskadowego w nowy model i oparcie nowej metody inżynierii oprogramowania na tym nowym modelu. Główną wadą modelu kaskadowego było to, że był on bardzo sztywny i mało elastyczny, jeśli chodzi o zmiany wymagań, natomiast wadą modelu spiralnego było to, że był mało ustrukturyzowany. Ideą rozwoju prędkości Internetu jest to, że połączenie tych modeli da w rezultacie metodę, która nie ma tych wad i jest lepszą metodą do wykorzystania w sytuacjach, w których wymagania mogą się szybko zmieniać, ale projekt musi być realizowany w ustrukturyzowany sposób sposób.

Cel metody

Celem metody rozwoju prędkości Internetu jest umożliwienie programistom wykonania projektu w ustrukturyzowany sposób, ale nadal możliwość dostosowania się do potrzeb klienta. Ma na celu dostarczenie oprogramowania w krótkim czasie poprzez intensywny rozwój. Metoda zapewnia środki do dostarczenia w pełni wdrożonego systemu, a także umożliwia określanie postępu w projekcie za pomocą kamieni milowych. Jedna z głównych wersji tej metody jest tworzona przez firmę Microsoft i nosi nazwę Microsoft Solutions Framework.

Koncepcje metody rozwoju prędkości Internetu

Pierwszą koncepcją, która jest bardzo ważna dla rozwoju szybkości Internetu, jest stworzenie wizji i zakresu (zarządzanie projektami) . Oznacza to, że na początku projektu tworzona jest globalna definicja systemu, która wyjaśnia, czym ma być system i co mieści się w zakresie, a co nie. Jest to jeden z podstawowych kroków, ponieważ daje programistom pewne wytyczne co do tego, jaki będzie system bez zamrażania jakichkolwiek wymagań. Zakres można udokumentować w deklaracji wizji .

Kolejnym bardzo ważnym pojęciem w ramach tej metody jest zarządzanie zakresem. Zakres musi być zarządzany przez cały projekt, aby zapobiec pełzaniu zakresu , co skutkuje opóźnieniami. Zakres zostanie określony wcześnie, a zmiany w zakresie (takie jak dodanie dodatkowych funkcji, które początkowo były rozważane poza zakresem projektu) zostaną ocenione i zaakceptowane lub odrzucone. Można wprowadzić zmiany w zakresie, ale zawsze będzie to miało wpływ na kompromisy między funkcjami, zasobami i czasem.

Metoda rozwoju prędkości Internetu bardzo różni się od tradycyjnych metod i dlatego wykorzystuje zasady metody Agile. Koncentruje się na dostosowaniu do wymagań i jako taki opiera się na podstawowych zasadach zwinnego wytwarzania oprogramowania.

Rozwój szybkości Internetu koncentruje się również na użyciu jednej stałej architektury ramowej, z której zbudowany jest produkt, i w dużej mierze opiera się na narzędziach zwiększających szybkość programowania.

Inną podstawową koncepcją rozwoju prędkości Internetu jest to, że koncentruje się również na wykorzystaniu małych zespołów. Chodzi o to, aby wszystkie projekty można było podzielić na mniejsze działania, które często można wykonywać równolegle. Mniejsze zespoły często mogą być bardziej skoncentrowane na swoim zadaniu i łatwiej jest określić odpowiedzialność i monitorować postępy w projekcie.

Ostatnią koncepcją omówioną w tym wpisie dotyczącą rozwoju szybkości Internetu jest koncepcja rozwoju równoległego. Ta koncepcja zasadniczo oznacza, że ​​cały rozwój oprogramowania odbywa się równolegle tak często, jak to możliwe. Pozwoli to na bardzo szybki rozwój i pozwoli mniejszym zespołom maksymalnie skupić się na własnej funkcji, co przekłada się na jakość. Aby jednak mniejsze zespoły współpracowały przy tworzeniu ostatecznego systemu, konieczna jest jednak częsta synchronizacja ich rozwoju. Można to zrobić za pomocą codziennych kompilacji co oznacza, że ​​wszyscy programiści sprawdzają swój kod na koniec dnia, po czym tworzona jest kompilacja, którą można następnie ocenić i przetestować w celu monitorowania postępów. Po ukończeniu funkcji w kompilacji należy ją przetestować i udoskonalić, co jest czasami nazywane procesem synchronizacji i stabilizacji. Opracowane funkcje są synchronizowane z kompilacją i testowane. Po tych testach wszelkie błędy zostaną poprawione, a funkcja może zostać dopracowana, aby działała lepiej (co jest częścią stabilizacji).

Rozwój szybkości Internetu opiera się na zasadach zwinnych i jako taki ma wiele podobieństw z Extreme Programming , Rational Unified Process , DSDM i Feature Driven Development . Rozwój prędkości Internetu różni się jednak od tych metod, ponieważ obejmuje również bardziej rozbudowane planowanie zarządzania ryzykiem, a jakość jest bardzo ważnym celem projektu. Faza rozwoju szybkości Internetu również wykazuje pewne podobieństwa z oprogramowaniem typu open source model rozwoju, ponieważ wielu programistów na całym świecie może być częścią procesu rozwoju ze względu na komunikację przez Internet i wykorzystanie repozytoriów do przechowywania kodu i dokumentacji.

Fazy ​​​​rozwoju prędkości Internetu

PhaseModel.jpg Model stojący za tą metodą wygląda następująco: Rysunek 1: Model fazowy Ten model przedstawia pięć podstawowych faz metody. Fazy ​​te zostaną wyjaśnione w kolejnych częściach tego wpisu. Fazy ​​to: przewidywanie, planowanie, rozwój, stabilizacja i wdrażanie. Po zakończeniu tego cyklu wersja systemu jest gotowa i rozpoczyna się nowy cykl tworzenia nowej wersji. Fazy ​​​​są wyjaśnione w poniższych sekcjach i pokazane za pomocą metamodelowania . Więcej szczegółów na temat wielości i koncepcji w kontekście projektu można zobaczyć później w ogólnym modelu danych.

Faza wyobrażenia

Faza wyobrażania może być modelowana w następujący sposób:Envisioning.jpg

Rysunek 2: Model procesu/danych w fazie wyobrażania

Działalność Definicja (źródło)
Analizuj wymagania W fazie przewidywania należy zidentyfikować i przeanalizować wymagania biznesowe.

„Są one dopracowywane bardziej rygorystycznie na etapie planowania”. (Model procesu MSF)

Zdefiniuj cele i ograniczenia „Wyobraź sobie, tworząc ogólny pogląd na cele i ograniczenia projektu”.

(Model procesu MSF)

Forma zespołu Tworzenie zespołu podstawowego.
Stwórz wizję/zakres „Przygotowanie i dostarczenie dokumentu wizji/zakresu.”

(Model procesu MSF)

Utwórz ocenę ryzyka „W fazie przewidywania zespół przygotowuje dokument ryzyka i przedstawia najważniejsze ryzyka”.

(Model procesu MSF)

Tabela 1: Wyobrażanie sobie działań

Podstawowe czynności wykonywane w fazie przewidywania to analiza wymagań, formowanie zespołu do projektu, określenie ryzyk i zakresu projektu. Na podstawie wymagań i celów projektu tworzony jest dokument Wizja/Zakres. Niniejszy dokument opisuje, jaki ma być produkt w momencie dostawy. Nie zawiera bardzo szczegółowych funkcjonalności produktu.

Pojęcie Definicja (źródło)
DOKUMENT WIZJI/ZAKRESU „Dokument określający wizję i zakres”.

(Model procesu MSF)

WIZJA Wizja to nieograniczony pogląd na to, jakie może być rozwiązanie”.

(Model procesu MSF)

ZAKRES Zakres identyfikuje te części wizji, które można zrealizować w ramach ograniczeń projektu”.

(Model procesu MSF)

DOKUMENT OCENY RYZYKA „Standardowy dokument do oceny ryzyka”

(dyscyplina zarządzania ryzykiem MSF)

LISTA PRIORYTETOWYCH RYZYK „Szczegółowe informacje o ryzyku, w tym stan projektu, kontekst, przyczyna źródłowa oraz wskaźniki stosowane do ustalania priorytetów (prawdopodobieństwo, wpływ, ekspozycja) są często rejestrowane dla każdego ryzyka w formularzu zestawienia ryzyka”.

(dyscyplina zarządzania ryzykiem MSF)

PLANOWANIE RYZYKA „Przełożenie listy priorytetowych ryzyk na plany działania.”

(dyscyplina zarządzania ryzykiem MSF)

DOKUMENT STRUKTURY PROJEKTU „Dokument struktury projektu zawiera informacje o tym, jak zorganizowany jest zespół, kto pełni jakie role i ma określone obowiązki. Dokument dotyczący struktury projektu wyjaśnia również łańcuch odpowiedzialności wobec klienta oraz wyznaczone punkty kontaktowe zespołu projektowego z klientem. Mogą się one różnić w zależności od okoliczności projektu”.

(Model procesu MSF)

ORGANIZACJA ZESPOŁU „Informacje o organizacji zespołu.”

(Model procesu MSF)

PUNKTY KONTAKTOWE „Wyznaczone punkty styku, jakie zespół projektowy posiada z klientem.”

(Model procesu MSF)

ROLE W ZESPOLE „Określenie, kto odgrywa jakie role i ma określone obowiązki”.

(Model procesu MSF)

Tabela 2: Koncepcje w fazie wyobrażania

Faza planowania

Internet-speed development planning phase.jpg Rysunek 3: Model procesu/danych fazy planowania

Działalność Definicja (źródło)
Zdefiniuj wymagania Na wczesnym etapie planowania zespół analizuje i dokumentuje

wymagania na liście lub narzędziu. Wymagania dzielą się na cztery szerokie kategorie: wymagania biznesowe, wymagania użytkowników, wymagania operacyjne i wymagania systemowe (dotyczące samego rozwiązania).

(Model procesu MSF)

Śledź wymagania do funkcji „Gdy zespół przechodzi do projektowania rozwiązania i tworzenia specyfikacji funkcjonalnych, ważne jest, aby zachować identyfikowalność między wymaganiami a funkcjami. Identyfikowalność nie musi opierać się na zasadzie jeden do jednego. Zachowanie identyfikowalności jest jednym ze sposobów sprawdzenia poprawności projektu i sprawdzenia, czy projekt spełnia cele i wymagania rozwiązania”.

(Model procesu MSF

Zdefiniuj specyfikację funkcjonalną „Zespół przygotowuje specyfikację funkcjonalną.”

(Model procesu MSF

Utwórz Planowanie Oszacuj ryzyko Zespół tworzy oszacowanie ryzyka.
Oszacuj koszty Zespół tworzy kosztorys.
Twórz plany pracy Zespół tworzy plany pracy.
Twórz harmonogramy Zespół tworzy harmonogramy.
Utwórz projekt Utwórz model przypadków użycia „Zaczyna się to od systematycznej analizy profili użytkowników

(zwane także „personami”), które opisują różne typy użytkowników i ich funkcje służbowe (użytkownikami są także pracownicy operacyjni). Wiele z nich często odbywa się w fazie wyobrażania sobie. Są one podzielone na szereg scenariuszy użytkowania , w których określony typ użytkownika próbuje wykonać określoną czynność, taką jak rejestracja recepcji w hotelu lub administrowanie hasłami użytkowników dla administratora systemu. Wreszcie, każdy scenariusz użycia jest podzielony na określoną sekwencję zadań, zwaną przypadkami użycia , które użytkownik wykonuje, aby ukończyć tę czynność. Nazywa się to „storyboardingiem”.

(Model procesu MSF

Stwórz projekt koncepcyjny Stworzenie projektu koncepcyjnego.
Stwórz projekt logiczny Tworzenie logicznego projektu.
Utwórz projekt fizyczny Stworzenie projektu fizycznego.
Twórz architekturę Tworzenie architektury produktu.

Tabela 3: Działania planistyczne W fazie planowania na podstawie wymagań tworzona jest specyfikacja funkcjonalna. Wybrane funkcje są uwzględnione w tej specyfikacji ( dla funkcji często stosowana jest metoda MoSCoW , aby łatwiej można było nadać im priorytet). W tej fazie tworzony jest również podstawowy projekt i planowanie. Projekt jednak w tej fazie nie jest zamrożony, ponieważ w fazie rozwoju mogą zostać wprowadzone zmiany.

Pojęcie Definicja (źródło)
LISTA WYMAGAŃ Dokumentacja

wymagań na liście lub narzędziu”.

(Model procesu MSF

RYZYKOWNY PLAN ZARZĄDZANIA

Dokument

o tym, jak zespół planuje wdrożyć proces zarządzania ryzykiem w kontekście projektu.”

(dyscyplina zarządzania ryzykiem MSF)

GŁÓWNY PLAN PROJEKTU Wszystko

plany są synchronizowane i prezentowane razem jako główny plan projektu.”

(Model procesu MSF

PLANY PRACY Plan lub plany dotyczące rezultatów, które odnoszą się do roli i

uczestniczy w sesjach planowania zespołu”.

(Model procesu MSF

KOSZTORYSY Oszacowanie kosztów projektu.
HARMONOGRAM Szacunkowe terminy i harmonogramy dla Elementów Dostarczanych”.

(Model procesu MSF

HARMONOGRAM PROJEKTU GŁÓWNEGO The

różne harmonogramy są następnie synchronizowane i integrowane w głównym harmonogramie projektu”.

(Model procesu MSF

SPECYFIKACJA FUNKCJONALNA The

Specyfikacja funkcjonalna szczegółowo opisuje jak każda cecha ma wyglądać i zachowywać się. Opisuje również architekturę i projekt wszystkich funkcji”.

(Model procesu MSF

Tabela 4: Koncepcje w fazie planowania

Faza rozwoju

Developing.jpg Rysunek 4: Faza opracowywania modelu procesu/danych

Działalność Definicja (źródło)
Rozwijaj funkcje Budowa komponentów rozwiązania (dokumentacja jak i kod).”

(Model procesu MSF) Obejmuje również testowanie po codziennej kompilacji, naprawianie błędów i ocenę funkcji.

Twórz codzienną kompilację Tworzenie kompilacji po dniu roboczym.
Sfinalizuj zakres Na tym etapie wszystkie funkcje są kompletne, a rozwiązanie jest gotowe do zewnętrznych testów i stabilizacji”.

(Model procesu MSF)

Rozwijaj infrastrukturę Infrastruktura jest rozwinięta.”

(Model procesu MSF)

Tabela 5: Działania rozwijające Najważniejszą czynnością w fazie opracowywania jest rozwój funkcji. Oprócz implementacji tych funkcji, w tej fazie finalizowany jest również zakres. Podczas opracowywania do produktu mogą być dodawane nowe funkcje, ale po sfinalizowaniu zakresu funkcje zostają zamrożone i gotowe do testowania i stabilizacji. W tej fazie rozwijana jest również infrastruktura, co oznacza identyfikację struktur sieciowych i zdefiniowanie serwerów, takich jak np. serwer bazy danych.

Pojęcie Definicja (źródło)
SKRYPTY INSTALACJI I USTAWIENIA KONFIGURACJI DO WDROŻENIA Zbiór skryptów i ustawień potrzebnych do zainstalowania/uruchomienia produktu.
SKRYPTY INSTALACJI Skrypty potrzebne do zainstalowania produktu.
USTAWIENIA KONFIGURACJI

Właściwości konfiguracyjne produktu.

ELEMENTY WSPIERAJĄCE WYDAJNOŚĆ Elementy wspierające działanie produktu (dodatkowe bazy danych, serwery itp.).
SPECYFIKACJE TESTOWE I PRZYPADKI TESTOWE Specyfikacja testów i przypadków testowych stosowanych do walidacji produktu.
SPECYFIKACJA FUNKCJONALNA Specyfikacja funkcjonalna szczegółowo opisuje, jak każda cecha ma wyglądać i zachowywać się. Opisuje również architekturę i projekt wszystkich funkcji”.

(Model procesu MSF)

KOD ŹRÓDŁOWY I PLIKI WYKONAWCZE Kombinacja kodu źródłowego/plików wykonywalnych.
KOD ŹRÓDŁOWY Kod źródłowy produktu.
WYKONYWALNE Plik wykonywalny utworzony przez kod źródłowy.

Tabela 5: Koncepcje w fazie rozwoju

faza stabilizacji

Stabilizing.jpg Rysunek 5: Proces fazy stabilizacji/model danych

Działalność Definicja (źródło)
Testowanie Testy w tej fazie kładą nacisk na użytkowanie i działanie w realistycznych warunkach środowiskowych.“

(Model procesu MSF)

Rozwiąż błędy Zespół koncentruje się na rozwiązywaniu i segregowaniu (nadawanie priorytetów) błędom oraz przygotowywaniu rozwiązania do wydania”.

(Model procesu MSF)

Wdróż pilota Gdy kompilacja zostanie uznana za wystarczająco stabilną, aby mogła być kandydatem do wydania, rozwiązanie jest wdrażane w grupie pilotażowej”.

(Model procesu MSF)

Recenzja Po sprawdzeniu i zatwierdzeniu rozwiązanie jest gotowe do pełnego wdrożenia w środowisku produkcyjnym na żywo”.

(Model procesu MSF)

Tabela 6: Działania stabilizacyjne Główne działania to testowanie i usuwanie błędów. Gdy wersja kompilacji zostanie uznana za wystarczająco stabilną dla pilota, tworzona jest i wdrażana wersja pilotażowa. Z tego pilotażowego albo wróci do pętli testowania/stabilizowania, albo zostanie zatwierdzony i zweryfikowany.

Pojęcie Definicja (źródło)
WYNIKI TESTÓW I NARZĘDZIA TESTOWE Zbiór wyników testów i narzędzi używanych do testowania.
WYNIKI TESTU Wyniki przeprowadzonych testów.
NARZĘDZIA DO TESTOWANIA Narzędzia używane do testowania.
ZŁOTE WYDANIE Wersja używana do ostatecznej recenzji.
INFORMACJE O WYDANIU Uwagi dotyczące wersji wydania.
KOD ŹRÓDŁOWY I WYKONYWALNY Kombinacja kodu źródłowego/plików wykonywalnych.
KOD ŹRÓDŁOWY Kod źródłowy produktu.
WYKONYWALNE Plik wykonywalny utworzony przez kod źródłowy.
PRZEGLĄD KAMIENIA MILOWEGO Przegląd ostatecznej wersji i dokumentów projektowych.
DOKUMENTY PROJEKTOWE Zbieranie wszystkich dokumentów projektowych.

Tabela 7: Koncepcje w fazie stabilizacji

faza rozmieszczenia

Deploying.jpg Rysunek 6: Proces/model danych w fazie wdrażania

Działalność Definicja (źródło)
Wdróż podstawowe składniki Wdrożenie wszystkich komponentów wymaganych przez produkt (takich jak serwery baz danych, serwery poczty itp.)
Wdróż rozwiązanie na miejscu W przypadku systemów dostosowanych do potrzeb wdrożenie produktu odbywa się tutaj (można pominąć w przypadku oprogramowania).
Ustabilizuj wdrożenie Sczepianie, monitorowanie i ulepszanie wdrożonych komponentów.
Przenieś projekt do operacji i wsparcia Przekazanie wszystkich dokumentów i kodu do zespołu operacyjnego i wsparcia.
Uzyskaj ostateczną akceptację od klienta Klient musi zaakceptować, że zespół osiągnął swoje cele, zanim będzie mógł zadeklarować, że rozwiązanie jest w fazie produkcyjnej i zamknąć projekt. Wymaga to stabilnego rozwiązania, a także jasno określonych kryteriów sukcesu. Aby rozwiązanie można było uznać za stabilne, muszą istnieć odpowiednie systemy operacyjne i wspierające”.

(Model procesu MSF)

Przejrzyj projekt Końcowa ocena projektu.

Tabela 8: Działania związane z wdrażaniem Głównym działaniem w fazie wdrażania jest instalacja infrastruktury potrzebnej do uruchomienia produktu (wdrożenie serwerów itp.). Finalizowane są również dokumenty i przekazywane do działu operacji i wsparcia, tworzona jest baza wiedzy oraz weryfikowany jest produkt i projekt przez klienta (jeśli dotyczy) i zespół projektowy.

Pojęcie Definicja (źródło)
PROCEDURY I PROCESY Zbiór procedur i procesów.
PROCEDURY Zbiór procedur, które należy zastosować podczas instalacji i obsługi produktu.
PROCESY Zbiór procesów, które mają być użyte do instalacji i obsługi produktu.
BAZA WIEDZY, RAPORTY, DZIENNIKI Gromadzenie bazy wiedzy, raportów i dzienników.
BAZA WIEDZY Baza wiedzy powiązana z produktem.
RAPORTY Raporty powiązane z produktem.
DZIENNIKI Dzienniki powiązane z produktem.
REPOZYTORIUM DOKUMENTÓW Repozytorium wszystkich dokumentów.
OSTATECZNE WERSJE WSZYSTKICH DOKUMENTÓW PROJEKTOWYCH Ostateczne wersje dokumentów projektowych.
DZIAŁANIE I WSPARCIE SYSTEMÓW INFORMACYJNYCH Systemy używane przez zespoły operacyjne i wsparcia powiązane z produktem.
DANE DOTYCZĄCE SATYSFAKCJI KLIENTÓW/UŻYTKOWNIKÓW Zbieranie danych od klienta/użytkownika o jego zadowoleniu z produktu.
OKREŚLENIE KOLEJNYCH KROKÓW Opis kolejnych kroków, które należy wykonać, aby udoskonalić produkt.
RAPORT Z ZAKOŃCZENIA PROJEKTU

Raport końcowy dotyczący produktu, projektu i przekazania do operacji i wsparcia.

Tabela 9: Koncepcje w fazie wdrażania

Ogólny model danych

Datamodel.jpg Rysunek 7: Ogólny model danych Ten model danych przedstawia wszystkie koncepcje z krotnościami i relacjami w pełnym kontekście projektu.

Narzędzia do użytku z Internet-Speed ​​Development

  • Narzędzia do rysowania (przykłady: Microsoft Visio, Rational Rose, Dia ) Do tworzenia diagramów.
  • Edytory tekstu (przykłady: Microsoft Word, OpenOffice.org Writer, AbiWord , Calligra Words ) Do tworzenia dokumentów tekstowych, takich jak deklaracja wizji lub dokument zakresu.
  • Arkusze kalkulacyjne (przykłady: Microsoft Excel, OpenOffice.org Calc, Gnumeric , Calligra Sheets ) Do tworzenia priorytetowych list ryzyka i kalkulacji kosztów.
  • Narzędzia projektowe (przykłady: Microsoft Project, OpenProj , Gnome Planner, Calligra Plan ) Do planowania działań projektowych.
  • Narzędzia do zarządzania bazami danych i bazami danych (przykłady: MS SQL Server, MySQL , Oracle, PostgreSQL ) Do tworzenia baz wiedzy.
  • Zautomatyzowane narzędzia do testowania (przykłady: Skrypty testowe) Do wykonywania testów po każdej codziennej kompilacji.

Zobacz też

Notatki

  1. ^ Pekka Abrahamsson, Juhani Warsta, Mikko T. Siponen, Jussi Ronkainen 2003
  2. ^ Jak pokazano w artykule Zuser, Heil i Grechening.
  3. ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad Microsoft Solutions White Paper, czerwiec 2002
  4. ^ a b c d Biała księga dyscypliny zarządzania ryzykiem firmy Microsoft
  • Microsoft czerwiec 2002 Microsoft Solutions Framework (biała księga) Microsoft Press
  • Microsoft, czerwiec 2002 MSF Risk Management Discipline, wersja 1.1 (biała księga) Microsoft Press
  • Wolfgang Zuser, Stefan Heil, Thomas Grechenig 2005 Tworzenie i zapewnianie jakości oprogramowania w RUP, MSF i XP - badanie porównawcze Postępowanie z warsztatów 2005 na temat jakości oprogramowania
  • Pekka Abrahamsson, Juhani Warsta, Mikko T. Siponen, Jussi Ronkainen 2003 Nowe kierunki metod zwinnych: analiza porównawcza ICSE
  • Michael A. Cusumano, David B. Yoffie 1999 Tworzenie oprogramowania w czasie internetowym 32 IEEE
  • Balasubramaniam Ramesh, Jan Pries-Heje 2002 Internetowa inżynieria oprogramowania: inna klasa procesów Annals of Software Engineering 14 169–195