Jak wyjaśnić, że marnujemy czas programisty na dodawanie niepotrzebnych funkcji?

9

Więc poprowadziłem szarżę wraz z innymi inżynierami, aby przynajmniej zacząć „myśleć” o Lean. Dotarliśmy do kilku głównych obszarów odpadów, a 2/3 prowadzi do dokładnie tego samego punktu ... „Funkcje dodatkowe”. Dogfoodujemy własne oprogramowanie na dwóch frontach, sprzedaży i zarządzaniu projektami. Działa świetnie w przypadku sprzedaży, ponieważ właśnie do tego CRM jest świetny. Nie jest tak świetny do zarządzania projektami, a często mamy zadanie dodania dodatkowych funkcji, aby działało w tym przypadku użycia.

Czy bardziej sensowne jest dalsze dodawanie funkcji, które nie dodają żadnej wartości dla klienta, czy też powinniśmy zaakceptować fakt, że nasz zespół sprzedaży korzystający z własnego produktu jest „wystarczająco dobry” i być może szukał gotowego rozwiązania?

użytkownik115710
źródło
3
Jaki jest twój produkt (nie jest to konkretna nazwa produktu, a bardziej „jest to CRM dla firm wydawniczych”)? Do czego jest to używane? Co to robisz?
5
Funkcje są albo konieczne, albo nie są, a jeśli korzystanie z aplikacji przez Twoją firmę różni się od korzystania z usług klienta, to tak naprawdę nie karmisz psów. Wygląda na to, że ktoś chce zjeść ciasto i też je zjeść.
JeffO
2
Używamy naszego narzędzia CRM jako systemu zarządzania projektami.
user115710,
1
Mamy zespół, który go używa i zdecydowanie wierzę w ten produkt (mam nadzieję, że wszyscy)
user115710
5
Może powinieneś uczynić „Zarządzanie projektami” funkcją, którą można sprzedać swoim klientom, a także dodatkowy moduł. Wtedy „dogfooding” miałby znacznie większy sens.
Doc Brown

Odpowiedzi:

19

Nie zgadzam się z twoją wstępną oceną.

Przede wszystkim jest mało prawdopodobne, aby Twoja firma była tak wyjątkowa lub niezwykła, że ​​Twoi klienci mogą nie skorzystać z Twoich niestandardowych funkcji.

Dogfooding (nawet jeśli musisz dostosować oprogramowanie, aby działało w Twojej firmie) to jeden z najlepszych sposobów na uzyskanie „kontroli rzeczywistości”. Niedogodności musiałyby być szczególnie rażące, aby przezwyciężyć korzyści, które otrzymujesz.

Poza tym taniej jest używać własnych rzeczy niż kupować coś do użytku wewnętrznego. Jeśli nie używasz własnych rzeczy, to jakie masz zaufanie do klientów?


To powiedziawszy, jeśli twoja aplikacja nie nadaje się dobrze do karmienia psów (tj. Nie jest to aplikacja do zarządzania projektami, ale próbujesz użyć jej do zarządzania projektami), musisz zdecydować, czy dodać do niej funkcje, aby to zrobić praca w roli Project Management (gdy klienci nie używają jej w ten sposób) jest warta kłopotów, dodatkowych kosztów i złożoności.

Funkcje Dogfooding, których klient nigdy nie zobaczy, nie mają większego sensu, chyba że zaoszczędzą wystarczająco dużo pieniędzy, ponieważ nie będą musieli kupować gotowego rozwiązania, które wyeliminuje wszystkie wady.

Robert Harvey
źródło
1
Jak wspomniałem w moim pytaniu, dopasowujemy kwadratowy kołek do okrągłego otworu, używając oprogramowania w sposób, którego klient nigdy by nie zrobił. Chcesz wyjaśnić, w jaki sposób stanowi to wartość dodaną dla klienta, jeśli klient nigdy go nie używa?
user115710,
Ponadto nasz zespół sprzedaży używa „CRM” wersji narzędzia CRM w identyczny sposób jak nasi klienci, więc tak, używamy własnych rzeczy.
user115710,
3
@ user115710: „używanie oprogramowania w sposób, którego klient nigdy by nie zrobił” - szczerze mówiąc, nie czytam tego w twoim pytaniu. Powinieneś edytować pytanie, wstawić tę informację i usunąć rant, wtedy masz większą szansę, że nie zostanie ono wkrótce zamknięte.
Doc Brown
4
@RobertHarvey: opracowywanie i używanie własnych rzeczy - których nie sprzedano nikomu innemu - może rzeczywiście być droższe niż nie rozwijanie tych funkcji i kupowanie czegoś innego. Ale może problemem jest to, że nie sprzedają funkcji zarządzania projektami.
Doc Brown
1
@ user115710 - Nigdy nie mów nigdy. Jeśli nie możesz sprawić, by działał dla ciebie, to tak, nie ma nadziei, że klient sprawi, że będzie działał, ale nigdy nie wiesz. Po prostu pozwól pracownikom sprzedaży i marketingu poczuć powiew tego użycia, a oni narzucą to komuś.
JeffO
2

Sporządź wszystkie prośby o funkcje z Twojej firmy, jakby były dla klienta, i pokaż koszty. Następnie wykonaj porównanie obok siebie z gotowym oprogramowaniem.

Następnie wyróżnij funkcje swojej firmy, które są ukryte przed innymi klientami, ponieważ nie ma korzyści netto, chyba że ta funkcja pozwala zaoszczędzić więcej czasu / pieniędzy niż potrzeba na produkcję.

Ktokolwiek wykonuje budżet, powinien natychmiast zobaczyć wartość spędzania czasu na karmieniu psów jako czas, który można by poświęcić na pracę przynoszącą dochód.

Kevin
źródło
2
Ignoruje to fakt, że dogfooding ma więcej zastosowań niż tylko zapewnianie konkretnej usługi, którą może spełnić inne oprogramowanie: jeśli dogfoodujesz swoje oprogramowanie, jest to podobne do ciągłego testu UX i kontroli jakości w częściowo kontrolowanym, ale całkiem realnym środowisku. Jak to ująć ilościowo?
amon
Czy automatyczne testowanie nie zapewniłoby takiej samej wydajności?
user115710,
1
@Amon, karma dla psów nie powinna zastępować żadnej części kontroli jakości, więc wiąże się to z dodatkowymi kosztami. Zarządzanie produktem może zauważyć korzyść z wewnętrznego użycia przy określaniu funkcji, które należy dodać, ale nie wiem o tym rodzaju budżetowania.
Kevin