Finansowanie projektów zwinnych

13

Firma, w której pracuję, niepewnie dąży do strategii zarządzania projektami Agile - raz doświadczyła „radości” wodospadu. Kluczem do tego jest przesunięcie nacisku na dostarczanie funkcjonalności zamiast na dotrzymywanie trudnych terminów.

Podczas gdy proces rozwoju i relacje z klientami z pewnością poprawiły się dzięki iteracyjnym wersjom wspieranym przez Agile, nieco trudniej jest zastosować to samo uzasadnienie do strategii finansowania projektu. Klienci często nie są przyzwyczajeni do takich koncepcji, jak Agile i wyrażają duże zaniepokojenie tym, co postrzegają jako „będzie gotowy, kiedy będzie gotowy”.

Chciałbym usłyszeć opinie ludzi i doświadczenia związane z finansowaniem projektów Agile

edytuj: Chcę podkreślić, że nie proszę ludzi o wyjaśnienie zalet i wad metody Agile , ani że uważam, że Agile oznacza „będzie gotowy, kiedy będzie gotowy”, to strach wyrażony przez klienci / firmy, z którymi współpracowałem, promując zwinne metody programowania.

Interesuje mnie doświadczenie, jakie ludzie mieli w rozwiązywaniu konfliktów między „tradycyjnymi” metodami budżetowania wodospadu zakorzenionymi w klientach biznesowych / relacjach i bardziej progresywnymi metodami rozwoju - a strategiami budżetowymi, które przyjęli w celu wsparcia tej ewolucji.

sunwukung
źródło
2
Lisa Crispin i David Norton z Gartner mają dobre pomysły na temat „Selling Agile”. Zobacz, co mają do powiedzenia: bit.ly/rlRF4U
Agile Scout

Odpowiedzi:

4

Jeśli byłeś w stanie podać wycenę projektu z dokładną datą końcową wszystkich funkcji, dlaczego zdecydowałeś się na podejście zwinne? Ty i wszyscy inni walczycie z tym, a zwinne podejście jest z góry tego faktu. Użyj go jako propagandy przeciwko konkurencji. Southwest Airline nie obiecuje ci miejsca na wyspie, jak każdy inny, kto to robi, a następnie daje je komuś innemu.

Oczywiście klient chce dokładnej daty zakończenia. Chcą, aby niedrogie, wolne od błędów oprogramowanie zostało dostarczone z wyprzedzeniem, niezależnie od zmian w pierwotnym żądaniu. Poinformuj zespół sprzedaży, aby dowiedzieć się, jak sprzedać projekt przy użyciu zwinnych zasad. Im więcej interakcji przejdziesz, tym bliżej będziesz wiedzieć, kiedy projekt zostanie zakończony. Klient uczy się również uwzględniać skutki żądań zmiany.

JeffO
źródło
„Powiedz zespołowi sprzedażowemu, jak nauczyć się sprzedawać projekt przy użyciu zwinnych zasad” - dam z siebie wszystko ... {;)
sunwukung
5

Zwinne projekty nie działają w stylu „będzie gotowy, kiedy będzie gotowy”. To klasyczna linia z inżynierii wodospadu.

Zwinne projekty są zakończone, gdy klient zdecyduje, że nie chce wydawać więcej pieniędzy na dodatkowe funkcje. Może to zostać przekształcone w kluczowy punkt sprzedaży przez sprzedawców. Zamiast angażować się w ustalony zestaw funkcji (których potrzeba może lub nie być znana z góry) za określoną kwotę pieniędzy, klient może zacząć od początkowej kwoty za początkowy zestaw funkcji, a następnie rozłożyć ją etapami. Zagwarantuje to kilka rzeczy:

  • Tak długo, jak lista funkcji jest odpowiednio uszeregowana pod względem priorytetów, klient zawsze otrzymuje kolejne najważniejsze funkcje dostarczane w następnej kolejności, maksymalizując w ten sposób swoje korzyści ze swoich wydatków (dostaje „największy huk za swoje pieniądze”).
  • Jeśli klientowi zabraknie pieniędzy, zmaksymalizował swoją inwestycję ORAZ zapłacono Ci za to, co dostarczyłeś. Nikt się nie skrzywdzi, wszyscy zyskują.
  • Klient może zmienić zdanie na temat priorytetów i funkcji na każdym zakręcie koła (na każdym końcu połączenia). Wyraźna przewaga nad zwykłymi umowami o stałej cenie.

Prawdopodobnie jest ich więcej, ale powyższe powinno wystarczyć, aby zachęcić sprzedawców we właściwym kierunku.

