Jaki jest właściwy związek między twórcą oprogramowania a klientem biznesowym?

10

Specjaliści IT to eksperci, którym ufają zasoby IT firmy lub organizacji. Jako zaufani specjaliści mamy obowiązki wykraczające poza to, czego klient spoza branży IT może zrozumieć lub być świadomy. Myślę więc, że właściwa relacja między specjalistą IT a jego klientami wewnętrznymi / zewnętrznymi jest bardziej podobna do relacji między lekarzem a pacjentem niż sługą i mistrzem. Czy mam rację?

Oto analogia do przemyślenia. Pacjent nalega, aby amputować mu nogę. Jego lekarz się nie zgadza, ale pacjenta nie można przekonać. Czy lekarz powinien amputować nogę, aby zadowolić pacjenta?

Kolejna analogia. Klient chce, aby inżynier budował most do niebezpiecznego projektu. Nawet gdy inżynier wyjaśnia, że ​​jest to niebezpieczne, klient mu nie wierzy. Czy inżynier i tak powinien zbudować most?

Myślę, że poprawna odpowiedź w obu tych analogiach brzmi NIE. Specjaliści medyczni i inżynierowie powinni mieć zaufanie i powinni dokonywać własnego osądu, nawet w obliczu dezaprobaty pacjenta / klienta. Czy to samo nie powinno dotyczyć informatyków, którzy mają kwalifikacje do podjęcia decyzji, ale jego klient nie?

nvogel
źródło
2
Na konferencji usłyszałem kiedyś mówcę: „Cokolwiek robisz, nie pozwól klientowi mieć bezpośredniego dostępu do twojego głównego programisty. Jeśli to zrobisz, dosłownie go zgwałci”. Myślę, że byłby to zarówno zły związek między twórcą oprogramowania a klientem, jak i najgorsze użycie dosłownie, jakie kiedykolwiek słyszałem.
Jon Hopkins,
I tutaj, w mojej pracy, podstawową zasadą jest to, że klient zawsze ma bezpośredni dostęp do głównego programisty!
Frank Shearar,
Przypuszczalnie dla małych wartości „dosłownie”?
Mawg mówi o przywróceniu Moniki

Odpowiedzi:

9

Jest to trochę bardziej skomplikowane niż w twoich przykładach. Jest tak, ponieważ w wielu przypadkach twórca oprogramowania jest ekspertem w kwestiach związanych z IT (tj. Programowaniem, projektowaniem baz danych itp.), Ale klient biznesowy jest ekspertem w dziedzinie problemów. W takich przypadkach właściwą relacją są relacje dwóch ekspertów z różnych dziedzin, którzy współpracują ze sobą, aby stworzyć dobre rozwiązanie.

W każdym razie, jak każdy dobry rzemieślnik, twórca oprogramowania jest zobowiązany do ostrzeżenia klienta, gdy klienci chcą rzeczy nieodpowiednich. Jeśli poprosisz malarza i dekoratora o tapetowanie łazienki, jest on również zobowiązany cię ostrzec, że to nie zadziała dobrze. Ale kiedy klient uparcie upiera się przy swoim złym pomyśle, dobrze jest, aby podpisał formularz „zostałeś wyraźnie ostrzeżony” i wdrożył to, czego chce (o ile nie ma przy tym ryzyka dla zdrowia, ryzyka prawnego itp.).

użytkownik 281377
źródło
1
+1 Uważam również, że amputowanie nogi bez powodu i budowanie niebezpiecznego mostu jest znacznie bardziej niebezpieczne niż dostarczanie aplikacji, która nie odpowiada rzeczywistym potrzebom klienta. Jednak, jak powiedział dportas, rolą informatyka jest ostrzeżenie klienta o tym. A potem to tylko etyka. Dobry prawnik nie doradzi swojemu klientowi, aby pozwał drugą stronę, jeśli na pewno przegra. (ale wygra swoją opłatę godzinową)
1
+1 - widziałem co najmniej tyle instancji dewelopera, którzy tak naprawdę nie rozumieją biznesu klientów, jak mam prawidłową identyfikację klienta proszącego o niewłaściwą rzecz i sami identyfikującą, co jest naprawdę potrzebne . Oznacza to, że często poprawnie identyfikują, że istnieje problem z tym, co zostało zasugerowane, tylko ich rozwiązanie jest ostatecznie wadliwe. Właściwym podejściem jest wzajemny szacunek dla wiedzy drugiej dziedziny oraz otwarta dyskusja na temat potencjalnego problemu i potencjalnych rozwiązań. Zasadniczo klienci chętnie słuchają.
Jon Hopkins,
1
Więc gdzie wszyscy pracujesz, że „klient biznesowy” jest rzeczywiście oczekiwany w dziedzinie problemów? Zbyt często stwierdziłem, że tak nie jest ...
CaffGeek,
Czad: Z mojego doświadczenia wynika, że ​​niektóre firmy produkujące oprogramowanie koncentrują się na sprzedaży kierownictwu najwyższego poziomu, co zmusza kierownictwo średniego szczebla do wdrożenia wszystkiego, co brzmi dobrze na papierze. W takich firmach rzadko można znaleźć „klientów biznesowych”, którzy są również ekspertami w dziedzinie problemów, ponieważ istnieje tendencja, że ​​ten sam menedżer, który podpisał umowę, pozostaje osobą kontaktową, niezależnie od tego, czy ma to sens. Inne firmy raczej sprzedają dany dział, więc główna osoba kontaktowa zwykle zna swoją pracę.
user281377,
1

