W Grudniu 2007 w jednym z pism branżowych ukazał się wywiad z prezesem jednego z liderów ryku IT. Prezes oświadczył: „Powoli odchodzi się od rozwiązań szytych na miarę. Dawniej byli krawcy i im zlecało się robienie garniturów. Teraz po prostu krawców już nie ma”. No z całym szacunkiem! Gdzie ubierają się głowy państw? Czołowe postacie świata biznesu i mody?
Już nie zleca się pisania fragmentów programów
Rozwój inżynierii oprogramowania idzie w dwóch podstawowych kierunkach: wielokrotnej używalności fragmentów kodu i dzieleniu systemów na komponenty. Efekty tego trendu to między innymi SOA (architektura zorientowana na usługi) i Catalysis (metodyka projektowania zorientowana na komponenty) oraz rzesze metod i metodyk pośrednich. Są one efektem rosnącego znaczenia obiektowych technik analizy, projektowania i implementacji.
Osobiście jestem zwolennikiem tezy, że wybór pomiędzy systemem dedykowanym a gotowym powinien następować po określeniu wymagań a nie przed. Określając wymagania czyli tak na prawdę odkrywając dopiero potrzeby firmy nie mamy żadnych podstaw do podjęcia decyzji o tym, że będzie to np. dostępny na rynku system gotowy. Obiegowa opinia, że systemy gotowe są tańsze także nie wytrzymuje według mnie krytyki. Patrząc na budżet projektu wdrożenia gotowego systemu na poziomie np. kilku milionów złotych i czasie oddania do użytku rzędu dwóch lat jestem skłonny twierdzić, że można stworzyć dedykowany system w tym samym budżecie i terminie. Osobom uśmiechającym sie w tej chwili pragnę zwrócić uwagę na to, że każdy dedykowany system to ok. 20% kodu realizującego specyficzne wymagania firmy i ok. 80% realizujące wymagania niefunkcjonalne takie jak bezpieczeństwo, wydajność czy interfejs użytkownika. Opisując to bardziej precyzyjnie: model systemu zawierał by ok. 50 klas opisujących domenę dziedziny oraz pozostałe ok. 200 klas dołączonych z gotowych bibliotek. Tu także pojawia sie odpowiedź na pytanie czy zleca się pisanie fragmentów kodu: otóż tak zleca sie pisanie komponentów lub kupuje się je na rynku w postaci gotowych bibliotek.
Gdybym trafił w projekcie na wymaganie by śledzenie produkcji polegało na prezentacji w postaci dynamicznie generowanej animacji prawdopodobnie wydzielił bym tę funkcjonalność w postaci osobnego komponentu z dobrze udokumentowanym interfejsem i zlecił napisanie go programistom specjalizującym się w grach komputerowych lub kupił gotowy taki komponent. Myślę, że nie jestem w tym podejściu odosobniony.
Odchodzi się od rozwiązań szytych na miarę
Produkty na rynku IT to głównie rezultaty popytu, popyt jest tu generowany przez firmy i organizacje te zaś dzielą się na segmenty. Nie jest to żadne odkrycie.. Spójrzmy na poniższy diagram.
Nie wgłębiając się zbytnio w szczegóły można powiedzieć, że:
- ćwiartki lewa górna i prawa dolna to firmy, które dokonały złego wyboru systemu:
- jeżeli firma „typowa” porwała sie na dedykowany projekt bardzo prawdopodobne jest, że jest on nierentowny
- jeżeli firma innowacyjna wdraża produkt masowy bardzo prawdopodobne jest, że utraci swoją unikalność i a pozycje na rynku
- ćwiartka lewa dolna i prawa górna to dwa podstawowe segmenty rynku odbiorców rozwiązań IT
- lewa dolna: segment firm o strategii zachowawczej walczącej o status-quo na rynku, typowy marketing Kottlerowski; jest to segment nabywców systemów gotowych.
- prawa górna: segment liderów rynku, typowy marketing Porterowski; jest to segment nabywców systemów dedykowanych.
Ważnym elementem jest tu także wiedza o minimalnym budżecie na dedykowany projekt. W zależności od tego jaką firmą zapytałem, podawane wartości wahały sie w granicach rzędu 20-100 tysięcy złotych. Interpretuję ten rozrzut głównie stopniem komplikacji projektów i technologii wykonania.
System IT powinien się zwrócić w okresie rzędu trzech do pięciu lat. Przyjmuje się taki mniej więcej okres zachodzenia istotnych zmian w otoczeniu rynkowym, niektóre firmy uznają nawet, że w ich branży okres ten nie przekracza jednego roku. Uśredniając podane wartości można uznać, że system IT powinien się zwrócić w trzy lata a minimalna inwestycja to 50tys.złotych. Oznacza to, że (dla uproszczenia nie licząc kosztu pieniądza) średniomiesięczny koszt to 50 tys./36 miesięcy=1388zł. Załóżmy, że na IT firmy wydają 2% przychodów (co moim zdaniem jest optymistycznym założeniem) to na inwestycję taką będzie stać firmę o minimalnych miesięcznych przychodach rzędu prawie 70 tys. zł.
Tak więc pojawia się trzeci segment rynku: firmy o przychodach poniżej 70tys. niezależnie od tego czy są czy innowacyjne czy nie. Jest to segment odbiorców małych gotowych systemów. Firmy w tym segmencie praktycznie nie pojawiają się w żadnych rankingach liderów.
Jednak nie da sie zaprzeczyć, że segment liderów, firm innowacyjnych, będących liderami rankingów zarówno krajowego jak i branżowych to doskonały „materiał” na klientów dla firm programistycznych. Nie zapominajmy także o odbiorcach jakimi są instytucje rządowe. Zmiany w przepisach, obciążanie ich unikalnymi zadaniami powodują, że są to klienci na projekty z założenia dedykowane a te były, są i będą.
Rynek IT jest nieprzewidywalny
Zaryzykował bym tezę, że obecny kształt rynku budownictwa modeluje przyszły kształt rynku technologii informacyjnych. Mamy tu inżynierię, inwestorów, wymagania, architektów, wykonawców, beneficjentów. Wystarczy się rozejrzeć: mamy małe budowle (nie tylko domki działkowe czy budy dla psów) zbudowane własnymi rękami, mamy osiedla seryjnych, jednakowych domków jednorodzinnych, osiedla bloków mieszkalnych. Mamy jednak także wyjątkowe domy budujące wizerunek ich właścicieli, mamy unikalne zabudowy przestrzenne i unikalne wysokościowce w centrach miast. Można wyliczać długo.
Zakończę wiec ten artykuł prognozą. Rynek IT wykształci ścisłe role:
- użytkowników systemów: to my wszyscy, użytkownicy gotowych i dedykowanych rozwiązań.
- inwestorów: to my lub nasi sponsorzy.
- analityków, architektów rozwiązań: analityków wymagań, autorów zarówno masowych jak i dedykowanych produktów.
- developerów: wykonawców projektów, programistów.
W każdej z tych grup jest miejsce zarówno dla rzemieślników jak i dla artystów.