greenfield project?
Co oznacza to określenie w projektach IT?30.09.2022
W ofertach pracy można trafić na wyrażenie „greenfield project”, czy w spolszczonej wersji „projekt greenfieldowy”.
Z tego artykułu dowiesz się:
- Co to jest greenfield project?
- Jakie są wady i zalety pracy przy projektach greenfild?
- W jakich projektach lubią pracować specjaliści IT?
- Jakie doświadczenie w projektach greenfield ma Infolet?
Co to jest greenfield project?
Greenfield project to każdy projekt, który powstaje od podstaw. W IT, takim pojęciem określa się projekty, gdzie prace nad projektem startują od zera. To zespół ma za zadanie wymyślić sposób działania aplikacji, rozpisać warunki, zagrożenia, wybrać technologie.
Greenfield project jest projektem, który jest innowacyjny i nowoczesny. Nie ma podobnych rozwiązań ani badań rynku, nie ma więc czym podeprzeć swoich decyzji biznesowych. Dodatkowo nie ma kodów źródłowych do “inspiracji”, a decyzja o wykorzystanej technologii jest podejmowana przez programistów. Zespół projektowy podejmuje pełne ryzyko powodzenia projektu.
Projekt greenfieldowy to także projekt nad zupełnie nowym produktem lub usługą. Nawet jeśli podobny produkt jest już proponowany przez konkurencję, to dla tej konkretnej firmy jest to zupełnie nowa rzecz. Wejście na nierozpoznany (zielony) teren.
Jakie są zalety projektu greenfield?
Wielu programistów deklaruje, że woli pracować nad nowymi rozwiązaniami. Projekty greenfieldowe są właśnie dla nich.
Głównymi zaletami są:
- zespół wybiera technologie i metodologię realizacji projektu,
- nie trzeba niczego poprawiać, domyślać się co autor kodu miał na myśli,
- swoboda w definiowaniu wszystkiego,
- poczucie satysfakcji, kiedy tworzy się coś zupełnie nowego a później widzieć tego efekty.
Programiści biorący udział w takim projekcie odnoszą wiele korzyści.
Rozwój projektu od zera wymaga komunikacji z biznesem, umiejętności szacowanie ryzyka, czasu czy budżetu. Mając pełny wgląd w projekt, bierze się też za niego odpowiedzialność. Zdobyte doświadczenie jest nie do przecenienia w kontekście dalszej kariery programistycznej. Może też dać podstawy do kariery managera projektów IT.
Jakie są wady?
Prace przy utrzymaniu istniejącego oprogramowania często uważane są za gorsze, jednak tworzenie projektu od podstaw nie jest pozbawione wad.
Jedną z nich, jest dłuższy “rozbieg” potrzebny do wystartowania prac programistycznych.
Zanim zespół zacznie się kodować, musi wykonać szereg “nieprogramistycznych” czynności. Mogą to być: zebranie wymagań, zaprojektowanie funkcjonalności, zebranie feedbacku czy uzyskanie akceptacji.
O ile w początkowej fazie zbierania oczekiwań klienta, programiści nie muszą brać w tym udziału, to już później ich zrozumienie i doprecyzowanie jest kluczowe dla powodzenia projektu. Może to być męczące dla software developerów, którzy lubią rozmowy o konkretach, najlepiej z “osobami technicznymi”. Tutaj niekiedy będą zderzać się z biznesem, który może nawet nie wiedzieć czego chce.
Jedną z zalet greenfield project jest to, że zespół podejmuje decyzję o technologii, w której będzie pracował. A co, jeśli wybierze źle? Można oczywiście wprowadzić zmiany, ale wtedy tracimy czas. A jak wiemy czas to pieniądz.
Kiedy brakuje punktu odniesienia (nie ma do czego porównać pomysłu czy wyborów), decyzje są obarczone dużo wyższym ryzykiem. Wraz z rosnącą satysfakcją i poczuciem sprawczości może rosnąć również poziom stresu i odpowiedzialności w zespole. A to, w ostatecznym rozrachunku, może już niekorzystnie wpływać na motywację i morale.
Jeśli chcemy stworzyć projekt, którego nie ma jeszcze na rynku, należy dobrze poznać grupę docelową, oszacować szanse i zagrożenia powodzenia komercyjnego na rynku. Jeśli będą błędy w początkowych etapach, szanse na porażkę rosną.
Chcąc zminimalizować ryzyko porażki, warto zbierać i analizować dokładnie dane. Może to jednak skutkować wydłużeniem czasu wprowadzenia produktu na rynek. W tym czasie może wydarzyć się wiele nieprzewidzianych sytuacji. Może to być coś większego typu krach na giełdzie, pandemia czy katastrofa ekologiczna. Także konkurencja może wypuścić produkt o podobnych funkcjonalnościach. Może być też tak, że rynek i potencjalni odbiorcy nie są jeszcze gotowi na nasze rozwiązania. To wszystko może spowodować, że dużo później będzie można uzyskać zwrot z inwestycji.
Oprócz greenfield project jest również brownfield project. Oznacza to prace przy już istniejącym projekcie (utrzymanie, poprawianie błędów czy wprowadzanie aktualizacji).
Zobacz również:
Jak AI wpływa na tworzenie oprogramowania?
7 zagadnień skalowania aplikacji, które musisz znać jako Software Developer
Jakie projekt preferują specjaliści IT?
We wrześniu, na LinkedIn zapytaliśmy “Przy jakim projekcie lepiej pracować?” – nowym czy już istniejącym.
Większość naszych respondentów odpowiedziała, że przy nowym.
Zaskoczenie?
Hmm, niekoniecznie.
Branża IT to ambitni specjaliści, którzy lubią wyzwania. A na pewno wyzwaniem jest udział w projekcie od podstaw, gdzie można się wiele nauczyć, poszerzyć horyzonty, zmierzyć się z tematami, które trudno spotkać w ustabilizowanych, trwających już długi czas projektach.
Problemem starego projektu, który często wymieniają programiści jest to, że na przykład podczas prac nad aktualizacją do nowszej wersji, często coś się “wykrzacza”, a specjaliści, którzy to oprogramowanie pisali już dawno nie pracują, dokumentacji technicznej nie ma lub jest niekompletna. Naprawienie błędu zajmuje dużo czasu, czasem jest wręcz niemożliwe. Jest to bardzo demotywujące a jednocześnie stresujące dla ambitnych ludzi z IT.
Czy Infolet ma doświadczenie z projektami typu greenfield?
W Infolet stworzyliśmy 2 takie projekty.
Pierwszym była aplikacja SWI. To był pierwszy projekt programistyczny wykonany od początku do końca przez nasz development team. Więcej na temat tego projektu, możecie przeczytać w case study tutaj.
Drugim był FreeQuest. Pierwszy w Polsce (według naszej ówczesnej wiedzy) portal z ogłoszeniami o pracę, gdzie wymagane było podawanie widełek wynagrodzeń.
Obecnie nasi programiści pracują przy projektach greenfieldowych jak i browfieldowych.
Jak się u nas pracuje?