Jak usprawnić zarządzanie rozwojem produktu z Microsoft Visual Studio Application Lifecycle Management?

billeniumNie jest tajemnicą, że pomyślne przeprowadzenie projektu IT stanowi nie lada wyzwanie. Problemy wynikające z pracy w zmieniającym się środowisku, nieustannie poddawanym czynnikom zewnętrznym (założenia funkcjonalne mogą ulegać zmianie w trakcie trwania projektu – np. w myśl zmieniającego się stanu prawnego lub podążając za nowymi uwarunkowaniami biznesowymi.

 
Problemy pojawiają się często również na styku z innymi systemami IT) i wewnętrznym (na poziomie przekazywania wiedzy i zadań wewnątrz zespołu projektowego) sprawiają, że większość projektów albo nie kończy się w ogóle, albo kończy się z przekroczonym terminem lub budżetem. Odpowiednie wsparcie narzędziowe w procesie produkcji stanowi więc fundament, dzięki któremu zespół projektowy może skupić się na osiągnięciu zamierzonego, często zmieniającego się w czasie, celu.

Na rynku istnieje wiele narzędzi klasy ALM, łączących zarządzanie biznesowe oraz inżynierię oprogramowania, pokrywających swoją funkcjonalnością zarządzanie wymaganiami, architekturą, implementacją, testowaniem, śledzeniem zmian, aż wreszcie zarządzaniem wersjami. ALM jest ciągłym procesem zarządzania cyklem życia oprogramowania, od najwcześniejszego etapu definiowania potrzeb i wizji aż po utrzymanie. W Billennium wiemy, jak ważne jest zaangażowanie w proces wytwórczy i dostarczenie odpowiedniego wsparcia narzędziowego wszystkim członkom zespołu projektowego (nie tylko programistom) – platformy klasy ALM takie właśnie wsparcie zapewniają.

Historia w pigułce, czyli skąd wzięły się platformy ALM?

Dla wielu osób dobrą wiadomością jest fakt, że jesteśmy obecnie świadkami niezwykle silnego rozwoju narzędzi klasy ALM, będących zintegrowanymi platformami programistycznymi. Warto zwrócić uwagę, że pierwszym „światem”, w jakim poruszali się programiści, były niezależne edytory tekstowe i kompilatory. Pierwszym etapem podniesienia ergonomii pracy było stworzenie Zintegrowanych środowisk programistycznych (IDE – and. Integrated Development Environment), które przez wiele lat stanowiły główny punkt rozwoju narzędzi dla Programistów, pracujących wtedy często indywidualnie.

billenium art 2014 1

Z czasem, gdy model pracy zaczął zmierzać w stronę pracy grupowej, pojawiły się dodatkowe moduły i półprodukty, które odpowiednio zintegrowane ze sobą pozwalały współpracować całym zespołom – gromadzić wiedzę o wymaganiach, współdzielić kod, kontrolować jakość produktu czy zarządzać kolejnymi wydaniami. Mnogość elementów składowych takich środowisk zaczęła jednak przynosić problemy, ponieważ nie wszystkie moduły zawsze ze sobą współpracują (szczególnie przy wydaniu kolejnych wersji), każdy wymaga przeszkolenia z obsługi, a przygotowanie złożonego środowiska programistycznego zajmuje zbyt dużo czasu.

Odpowiedzią na te trudności było powstanie narzędzi klasy ALM, czyli zintegrowanych platform programistycznych, oferujących pokrycie pełnego cyklu życia oprogramowania w jednym spójnym, łatwo zarządzalnym środowisku. Jedną z najlepiej ocenianych na świecie platform (np. wg rankingu Gartnera) jest Microsoft Visual Studio ALM, któremu została poświęcona dalsza część niniejszego artykułu.

Jakie moduły oferuje platforma Visual Studio ALM?

billenium art 2014 2

Poniżej zostały wymienione moduły platformy Microsoft Visual Studio ALM, które są wykorzystywane przez zespół Billennium podczas wytwarzania produktów i które znacząco wpływają na podniesienie efektywności pracy zespołów. Doradzając naszym Klientom, zachęcamy do zapoznania się z pełnymi możliwościami platformy, aby móc w pełni wykorzystać potencjał Zespołu projektowego.

a) Planowanie prac (zarządzanie backlogiem i zadaniami)

Zadaniem tego modułu jest możliwość łatwego planowania i śledzenia postępów prac. Jest to możliwe na przykład z pomocą tablicy zadań, na której obserwować możemy zarówno zaplanowane obłożenie poszczególnych osób w Zespole, jak i stopień realizacji poszczególnych wymagań.

Drugą z metod, na której zespoły pracujące w sposób zwinny mogą śledzić postępy prac, jest tablica Kanban, dająca przegląd postępów w zakresie realizowanej funkcjonalności czy modułu.

b) Moduł kontroli wersji (Source Control Management)

Moduł kontroli wersji dostarcza zaawansowane mechanizmy, dzięki którym możliwe jest zarządzanie wytwarzanym kodem źródłowym wraz z zasobami dodatkowymi. Dzięki możliwości dokonania wyboru pomiędzy dwoma silnikami (Git lub Team Foundation Version Control), sterującymi modułem, Zespół może zwiększyć efektywność swojej pracy.

Warto wspomnieć, że niektóre środowiska programistyczne innych technologii niż Microsoft oferują wbudowane wsparcie dla silnika Git, co pozwala na swobodną pracę całego Zespołu w ramach jednego środowiska.

c) Zarządzanie jednostkami roboczymi (Work Item tracking)

