... o których każdy programista
wiedzieć powinien.

Zawsze słuchaj ekspertów. Oni powiedzą ci, czego nie da się zrobić i dlaczego. A ty potem to zrób.
-- Robert Heinlein
Steve Berczuk

Wdrażaj wcześnie i często

Oryginalny tytuł: Deploy Early and Often

Autor: Steve Berczuk

Testowanie procesu wdrożenia i instalacji często odkładane jest na sam koniec realizacji projektu. Przy niektórych projektach pisanie narzędzi instalacyjnych delegowane jest do inżyniera zajmującego się wdrożeniami, który podchodzi do tego zadania jak do "zła koniecznego". Recenzje i prezentacje produktu odbywają się na sztucznie przygotowanych środowiskach, aby mieć pewność, że wszystko będzie działać. W rezultacie zespół ani nie zdobywa doświadczenia przy procesie wdrożenia ani nie ma okazji zapoznać się z docelowym środowiskiem aż do momentu, w którym może już być za późno na jakiekolwiek zmiany.

Proces instalacji/wdrożenia to pierwsza rzecz, którą widzi klient a im prostszy ten proces, tym bardziej niezawodne (bądź przynajmniej łatwiejsze w debugowaniu) środowisko produkcyjne uzyskasz. To właśnie wdrożonego oprogramowania będzie używał klient. Jeśli nie zadbasz o to, że Twój proces wdrożenia skutkuje właściwie skonfigurowaną aplikacją, możesz spodziewać się wielu pytań i narzekań ze strony klientów, zanim tak naprawdę zaczną oni korzystać z Twojego produktu.

Pamiętając o procesie instalacji już od samego początku, będziesz miał zarówno czas na jego rozwijanie i dopracowywanie przez cały okres trwania prac przy projekcie, jak również możliwość wprowadzania zmian w kodzie aplikacji, które uczynią ten proces łatwiejszym. Raz na jakiś czas warto także uruchamiać i testować proces instalacji na czystym środowisku, gdyż pozwala to upewnić się, że nie poczyniono w kodzie żadnych założeń, które prawdziwe są jedynie na środowisku deweloperskim lub testowym.

Odkładanie wdrożenia na koniec może spowodować, że cały proces bardziej się skomplikuje, po to tylko, aby obejść poczynione w kodzie założenia. To, co wydawało się znakomitym pomysłem poczas pracy w IDE, gdzie masz pełną kontrolę nad środowiskiem, może w rezultacie znacząco skomplikować proces wdrożenia. Lepiej jest wiedzieć o wszelkich koniecznych kompromisach wcześniej niż później.

Wydawać się może, że "zdolność do wdrożenia" na wczesnym etapie projektu reprezentuje mniejszą wartość biznesową niż prezentacja aplikacji działającej na laptopie programisty. Prawda jednak jest taka, że jeśli nie jesteś w stanie uruchomić swojej aplikacji na docelowym środowisku, to czeka Cię jeszcze sporo pracy, zanim będzie można mówić o wartości biznesowej. Jeśli Twoim argumentem za odłożeniem wdrożenia na później jest to, że uważasz ten proces za trywialny, zrób to i tak, w końcu koszt będzie niewielki. Jeśli proces uważasz za skomplikowany albo zawierający wiele niewiadomych, zrób to, co normalnie zrobiłbyś z kodem: eksperymentuj, oceniaj i refaktoryzuj proces wdrożenia w sposób ciągły.

Dobry proces instalacji/wdrożenia jest fundamentalny dla produktywności Twoich klientów i Twojego zespołu zajmującego się utrzymywaniem aplikacji. Powinieneś więc testować i refaktoryzować ten proces przez cały czas trwania prac nad projektem. To samo przecież nieustannie robimy z kodem źródłowym. Wdrożenie również na to zasługuje.

Creative Commons Uznanie Autorstwa 3.0 Artykuł został opublikowany na licencji Creative Commons Uznanie Autorstwa 3.0.
Tłumaczenie: Immortal

Komentarze (1)

Oqmvqhie pisze:
22-07-2010 20:36:38
totally disagree, debt consolidation companies, mclvg, debt consolidation, 14646, debt consolidator, 8PP, debt counseling, 8)), debt elimination, 602,

Dodaj komentarz

*
 
 
*
*