wolfgangsz
źródło
Re: „Nikt się nie skrzywdzi, wszyscy zyskują” - z wyjątkiem faceta, który został zwolniony, ponieważ obiecał swojemu szefowi, że za X dolarów dostanie pakiet oprogramowania, który robi XYZ. Niestety, dzięki zwinnemu pakietowi oprogramowania działa tylko XY. Odłóż menedżera, zwalnia faceta, który nie spełnia oczekiwań. Może właśnie pracowałem w zupełnie innych branżach niż większość zwinnych zwolenników, ponieważ nie widzą problemu w dostarczaniu klientom tylko częściowych rozwiązań. OTOH, nie widzę celu w dostarczeniu częściowego rozwiązania, ponieważ istnieją szanse, że produkt jest bardzo bezużyteczny dla klienta.
Dunk
Najwyraźniej jeszcze nie pracowałeś we właściwym, zwinnym środowisku, inaczej nie zrobiłbyś tego typu uwagi. Jeśli wymagany jest XYZ, XYZ zostanie dostarczony. RST i UVQ mogą nie zostać dostarczone, ale ponieważ mają one mniejszy priorytet, klient również nie musiał za nie płacić. Oczywiście, jeśli programiści są tak daleko od swoich szacunków, że nie są w stanie dostarczyć XYZ według własnych szacunków, należy wyciągnąć wnioski.
wolfgangsz
3

Nie uważam tego za przypadek „Będzie gotowy, kiedy będzie gotowy”. Zwinna metodologia promuje regularne oferowanie rezultatów, jak co dwa tygodnie. Właśnie dlatego klient jest ważną i bardzo aktywną częścią projektu przez cały okres jego życia, ponieważ zapewnia wskazówki dotyczące kształtowania się cech Twojego produktu. Jeśli już, klient zacznie widzieć wyniki wcześniej, niż pod koniec projektu, jak w podejściu do wodospadu.

Tak długo, jak będziesz powtarzać fakt, że klient będzie aktywną częścią projektu i że zobaczy, że projekt zaczyna kształtować się wcześnie, może to zapewnić, że nie jest to przypadek oczekiwania na zakończenie.

Marlon
źródło
dla jasności - nie mówię, że uważam, że Agile odpowiada temu opisowi, ale tak często postrzegają go klienci / sprzedaż. Agile świetnie sobie radzi w iteracjach - ale utrudnia określenie końca projektu, prawda?
sunwukung
4
@ sunwukung - Twój zespół sprzedaży nie sprzedaje faktu, że nikt nie może przewidzieć końca długiego projektu z żadną dokładnością na samym początku.
JeffO
Wyobrażam sobie, że najlepszym sposobem na uzyskanie pomysłu na zakończenie projektu byłoby spotkanie z klientem w sprawie planowania projektu i wyszczególnienie wszystkich potrzebnych funkcji. Następnie możesz zbudować pełny i kompletny backlog projektu. Usiądź ze swoim zespołem i poproś go o wypełnienie prognoz całego zaległości. Użyj tych szacunków jako przybliżonego przewodnika po zakończeniu projektu.
JuniorDeveloper1208 27.07.11
1
@sunwukung - Nie, nie bardzo, siedzenie i planowanie zaległości jest również dobrym pomysłem dla Agile, to wdrożenie procesu rozwoju odróżnia Agile od Waterfall (Agile jest bardziej iteracyjny). Myślę, że twoją główną przeszkodą po sprzedaży Agile konsumentowi jest wdrożenie go. Przeszedłem przez to kilka razy i może to być bolesny proces.
JuniorDeveloper1208 27.07.11
1
przepraszam - tak, rozumiem - używaliśmy metody zaległości, aby z grubsza oszacować okno dostawy (używając Pivotal Tracker, świetna aplikacja btw). Napięcie powstaje w wyniku niewyraźności, jaką ta metoda wywołuje pod względem rozbieżności między początkowymi kamieniami milowymi pochodzącymi z tej metody, a rzeczywistymi wartościami ETA, gdy prędkość zaczyna się uspokajać. IMO polega na tym, jak radzimy sobie z relacjami z klientem - ale to jest nieco polityczny element
sunwukung
2

Chociaż miejsce, w którym pracuję, powoduje straszliwą banalizację Agile, myślę, że klienci bardziej wolą tworzenie oprogramowania w iteracjach niż pełne wersje.

Iteracje dostosowują się do indywidualnych żądań klientów, ponieważ proszą o coś i otrzymują je, gdy funkcja zostanie zaimplementowana, a nie po jej zakończeniu i wykonaniu wszystkich innych rzeczy, które zostały z nią zgrupowane w celu wydania.

Nigdy nie widziałem, aby klient powiedział: „Chcemy tej funkcji i chcemy poczekać 8 miesięcy, aż zostanie ona dostarczona z szeregiem innych funkcji, na których nam nie zależy”.

