Elastyczny system IT – bo nie wiesz, co Cię czeka w przyszłości [Przypowieść o „czarnym łabędziu”]

Sławomir Wnuk

Rzeczywistość ostatnio mocno zaskakuje. Jedna po drugiej dotykają nas sytuacje, które „wywracają” dotychczasowe założenia.

To jak nagromadzenie „czarnych łabędzi” z książki Nassima Nicholasa Taleba.

Według teorii wspomnianego autora: „czasami dzieją się rzeczy, które – zanim się wydarzyły – uznawane były za niemożliwe”. Mam jednak wrażenie, że to „czasami” następuje ostatnio dość często.

Chyba nie muszę Cię przekonywać, że wpływa to także biznes, który prowadzisz.

Ubezpieczenie na ciężkie czasy

Oczywiście są sposoby, żeby się ubezpieczyć na tak zwany „wszelki wypadek”. Na gruncie IT  takie ubezpieczenie stanowią

  • umowa wdrożeniowa
  • analiza przedwdrożeniowa
  • zwinna metodyka współpracy (Scrum)
  • rozliczenia Time & Material
  • testy funkcjonalne
  • szkolenia dla użytkowników
  • umowa serwisowa
  • otwarty kod oprogramowania

Umowa wdrożeniowa – bo może będzie trzeba zrezygnować z projektu

Umowę z firmą wdrożeniową podpisuje się przed rozpoczęciem jakichkolwiek odpłatnych działań.

Najlepiej jeżeli zakłada ona współpracę na warunkach Scrum + Time & Material. To znaczy, że samodzielnie dobierasz zagadnienia, które realizuje zespół deweloperski. Płacisz tylko za czas i zasoby wykorzystane w trakcie zlecenia. A do systemu raz na 2 tygodnie trafia kolejna funkcjonalność.

W razie czego – możesz w każdej chwili zmienić kierunek wdrożenia, ustalić inny priorytet na konkretne taski a nawet zastopować pracę do czasu, aż znajdzie się budżet. Co ważne, na mocy zawartego kontraktu – system w aktualnym stanie pozostanie do Twojej całkowitej dyspozycji. 

Analiza przedwdrożeniowa – bo lepiej, żeby zespół projektowy dobrze znał Twój biznes

Zanim rozpoczną się prace, należy się koniecznie spotkać na specjalnych warsztatach z analitykiem. Służy to zrozumieniu procesu biznesowego klienta oraz rozpoznaniu najważniejszych potrzeb do odzwierciedlenia w systemie. W ten sposób zabezpieczasz się przed nieporozumieniami i niepowodzeniem całego przedsięwzięcia.

Wnioski ze spotkania posłużą do stworzenia tzw. Backlogu Produktu; potocznie mówiąc – worka z pomysłami na funkcjonalność Twojego systemu. Sięga się do niego w trakcie prac implementacyjnych. Cały czas możesz go też porządkować, zmieniać i rozbudowywać wedle aktualnych preferencji. Między innymi na wypadek kolejnego „czarnego łabędzia”.

Scrum – bo może trzeba będzie coś zmienić w trakcie

Jak współpracować z firmą IT, kiedy wisi nad  Tobą ryzyko kolejnego „czarnego łabędzia”?

Najlepszą strategią jest „zwinność” podejścia, adaptacja do zmienionych warunków, tolerancja dla zmiany jako czegoś naturalnego w środowisku. Słowem: agile.

Typowym sposobem organizacji pracy według metodyki aglie jest Scrum. Polecam Ci go z całego serca!

Nie trzeba wtedy czekać na wytworzenie dokumentacji nieistniejącego jeszcze systemu. Prace nad projektem rozpoczyna się od razu. Już po pierwszych 2 tygodniach (tyle zwykle trwa jedna iteracja w Scrumie) otrzymujesz pierwsze funkcje do testów. Efekty mogą nawet od razu trafić na „produkcję”.

Scrum organizuje też pracę całego Zespołu. Twoją jako Product Ownera oraz wszystkich innych zaangażowanych osób. Programiści biorą udział w licznych spotkaniach i nieustająco dbają o najwyższą jakość dostarczanego kodu. Otrzymujesz też wsparcie proxy Product ownera, czyli analityka, który poznał Twój biznes podczas analizy przedwdrożeniowej.

A gdyby coś trzeba było usprawnić – zawsze jest taka możliwość!

Podobnie jak w życiu, także w projektach scrumowych, zmiana jest czymś naturalnym. Może być konieczna ze względu na wystąpienie kolejnego „czarnego łabędzia”. Ale może też po prostu wynikać z poczynionych przez zespół ustaleń. Skala takiej zmiany jest dowolna. Scrum Ci to gwarantuje!

Time & Material – bo lepiej wiedzieć, za co się płaci

Przemycałem już tę informację, ale uznałem, że warto, aby wybrzmiało to dosadnie. Kolejny sposób na zabezpieczenie Twoich interesów to Time & Material.

Mam tu na myśli rozliczenia wyłącznie za czas i zasoby poświęcane w ramach projektu. Oczywiście z uwzględnieniem oszacowania i górnej granicy budżetu.

