Skróć czas do uruchomienia nowej korporacyjnej strony internetowej
Korporacyjne strony internetowe są niezwykle złożone, a każda ich przebudowa wymaga włożenia naprawdę dużej ilości czasu oraz wysiłku w realizację projektu. Czasem może wydawać się nawet, że zaraz po zakończeniu prac następna przebudowa staje się konieczna niemal natychmiast. Przyjrzyjmy się wspólnie bliżej temu, dlaczego tak się dzieje i co można z tym zrobić.
Projekty stron korporacyjnych trwają zbyt długo
Projekty przebudowy korporacyjnych stron internetowych są złożone i skomplikowane, ponieważ trzeba wziąć pod uwagę naprawdę wiele czynników oraz włączyć w proces wielu interesariuszy, aby ostatecznie spełnić wysokie oczekiwania wszystkich zainteresowanych stron. Jeśli dodamy do tego szereg zróżnicowanych wymagań, treści oraz funkcjonalności, w rezultacie otrzymamy projekt obejmujący naprawdę ogromny zakres prac. Nie jest tajemnicą, że im większy projekt, tym więcej czasu należy przeznaczyć na jego realizację.
Nie można jednak zapominać o tym, że długotrwałe projekty stron internetowych niosą za sobą szereg różnorodnych zagrożeń oraz dodatkowych kosztów, których można uniknąć w przypadku krótszych przedsięwzięć. Przyjrzyjmy się im nieco bliżej.
Dodatkowe koszty zarządzania zmianami
Jeśli projekt opracowania nowej korporacyjnej strony internetowej zajmie 18 miesięcy, niemalże pewnym jest to, że w tym czasie nastąpi szereg zmian w przedsiębiorstwie, na przykład zostaną zaktualizowane plany sprzedaży oraz działania marketingowe, produkty czy nawet realizowane strategie reklamowe. Zazwyczaj wszystkie tego rodzaju zmiany wymagają odzwierciedlenia ich na stronie internetowej. W niektórych przypadkach mogą to być po prostu kosmetyczne poprawki, jednak czasem konieczne jest dokonanie poważnych, daleko idących przeróbek.
Gdyby projekt przebudowy strony internetowej trwał krócej, możliwe byłoby poczekanie na jego zakończenie, a następnie wprowadzenie potrzebnych zmian na gotowej stronie. Jeśli jednak trwający projekt ma zakończyć się dopiero za dziesięć miesięcy, czekanie nie wchodzi w rachubę, ponieważ grozi to w praktyce narażeniem przedsiębiorstwa na straty wynikające z korzystania z przestarzałej i nieaktualnej strony internetowej. W związku z tym konieczne jest dopasowanie i wprowadzenie zmian w trwającym projekcie.
Oczywistym jest, że wprowadzanie tego rodzaju zmian wymaga zrobienia tego zgodnie z odpowiednią procedurą, zwłaszcza jeśli projekt jest realizowany zgodnie z zasadami metodologii zwinnych. Wprowadzanie większości poprawek czy przeróbek będzie prowadziło jednak do zwiększenia kosztów i rozszerzenia zakresu projektu. Jest to także trudne do realizacji w czasie trwania prac.
Podwójne koszty utrzymania
W czasie prac nad nową stroną internetową, dotychczasowa strona nadal działa na rzecz przedsiębiorstwa. Większość wprowadzanych zmian będzie musiała zostać odzwierciedlona zarówno na nowej, jak i na aktualnej stronie internetowej. Jeśli do uruchomienia nowej strony zostało jeszcze dużo czasu, to tego rodzaju podwójne zmiany staną się koniecznością. Taka sytuacja prowadzi do powstania dodatkowych kosztów wynikających z konieczności utrzymania dwóch stron internetowych jednocześnie. Dla każdej osoby decyzyjnej jest to niezwykle trudna decyzja do podjęcia, zwłaszcza gdy wie, że jedna z tych stron internetowych zostanie wyłączona w ciągu roku.
Koszty nieaktualizowania istniejącej strony internetowej
„Przepraszamy, mamy nową ofertę, ale nie ma jej na stronie internetowej. Pracujemy właśnie nad opracowaniem nowej strony. Wyślę ją w pliku PDF…” może powiedzieć przedstawiciel handlowy w firmie, która zdecydowała się jednak nie ponosić podwójnych kosztów utrzymania. Oczywiście nie oznacza to, że tego rodzaju koszty znikają całkowicie. W takich przypadkach bezpośrednie koszty finansowe zamieniają się po prostu w koszty utraconych szans i możliwości.
Pozostawienie istniejącej strony internetowej w niezmienionym stanie do momentu uruchomienia nowej wersji jest prawdopodobnie najgorszym wyborem, ponieważ doprowadzi do straty klientów – co gorsza, będzie to strata niemożliwa do oszacowania. Działania działów marketingu i sprzedaży znacząco ucierpią, ponieważ przez wiele miesięcy nie będą w stanie aktywnie walczyć z konkurencją i zdobywać nowych zamówień.
Jak zatem skrócić czas realizacji nowej strony internetowej?
Istnieje wiele sposobów na skrócenie czasu realizacji strony internetowej. Najlepszym rozwiązaniem jest wykorzystanie każdej z przedstawionych metod przynajmniej w pewnej części, aby zminimalizować czas trwania projektu.
1. Upraszczanie
Kiedy planujemy, popuszczamy wodze naszej wyobraźni. Wybieramy najlepsze dostępne podejścia, patrzymy na to, co robią inni i staramy się powielać najlepsze rozwiązania oraz wykorzystywać najlepsze praktyki. To jest oczywiście świetny sposób na opracowanie swojego projektu, jednak zarazem najbardziej skomplikowany i wiążący się z największymi kosztami. Z tego powodu po opracowaniu listy wymagań, należy przejrzeć ją dokładnie, poszukując elementów, które można uprościć bez szkody dla zamierzonego rezultatu końcowego, na przykład:
- skomplikowane mechanizmy mogą być zastąpione prostszymi rozwiązaniami (API można zastąpić narzędziem do importu/eksportu; w miejsce złożonej funkcjonalności można wprowadzić możliwość importu/eksportu z programu Excel, gdzie można wykonywać operacje);
- niestandardowe funkcje można zastąpić gotowymi rozwiązaniami lub produktami typu Software-as-a-Service (na przykład śledzenie i analizy, personalizacja treści, rozwiązania w zakresie poczty elektronicznej, kopie zapasowe, sklep internetowy z usługą Shopify itp.);
- można pominąć niektóre opcje konfiguracyjne. Będzie to wymagało od zespołu programistów wprowadzenia odpowiednich zmian w późniejszym czasie, jednak w wielu przypadkach plany zakładają wprowadzenie zbyt dużej liczby opcji, które ostatecznie nie są nigdy używane.
2. Podzielenie prac na etapy
Po opracowaniu wszystkich specyfikacji strony internetowej i przygotowaniu wszystkich schematów zwykle uświadamiamy sobie, że nasz projekt charakteryzuje się ogromnym zakresem prac. Najprostszym sposobem na jego zmniejszenie jest podzielenie prac na kilka etapów.
Etap pierwszy powinien obejmować wyłącznie najważniejsze elementy. Chodzi tutaj o kluczowe funkcje, które muszą się znaleźć na stronie internetowej i które są na niej absolutnie niezbędne – oferta, formularze kontaktowe i inne. Uruchomienie tych funkcji powinno stanowić zwieńczenie pierwszego etapu prac. Realizacja pozostałych funkcji powinna zostać zaplanowana w kolejnych etapach.
Podzielenie prac na kilka etapów wiąże się z szeregiem korzyści. Przede wszystkim są to:
- Szybkie dostarczenie wszystkich najważniejszych elementów. Nie trzeba dzięki temu czekać na ukończenie zakładki „O firmie” i innych mniej znaczących części strony. Pozwala to na czerpanie korzyści jeszcze zanim cała strona zostanie ukończona.
- Zastosowanie tego podejścia pozwala na skupienie się na podstawowych funkcjonalnościach bez konieczności tracenia czasu na mniej ważne elementy.
- Ponadto dużo łatwiej jest przekonać interesariuszy do podzielenia prac na etapy niż do znaczącego ograniczenia zakresu i wyłączenia z niego mniej ważnych elementów. Z naszego doświadczenia wynika także, że po realizacji pierwszego etapu najczęściej następuje czas na ponowne przemyślenie tego, które elementy należy realizować w drugim, trzecim oraz w każdym kolejnym etapie.
- Szybkie zakończenie pierwszego etapu pozwala na szybszą weryfikację przyjętych założeń, a także szybsze i tańsze ich dostosowywanie.
- Realizacja pierwszego etapu pozwala także na wyciągnięcie wielu wniosków, dzięki którym kolejne etapy przebiegają dużo lepiej – znacznie lepiej niż w sytuacji, w której cała strona jest realizowana za jednym zamachem.
Pozostaje pytanie: co zrobić z pozostałymi – mniej ważnymi, ale potrzebnymi – elementami, które nie zostały włączone do zakresu prac do realizacji w pierwszym etapie? Są dwa sposoby rozwiązania tej sytuacji:
- Pierwszym z nich jest po prostu stworzenie prostych, tymczasowych i prowizorycznych rozwiązań zastępujących te elementy – na przykład skopiowanie istniejącego kodu HTML z poprzedniej strony internetowej. Takie rozwiązanie najlepiej sprawdzi się w przypadku zakładki takiej jak „O firmie” czy innych statycznych elementów strony.
- Można też użyć rozwiązania proxy, aby przekierowywać odwiedzających pomiędzy starą i nową stroną internetową, w zależności od tego, czy użytkownik chce uzyskać dostęp do sekcji znajdujących się na starej stronie, czy przegląda zasoby dostępne na nowej stronie. Wymaga to dokonania pewnych zmian w projekcie, aby zadbać o to, by użytkownicy nie byli zaskoczeni nagłą zmianą wyglądu strony podczas przechodzenia pomiędzy nową i starą wersją, jednak jest to ogólnie rzecz ujmując bardzo skuteczna metoda stopniowej migracji.
Oczywiście podział projektu na etapy nie ma zbyt wiele sensu, jeśli cały projekt będzie trwał krócej niż 4-6 miesięcy. We wszystkich innych przypadkach zdecydowanie zalecamy rozważenie takiego podejścia.
3. Ograniczenie zakresu
Po zakończeniu etapu planowania, rozmów ze wszystkimi interesariuszami oraz uwzględnieniu wszystkich wymagań może okazać się, że liczba elementów do realizacji okaże się przytłaczająca. Dobrym sposobem na ograniczenie zakresu jest ustalenie priorytetów. Warto oznaczyć wszystkie elementy w następujący sposób:
- 1 – kluczowe – elementy, które muszą znaleźć się na nowej stronie niezależnie od wszystkiego. Uruchomienie nowej strony bez tych elementów nie wchodzi w grę (np. strona główna, SEO, formularze kontaktowe, produkty).
- 2 – ważne – elementy, które są ważne dla przedsiębiorstwa, bez których jest możliwe funkcjonowanie, ale co najwyżej przez kilka tygodni (zaawansowane analizy, nowy blog, przyciski udostępniania w mediach społecznościowych, naprawa wolno ładujących się zdjęć w wersji mobilnej).
- 3 – warte uwzględnienia – elementy, które dobrze byłoby mieć na stronie, jednak można się bez nich obyć przez dłuższy czas (na przykład nowe integracje, funkcje redakcyjne pomagające w szybszej publikacji tekstów, REST API dla usług zewnętrznych itd.)
- 4 – przydatne, ale nie wymagane
Po uporządkowaniu wszystkich elementów w ten sposób łatwo stwierdzić, które z nich trzeba zrealizować w pierwszej kolejności, a które należy wyłączyć z zakresu lub przenieść do innych etapów, aby skrócić ogólny czas trwania projektu.
4. Zwiększenie liczebności zespołu
Zwiększenie liczebności zespołu jest dość oczywistym sposobem na poszerzenie zakresu prac wykonanych w określonym czasie. Zdecydowaliśmy się jednak na umieszczenie tego rozwiązania na czwartym miejscu, ponieważ nie jest to panaceum na wszystkie problemy.
Przede wszystkim sensownym rozwiązaniem jest realizowanie projektów w kilku etapach i zastanawianie się nad tym, które elementy są ważne, a które nie.
Ważniejszą regułą w tym przypadku jest jednak prawo malejących zwrotów. Im większy zespół, tym mniejsza produktywność poszczególnych jednostek. Małe zespoły są zwinne, elastyczne, połączone i poinformowane. Duże zespoły muszą poświęcać dużo czasu na uzgadnianie, planowanie, przeglądy oraz aktualizację swojego stanu wiedzy na temat projektu. Zarządzanie dużym zespołem jest trudniejsze i kosztuje znacznie więcej.
Na przykład, jeśli zespół ma wykorzystywać metodyki zwinne, jego liczebność nie powinna tak naprawdę przekraczać 8 osób. W przypadku większych zespołów ich stosowanie jest nadal możliwe, jednak zalecamy podzielenie dużej grupy na kilka mniejszych zespołów sprintowych, spośród których każdy będzie zajmował się mniejszym elementem całości rozwiązania. Dzięki temu można na bieżąco nadzorować prace wykonywane przez poszczególne zespoły oraz weryfikować w jaki sposób wytwarzane rozwiązania wpasowują się w ogólną wizję całości.
Podsumowując – zwiększenie liczebności zespołu może zadziałać, jednak po przekroczeniu liczby około 8 osób zarządzanie zaczyna być coraz trudniejsze, a koszty rosną w tempie wykładniczym.
Nie należy poświęcać jakości i procesów
Posiadając wiele lat doświadczenia w Drupal konsultingu wiemy, że im większy zakres projektu i im bardziej złożone są wymagania, tym ważniejsze są procesy, przepływy pracy i testy. Duża liczba błędów oraz problemów może pogrążyć każdy projekt, w szczególności, gdy nie istnieją żadne procesy pozwalające na ich rozwiązywanie.
Wprowadzenie automatyzacji (np. Continuous Integration) oraz testów automatycznych może wydawać się niepotrzebnym kosztem, jednak w rzeczywistości tak nie jest. Tego rodzaju rozwiązania pozwalają na ogromną oszczędność czasu, który w przeciwnym razie trzeba poświęcić na naprawianie błędów i testowanie manualne. Czas iteracji w zespołach zostanie drastycznie ograniczony, a liczba błędów regresji będzie znacznie mniejsza, jeśli zostaną wdrożone i zautomatyzowane wszystkie procesy zapewnienia jakości.