Shawn D.
źródło
1
Może to zależeć od wielkości klienta. Myślę, że w przypadku oprogramowania komputerowego nierzadko zdarza się, aby większe firmy nie chciały przechodzić masowej ponownej instalacji / testowania obrazu itp. często iw tych przypadkach wolą rzadsze „wydania”. Deweloper mógł jednak nadal wykonywać iteracje wewnętrznie i po prostu prezentować oficjalną wersję aplikacji tym klientom w dowolnych odstępach czasu.
Adam Lear
+1 za „Chcemy tej funkcji i chcemy poczekać 8 miesięcy, aż zostanie dostarczona z innymi funkcjami, na których nam nie zależy”.
sunwukung
2

Co powiesz na ustanowienie cyklu płatności zgodnego z iteracjami? Idea zwinności polega na tym, że można naprawdę planować i szacować tylko w krótkich okresach, a nacisk i zaangażowanie są nadal silne w przypadku tych krótkich cykli. Dlaczego więc nie ukierunkować finansowania w ten sam sposób - poproś klientów, aby wnieśli wkład w pracę za $$ w tym samym czasie, gdy wnoszą wkład w poradnictwo. W końcu, jeśli nie dostaną tego, czego chcą, nie powinni za to płacić.

Następnie sprawdź, co dzieje się po zakończeniu projektu - na przykład, czy klient jest właścicielem kodu, czy tylko pliku wykonywalnego? Byłoby to jednak zgodne z wcześniejszymi projektami typu wodospad.

bethlakshmi
źródło
Zgadzam się z tym, podejrzewam, że część problemu dla firmy polega na prognozowaniu rocznych przychodów (a tym samym uspokojeniu inwestorów) dzięki tym „krótkoterminowym” skokom finansowania.
sunwukung
Zastanawiam się, czy możesz ukraść z modelu kontraktowania? Dodaje to ryzyko przestoju, jeśli klienci nagle powiedzą „dziękuję, ale nie”, co powinno być podobne do modelu pracy najemnej?
bethlakshmi
1

Ideą Agile jest szybkie iterowanie i ustalanie dokładnie tego, co zamierzasz dostarczyć pod koniec każdego sprintu, więc kiedy miną 2/3/4 tygodnie twojego sprintu, masz konkretne funkcje w aplikacji / projekcie które możesz przedstawić klientowi i uzyskać informacje zwrotne.

ETA: Możesz zebrać „sprinty” w „kamienie milowe” z ustalonymi rezultatami i otrzymywać płatności za kamień milowy.

JuniorDeveloper1208
źródło
Właśnie to staram się promować w branży - płacić za „bramki sceniczne”. Kluczową kwestią jest ostateczna data dostawy - czy klient musi zrezygnować z tego konkretnego ostatecznego terminu?
sunwukung
Trudno powiedzieć, że po kilku sprintach powinieneś być w stanie ustalić prędkość swojego zespołu (ilość pracy, którą możesz wykonać na jeden sprint) i udowodnić, że masz pełne i pełne zaległości (lista zadań / historii użytkowników, które składają się na kompletny projekt) powinieneś być w stanie rozsądnie przewidzieć datę mety, patrząc na swoje awarie (wykres prędkości zespołu, którego możesz użyć do ekstrapolacji daty mety i zobacz, czy będziesz w stanie ukończyć wszystkie prace w sprincie ).
JuniorDeveloper1208 27.07.11
2
@ sunwukung, Znowu brakuje ci sensu po tym, jak wszyscy tak doskonale to opisują. Zwinne gwarantuje, że klient otrzyma działające oprogramowanie na koniec każdego sprintu. Jeśli nadal chcą, aby WSZYSTKIE FUNKCJE ZOSTAŁY ZAKOŃCZONE, wówczas mogą je mieć, ale tylko w przypadku funkcji uzgodnionych podczas podpisywania umowy. To niesprawiedliwe i nieuzasadnione, że zmieniają swoje wymagania i oczekują, że termin pozostanie taki sam!
wałek klonowy
1
Po prostu powiedz im, że podczas programowania będą mogli zobaczyć swój projekt na końcu każdego sprintu, zawsze w stanie roboczym i gotowi na opinie, nie powinno to być trudne do sprzedania, zwinność jest doskonała.
JuniorDeveloper1208 27.07.11
1
@ sunwukung, Wygląda na to, że firma zrobiłaby lepiej, gdybyś reprezentował ramię biznesowe w tym przypadku :) Nie wiem, co możesz powiedzieć ramieniu biznesowemu, aby przekonać ich, co już wiesz. Prawdopodobnie nie będą cię słuchać. Niestety, wygląda na to, że strona techniczna przechodzi w XXI wiek, a strona biznesowa jest w przeszłości. To nie jest łatwy problem i prawdopodobnie nie jesteś w stanie go naprawić.
maple_shaft