"Tradycyjny" sposób realizacji projektów informatycznych
Na rynku oprogramowania istnieje zwyczaj, aby z góry szacować koszt całego projektu. Pozornie pozwala to Klientowi na ścisłe określenie budżetu. Doświadczenie pokazuje jednak, że przy ustalaniu wydatków na tworzenie oprogramowania, zespół nawet najlepszych informatyków, nie jest w stanie wziąć pod uwagę dwóch kluczowych czynników oddziaływających znacząco na koszty przedsięwzięcia. Są nimi:- zmiany wymagań Klienta, które, de facto, kształtują się w czasie tworzenia systemu,
- opóźnienia w wyniku trudności ujawniających się dopiero podczas realizacji projektu.
- Pierwotne oszacowanie okazuje się poprawne.
- Nawet przesadzone oszacowanie jest niepoprawne.
Programiści śpieszą się, aby projekt skończyć na czas. Efektem tego jest system bardzo niskiej jakości.
Model tradycyjny nie zapewnia jakości odpowiadającej poniesionym kosztom. W obu tych przypadkach Klient traci.
Time & Materials
Klientom SoftwareMill proponujemy współpracę przy zastosowaniu opisanych poniżej, nowoczesnych metodyk.
Stosujemy podejście nazywane Time & Materials. Koszt projektu jest wstępnie szacowany na początku, jednak Klient ponosi wydatki dokładnie odpowiadające czasowi jaki zajęło stworzenie zamawianego systemu.
Podczas realizacji projektów w SoftwareMill nasi Klienci:- biorą aktywny udział w tworzeniu zamówionego systemu,
- w krótkich odstępach czasu otrzymują jego kolejne, działające wersje,
- na bieżąco wyznaczają priorytety działań.
Daje to naszym Klientom stały wgląd w postęp prac.
W przypadku zmiany wymagań Klienta, które zwykle kształtują się w czasie tworzenia systemu, ma on możliwość modyfikacji wcześniej zaplanowanych działań i wprowadzenia nowych funkcjonalności. Możliwość takiej zmiany bez renegocjacji umowy pozwala na bieżące kontrolowanie budżetu.
Doświadczenie pokazuje, że takie podejście zapewnia powodzenie projektu.
Metodyki zwinne
Przy tworzeniu systemów w SoftwareMill stosujemy tak zwane metodyki zwinne. Ich podstawą jest agile manifesto.
Podczas pracy przy zastosowaniu zwinnych metodyk projekt realizowany jest w kolejnych iteracjach, gdzie każda iteracja składa się z analizy, implementacji i ewentualnego wdrożenia kolejnej części systemu. Ważne jest, że po każdym takim kolejnym etapie powstaje samodzielna i działająca część zamawianej aplikacji.
Najważniejszą różnicą, w porównaniu do tradycyjnych metod prowadzenia projektów jest to, że klient bierze aktywny udział w procesie tworzenia oprogramowania. To on na początku każdej iteracji uzgadnia z zespołem SoftwareMill jakie funkcjonalności są najpotrzebniejsze i co ma zostać dodane w następnej wersji. Daje to liczne korzyści:- W przypadku, gdy wymagania się zmienią w trakcie implementacji systemu, Klient po prostu zmienia priorytety wymaganych funkcjonalności i zostają one dodane w następnej iteracji.
- Jeśli Klient uzna, że dana funkcjonalność jest wystarczająca może zakończyć projekt w dowolnym momencie, ponieważ każda iteracja dostarcza działającą wersje aplikacji.
- Klient ma cały czas wgląd w postępy prac zespołu.
- W związku z charakterem współpracy zespół ma bezpośredni kontakt z Klientem i może szybko wyjaśniać napotykane wątpliwości.