Potrzeba klienta
Firma zarządzająca kompleksem biurowym o powierzchni blisko 40 tys. m2, w którego skład wchodziły wysokotechnologiczne budynki biurowe oraz powierzchnie magazynowe, powierzyła nam zadanie przygotowania aplikacji do zarządzania zdarzeniami, w szczególności zarządzania usterkami w kompleksie.
Klient oczekiwał stworzenia jednego narzędzia do zgłaszania zdarzeń (usterek, usprawnień, spraw) w kilku różnych nieruchomościach. Platforma miała nie tylko ułatwić gromadzenie ich, ale również dawać możliwość zarządzania nimi: zmiany statusów, dodawania komentarzy, przydzielania koordynatorów czy ewidencji czasu przeznaczonego na obsługę poszczególnego zdarzenia.
Ponadto narzędzie miało realizować takie funkcje jak:
- dostęp najemców do zgłoszonych przez nich zdarzeń
- nadawanie uprawnień osobom mającym dostęp do stworzonego panelu.
- możliwość odzwierciedlenia warunków Service Level Agreement (SLA) w części dotyczącej usterek, w tym koordynowania czasu usunięcia usterki oraz wysokości naliczanych kar w związku z jego przekroczeniami.
Wyzwanie
Na zadanie, które zostało przed nami postawione składały się dwa powiązane ze sobą aspekty. Aplikacja z jednej strony miała umożliwiać rejestrowanie pojawiających się zdarzeń oraz zarządzanie nimi, z drugiej stanowić bazę wszystkich rodzajów powierzchni dostępnych w kompleksie oraz ulokowanych w nim najemców z oznaczeniem wynajmowanej przez nich przestrzeni.
Proces, który musieliśmy zaprogramować wyglądał następująco:
- zgłoszenie usterki przez uprawnionego użytkownika rozumiane jako maksymalnie zautomatyzowany proces (jak najwięcej pól umożliwiających wybory z list, a dodatkowo pole na opis i zdjęcia),
- odebranie usterki przez pracownika technicznego z automatycznie odnotowywanymi w systemie: datą odczytania i zmianą statusu,
- możliwość dodania komentarza widocznego dla najemcy w formie otwartego teksu, wyboru z listy komentarzy standardowych lub też dodania wewnętrznego komentarza do zdarzenia kierowanego do innych członków zespołu (niewidocznego dla najemcy),
- podział na usterki krytyczne i niekrytyczne zgodnie ze SLA,
- tworzenie rejestru czasu usuwania usterki z uwzględnieniem czasów zdefiniowanych SLA z automatycznym naliczaniem wysokości kar, jeżeli czas został przekroczony,
- potwierdzanie usuwania usterek przez najemcę,
- w podobny sposób zaprogramowano moduł „Sprawy”, pozwalający rejestrować zdarzenia inne niż usterki,
- poza częścią techniczną aplikacja zawierała moduł służący rezerwacji sal w centrum konferencyjnym oraz moduł umożliwiający wysyłanie ogłoszeń/alertów zarówno w formie wiadomości jak i SMSa.
Na całość tego rozwiązania złożyły się również:
Wymagająca tabela uprawnień nadająca dostępy w kilku wymiarach równocześnie: dla poziomów – właścicielskiego, zarządczego, klienckiego czy technicznego, jak i dla różnych operacji: edycja, odczyt, podgląd, usuwanie. Aplikacja do zarządzania zdarzeniami służyła czynnościom operacyjnym jak i nadzorczym. Miała również za zadanie zbieranie danych z możliwością ich generowania w postaci raportów, co rodziło konieczność opracowania szczegółowej macierzy dostępów, która mogła być w każdej chwili edytowalna przez zarządzającego aplikacją. W ramach tabeli uprawnień klient wymagał 92 elementów dowolnie konfigurowalnych, co umożliwiało utworzenie tysięcy różnych uprawnień. Dostępy nadawane były nie tylko przez osobę sprawującą pieczę nad całym system, ale również dawały możliwość ich dostosowywania w ramach określonej grupy np. każdy z najemców mógł określić jaki zakres czynności (podgląd, edycja, usuwanie itp.) może mieć każdy z jego pracowników. Testowanie szczelności macierzy dostępów było najdłuższym etapem tworzenia całej aplikacji.
Rozbudowany moduł administracyjny, umożliwiający definiowanie rodzajów i typów powierzchni, rodzajów usterek, rodzajów i typów spraw, przydzielania koordynatorów, dodawania użytkowników, tworzenie grup uprawnień, tworzenie komentarzy standardowych. W celu maksymalizacji automatyzacji czynności aplikacja została wzbogacona o rozbudowany moduł administracyjny umożliwiający definiowanie większości parametrów, które następnie są wybierane przez najemców z list wyborów. Umożliwia to standaryzację poszczególnych zdarzeń, późniejsze tworzenie raportów i statystyk, wprowadza porządek.
Naliczanie czasu i automatyczna zmiana statusu po odczytaniu danego rekordu. System sam zapisywał czas, kiedy użytkownik odczytywał dane zdarzenie, zmieniał status na odczytane oraz zapisywał w systemie dane użytkownika, który zapoznał się z konkretnym zdarzeniem. Automatyzacja miała na celu płynne procedowanie wszystkich zdarzeń bez możliwości wybierania sobie przez osoby odpowiedzialne konkretnych usterek, spraw czy usprawnień.
Wielość powiązań między modułami, rozmaitość funkcji oraz zróżnicowanie dostępów wpływało na poziom skomplikowania aplikacji.
Uzyskane efekty
Cele, którym miała sprostać aplikacja:
- maksymalne zautomatyzowanie procesu rejestrowania wszystkich zdarzeń mających wpływ na zarządzane obiekty oraz relacje z klientami powiązane z tymi zdarzeniami – cel nadrzędnym,
- optymalizacja procesu obsługi technicznej,
- usprawnienie obsługi klienta,
- analiza i raportowanie.
Wszystkie cele zostały osiągnięte. Aplikacja zautomatyzowała proces zgłaszania zdarzeń, w szczególności usterek, co w znacznym stopniu wpłynęło na skrócenie czasu ich usuwania. Możliwość szybkiej wymiany informacji dzięki zastosowanemu modułowi komentarzy (wiadomości) poprawił wydajność procesu zarządzania zdarzeniami. Automatyczne zapisywanie dat, rejestrowanie czynności czy zmiana statusów sprawiły, że procesy stały się klarowne dla wszystkich stron. Dzięki wdrożeniu aplikacji oraz konsekwentnemu przestrzeganiu zgłaszania zdarzeń przy użyciu tego narzędzia udało się sprostać oczekiwaniu właściciela, którym było szybkie raportowanie o stanie niezamkniętych usterek, naliczonych ewentualnych kar wynikających ze SLA, ocena poziomu usterkowości poszczególnych instalacji. Dodatkowym atutem była kontrola czasu usuwania usterek i pojawiające się alerty w sytuacji zbliżania się do jego przekroczenia, co umożliwia podjęcia natychmiastowych działań zmierzających do zamknięcia zdarzenia.
Technologie
W ramach realizacji projektu postawiliśmy na sprawdzone technologie, które zapewniły niezawodność i elastyczność całego rozwiązania. Do budowy warstwy backendowej wybraliśmy PHP, ze względu na jego wszechstronność oraz szerokie wsparcie dla integracji z różnymi systemami i bazami danych. Dzięki PHP mogliśmy również sprawnie zarządzać logiką aplikacji oraz implementować wymagane przez klienta funkcjonalności. Po stronie frontendowej wykorzystaliśmy JavaScript, co pozwoliło na stworzenie dynamicznych i interaktywnych elementów interfejsu użytkownika, które znacznie poprawiły doświadczenia końcowe użytkowników. Dodatkowo, zaimplementowaliśmy mechanizm powiadomień e-mailowych oparty na protokole SMTP, co umożliwiło automatyczne wysyłanie wiadomości do użytkowników w kluczowych momentach korzystania z aplikacji, takich jak nowa usterka, zmiana statusu czy powiadomienia o nowych sprawach do rozwiązania. Wybór tych technologii pozwolił na stworzenie stabilnego i skalowalnego rozwiązania, które w pełni spełnia oczekiwania klienta.
Przyszłość / rozwojowość projektu
Platforma została przygotowana dla projektu dojrzałego, w którym każdy proces był już wcześniej rozpisany. Klient dokładnie opisał swoje wymagania wobec narzędzia, a także powiązania pomiędzy poszczególnymi funkcjami. Dokładne wyspecyfikowanie funkcjonalności, w tym zależności pomiędzy poszczególnymi operacjami, opisanie tego, co klient chce osiągnąć w ramach każdej funkcjonalności (oraz to, jak powinny się one wiązać) miały na celu dalszą rozbudowę platformy w kierunku innych usług realizowanych w ramach kompleksu. Zamierzeniem klienta było dostarczenie najemcom jednego i spójnego narzędzia służącego do administrowania nieruchomością na płaszczyźnie najemca-wynajmujący. Dzięki swojej modułowej strukturze platforma dała dalsze możliwości rozwoju.
Główne korzyści dla zarządcy po wdrożeniu aplikacji
- Jawność usterek – z uwagi na objęcie systemem wszystkich nieruchomości i opisanie go w regulaminie jako jedyne właściwe narzędzie do zgłaszania usterek, zarządca uzyskał pełny podgląd na wszystkie zgłaszane nieprawidłowości.
- Większa kontrola – mając dostęp do wszystkich zgłoszonych usterek wraz z przypisanymi do niech pracownikami, zarządca może w pełni i na bieżąco kontrolować wszystkie kluczowe aspekty nieprawidłowości takie jak konkretność zgłaszanych usterek, czas naprawienia, jakość komentarzy wychodzących, kary za przekroczone terminy usunięcia itd. co daje mu możliwość szybkiej reakcji i wprowadzania korekt.
- Uporządkowanie – dzięki sortowaniu i filtrowaniu oraz nadawanym statusom zarządca może w szybki i prosty sposób sprawdzić ilość usterek nad którymi praca nie została rozpoczęta lub które są w trakcie realizacji.
- Przejrzystość – dzięki sekcji komentarzy i wiadomości wewnętrznych, które możemy dodawać do każdej sprawy i usterki całą ważną komunikację, łącznie z załącznikami, koncentrujemy w jednym miejscu, unikając rozproszenia informacji.
- Akuratność – dzięki temu, że wszystkie usterki i cała komunikacja ich dotycząca, muszą znaleźć odzwierciedlenie w systemie, co wymaga od każdej ze stron dokładnego opisywania zdarzenia w połączeniu z autozapisami daty i godziny dokonania wpisu uzyskujemy transparentną i akuratną historię zdarzenia, która niejednokrotnie pomaga w rozwiązywaniu sporów.
- Analityka i sprawozdawczość – dzięki aplikacji tworzone są bazy z kompletnymi informacjami, które stanowię idealne narzędzie analityczne oraz sprawozdawcze. Jednym kliknięciem można eksportować bazy do pliku xls oraz przesyłać zainteresowanym stronom.
- Oszczędność czasu – dzięki aplikacji większość procesu zarządzania zdarzeniami została w pełni zautomatyzowana, co zaoszczędziło sporo czasu koordynatorom. Dodatkowo umożliwienie eksportu baz danych zwiększyło efektywność czasu poświęcanego na proces raportowania.