Kurs Visual Studio ALM – Wprowadzenie  Udostępnij na: Facebook

Autor: Grzegorz Rycaj

Opublikowano: 2013-02-08

Jesienią 2012 roku pojawiła się nowa odsłona jednej z najpopularniejszych platform pozwalających zarządzać cyklem życia aplikacji – Visual Studio Application Life Cycle Management.
Nowa wersja zawiera sporo nowości, których zastosowanie pozwala na zwiększenie efektywności zespołów zajmujących się wytwarzaniem oprogramowania i nie jest tajemnicą, że w dzisiejszych czasach brak zastosowania narzędzi tego typu może spowodować zmniejszenie konkurencyjnej przewagi danej Organizacji.

Prezentowany odcinek jest wprowadzeniem do całego cyklu. Chciałbym zatem przedstawić główne założenia kursu:

  1. Hasłem przewodnim, jakie przyjąłem dla całego kursu jest „Od wiedzy zerowej do sprawności produktywnej”. Zależy mi na tym, aby wszyscy, również te osoby, które nigdy nie miały styczności z narzędziami wspierającymi zarządzanie cyklem życia oprogramowania, mogły natychmiast po ukończeniu kursu rozpocząć pracę z prezentowaną platformą – i tym samym oczywiście natychmiast odczuć płynące z tego tytułu korzyści.
    Dlatego, przekazywana wiedza teoretyczna została ograniczona do niezbędnego minimum, natomiast główny nacisk położony został na faktyczne wykorzystanie poszczególnych funkcjonalności.
    Istotne dla mnie było jednak to, aby osoby posiadające już doświadczenie w pracy z narzędziami klasy ALM, mogły szybko uzyskać konkretną, interesującą informację. Stąd podział na 20 odcinków, zaprezentowany w punkcie 3, poniżej.
  2. Wersja platformy, która została wykorzystana do stworzenia nagrań, to Visual Studio ALM 2012. Część odcinków była nagrywana z wykorzystaniem wersji RC (wraz z kolejnymi wydaniami: RTM, czy też po pewnych HotFixach), co warto mieć na uwadze, ponieważ  niektóre funkcjonalności mogą nieznacznie różnić się od tych prezentowanych w ramach kursu.
  3. Cały kurs powinien zostać ujęty w 20 odcinkach, aby założona w pierwszym punkcie sprawność została osiągnięta w przystępny sposób. Dodatkowo, każdy z odcinków opisuje oddzielny, zamknięty obszar, dzięki czemu możliwe jest natychmiastowe uzyskanie informacji na wybrany temat. Nie trzeba sugerować się zaproponowaną kolejnością.

