Jak wykorzystać Proof of Concept, aby przekuć projekt IT w sukces?
Rynek produktów cyfrowych się zmienia. Coraz trudniej jest przebić się z czymś nowym jako startup lub zbudować system do użytku wewnętrznego w organizacji, który rzeczywiście będzie lepszy od gotowych rozwiązań SaaS. Kluczem do sukcesu jest skuteczność w planowaniu budowy produktu IT. Jedną z niezastąpionych praktyk podczas fazy koncepcyjnej projektu jest Proof of Concept. W artykule przyglądam się temu, jak PoC może przysłużyć się przedsięwzięciom IT (ze szczególnym uwzględnieniem aplikacji na Drupalu) i stanowić nieocenione wsparcie dla naszych Klientów - od startupów, po korporacje.
Proof of Concept - co to jest?
Proof of Concept (PoC) - po polsku “dowód koncepcji” - to sposób demonstracji i potwierdzenia założeń projektowych. To wersja eksperymentalna produktu, projektu lub pomysłu, służąca do wykazania jego wykonalności lub skuteczności w praktycznym zastosowaniu. Jest to istotne w procesie weryfikacji i rozwoju nowych technologii, usług czy strategii biznesowych.
W kontekście biznesowym i technologicznym, PoC pomaga organizacjom unikać kosztownych inwestycji w pomysły, które nie są wykonalne, pozwalając skoncentrować zasoby na najbardziej obiecujących projektach.
PoC nie należy mylić z MVP (ang. Minimum Viable Product). Wcale nie musi być gotowym do wydania produktem ani bazą, na której będzie rozwijany projekt. Ma być jedynie namacalnym dowodem na to, że koncepcja danego produktu spełnia swoje założenia i ma potencjał do osiągnięcia zamierzonego celu. W przeciwieństwie do MVP, czyli najprostszej wersji produktu, który może być oferowany klientom w celu uzyskania feedbacku, PoC może nawet nie mieć formy użytkowej dla zewnętrznych użytkowników.
Definicja Proof of Concept w tworzeniu oprogramowania na Drupalu
Jeśli podejmujemy się realizacji projektu, to z pewnością mamy ku temu jakieś powody. Zazwyczaj aplikacje webowe lub mobilne są tworzone po to, aby rozwiązywać specyficzne problemy biznesowe wybranej grupy docelowych użytkowników. Często mają oni swoje przyzwyczajenia, procesy i technologie, z których korzystają na co dzień. Znając je, warto byłoby potwierdzić, czy nasz nowy projekt jest w stanie zaadresować te wymagania.
Dlatego właśnie Proof of Concept jest kluczowe dla weryfikacji najważniejszych założeń projektu. W przypadku Drupala, mamy duże doświadczenie i większość wymagań możemy potwierdzić Klientom bez konieczności prowadzenia PoC.
Proof of Concept warto jednak zastosować w przypadku bardzo specyficznych założeń projektowych, które znacząco wpływają na sukces projektu, a często w fazie koncepcji lub wyboru agencji programistycznej pozostają niewiadome.
Drupal jest technologią open source, która posiada wiele elementów gotowych “z półki”. Niemniej jednak często to, co jest gotowe, wymaga pewnego poziomu dostosowania, aby mogło rozwiązywać dany problem biznesowy. Np. PoC na potrzeby użycia Drupala może udowodnić, że intranet na Drupalu może mieć integrację z systemami aktualnie używanymi w organizacji.
Co można osiągnąć dzięki Proof of Concept?
Dowód koncepcji, czyli PoC nie tylko potwierdza wykonalność projektu, ale także dostarcza szereg korzyści:
a. Oszczędność budżetu: rozpoczęcie projektu od założeń, które nie są poparte twardymi dowodami wykonalności może prowadzić do błędnych decyzji dotyczących chociażby samej technologii, której użyjemy. Czasem dana technologia tylko z pozoru wydaje nam się odpowiednia, a później jednak musimy ją mocno dostosować lub całkowicie zmienić, co niepotrzebnie zużywa budżet projektu. Jeśli chcemy zmiejszyć ryzyko przepalania środków, faza PoC jest rozsądnym rozwiązaniem.
b. Szybszy time-to-market: niezależnie od tego, czy ścigamy się z rynkiem, tworząc startup, czy musimy zmieścić się w ustalonych przez przełożonych deadline’ach przy budowaniu produktu wewnątrz firmy, termin realizacji jest kluczowy. Jeśli będziemy przeciągać fazę developmentu, nie dotrzymamy słowa przed klientami lub interesariuszami. Faza PoC pozwala ustalić priorytety dla zadań i zaplanować harmonogram ich realizacji zgodnie z rzeczywistymi ograniczeniami technologicznymi. To pozwoli uniknąć opóźnień i skróci time-to-market, czyli czas od startu pracy nad produktem do udostępnienia go klientom.
c. Zabezpieczenie pozycji osoby odpowiedzialnej za projekt: zanim zdecydujemy się wydać firmowe środki, musimy zdać sobie sprawę, że za niepowodzenie projektu odpowiadają ludzie bezpośrednio zaangażowani w jego egzekwowanie, czyli np. Product Owner, specjalista z działu zakupu czy CEO startupu. Jako osoby obarczone odpowiedzialnością, pamiętajmy, żeby odpowiednio zabezpieczyć swoją pozycję. W tym celu potrzebujemy twardych dowodów na to, że została zachowana należyta staranność w fazie koncepcji projektu - czemu idealnie przysłuży się Proof of Concept. PoC jest dobrą praktyką w każdej prawidłowo zarządzanej organizacji.
d. Niski próg wejścia: patrząc z perspektywy matrycy priorytetów działania, PoC znajduje się w segmencie “low effort / high impact” (niski wysiłek, duży wpływ), czyli w tzw. strefie “quick wins” (szybkie wygrane). Relatywnie małym kosztem można zyskać dużą przewagę konkurencyjną. Przykład? Walidacja niespotykanego dotąd na rynku rozwiązania. Można zweryfikować jego przydatność na grupie badawczej i potwierdzić jego użyteczność, co finalnie poprawia wzrost sprzedaży produktu lub zwiększy satysfakcję z jego użytkowania przez pewną grupę docelową.
Jak stworzyć Proof of Concept?
Podejście do dowodu koncepcji zależy od potrzeb projektu i pomysłu, dla którego należy przetestować lub zweryfikować pewne założenia (np. wybór właściwych narzędzi czy zasadność użycia danej technologii). Dla przykładu prezentuję PoC w kontekście Drupala, dla którego można zastosować konkretną sekwencję kroków, takich jak:
1. Analiza wymagań i planowanie rezultatów PoC: w przypadku gdy Klient posiada listę funkcjonalności, możemy odpowiednio pod to przeanalizować i zaplanować fazę PoC. Jeśli jeszcze pomysły nie są do końca wyartykułowane i zpriorytetyzowane, możemy pomóc przeprowadzić warsztaty projektowe i wspólnie stworzyć np. matrycę MoSCoW. Jest to technika używana do określenia, które funkcje, zadania, cele projektowe są niezbędne, a które można przełożyć lub całkowicie pominąć.
2. Postawienie testowej instancji Drupala: po zaplanowanych priorytetowych wymaganiach, konfigurujemy i modyfikujemy architekturę projektu, aby dopasować się do danego typu projektu.
3. Demonstracje i iteracje kluczowych funkcji dla projektu (np. integracji): po odpowiednim skonfigurowaniu produktu, przeprowadzamy fazę demo, która będzie podstawą do dalszych iteracji. Proces ten będziemy powtarzać, pracując blisko z Klientem i zbierając feedback tak długo, aż finalnie doprowadzimy do zamierzonego rezultatu PoC.
4. Zamknięcie fazy PoC: podsumowanie, stworzenie dokumentacji i przekazanie Klientowi efektów Proof of Concept.
Pamiętajmy, że wygląd prototypów czy przykładów w ramach fazy PoC lub doszlifowywanie ich funkcjonalności na tym etapie nie ma sensu i nie jest realizowane. Priorytetem jest sprawdzenie wykonalności danych wymagań w obrębie ograniczeń technologicznych.
Kto realizuje fazę Proof of Concept?
W przypadku zespołu projektowego realizującego fazę Proof of Concept w Droptica zespół składa się z dwóch osób. Są to konsultanci z wieloletnim doświadczeniem, którzy wcześniej pełnili (lub nadal pełnią) rolę Tech Leada oraz Project Managera.
Project Manager od początku do końca prowadzi fazę PoC, koordynuje spotkania oraz sporządza dokumentację. Tech Lead, czyli osoba, która “zjadła zęby” na Drupalu, potrafi szybko i skutecznie stworzyć koncept, który odpowiada interesom biznesu Klienta. Obie osoby są na poziomie starszego specjalisty, co oznacza, że mają minimum dziesięcioletnie doświadczenie i potrafią proaktywnie komunikować się z biznesem.
Jeśli chodzi natomiast o interesariuszy po stronie Klienta, nie ma limitów w liczbie osób biorących udział w fazie PoC. Zależy nam na tym, aby wsłuchać się w potrzeby osób reprezentujących różne działy wewnątrz firmy, aby mieć pewność, że adresujemy wszystkie najważniejsze wymagania i perspektywy.
Przykładowa faza PoC przeprowadzona w Droptica
Aby jeszcze lepiej przybliżyć znaczenie Proof of Concept, chciałbym przywołać przykładową fazę PoC zrealizowaną przez Droptica w związku z projektem intranetu dla jednej korporacji. Proces trwał około miesiąca i przerodził się w kilkumiesięczny projekt.
Wstępne konsultacje i zrozumienie biznesu Klienta
W rozmowach z nami po stronie Klienta udział wzięły osoby znające biznes, a niekoniecznie technologię. To na nas spoczywał obowiązek pokazania, że realizacja ich potrzeb jest technologicznie możliwa.
Na wstępie zadbaliśmy o to, aby Klient dokładnie wiedział, czego oczekuje. Jeśli jednak w tym momencie pojawiłyby się wątpliwości, zalecilibyśmy najpierw przeprowadzenie warsztatów discovery, które pomagają uściślić oczekiwania i cele projektu.
Współpraca z Klientem na etapie PoC w Droptica skupia się na walidacji możliwości realizacji tych oczekiwań - czy to poprzez istniejące rozwiązania dostępne np. na Drupal.org, czy poprzez tworzenie dedykowanych opcji od zera.
Demonstracja kluczowych elementów projektu
W ramach PoC szczegółowo zademonstrowaliśmy różne aspekty planowania projektu intranetu, takie jak zmodyfikowane role użytkowników, strukturę organizacji, potrzeby działów HR czy integrację różnych spółek w ramach jednej organizacji.
Położyliśmy również duży nacisk na możliwości dostosowania CMS-a do indywidualnych potrzeb brandingowych klienta. Kluczowe było też pokazanie, że użytkownicy mogą zalogować się przez Active Directory, oraz udowodnienie, że zagnieżdżenie w intranecie podstawowych aplikacji Microsoft jest możliwe.
Jak pracujemy przy PoC?
W trakcie trwania fazy Proof of Concept, nasz zespół podejmuje szereg działań, aby proces był efektywny i doprowadził do satysfakcjonujących rezultatów. Tak było również w wyżej opisanym przypadku. Czym charakteryzuje się nasze podejście?
Zarządzanie czasem i priorytetami
Zarządzanie oczekiwaniami Klienta oraz efektywne wykorzystanie czasu jest dla nas priorytetem. Dokładamy starań, aby na bieżąco raportować postępy prac, zużycie godzin na rozwój i research, jak również na spotkania i zbieranie feedbacku. Elastyczność w zarządzaniu zakresem prac pozwala nam skupić się na najważniejszych wymaganiach Klienta.
Przewodnictwo podczas rozmów
Staramy się unikać bezcelowych dyskusji i niepotrzebnego przedłużania procesu, skupiając się na konkretnych, praktycznych rozwiązaniach. Prezentujemy prosty interfejs demonstracyjny, np. intranetu na Drupalu, który niekoniecznie musi być finalnym wyglądem strony czy systemu, ale zawiera wszystkie kluczowe elementy wizji Klienta. Taka wizualizacja pomaga w zrozumieniu projektu i jego wymagań.
Planowanie dalszej współpracy
PoC daje nie tylko możliwość weryfikacji technicznej, ale również szansę na budowanie zaufania i wzajemnego wyczucia się przed podjęciem długoterminowej współpracy. Na zakończenie fazy PoC zawsze podsumowujemy osiągnięcia, ustalamy kolejne kroki i planujemy dalsze działania, które mogą obejmować zarówno następne zamówienie, jak i rozpoczęcie prac nad MVP docelowego projektu.
Proof of Concept w tworzeniu oprogramowania - podsumowanie
Wybór technologii, która jest gotowa i przetestowana przez rynek, a następnie zwalidowanie możliwości zmodyfikowania jej pod dany biznes, jest zdecydowanie korzystniejszym rozwiązaniem niż tworzenie projektu od zera.
Jeśli już rozważasz użycie Drupala, PoC pozwoli Tobie oraz innym interesariuszom zbudować zaufanie do podwykonawcy i samej technologii oraz zrozumieć wartości tej technologii. W naszej agencji drupalowej mamy zasadę, że realizujemy projekty, w które sami wierzymy, dlatego jeśli masz pomysł lub plan na nowy produkt, chętnie pomożemy Ci go potwierdzić, a następnie zrealizować i pomóc Ci osiągnąć sukces.