Cykl produkcji oprogramowania... dla opornych ;‑)
26.01.2011 22:05
Do stworzenia tego wpisu zainspirowały mnie komentarze pod newsem na temat Sp2 do Windowsa 7: http://www.dobreprogramy.pl/Microsoft-juz-pracuje-nad-Windows-7-Service-Pack-2,Aktualnosc,22768.html
Jak to jeszcze nie ma Sp1, a już Sp2? Niech lepiej pracują nad Sp1! Niech lepiej robią Windows 8. No, nie to Windows 8 nie będzie szybko.
Tego typu komentarze ujawniają niewiedzę piszących je osób. Dlaczego? Firma nie może sobie pozwolić na tworzenie tylko jednego produktu (jednej wersji) na raz. Najczęściej, a chodzi mi o organizacje zatrudniające większą ilość programistów, kilka produktów tworzonych jest równocześnie. Może podam to na przykładzie Windowsa 7 (dane będą wiarygodne bo wyssane z palca ;‑) ):
1. Jesteśmy rok przed wydaniem publicznej bety W7. Co dzieje się w tym czasie? - większość firmy pracuje nad W7 - sporo rozmów, kodu, testów, sprawdzane są koncepcje - kilka grup programistów pracuje nad W8 (tak, nad Windows 8!) - planowane są terminy wydania Sp1 do W7 - niestety nie wszystkie błędy zostaną poprawione i część zostanie pozostawiona sobie do czasu premiery - prace koncepcyjne nad W9 (czyli następcą Windows 8) - prace nad Sp do Visty 2. Wydanie bety W7 - prace programistyczne zwolniły - może połowa zespołów zajmuje się W7 - testerzy mają sporo pracy z W7 - zwiększono liczbę osób pracujących nad W8 - prace nad kolejnym Sp do Visty - testy Sp do Visty - ruszyło pierwsze kodowanie do W9 3.Po premierze W7 - prace nad Sp do W7 i Visty - prace nad W8 - testy Sp do W7 i Visty - jakieś zespoły kodują W9 4. Beta Sp1 do W7 - prace nad W8 idą pełną parą - wewnętrzne testy W8 - testy Sp1 do W7 - co z kolejnym Sp do Visty? Może nawet jakieś testy? Czy się opłaca? - prace nad Sp2 do W7 - więcej kodu W9 5. Oddanie Sp1 do W7 - prace i testy nad Sp2 - prace nad W8
i tak kręci się karuzela. Inaczej zasoby firmy nie były by w pełni wykorzystane. Testerzy musieli by czekać na zakończenie kodowania dużego produktu, a tak mają pracę. Programiści przechodzą do kolejnych zespołów, product managerowie tworzą koncepcję, dokumentacja tworzy helpy, tutoriale. Możliwe jest spokojne przeniesienie zasobów z jednego zespołu do drugiego jeżeli jest konieczność przyspieszenia prac. Inaczej oprogramowanie trafiało by do nas jeszcze rzadziej.
Oczywiście jest to bardzo uproszczona wersja. Jedna może mniej osób napisze: jak to Sp2...?