12
gru 12

Audyt architektury: ankiety

Dzisiaj przejdę już do konkretnych narzędzi, jakich możemy używać w czasie audytu architektury. Każde narzędzie chcę opisać podając motywację, względnie cel, jego stosowania oraz metodę.

Jako pierwsze prezentuję
Ankiety

Motywacja/Cel
Ankieta umożliwia jakościową ocenę wybranych obszarów architektury, jak również jej aktualnego stanu i mozliwości rozwoju w przyszłości. Dzięki tej ocenie możliwe będzie zidentyfikowanie ewentualnych “punktów zapalnych” i innych słabości, które należy szczegółowo zbadać w dalszych fazach audytu. Dodatkowo po zidentyfikowaniu obszarów, które znajdują się w najgorszym stanie, można ich użyć jako punktu wyjściowego do formułownia działań mających na celu poprawę sytuacji.

Metoda
Proponuję sformułowanie pytań do ankiety na bazie ogólnie przyjętych zasad i uznanych praktyk stosowanych w inżynierii oprogramowania. Dla każdego pytania należy sformułować “typową odpowiedź”, która posłuży potem jako pomoc przy ocenie ankiet wypełnionych przez uczestników projektu. Również każde pytanie powinno zostać ocenione w kontekście wpływu na cele projektu, to znaczy na ile dane zagadnienie jest ważne do jego osiągnięcia. Następnie należy pytania pogrupować w bloki tematyczne (w razie potrzeby wielopozomowo).

Pozostaje już tylko rozpowszechnienie ankiety pośród osób zaangażowanych w projekt i jej wypełnienie. Naturalnie najlepiej, jeśli uda się zebrać odpowiedzi od uczestników projektu, pełniących w nim różne role (programiści, architekci, kierownicy projektu itp.). Odpowiedzi możemy zbierać również w ramach przeprowadzanych wywiadów lub warsztatów.

Do analizy wyników ankiety polecam ich przedstawienie w formie wykresu zależności oceny konkretnych punktów od znaczenia dla projektu (obrazek). Wykres taki można sporządzić dla różnych poziomów abstrakcji, czy też różnych grup tematycznych. Zagadnienia leżące w obszarze charakteryzowanym przez wysokie znaczenie dla projektu i niską ocenę wymagają na pewno gruntownej analizy.


04
gru 12

Audyt architektury: zarys metody

Metoda przeprowadzania audytu architektury w zasadzie jest bardzo prosta, ogólna i składa się z kilku kroków:

  • Definicja celu audytu
  • Ustalenie obszarów objętych badaniem i konkretyzacja kryteriów
  • Przgotowanie narzędzi pracy (o tym w kolejnych artykułach)
  • Właściwe badanie architektury
  • Opracowanie zebranych danych (w tym ocena aktualnej architektury)
  • Sfomułowanie propozycji działań, ewentualnie konkretnych kroków, prowadzących do poprawy obecnej sytuacji

Bardzo ważne jest przy tym konkretne zdefiniowanie celu audytu, ponieważ to pociąga za sobą dobór obszarów badania i narzędzi. Owe obszary badania, jak napisałem, mogą się zmieniać od adytu do audytu. Poniżej krótkie zestawienie tych, które wydają mi się na tyle uniwersalne, że warto się nad nimi zastanowić w niemal każdym projekcie.

  • Procesy biznesowe: ich definicja i dokumentacja
  • Architektura biznesowa: modularyzacja, interfejsy i obiekty przenoszące dane (nie tylko encje bazodanowe!)
  • Architektura oprogramowania: techniczna definicja modułów, obiektów, interfejsów oraz obiektów danych
  • Implementacja: użycie konstrukcji jęzka programowania, wzorce i antywzorce, dobre i złe praktyki
  • Procesy w obrębie projektu: sprawdzenie, czy wszelkie artefakty opisujące tworzenie oprogramowania w konkretnym projekcie są tak samo rozumiane przez wszystkich zainteresowanych, sprawdzenie ciągłości procesów i ich definicji
  • Dokumentacja: aktualność, kompletność, dostępność i jakość dokumentacji
  • Porównanie z istniejącym (meta)modelem architektury

W kolejnych artykułach napiszę o przykładowych narzędziach, które stosowałem w audycie.