Kontrola na każdym etapie produkcji
- Monika Tomkiewicz,
- 05.03.2013
Przed zespołami produkującymi software stoi coraz więcej wyzwań. Zmiany zachodzące w IT i w biznesie wymagają efektywnego zarządzania cyklem życia aplikacji. Trudno to robić bez odpowiednich narzędzi.
Do głównych wyzwań, jakie stoją obecnie przed zespołami tworzącymi oprogramowanie, należą: optymalizacja kosztów produkcji, komunikacja z klientami, którzy mają różny poziom świadomości na temat produkcji software’u, rozproszone, używające różnych procesów, często bardzo liczne zespoły programistów o międzynarodowym charakterze, edukacja klientów w krótkim czasie, komunikacja z biznesem, który oczekuje rozwiązań "od zaraz". Coraz ważniejsze staje się zarządzanie tworzeniem oprogramowania, kontrola nad produktem, zdefiniowanie wymagań i ich późniejsza weryfikacja, testowanie itp. Trudno to realizować bez odpowiedniego wsparcia narzędziowego.
Życiowy ALM
Wojciech Jaszcz, Head of Quality Management and Software Department w ABB i wiceprezes Stowarzyszenia Jakości Systemów Informatycznych
Dzięki ALM mamy dodatkowy komfort w niełatwej sztuce produkcji oprogramowania. Przede wszystkim możemy śledzić, jak zdefiniowane przez klienta wymagania są implementowane, testowane i dostarczane. Innymi słowy, możemy na bieżąco kontrolować zmiany w wymaganiach, sprawdzać, czy zrobione funkcjonalności są zgodne z wymaganiami. Dzięki metrykom możemy również kontrolować jakość i efektywność implementacji. Bez tego trudno tworzyć oprogramowanie na wysokim poziomie.
Wojciech Jaszcz wskazuje na trzy podstawowe czynniki, które są potrzebne, aby ALM był "życiowy": zarządzanie wymaganiami, zarządzanie konfiguracją zmiany oraz weryfikacja i walidacja. "Daje mi to gwarancję, że cały development nie wymknie mi się spod kontroli. Kontrola w tych trzech obszarach daje nam informacje o tym, w jakim stanie jest obecnie projekt i co trzeba poprawić" - mówi Wojciech Jaszcz.
Zwinni i przewidywalni
Bartosz Celmer, Method Specialist, Global ADT.NET Team w Volvo
To dział IT podejmuje decyzję o wdrożeniu ALM, żeby było szybciej, prościej i taniej dla biznesu. Ale biznes jest świadomy, że coś takiego jak ALM istnieje. Ponieważ w Volvo nie robimy produktów pudełkowych, musimy w jakimś zakresie angażować biznes w proces produkcji. ALM nas wspiera w kontaktach z biznesem.
Eksperci zwracają też uwagę, że ALM jest szczególnie potrzebne w przypadku firm realizujących wiele projektów dla różnych zewnętrznych klientów, którzy mają różne wymagania, kiedy każdy projekt jest inny i gdy potrzebna jest szybka edukacja tych klientów. Dzięki narzędziom do zarządzania cyklem życia aplikacji można pokazać, jak będzie wyglądał proces, ponieważ jest on ściśle zdefiniowany.
Pomoc, nie smycz
Co najczęściej jest motorem wdrożenia ALM w firmach? "To dział IT podejmuje decyzję o wdrożeniu ALM - żeby było szybciej, prościej i taniej dla biznesu. Ale biznes jest też świadomy, że coś takiego jak ALM istnieje. Ponieważ w Volvo nie robimy produktów pudełkowych, musimy w jakimś zakresie angażować biznes w proces produkcji. ALM nas wspiera w kontaktach z biznesem" - tłumaczy Bartosz Celmer, Functional Manager, Global ADT.NET Team w Volvo.
Krzysztof Kołtuniewicz, Kredyt Inkaso
Jesteśmy na początku drogi, jeśli chodzi o implementację ALM. Nie nazywamy tego nawet jeszcze ALM, tylko mówimy o konieczności wprowadzenia pewnych sformalizowanych etapów testowania oprogramowania. Na razie, bez wsparcia ze strony rozwiązań IT, wprowadzamy zmiany proceduralno-organizacyjne. Naszą największą obawą jest to, czy wdrożenie narzędzia do ALM nie wydłuży całego procesu wytwarzania oprogramowania.
Czy w takim razie ALM to smycz dla IT? Eksperci mówią, że nie. To tylko narzędzie do kontrolowania poszczególnych projektów. Trudno mówić, ile firma zarobi na wdrożeniu zarządzania cyklem życia aplikacji. W tym przypadku mówimy raczej o tym, ile firma nie straci. Czasami można mówić o konkretnych i… bardzo dużych kwotach.
Ile może kosztować niedostateczna jakość oprogramowania? Pewna firma straciła ostatnio 400 mln USD w pół godziny w wyniku błędu software’u. To była konsekwencja niedostatecznego przetestowania programu. Dlatego ALM jest szczególnie ważne w branżach czułych na jakość. "Jesteśmy na początku drogi, jeśli chodzi o implementację ALM. Nie nazywamy tego nawet jeszcze ALM, tylko mówimy o konieczności wprowadzenia pewnych sformalizowanych etapów testowania oprogramowania. Na razie, bez wsparcia ze strony rozwiązań IT, wprowadzamy zmiany proceduralno-organizacyjne. Naszą największą obawą jest to, czy wdrożenie narzędzia do ALM nie wydłuży całego procesu wytwarzania oprogramowania" - mówi Krzysztof Kołtuniewicz z Kredyt Inkaso.
Narzędzie nas nie uzdrowi
Często popełnianym błędem jest chęć rozwiązania wszystkich problemów związanych produkcją oprogramowania poprzez wdrożenie narzędzia ALM lub książkowej metodyki. Należy pamiętać, ze wybór nowego narzędzia nie załatwi wszystkich spraw. Kluczowymi czynnikami są: mentalność zespołu, procedury, podejście do realizacji projektu itp. Bartosz Celmer z Volvo podkreśla, że nawet najlepsze narzędzia dostosowane do procesów nie będą działały, jeśli nie będziemy mieli zaangażowanych wszystkich ról. Największy problem jest z tym, żeby zaimplementować podejście w całej organizacji.
W listopadzie 2012 r. odbyła się polska premiera Visual Studio MS 2012, produktu szczególnie ważnego w kontekście rozmów o zarządzaniu, kontrolowaniu i tworzeniu oprogramowania. "Visual Studio MS 2012 jest u nas w fazie testów i bardzo dobrze się sprawdza. Są wprawdzie obszary, takie jak testowanie czy refactoring, w których wspomagamy się np. TFS, ale patrząc na całego ‘ALM-a’, to jest najlepsze rozwiązanie. Wydaje się, że patrząc na poszczególne elementy ALM, można znaleźć lepsze narzędzia, ale do całościowej obsługi procesów to jest najlepsze" - mówi Bartosz Celmer z Volvo.
Użytkownicy Visual Studio zwracają uwagę na jego cenę, sieć partnerów, wsparcie deweloperów, ścisłą integrację z innymi narzędziami, np. Office czy SharePoint, interfejs webowy i dostęp dla klientów. Klienci mogą sobie sami sprawdzać, jak ich wymagania są realizowane na różnych etapach trwania projektów.
Robert Gajda, Business Development Manager, Microsoft
W dobie, kiedy przewaga konkurencyjna na rynku jest kluczowym czynnikiem dla odniesienia sukcesu rynkowego praktycznie w każdej branży, istotnym elementem jest możliwość wdrażania i udostępniania nowych usług, produktów w krótkim czasie z najwyższą możliwie jakością oraz przy odpowiedniej kontroli kosztów. Te same kryteria odnoszą się również do procesu wytwarzania oprogramowania wspierającego i optymalizującego działanie organizacji zarówno w aspekcie wewnętrznym, jak i zewnętrznym. ALM to mechanizm, który pomaga organizacji zadbać o to, aby procesy związane z zarządzaniem cyklem wytwarzania oprogramowania wewnątrz lub na zewnątrz organizacji były czytelne, efektywne i zrozumiale dla działów IT, jak również dla właściciela biznesowego.