Na świecie istnieje mnóstwo firm specjalizujących się przeróżnych niszach rynkowych. W związku z tym na rynku brakuje wyspecjalizowanego oprogramowania do wspomaganiach ich procesów i są one zmuszone zlecać duże projekty do firm informatycznych. Z czego składa się proces tworzenia oprogramowania dla firm ?
Gdy firma informatyczne otrzyma zapytanie wówczas uaktywnia się cały proces analizowania dokładnych potrzeb klienta.
Analitycy spędzają dużą liczbę godzin z klientem aby móc jak najlepiej zaprojektować cała funkcjonalność i przekazać to programistom. Następnie kompletowany jest specjalny zespół projektowy z analitykami, szefem projektu oraz programistami i rozpisane zostają zadania. W regularnych odstępach czasu np., co tydzień odbywają się zebrania całej grupy i omawiane jest to już się udało zrobić, jakie wystąpiły problemy oraz planuje się kolejne zadania. Należy zaznaczyć że duże projekty np., budowa informatycznego systemu bankowego może trwać nawet kilkadziesiąt miesięcy.
Bardzo ważna jest ścisła współpraca z klientem na każdym etapie tworzenie aplikacji, gdyż praktycznie na każdym kroku występują niejasności i dowolne interpretowanie założeń biznesowych może zakończyć się niepotrzebnymi kosztami.
Metodyka
Istnieje wiele nowoczesnych metodologii tworzenia oprogramowania dla firm, z których dwie grupy są obecnie najistotniejsze. Są to:
- proces ujednolicony – Unified Process (z podstawową wersją Rational Unified Process – RUP)
Jest to iteracyjno-przyrostowy framework procesu rozwoju oprogramowania, który dostarcza zbioru zasad, praktyk i zaleceń mających na celu usprawnienie i usystematyzowanie procesu tworzenia oprogramowania. Jest to popularna metodyka stosowana w dziedzinie inżynierii oprogramowania. - metody zwinne, agile methods (z najpopularniejszym: programowaniem ekstremalnym – Extreme Programming XP)
To zestaw podejść i praktyk w dziedzinie zarządzania projektami i tworzenia oprogramowania, które kładą nacisk na elastyczność, adaptacyjność i zaangażowanie klienta. Celem metod zwinnym jest umożliwienie efektywnego dostarczania produktów o wysokiej jakości, przy jednoczesnym dostosowaniu się do zmieniających się warunków i wymagań.
Obie grupy metodologii zakładają iteracyjne tworzenie oprogramowania, różniąc się głównie stosunkiem do modelowania i planowania w trakcie.
Tworzenie oprogramowania dla firm, Warszawa 2011.