Może się oczywiście wydarzyć, że za niektóre funkcje zapłacisz więcej, niż wstępnie oszacowano. To w końcu tylko szacunek. Nie dowiadujesz się jednak o tym z faktury na koniec miesiąca, a na bieżąco, z systemu projektowego i powiadomień na skrzynce mailowej. Poza tym, to Product Owner wraz z proxy Product Ownerem wspólnie dobierają zagadnienia do realizacji i kontrolują, ile to wszystko kosztuje. Nic nie ma prawa umknąć Twojej uwadze.

Oczywiści może się też zdarzyć, że zapłacisz mniej. 😉

Testy funkcjonalne – bo lepiej mieć pewność, że wszystko działa jak należy

Po latach pracy w eVolpe ten etap wydaje mi się bezdyskusyjny.

Trudno mi wyobrazić sobie firmę IT, która nie testuje wytworzonego kodu. Taka praktyka nazywa się Code Review. Chodzi o to, żeby sprawdzić, czy te wszystkie znaczki, które dla mnie nadal pozostają tajemne, a decydują o funkcjonalności narzędzia, zapisano w optymalny sposób. Tak zwane ce-erki zwykle wykonują starsi stażem programiści, którzy mają większe szanse zauważyć ewentualne niedociągnięcia.

Poza kodem powinno się testować także samą funkcjonalność. Do tego celu zatrudnia się testerów oprogramowania. „Klikają” oni po specjalnej testowej instancji, porównują User Story z efektem pracy programisty i szukają potencjalnych błędów, aby zgłosić je do poprawy.

Ostatnia rzecz to wypróbowanie systemu przez Product Ownera lub wyznaczonego do tego celu użytkownika aplikacji. Dzięki temu masz 100%-ową pewność, że otrzymujesz to, o co prosisz.

W sytuacji, w której innych zaskakuje niespodziewany „czarny łabędź” – Twój system pozostaje niezawodny. W końcu przetestowano go aż na trzy sposoby.

Szkolenia dla użytkowników – bo sam system niczego nie zmienia, jeśli z niego nie korzystacie

Zwykle po albo tuż przed startem produkcyjnym odbywają się szkolenia dla użytkowników i administratorów. Jest to etap nieobowiązkowy, ale zdecydowanie przeze mnie rekomendowany.

W ten sposób pracownicy Twojej firmy poznają funkcje dostarczonego oprogramowania. Dzięki szkoleniom ułatwiasz im przystosowanie się do nowego sposobu pracy (user adoption). A im szybciej nauczą się z niego korzystać, tym szybciej zauważysz zwrot z podjętej inwestycji.

W sytuacji, w której nadejdzie kolejny „czarny łabędź” – będą też odpowiednio uposażeni, by skorzystać z funkcjonalności oprogramowania w celu ratowania firmy przed niepożądanymi skutkami gwałtownych przemian.  

Service Level Agreement – bo może będzie trzeba rozbudować gotowy system

Po zakończonym wdrożeniu przychodzi czas na utrzymanie poprawnego działania instancji w zatwierdzonym stanie oraz dalszy jego rozwój na podstawie umowy serwisowej lub nowego zlecenia. Odbywa się to na zasadach określonych w umowie SLA.

To kolejny rodzaj ubezpieczenia na ciężkie czasy. Jeżeli sytuacja na rynku zmieni się po Go-Live systemu, niezbędnych zmian będzie w nim można dokonać na zasadach określonych w umowie serwisowej.

Zwykle przysługuje Ci pakiet godzin do zrealizowania. Firma wdrożeniowa gwarantuje gotowość bojową. Rezerwuje czas programistów, by się wywiązać z obietnic.

Do Ciebie należy dysponowanie zasobami w efektywny sposób. W tym celu możesz zlecać dowolne zadania i to w ilości, na jaką pozwoli suma godzin do wyczerpania w miesiącu.

Współpraca powdrożeniowa do złudzenia przypomina więc etap prac implementacyjnych, ale dla porządku objęta jest osobną umową. A to dlatego, że zwykle spada częstotliwość zgłaszanych przez Ciebie potrzeb. 

Gdyby coś się wydarzyło – wszyscy są jednak gotowi podjąć działania.

Open Source – bo system powinien być elastyczny

Na koniec argument koronny. Otwarty kod oprogramowania.

Kiedy obawiasz się niestabilnej sytuacji na rynku – Twój system powinien być elastyczny. Musisz być w stanie dokonać w nim dowolnych usprawnień.

Open Source Ci to gwarantuje. Jeśli programiści mają możliwość ingerencji w kod systemu – każda modyfikacja będzie możliwa.

Nie pozbawiaj się tej szansy. W samej ofercie eVolpe znajdziesz mnóstwo takich systemów do wyboru. Przyjrzyj się na przykład:

Jeśli masz dodatkowe pytania, nie wahaj się. Eksperci eVolpe czekają, aby przeprowadzić indywidualną konsultację na ten temat. Kalendarz wolnych terminów znajdziesz poniżej.

Sławomir Wnuk
Scroll to Top