Informacje projektowe w ramach platformy Visual Studio są sterowane i organizowane za pomocą Jednostek roboczych (ang. Work Items). Jednostki robocze reprezentują dowolną istotną porcję informacji o projekcie – jednostką roboczą jest np. wymaganie, usterka, zadanie, scenariusz testowy lub zagrożenie. Na jednostkach roboczych opiera się m.in. moduł planowania prac, czy też gromadzenie sprzężenia zwrotnego, a pozostałe moduły (jak np. kontrola wersji) są silnie powiązane – dla przykładu, w ramach modułu kontroli wersji istnieje możliwość kojarzenia kodu z zadaniami lub usterkami. Dzięki temu dosłownie w zasięgu kilku kliknięć jest odtworzenie historii kodu, przyczyn i autorów poszczególnych jego zmian.

d) Ciągłe wdrażanie (Continuous Deployment)

Wykorzystując moduł Release Management, dostępny od wersji Visual Studio 2013, Zespoły programistyczne i operacyjne mają możliwość zastosowania praktyki ciągłego wdrażania w ramach swojej pracy. Moduł ten pozwala na zamodelowanie złożonych procesów wdrożeniowych, z uwzględnieniem różnych środowisk, konfiguracji, ścieżek akceptacji. Wszystkie ustawienia konfigurowane są z poziomu graficznego narzędzia, odpowiednio wizualizującego proces tworzenia wersji.

e) Automatyzacja budowania kodu (Build automation)

Moduł automatycznego budowania kodu pozwala na wprowadzenie do codziennej pracy mechanizmu pokrewnego do opisanej w podpunkcie „d” praktyki ciągłego wdrażania. Mechanizmem tym jest ciągła integracja, czyli częste, bieżące weryfikowanie poprawności kompilacji kodu po ostatnich zmianach. Ważnym założeniem, realizowanym przez platformę Visual Studio, jest przeprowadzenie takiej kompilacji na niezależnej (niedeveloperskiej) maszynie. Dzięki takiemu podejściu możliwe jest wczesne wykrycie błędów, a tym samym minimalizacja kosztów połączenia efektów prac wieloosobowego zespołu.

f) Gromadzenie sprzężenia zwrotnego (Feedback management)

Platforma Visual Studio wspiera proces komunikacji z Klientem nie tylko w kontekście bieżącego zarządzania zakresem, ale również na etapie gromadzenia sprzężenia zwrotnego (ang. Feedback management). Wbudowane narzędzia pozwalają na zgromadzenie w intuicyjny sposób feedbacku odnośnie produkowanego oprogramowania.

Wykorzystanie Scrum

Wymienione moduły są „sterowane” przez metodykę, którą przyjmiemy dla realizowanego projektu. W przedsięwzięciach cechujących się dużym stopniem innowacyjności oraz związanym z tym ryzykiem projektowym, zespół Billennium stosuje metodyki zwinne (SCRUM), stanowiące natywną metodykę, obsługiwaną przez Visual Studio ALM.

W podejściu tym wyjściem do procesu rozwoju oprogramowania są iteracje dostarczające konkretną funkcjonalność, która planowana jest z niewielkim wyprzedzeniem.

Pracę w oparciu o tę metodykę można zawrzeć w następującym 4-etapowym cyklu:

billenium art 2014 3

Jak łatwo zauważyć, wszystkie 4 etapy mają odzwierciedlenie w wymienionych wcześniej zintegrowanych modułach, co daje olbrzymie wsparcie dla wdrożenia i wykorzystania Scrum w Organizacji.

Chmura czy środowisko lokalne?

Bardzo ważną decyzją podczas uruchamiania środowiska klasy ALM, jest wybór pomiędzy środowiskiem lokalnym (na własnych serwerach), a chmurowym (czyli dostarczanym w postaci usługi). Przed tym pytaniem stają wszystkie zespoły i powinno to być przemyślaną decyzją, popartą rozeznaniem w zaletach i wadach obu podejść, ponieważ późniejsze przejście z chmury na środowisko lokalne, lub w przeciwną stronę, może stanowić spore wyzwanie.

Niewątpliwą zaletą chmury jest wysoka dostępność i zapewnione bezpieczeństwo przechowywanych danych. Ponadto nie musimy martwić się o własne koszty utrzymania (serwer, prąd i inne media, prace administracyjne), podczas gdy udostępniona nam zostanie zawsze najnowsza możliwa wersja oprogramowania. Z drugiej strony, wersja lokalna udostępnia większe możliwości konfiguracyjne, integracyjne i znacznie bardziej rozbudowane raportowanie.

Jako wieloletni MVP w dziedzinie Visual Studio ALM, rekomenduję rozpoczęcie od pytania: „dlaczego nie chmura?” i dopiero na bazie wyraźnych przesłanek dokonanie wyboru w kierunku środowiska lokalnego. Warto też rozważyć przeprowadzenie próby w środowisku chmurowym na mniejszym, niekluczowym projekcie. Platforma Visual Studio Online (stanowiąca chmurową ofertę platformy Visual Studio ALM) daje możliwość bezpłatnej pracy 5 użytkownikom. Warto z tej puli skorzystać i przekonać się, czy system spełnia oczekiwania Organizacji i czy w podobnym stopniu, jak w przypadku Billennium, przyczyni się do wzrostu efektywności Zespołów.

Autor: Członek Zarządu i Dyrektor działu R&D w firmie Billennium
Źróódło: www.billennium.pl

PRZECZYTAJ RÓWNIEŻ:


Back to top