Przywracanie danych to zupełnie inna bajka niż konserwacja oprogramowania, choć na pierwszy rzut oka może się wydawać, że wszystko to są działania powiązane z utrzymaniem systemów IT. W praktyce konserwacja oprogramowania (ang. software maintenance) skupia się przede wszystkim na zarządzaniu samym kodem, poprawianiu błędów, ulepszaniu działania programu czy rozbudowie funkcjonalności zgodnie z potrzebami użytkowników lub zmianami w środowisku technicznym. To trochę tak, jakby mechanik nie tylko naprawiał samochód, ale czasem też wymieniał mu silnik na mocniejszy albo montował nowoczesne radio. Natomiast przywracanie danych, czyli tzw. data recovery, dotyczy już typowo zarządzania danymi, a nie kodem – chodzi tu na przykład o odzyskiwanie utraconych plików po awarii dysku czy przypadkowym ich usunięciu. W codziennej praktyce IT osoby zajmujące się konserwacją oprogramowania rzadko dotykają tematu przywracania danych – tym zazwyczaj zajmują się administratorzy systemów lub specjaliści ds. backupów. Dobre standardy branżowe, jak chociażby normy ISO/IEC 14764, jasno rozgraniczają te pojęcia. Moim zdaniem, rozumienie tej różnicy pomaga lepiej zorganizować pracę w zespole IT i nie mylić zakresów odpowiedzialności. Często spotykam się z sytuacją, gdzie ktoś oczekuje od programisty 'naprawienia' danych, a to już jest całkiem inne zadanie niż klasyczna konserwacja kodu.
Bardzo łatwo jest pomylić konserwację oprogramowania z innymi czynnościami związanymi z utrzymywaniem systemów komputerowych, szczególnie gdy w grę wchodzą takie pojęcia jak poprawianie błędów, optymalizacja czy rozbudowa funkcji. Konserwacja oprogramowania, według uznanych standardów takich jak ISO/IEC 14764 czy ITIL, obejmuje przede wszystkim cztery podstawowe obszary: korekcyjną (czyli usuwanie błędów), adaptacyjną (dostosowanie do zmian w środowisku), doskonalącą (poprawa wydajności i użyteczności) oraz perfekcyjną (rozszerzanie funkcjonalności). Skorygowanie błędów, poprawa wydajności czy dodawanie nowych funkcji to właśnie typowe zadania osób odpowiedzialnych za utrzymanie i rozwój oprogramowania. Z mojego doświadczenia wynika, że wielu młodych adeptów IT myli konserwację oprogramowania z czynnościami administracyjnymi, zwłaszcza gdy chodzi o odzyskiwanie lub przywracanie danych po awarii – a to już wchodzi w zakres zarządzania danymi czy backupów, nie konserwacji kodu. Myślenie, że poprawa wydajności lub funkcjonalności nie jest częścią konserwacji, może wynikać z braku znajomości specyfikacji tych zadań w praktyce – deweloperzy bardzo często pracują właśnie nad optymalizacją już istniejących systemów albo nad rozwojem funkcji wymaganych przez biznes. Upieranie się, że te działania nie należą do konserwacji, to chyba jedna z najczęstszych pułapek logicznych wśród początkujących. Praktyka pokazuje, że zarówno w małych firmach, jak i dużych korporacjach, konserwacja to nie tylko 'łatanie dziur', ale cały cykl procesów umożliwiających długowieczność, stabilność i rozwój aplikacji. Warto więc zapamiętać, że przywracanie danych to zupełnie odrębny temat, najczęściej realizowany narzędziami do backupu, nie przez zespół developerów.