Poniżej prezentuję zagadnienia omawiane w ramach kursu:

  • Przegląd platformy ALM – jest to wprowadzenie do świata Application Lifecycle Management. Poznasz znaczenie tego terminu oraz dowiesz się o komponentach, z jakich składa się platforma Visual Studio ALM oraz jaka jest rola serwera TFS (Team Foundation Server) w całym krajobrazie. W tym odcinku zostanie wprowadzone także pojęcie Jednostki Roboczej (ang. Work Item),
  • Inicjacja projektu i zarządzanie backlogiem – z tego odcinka dowiesz się, jak rozpocząć pracę z projektem nad opracowywanym oprogramowaniem. Nie będziemy tu jeszcze pracowali z Visual Studio, zaczniemy od wbudowanych narzędzi, pozwalających na zarządzanie zakresem,
  • Planowanie iteracji – po zainicjowaniu projektu i pierwszym określeniu jego zakresu funkcjonalnego, dowiesz się, w jaki sposób można podzielić projekt i jego Backlog na kolejne iteracje. Poznasz również definicje pojęć – pojemności i szybkości zespołu,
  • Praca z poziomu Microsoft Office – mając na uwadze fakt, że nie wszyscy uczestnicy projektu chcą pracować z narzędziem Visual Studio (szczególnie osoby niezajmujące się tworzeniem kodu), w ramach omawianej platformy Visual Studio ALM zostały dostarczone mechanizmy integracyjne z aplikacjami pakietu Office. Zaprezentowany zostanie również sposób działania integracji oraz funkcjonalności, specyficznych dla danych aplikacji, stanowiących znakomite rozszerzenie standardowych funkcjonalności platformy ALM,
  • Storyboarding – jest to jedna z nowości, wprowadzonych w ramach wersji 2012. Storyboarding pozwala na dokumentowanie zakresu funkcjonalnego oprogramowania, opracowywanego w postaci makiet interfejsu użytkownika. Makiety te będziemy tworzyli przy użyciu aplikacji PowerPoint,
  • Praca z kodem źródłowym – na przestrzeni kilku odcinków zaprezentowane zostaną narzędzia wspierające wytwarzanie wysokiej jakości kodu, zarządzanie nim przy zwiększonej efektywności Programistów. Dowiesz się, w jaki sposób stworzyć powiązaną ze sobą i kompletną sieć informacji o projekcie, z uwzględnieniem poziomu pojedynczych linii w kodzie,
  • Automatyczne testowanie kodu – platforma Visual Studio ALM zawiera zestaw funkcjonalności, umożliwiających stworzenie testów, które będą wykonywane w sposób automatyczny. Można dzięki nim znacząco podnieść jakość kodu, nie będąc przy tym zmuszonym do poświęcania znacznych nakładów czasowych na ręczne przechodzenie scenariuszy testowych,
  • Automatyczne testy interfejsu (Coded UI Tests) – mechanizmy prezentowane w tym odcinku pozwolą na stworzenie specjalnego nagrania z wykonywanego scenariusza testowego, a następnie na automatyczne jego odtworzenie. Testy te pozwolą ponownie zaoszczędzić mnóstwo czasu, który spędzilibyśmy, przeprowadzając je ręcznie. Biorąc pod uwagę fakt, że w ramach takiego zautomatyzowanego scenariusza możemy łatwo zmienić dane testowe, testy Coded UI mogą stać się jednym z podstawowych narzędzi zapewniających jakość produktu,
  • Planowanie i wykonywanie testów ręcznych – pomimo opisanych powyżej możliwości automatyzacji prac w zakresie testowania, platforma Visual Studio ALM zapewnia również bogate wsparcie dla testów wykonywanych manualnie. W tym odcinku dowiesz się, w jaki sposób planować testy, zarządzać planami testowymi oraz jak wykonywać testy ręczne i eksploracyjne (czyli takie, dla których nie ma jeszcze stworzonych scenariuszy testowych; jest to testowanie polegające na swobodnym nawigowaniu po tworzonym oprogramowaniu w celu wykazania ewentualnych niezgodności),
  • Praca z jednostkami roboczymi – zagadnienie pracy z jednostkami roboczymi będzie podejmowane de facto przez cały czas trwania kursu. Temu tematowi zostanie poświęcony jednocześnie odcinek, z którego dowiesz się, w jaki sposób efektywnie przeszukiwać zgromadzone informacje o projekcie, czy też w jaki sposób stworzyć sieć powiązań pomiędzy informacjami o projekcie,
  • Automatyczne buildy – z tego odcinka dowiesz się krok po kroku, w jaki sposób zarządzać serwerowym buildem. Mechanizmy buildów, dostarczone w ramach platformy Visual Studio ALM, pozwalają na wdrożenie w ramach naszych zespołów praktyki Ciągłej Integracji (ang. Continous Integration),
  • Raportowanie – w tym odcinku omówione zostaną wbudowane możliwości raportowe, dostarczane standardowo wraz z platformą. Dodatkowo dowiesz się, w jaki sposób tworzyć własne raporty lub dostosowywać już istniejące do swoich możliwości,
  • Praca z zespołami – możliwość podziału na zespoły to kolejna nowość, jaka została wprowadzona w edycji 2012. Dzięki niej można stworzyć, w ramach jednego projektu, osobne zespoły, którym narzucimy odpowiednie zasady projektowe. Zespoły mogą mieć inne dni wolne (wynikające chociażby z umiejscowienia w innym Państwie), czy też – co ważniejsze – inaczej planowane iteracje. Każdy z zespołów może też posiadać własny, oddzielny backlog,
  • Team Foundation Service – osobny odcinek zostanie poświęcony usłudze Team Foundation Service, czyli wersji platformy, umiejscowionej w chmurze (hostowanej na platformie Microsoft Windows Azure). Dowiesz się, jakie korzyści mogą płynąć z zastosowania tej opcji w ramach naszych zespołów,
  • Integracja z innymi platformami – platforma Visual Studio ALM umożliwia swobodne wykorzystanie swoich możliwości, nie tylko z poziomu środowisk programistycznych Visual Studio. Możliwe jest wykorzystanie np. środowiska Eclipse, czy też zwyczajne połączenie z linii komend systemów Windows/Mac OC.

Serdecznie zapraszam do śledzenia kolejnych odcinków cyklu!