Jedną z zasad zwinności jest mierzenie działającego oprogramowania:
Działające oprogramowanie jest podstawową miarą postępu - 12 zasad Agile
Chodzi o to, że chociaż mogę mierzyć oprogramowanie pod kątem wykonanych historii, zmiażdżonych błędów lub zmniejszenia liczby raportów o defektach, utknąłem przy tym, jak mierzyć wartość mojego oprogramowania.
Jeśli wykorzystam Mike'a Cohna jako przykład i jego pomoc SalesForce.com w dostarczeniu klientom o 500% większej wartości w porównaniu do poprzedniego roku * - jak zmierzyć ten wzrost? Jak zmierzyć, gdzie jestem teraz?
Inne mierniki, których używa, to liczba funkcji i liczba funkcji na programistę. Mogę to wypracować, jeśli mój zaległości były w dobrym stanie, a historie zostałyby podzielone według „funkcji”, ale dopiero zaczynamy od Agile, więc potrzebuję jakiegoś sposobu na ustalenie, jaką wartość teraz zapewniamy , a następnie użyj podobnej miary, powiedzmy, sześć miesięcy, aby sprawdzić, czy zwiększyliśmy naszą wydajność.
Słyszałem o mierzeniu wartości oprogramowania poprzez wzrost przychodów lub wzrost zadowolenia klientów (jak byś to jednak zmierzył?), Ale te wzrosty można przypisać dowolnemu przedsiębiorstwu (sprzedaż, księgowość, wsparcie), a nie bezpośrednio do pracy, którą wykonuje mój dział.
Jak więc mierzysz wartość swojego oprogramowania i jak zacząłeś?
* Successful With Agile - Mike Cohn
Odpowiedzi:
Oto jak ogólnie definiuję wartość (nawet poza programowaniem)
Ty określasz, jaka jest wartość .
Jeśli wartością jest kwota zarobiona / zaoszczędzona dzięki oprogramowaniu, będzie to:
lub
Można go obrócić. Czy wiesz, ile kosztują obroty w Twojej firmie? Jeśli możesz to zmierzyć, 50% zmniejszenie obrotów dzięki zwinności pozwoli ci obliczyć podaną wartość:
Wartość może mieć wszystko, co jest dla ciebie ważne , faceta, który określa, jaka jest wartość.
Dlatego wartość jest oceniana w punktach zwinnych. Punkty są porównywane z punktami opowieści, aby pomóc ci ustalić priorytet wartości. Ponieważ musisz porównać (biznesową) wartość (arbitralną) z wartością punktów fabularnych (koszt).
źródło
W wielu przypadkach wartość oprogramowania jest mierzona poprzez obliczenie „dodatkowych zarobków” lub „osiągniętych oszczędności kosztów”.
W innych przypadkach, gdy oprogramowanie jest integralną częścią większego systemu (tj. Oprogramowania sterującego samochodem), jest to trudniejsze. Albo mierzysz wydatki, aby to zrobić (wartość = koszt), albo obliczasz wartość całego systemu (dodatkowe zyski / oszczędność kosztów archiwizowanych) i przeznaczasz część „if” na oprogramowanie (np. Proporcjonalnie do kosztów oprogramowania vs. . koszty całkowite)
źródło
Po prostu musisz ustalić, jaka jest finansowa różnica między posiadaniem a brakiem.
Jeśli odrobina oprogramowania automatyzuje proces, co oznacza, że dwie osoby pracujące w pełnym wymiarze godzin nie muszą już wykonywać tego zadania, oznacza to oszczędność rocznych wynagrodzeń (plus powiązane koszty) dla firmy. Jeśli sprzedawcy sprzedają średnio o 10% więcej niż ci, którzy nie używają nowego systemu, korzyść wynosi 10% całkowitej sprzedaży dla wszystkich sprzedawców, którzy mogą korzystać z oprogramowania.
Dane mogą być tylko przybliżone i gotowe, ale większość rzeczy może być wystarczająco skwantyfikowana, aby dać ci jakieś użyteczne wrażenie tego, czego możesz się spodziewać.
źródło
To trudne pytanie. Nie jestem pewien, czy podoba mi się wskaźnik „funkcje / programista”, ponieważ nie wszystkie funkcje są sobie równe. Niektóre funkcje są „obowiązkowe” i kradną klientów z dala od konkurencji. Niektóre funkcje są niejasne i mogą być używane przez 0,1% Twoich klientów i bez nich mogą być w stanie sobie poradzić.
Zwiększenie przychodów jest dobre, jeśli można łatwo skorelować je z nagłym napływem sprzedaży / odnawiania oprogramowania do momentu wydania nowej wersji. Również jeśli w jakiś sposób udało Ci się śledzić konwersję użytkowników z konkurencyjnych produktów do nowej wersji. Zadowolenie klienta można zmierzyć w kategoriach liczby szczęśliwych połączeń (lub braku gniewnych połączeń) znormalizowanych do liczby klientów lub sprzedaży. Aby bezpośrednio powiązać je z działem, kluczową kwestią może być czas wprowadzenia tych zmian oraz czas wydania oprogramowania.
źródło
Działające oprogramowanie jest miarą. Słuchaj otwarcie swoich użytkowników i włącz ich w proces rozwoju. Regularnie dostarczaj funkcjonalność, o której mówią, że jest potrzebna, gdy jej potrzebują. Dostarczaj małe porcje, aby użytkownicy czuli postęp.
Jeśli dopiero zaczynasz zwinny rozwój, a nawet nowy projekt ... interesariusze muszą mieć trochę wiary. Wymaga to od właściciela produktu wyartykułowania, dlaczego zwinność jest lepsza niż inne procesy (zakładam, że uważasz, że jest w twojej konkretnej sytuacji).
Jeśli właściciel produktu nie jest pewien, które funkcje (historie) oferują najbardziej względną wartość, należy usiąść z interesariuszami i ustalić. Planowanie pokera jest do tego dobrym narzędziem. Przypisywanie względnej wartości biznesowej do każdej historii pomaga również w ustalaniu priorytetów, ale uważaj, aby nie rozmawiać z licznikami fasoli o „Zwinnej wartości biznesowej”, to nie to samo, co ROI!
źródło
Często istnieje „twardy” wynik końcowy, który można łatwo zmierzyć, aby zadowolić liczniki fasoli, „Funkcja X zwiększyła nasze przychody o 150%”. Ale najczęściej jest to połączenie „twardych” i „miękkich” wartości. Nasze przychody wzrosły o 160% i uważamy, że możemy to przypisać zmianie oprogramowania, ponieważ klienci średnio ocenili nas o 11% dzięki nowej funkcji interfejsu użytkownika „.
To naprawdę trudne do zmierzenia tych rzeczy dokładnie - Spróbuj spojrzeć na to jako całościowo, jak to możliwe.
źródło