Definicja
Reverse Engineering (inżynieria odwrotna) w kontekście analizy biznesowej to proces odtwarzania wymagań, reguł biznesowych i specyfikacji z istniejącego działającego systemu.
Kiedy stosować?
| Sytuacja | Przykład |
|---|---|
| Brak dokumentacji | System legacy bez specyfikacji |
| Migracja | Przepisanie systemu na nową technologię |
| Integracja | Zrozumienie API/zachowania obcego systemu |
| Audyt | Weryfikacja co system naprawdę robi vs co powinien |
| Onboarding BA | Nowy BA musi zrozumieć istniejący system |
Techniki
| Technika | Opis |
|---|---|
| Analiza kodu | Czytanie kodu źródłowego (reguły, walidacje) |
| Analiza bazy danych | Schemat, relacje, constrainty, triggery |
| Analiza logów | Co system robi w praktyce |
| Analiza interfejsu | Przejście przez UI, screenshots |
| Wywiad z użytkownikami | Jak używają systemu |
| Testy eksploracyjne | „Co się stanie jeśli…?" |
Dlaczego to ważne?
W praktyce BA częściej odtwarza wymagania z istniejącego systemu niż pisze od zera. Reverse engineering to umiejętność przetrwania w świecie legacy.