Wielokrotnie okazuje się, że aż 50% niestandardowych projektów rozwoju oprogramowania kończy się niepowodzeniem. Ten odwieczny problem jest koszmarem dla wielu CTO i menedżerów technicznych. Z drugiej strony, wcześniejsze ostrzeżenie oznacza, że możesz przygotować siebie i swój zespół oraz zminimalizować ryzyko niepowodzenia.
W branży technologicznej wielokrotnie można zauważyć, że aż 50-70% z *custom projekty rozwoju oprogramowania awaria końcowa. Ten odwieczny problem jest zmorą wielu osób CTOs i menedżerów technicznych. Z drugiej strony, wcześniejsze ostrzeżenie oznacza możliwość przygotowania siebie i swoich zespół i zminimalizować ryzyko niepowodzenia. Jest to wyzwanie dla każdego zespołu programistów, produkt Projektanci i Ty - jako lider - powinniście się spotkać.*
Nie mam wątpliwości, że oprogramowanie niestandardowe projektów są wymagające i aby odnieść sukces, trzeba zadbać nawet o najdrobniejsze szczegóły. Szczerze mówiąc, po zapoznaniu się ze statystykami na ten temat, jestem zdumiony skalą problemu. Osobiście zdałem sobie sprawę z tego, jak ważne jest to, gdy czytałem historie firm, których współpraca z partnerami technologicznymi zakończyła się niepowodzeniem lub ich zespół stracił projekt z powodu znacznego przekroczenia budżetu lub terminu.
Zacząłem się zastanawiać, dlaczego tak się dzieje. Mam kilkuletnie doświadczenie w niestandardowe projekty rozwoju oprogramowaniawięc byłem szczególnie zainteresowany tym tematem. Postanowiłem, że na podstawie własnego doświadczenia zidentyfikuję wszystkie największe zagrożenia związane z *custom rozwój oprogramowania, którym teraz się z wami podzielę.*
Moja osobista lista największych wyzwań związanych z tworzeniem oprogramowania na zamówienie
-
Bariera językowa. Jest to jeden z najczęstszych problemów, gdy ludzie szukają partnera technicznego. Nie mam jednak wątpliwości, że ten czynnik można łatwo rozwiązać. Mianowicie, wystarczy wybrać partner w tworzeniu oprogramowania którzy mogą zagwarantować bezproblemową komunikację. Biegła znajomość języka angielskiego jest obowiązkowa. Jest to język międzynarodowy, bez którego nie można się poprawnie komunikować. Wyobraź sobie sytuację, w której chcesz porozmawiać z deweloperem o jakimś problemie lub błędzie. Jeśli okaże się, że jedyną osobą, która mówi po angielsku jest kierownik projektu, który nie jest osobą techniczną, to pojawia się problem. Musisz wiedzieć, że komunikacja z deweloperami - aby była skuteczna - musi być bardzo precyzyjna, co wymaga znajomości języka angielskiego. Pamiętaj o tej prostej zasadzie.
-
Słaba komunikacja. Aspekty komunikacyjne są w pewnym stopniu związane z barierą językową. Oprócz języka, musisz być przekonany, że Twoja codzienna współpraca jest dobrze zorganizowana. Moim zdaniem ten aspekt jest często pomijany. Kompetencje zespołu programistów mogą być istotną częścią ich pracy, ale tak samo jest z komunikacją z klientem. Poza tym - i wiem to z własnego doświadczenia - jeśli proces wzajemnej komunikacji jest odpowiednio zarządzany, to cały projekt przebiega znacznie sprawniej, a ty unikniesz niepotrzebnych problemów, takich jak opóźnienia.
-
Łamanie terminów. Jest to bardzo częsta sytuacja, której być może sam doświadczyłeś. Bardzo trudno jest oszacować ramy czasowe dla projektów rozwoju oprogramowania. Często początkowe założenia są całkowicie błędne. Na niemożność dotrzymania terminów może wpływać wiele czynników, w tym te, które opisuję w tym artykule. Myślę, że dużą rolę odgrywa tutaj odpowiednia metoda zarządzania projektem. Rekomendacje? Zdecydowanie Scrum.
-
Niewystarczająca wiedza. Projekty związane z tworzeniem oprogramowania zazwyczaj wymagają szerokiej wiedzy na temat technologii. Jest to duże wyzwanie, jeśli weźmiemy pod uwagę, że technologia stale się rozwija, a programiści muszą być na bieżąco ze wszystkimi nowościami. W tej kwestii ważne jest, aby twój własny zespół był na bieżąco z nowinkami technologicznymi. Nie jest to tak oczywiste, jak mogłoby się wydawać, zwłaszcza gdy projekt rozwoju oprogramowania jest realizowany wewnętrzny przez niewielką grupę deweloperów. Może zdarzyć się sytuacja, w której kompetencje zespołu okażą się niewystarczające, co może szybko doprowadzić do problemów, a w konsekwencji do niepowodzenia projektu.
-
Niespójna wizja. Wyobraźmy sobie sytuację, w której rozpoczynamy współpracę z partnerem technologicznym - np. software house i porozmawiać o swoich potrzebach. Szczegółowo opisujesz produkt, który chciałbyś stworzyć. Na początku wszystko wydaje się iść gładko. Z czasem jednak okazuje się, że Twoja wizja jest zupełnie inna niż Twojego partnera. W efekcie pojawia się problem, bo praca zespołu programistów i projektantów produktu nie spełnia Twoich oczekiwań.
Myślę, że jest to dość powszechny problem. Czasami trudno jest połączyć wizję klienta z "twardymi" rozwiązaniami stosowanymi przez deweloperów. W takiej sytuacji doświadczenie zespołu technicznego i umiejętności miękkie są zdecydowanie pomocne. Ważne jest, aby partner techniczny spełniał oczekiwania klienta, ale jako klient musisz mieć świadomość, że pewne rozwiązanie sugerowane przez firmę programistyczną może w rzeczywistości okazać się bardziej efektywne. Należy o tym pamiętać.
-
Zmiany w trakcie trwania projektu. W przypadku projektów IT najczęściej spotykanymi zagrożeniami są scope creep (ze strony właściciela) oraz gold planting (ze strony PM, Scrum Master czy deweloperów). Niekontrolowane zmiany w projekcie, dodawanie nowych funkcjonalności czy wprowadzanie zmian niewątpliwie należą do zagrożeń wpływających zarówno na efektywność, jak i szybkość projektów. Właściwym podejściem do zarządzania jest upewnienie się, że pierwszy kluczowy etap jest 100% dokładny, ponieważ wpłynie to na późniejszy sukces projektu.
-
Niewystarczające środki na rozwój projektu. Finansowanie jest zasadniczo jednym z najważniejszych czynników sukcesu projektu. To oczywiste. Chciałbym jednak zwrócić uwagę na nieco inny aspekt. Ważne jest, aby mieć zagwarantowany budżet w dłuższej perspektywie, a nie tylko w okresie rozwoju założonym na samym początku. Dlaczego? Powód jest prosty. Bardzo często zdarza się, że czas developmentu wydłuża się nawet o 20-30%. Musisz wziąć to pod uwagę, aby Twój projekt był bezpieczny finansowo. Zminimalizujesz ryzyko, że Twój projekt będzie nadal w fazie rozwoju, gdy zaczną pojawiać się braki budżetowe. Jest to bezpośrednio związane z nieprawidłowo oszacowanym czasem trwania projektu.
-
Niezdefiniowane zagrożenia i słabości. Przed rozpoczęciem projektu zapewne wiesz, że cały proces może nie być prosty. Prawdopodobnie zgodzisz się ze mną, że każdy projekt jest wyzwaniem. Dlatego uważam, że przed rozpoczęciem projektu należy przeanalizować potencjalne zagrożenia i słabości, które mogą mieć wpływ na ostateczny wynik. Ważne jest, aby odpowiednio zarządzać takimi zagrożeniami od samego początku.
Podsumowanie
Nie chciałbym sugerować, które z wymienionych powyżej zagrożeń jest najczęstsze. Myślę, że nie ma na to reguły - wszystko zależy od specyfiki projektu. Jeśli jednak stoisz przed wyzwaniem skutecznego wdrożenia własnego projektu, miej na uwadze to, co tutaj napisałem. Myślę, że uwzględnienie opisanych przeze mnie problemów może być dla Ciebie wskazówką, czego nie robić i jak radzić sobie z zagrożeniem. Wszystko po to, by nie stać się ofiarą brutalnych statystyk, a raczej zakończyć projekt z sukcesem.
I tego właśnie ci życzę. Jeśli masz jakiekolwiek pytania związane z tworzenie oprogramowania na zamówienieproszę o kontakt. Z przyjemnością odpowiem na wszystkie pytania.
Czytaj więcej:
Dlaczego warto mieć zespół odpowiedzialny za rozwój biznesu? Studium przypadku Codest
Jak znaleźć rynek dla swojego produktu?