Zarówno w przypadku lekarza, jak i inżyniera profesjonalista jest konsultantem odmawiającym wykonania usługi. W sklepie IT nie jesteś.

Jesteśmy pracownikami, a nie konsultantami, więc podlegamy złotej zasadzie: ten, który daje nam złote zasady. Programiści, którzy to ignorują, są aroganccy i głupi. Słyszałem o tym niezliczone skargi od biznesmenów, którzy mają dość personelu IT, którzy nie wyjaśniają swoich decyzji nikomu spoza ich kapłaństwa i którzy odrzucają prośby wszystkich spoza ich organizacji, uważają za całkowicie uzasadnione. Widziałem menedżerów IT zwolnionych z tego rodzaju spraw.

Jako pracownik twój odpowiednik konsultanta odmawiającego wykonania usługi jest cytowany przez Napoleona Bonaparte:

Każdy dowódca odpowiedzialny za wykonanie planu, który uważa za zły lub katastrofalny, jest przestępcą. Musi zwrócić uwagę na wady, nalegać, aby to zmienić i ostatecznie zrezygnować, a nie być narzędziem zniszczenia jego własnych ludzi.

Musisz wybrać swoje bitwy. Czy to, o co zostałeś poproszony, jest tak haniebne i nieetyczne, że wolisz zrezygnować? Jeśli nie, to albo wyjaśnij problem interesariuszom i wynegocjuj coś rozsądnego, albo po prostu zrób to.

I nie rób rzeczy, na których nie kupiłeś. Ludzie, którzy to robią, nazywani są „luźnymi armatami”.

Nawiasem mówiąc, rzuciłem jedną pracę, ponieważ zabili projekt i myślałem, że to naprawdę głupi ruch. Kilka miesięcy po moim odejściu zgodzili się ze mną i poprosili mnie, abym wrócił jako wykonawca projektu, ale zaangażowałem się już gdzie indziej.

Bob Murphy
źródło
2
Wielu programistów to konsultanci! Jestem jeden.
Amir Rezaei,
1
Jestem konsultantem!
nvogel
Ponadto inżynierowie i lekarze mogą być pracownikami. Jestem pewien, że każda duża linia kolejowa ma inżynierów budownictwa na liście płac, gdy chcą zbudować lub zmodyfikować most.
David Thornley,
4
Byłem pełnoetatowym konsultantem od 1991 do 2006 roku i wróciłem do niego w lipcu. Myślę, że jeśli klient chce zapłacić mi za zrobienie czegoś głupiego, ale nieetycznego lub niebezpiecznego, i nalega na moje obiekcje ... hej, to ich pieniądze do stracenia. I zwykle stwierdzam, że moi klienci wiedzą więcej o swojej firmie niż ja, więc rzeczy, które chcą, które wydają się szalone, na początku mają sens, gdy zrozumiem więcej. Czuję, że zostaję poproszony o robienie głupszych rzeczy jako konsultant opłacany za godzinę niż jako pracownik, którego nadgodziny są „bezpłatne” dla pracodawcy.
Bob Murphy,
1

Lekarze przysięgę na „nie szkodzić” i są prawnie zobowiązane do wprowadzenia w najlepszym interesie pacjenta pierwszy . Lekarz, który wykonał niepotrzebną i szkodliwą operację (nawet jeśli wymagał tego pacjent), otworzyłby się na sprawę o nadużycie i mógłby stracić prawo jazdy.

Podobnie inżynier budownictwa odpowiedzialny za projekt budowlany ma prawny obowiązek zapewnienia, że ​​spełnia wszystkie obowiązujące przepisy budowlane. Podobnie jak w przypadku lekarza, inżynier, który robi to, co sugeruje pytanie, prawdopodobnie stanąłby w obliczu kroków prawnych.

