Metodyki
Metodyka, według której prowadzimy projekty, bazuje na udanych adaptacjach systemów. Zawsze rekomendujemy metody i narzędzia korzystne dla klienta.
Jak działamy?
Bądź w pełni przygotowany przed przystąpieniem do fazy programowania. Dokonywanie zmian w trakcie programowania może być korzystne, jednak często wydłuża proces i może doprowadzić do problemów z ukończeniem projektu. Przed zmianami w programowaniu należy wrócić do fazy projektowania. Dobry menedżer projektu ma kluczowe znaczenie dla utrzymania tej spójności.
Podejście odwrotnego wysiłku
Korelacja między wysiłkiem i kosztem staje się ważna po dalszej fazie rozwoju. Doświadczenie pokazało, że większa ilość czasu i wysiłku poświęconego na przygotowanie projektu zmniejsza całkowity koszt rozwoju i pozwala systemowi działać prawidłowo.
Proces projektowania
Wymagania
- Wykonywane przez: ANEGIS lub lokalne zasoby klienta
- Wejście: pomysły i wymagania klienta, GAP
- Wyjście: dokument wymagań funkcjonalnych
Projekt funkcjonalny
- Wykonywane przez: ANEGIS
- Wejście: dokument wymagań funkcjonalnych
- Wyjście: dokument projektu funkcjonalnego
Projekt techniczny
- Wykonywane przez: ANEGIS
- Wejście: dokument wymagań funkcjonalnych
- Wyjście: dokument projektu funkcjonalnego
Prototyp
- Wykonywane przez: ANEGIS
- Wejście: dokument projektu technicznego
- Wyjście: prototyp zaakceptowany przez klienta
Proces rozwoju programowania
Spotkanie w celu przekazania projektu
Konsultant funkcjonalny ANEGIS przekazuje projekt zespołowi architektury technicznej.
Ocena projektu
Architekt techniczny sprawdza czy projekt zawiera wszystkie wymagane informacje szczegółowe, w tym wszelkie informacje niezbędne do rozpoczęcia rozwoju oprogramowania, jednocześnie sprawdzając projekt pod kątem błędów i procedur technicznych.
Optymalizacja projektu
Jest to prawdopodobnie najbardziej decydująca faza rozwoju projektu. Klient może oszczędzić ogromne kwoty dzięki zaproponowaniu alternatywnego, łatwiejszego technicznie rozwiązania, które nadal gwarantuje kluczowe, wymagane funkcjonalności. Często pomija się fakt, że podstawowe optymalizacje mogą się różnić w porównaniu ze stosowaniem standardowych wzorców interfejsu użytkownika lub ponownego używania standardowych aplikacji. Kwestie te powinny zostać starannie przeanalizowane przed przystąpieniem do dalszych prac.
Tworzenie specyfikacji technicznej
Kluczem do stworzenia specyfikacji technicznej jest upewnienie się, że architekt techniczny i programiści są zgodni. Istotne znaczenie ma przedstawienie jasnego projektu przy jednoczesnym upewnieniu się, że deweloper jest odpowiednio poinformowany. Dobrze przemyślany projekt techniczny znacznie zmniejsza prawdopodobieństwo kosztownych zmian w fazie rozwoju oprogramowania.
Spotkanie techniczne w celu zatwierdzenia projektu technicznego
Architekci rozwiązań czytają specyfikacje funkcjonalne i techniczne. Szczególnie istotne jest zadawanie pytań i zweryfikowanie kwestii z konsultantem i programistą tak, aby ocenić ich wzajemne zrozumienie. Ten krok pozwala na uniknięcie nieporozumień i zapobiega sytuacji, w której programista tworzy coś całkowicie odmiennego od tego, co zostało zaprojektowane przez konsultantów funkcjonalnych.
Tworzenie prototypu
Tworzenie prototypów daje użytkownikowi możliwość zobaczenia tego, co projektują konsultanci zanim projekt wejdzie w kluczową fazę programowania. Jest to okazja do wprowadzenia ostatecznych zmian. Prototypowanie ogranicza zakres zmian, ponieważ zmieniany jest sam projekt, a nie kod.
Programowanie
Zespół projektowy pisze kod zgodnie ze stworzoną specyfikacją.
Kontrola jakości
Architekci techniczni dokonują przeglądu kodu. Kod tworzony przez ANEGIS Consulting spełnia najwyższe normy. W celu zapewnienia, że niniejsze standardy są zawsze utrzymywane, stosujemy narzędzie Microsoft Lifecycle Services Customisation Analysis.
ALM/TFS
Visual Studio Team Foundation Server (TFS) pozwala nam na zastosowanie sprawdzonych praktyk w zakresie zarządzania cyklem życia produktu: zarządzanie kodem źródłowym w zespołach, programowanie, kompilowanie i testowanie aplikacji, planowanie projektów, śledzenie pracy i raportowania postępu prac. TFS zapewnia kontrolę wersji, system kompilacji, CMMI, Scrum, narzędzia planowania agile i metryki do zarządzania projektami rozwoju oprogramowania. ANEGIS jest jedną z niewielu firm wdrażających Microsoft Dynamics AX, które stosują TFS i posiadają funkcjonujące skrypty kompilacji.
Zarządzanie kodem
Team Foundation Version Control (TFVC) jest scentralizowanym systemem kontroli wersji. Zazwyczaj członkowie zespołu mają tylko jedną wersję każdego pliku na swoim urządzeniu. Dane historyczne są przechowywane tylko na serwerze. Ponadto oddziały oparte są na ścieżkach i tworzone na serwerze. ANEGIS działa w środowisku rozproszonym - oznacza to, że każdy programista posiada osobistą maszynę wirtualną z zainstalowanym środowiskiem Microsoft Dynamics AX 2012 Server. Maszyny wirtualne są zarządzane przez Hyper-V Manager.
Liczba maszyn wirtualnych na komputerze każdego programisty jest połączona z liczbą obsługiwanych klientów, ale nie powinna przekraczać trzech lub czterech w danym momencie. ANEGIS używa jednego z dwóch modeli dostarczanych przez TFVC: check-out/check-in w serwerowych obszarach roboczych. Przed wprowadzeniem zmian członkowie zespołu publicznie wykonują pobranie (check-out) plików. Większość operacji wymaga od programistów podłączenia do serwera.
Zarządzanie kompilacjami
Oprócz pliku modelowego Microsoft Dynamics AX proces ten umożliwia tworzenie pliku dziennika zawierającego zarówno opis całego procesu kompilacji, jak i wynik testu. ANEGIS używa systemu kompilacji do wspierania strategii ciągłej integracji i do zapewnienia jeszcze bardziej rygorystycznej kontroli jakości w celu uniknięcia sytuacji, w której złej jakości kod "psuje kompilację".
Zarządzanie pracą
Elementy takie jak funkcje, żądania zmian i błędy zapewniają określoną część pracy do wdrożeń w systemie.Po zakończeniu procesu weryfikacji wymagania są wykonywane i przypisywane do ostatecznych zadań. Przypadki testowe obejmują manualne testowanie każdego wymagania.
Zarządzanie testami
Podczas procesu testowania istnieje możliwość tworzenia i przechowywania elementów roboczych błędów przeznaczonych do dalszej analizy. Gdy udowodniony zostanie błąd, tworzony jest nowy wymóg i określane jest odpowiadające mu zadanie programistyczne. Zarządzanie testami obejmuje następujące kroki: planowanie, tworzenie, uruchamianie, śledzenie wyników i reagowanie.