Po obejrzeniu serii MegaStructures National Geographic byłem zaskoczony, jak szybko są realizowane duże projekty. Po wykonaniu wstępnych prac (projektu, specyfikacji itp.) Na papierze sama realizacja dużych projektów zajmuje zaledwie kilka lat, a czasem nawet kilka miesięcy .
Na przykład Airbus A380 „formalnie wystartował 19 grudnia 2000 r.” I „na początku marca 2005 r.” Samolot był już testowany. To samo dotyczy wielkich tankowców, wieżowców itp.
Porównując to do opóźnień w branży oprogramowania, nie mogę się zastanawiać, dlaczego większość projektów IT jest tak powolna, a ściślej, dlaczego nie mogą być tak szybkie i bezbłędne, na taką samą skalę, biorąc pod uwagę wystarczającą liczbę osób?
Projekty takie jak Airbus A380 prezentują zarówno:
Główne nieprzewidziane ryzyko: chociaż nie jest to pierwszy zbudowany samolot, wciąż przesuwa granice technologii, a rzeczy, które działały dobrze w przypadku mniejszych samolotów pasażerskich, mogą nie działać w przypadku większego samolotu ze względu na ograniczenia fizyczne; w ten sam sposób wykorzystywane są nowe technologie, które nie zostały jeszcze wykorzystane, ponieważ na przykład nie były one dostępne w 1969 roku, kiedy ukończono Boeinga 747.
Ryzyko związane z zasobami ludzkimi i zarządzaniem w ogóle: ludzie rezygnują w połowie projektu, niemożność dotarcia do osoby, ponieważ jest na wakacjach, zwykłe błędy ludzkie itp.
Przy takim ryzyku ludzie nadal realizują projekty takie jak duże samoloty pasażerskie w bardzo krótkim czasie i pomimo opóźnień w dostawie projekty te są nadal niezwykle udane i wysokiej jakości.
Jeśli chodzi o tworzenie oprogramowania, projekty nie są tak duże i skomplikowane jak samolot pasażerski (zarówno pod względem technicznym, jak i zarządzania), i mają nieco mniejsze nieprzewidziane ryzyko ze strony realnego świata.
Mimo to większość projektów informatycznych jest powolna i opóźniona , a dodanie większej liczby programistów do projektu nie jest rozwiązaniem (przejście od zespołu dziesięciu programistów do dwóch tysięcy czasami pozwoli dostarczyć projekt szybciej, czasem nie, a czasem tylko zaszkodzi projektu i zwiększ ryzyko nieukończenia go).
Te, które wciąż są dostarczane, mogą często zawierać wiele błędów, wymagających kolejnych dodatków Service Pack i regularnych aktualizacji (wyobraź sobie „instalowanie aktualizacji” na każdym Airbusie A380 dwa razy w tygodniu, aby załatać błędy w oryginalnym produkcie i zapobiec awarii samolotu).
Jak wyjaśnić takie różnice? Czy wynika to wyłącznie z faktu, że przemysł tworzący oprogramowanie jest zbyt młody, aby móc zarządzać tysiącami ludzi w ramach jednego projektu, aby bardzo szybko dostarczać niemal bezbłędne produkty na dużą skalę?