To bardzo różni się od sytuacji, w której prosi się programistę o zrobienie czegoś, co według niego jest niepraktyczne. Nie ma żadnych prawnych konsekwencji podjęcia projektu, nawet jeśli wiesz, że jest to zasadniczo strata pieniędzy.

To powiedziawszy, twórca oprogramowania powinien zawsze udzielać najlepszych porad na temat każdego projektu. Jeśli jednak osoby płacące rachunki nie chcą słuchać i nalegają na niemądre postępowanie, deweloper nie ma moralnego ani prawnego obowiązku odmowy.

Kris
źródło
2
Może się zdarzyć, że projekt oprogramowania może narazić życie i kończynę na ryzyko. Jak na przykład w bazie danych dokumentacji medycznej lub systemie kontroli samolotu. O wiele bardziej prawdopodobne jest, że mogą istnieć czynniki etyczne lub regulacyjne, które są uzasadnioną troską specjalistów IT - takie jak zasady dotyczące prywatności i ochrony danych lub prawa własności intelektualnej.
nvogel,
@dportas Jest to możliwe, ale jeśli tak, to prawdopodobne są przepisy i regulacje dotyczące jego budowy i certyfikacji. Oczywiście, nigdy nie powinieneś łamać prawa swojego klienta. Jednak rzadko jest to problem i, sądząc po przykładach cytowanych przez OP, nie o to pytano.
Kris,
0

Czy to samo nie powinno dotyczyć informatyków, którzy mają kwalifikacje do podjęcia decyzji, ale jego klient nie?

Moim zdaniem TAK!

Jeśli zamierzasz utrzymywać długą relację ze swoim klientem.

Amir Rezaei
źródło
0

Moją sugestią w tej sytuacji będzie ostrzeżenie klienta w pisemnej komunikacji i zachowanie jej kopii (e-mail, porozumienie cokolwiek). Jeśli klient nalega, to idź i zrób to (czasami jest to określane jako nieporozumienie i zatwierdzenie). Upewnij się tylko, że jeśli coś złego się stanie, powinieneś być w stanie odpowiednio się bronić.

Manoj R.
źródło
0

Kluczową różnicą jest licencjonowanie. Lekarze i inżynierowie posiadają licencje zawodowe i potrzebują ich do wykonywania pracy i utrzymania, a także ponoszą osobistą odpowiedzialność prawną za więcej rzeczy.

Może to wywierać większą presję na lekarzy i inżynierów, gdy popychany jest w kierunku robienia czegoś, co może powodować ryzyko osobiste i zawodowe, ale daje im więcej odpychania, ponieważ mogą argumentować, że nie mogą zrobić czegoś z powodu etyki zawodowej i że stracą licencje, jeśli to zrobią. Groźba zwolnienia inżyniera lądowego za odmowę podpisania się na planie traci moc, gdy konsekwencją wypisania się jest to, że inżynier straci licencję i nie będzie mógł pracować w terenie.

Jest to związane z wymogami prawnymi. Nie mogę przepisać wielu narkotyków, a jeśli zrobię komuś pewne rzeczy, które lekarz może legalnie zrobić, popełniłbym przestępstwo. Podobnie większość rządów tutaj nie zezwoli firmie na budowę mostu bez zatwierdzonego projektu przez licencjonowanego inżyniera budownictwa.

Były propozycje licencjonowania programistów, ale żaden, o którym wiem, że nigdy nie poszedł. Prawdopodobnie konieczne byłoby wprowadzenie wymogu prawnego, aby licencjonować programistów do pracy nad projektami w pierwszej kolejności, a to nie nastąpi w najbliższym czasie. Istnieją organizacje zawodowe, których kodeksy etyki są porównywalne z kodeksami medycznymi lub inżynierskimi, ale bez żadnej siły prawnej są bardziej jak przewodniki po osobistych kodeksach etyki.

David Thornley
źródło
0

Nie myślę o wymiarze etycznym, ale właściwy stosunek do bazy klientów / użytkowników może być dość zmienny w zależności od rodzaju rynku. Tam, gdzie pracuję, mamy wysoce techniczny produkt i wysoce technicznych użytkowników, a średni przychód na klienta jest dość wysoki. Nasze granice biznesowe są więc nieco rozmyte: mamy klientów i sprzedawców o wartości dodanej, którzy działają jako konsultanci, którzy pomagają przy kasie kodu, a nawet mogą przesyłać moduły do ​​włączenia do oprogramowania. Gdybyśmy sprzedawali masową aplikację rynkową, ten model nie miałby żadnego sensu.

Omega Centauri
źródło