Jak nazywasz klienta klienta dokumentem specyfikacji, przypadkiem użycia lub scenariuszem?

10

Mój zespół i ja opracowujemy oprogramowanie, z którego nasi klienci będą korzystać w celu interakcji z klientami. Ponadto jemy również własne produkty dla psów i sami używamy oprogramowania do interakcji z naszymi klientami.

Dlatego czasami może być trudno wyjaśnić przypadki użycia i scenariusze, ponieważ nasi pracownicy mogą być operatorami, nasi klienci mogą być operatorami, a klienci naszych klientów mogą być gośćmi.

Jednak naszymi klientami mogą być także goście wchodzący w interakcje z pracownikami naszego operatora, klienci naszych klientów mogą być odwiedzający wchodzący w interakcje z naszym klientem lub naszym pracownikiem.

Oto model, w którym:

A is an employee
B is a customer
C is our customers' customer

X  interacts with  Y
Operator --> Visitor
      A  -->  B
      A  -->  C
      B  -->  C

Ponieważ czasami nasi klienci mogą odgrywać różne role, czasami konieczne jest odniesienie się do konkretnej roli, operatora lub gościa, zamiast pracownika i klienta.

Przez cały czas można także powiedzieć „klient klienta”.

Zastanawiałem się, jak inne sklepy programistyczne radzą sobie z tymi semantycznymi szczegółami, pisząc swoje przypadki użycia i scenariusze.

  • Czy są jakieś ogólne, jednowyrazowe terminy, które mogą odnosić się do każdego produktu z udziałem aktora trzeciego poziomu?
  • Oprócz używania określonych ról, Operatora i Odwiedzającego, jakich słów można użyć do identyfikacji klienta klienta?

Słowo musiałoby być wystarczająco krótkie, aby mogło zostać przyjęte w organizacji. Jeśli jest dłuższa niż kilka sylab, jej skrócona forma musi wciąż odróżniać ją od innych aktorów.

jmort253
źródło
1
Uważa, że ​​źle patrzysz na związek. A jest ściśle operatorem. C jest gościem. B jest zarówno operatorem, jak i gościem. Fakt, że B ma dwie role, nie zmienia faktu, że C jest wyłącznie gościem. Dlatego nie widzę sensu nadawania C unikalnego identyfikatora.
Pemdas,
@Pemdas - Problem jest odwrotny. C jest wyłącznie gościem, ale odwiedzający nie zawsze jest wyłącznie C. Ponadto nie każdy opracowany przez nas produkt ma operatora i gościa. Są one specyficzne dla jednego z wielu produktów, w które zaangażowani są klienci oraz długiego aktora „klienta klienta”. Moje pytanie dotyczy tego, jak mogę uogólnić C jako „klienta klienta” bez ryzyka skrócenia go do „klienta” i wprowadzenia zamieszania.
jmort253,
2
Czy klient klienta nie zostałby uznany za „Klienta ** C”? :-)
GrandmasterB
@GrandmasterB - Wtedy moi interesariusze mogą się pomylić i myśleć, że mam na myśli B lub C, podczas gdy w rzeczywistości mam na myśli tylko jednego z nich.
jmort253
Używamy „ClientsCustomer” do wskazywania klienta Klienta ....

Odpowiedzi:

5
wyjaśnić przypadki użycia i scenariusze

To jest klucz: użyj terminologii domeny, tj. Nazw ról. Kto może odgrywać role, nie jest ważne. Upewnij się, że role są dobrze zdefiniowane (dla każdego scenariusza).

Jest całkowicie możliwe, że odwiedzam własną stronę internetową i kupuję własne produkty. To głupie, ale jest możliwe [ale zrobiłem to, aby przetestować oprogramowanie e-commerce!]. Fakt, że jestem dostawcą, gospodarzem, autorem, webmasterem, copywriterem, programistą, klientem, klientem, gościem, nabywcą, gościem, właścicielem i pracownikiem jednocześnie nie zmienia terminologii przypadku użycia: „klient kupuje produkt od właściciela za pośrednictwem formularza internetowego „

Steven A. Lowe
źródło
@ Steven - Gdybym zapytał: „Co widzi klient po otrzymaniu wiadomości?” , do kogo mówię, gdy mówię „klient” ? Czy mam na myśli mojego klienta, przedstawiciela handlowego e-commerce, który otrzymuje pytanie, czy też odnoszę się do jej klienta, faceta, który utknął w kasie i otrzymuje instrukcje, jak prawidłowo wprowadzić numer karty kredytowej, aby mógł kupić nowe samochody dostawcze? Dzięki!
jmort253,
@ jmort253, proste: nigdy nie używaj słowa klient. Kupujący i kupiec.
Peter Taylor
@Peter - Załóżmy, że chcę uogólnić te poziomy i zastosować je do innych produktów. Może mam pracownika administracyjnego, klienta administracyjnego i użytkownika końcowego jako A, B i C. Czy istnieje wspólna konwencja dla „klienta klienta”, która nie musi być specyficzna tylko dla mojego produktu, ale może również stosuj do produktów, które budujesz, w których oferujesz produkty swoim klientom, aby pomóc im w ich kontaktach. Uważam, że ten problem powinien być dość powszechny w biznesie na rynkach biznesowych.
jmort253,
@ jmort253: puść termin „klient” ; nie ma żadnego istotnego znaczenia w twoim przypadku użycia. W powyższych przykładach użyj „klienta” (tego, który korzysta z twoich usług), „odbiorcy” (tego, który otrzymuje pytanie) lub „nabywcy” (tego, który coś kupuje)
Steven A. Lowe
1
@ jmort253, projekt, nad którym obecnie pracuję, ma klientów klientów mojego klienta. Żargonem projektu jest to, że klienci mojego klienta nazywani są „subskrybentami”, a ich klienci nazywani są „konsumentami”. Korzystając z metafory rynkowej Amazon, mogą zamiast tego być kramarzami i kupującymi.
Peter Taylor
8

Aby to wyjaśnić, zadzwoń do klienta jako klienta , a następnie do klienta jako klienta . To sprawi, że będzie to wyraźniejsze, prawda?

Zalecam zmianę nazwy warunków i dostosowanie pakietu oprogramowania (trochę) dla każdego klienta w zależności od jego preferencji. Niektórzy klienci mogą chcieć nazywać swoich klientów klientami lub użytkownikami.

Również relacja jest trochę zabawna. Jak Twój pracownik może wchodzić w interakcje z klientami klienta?

Mauris
źródło
Świetne pytanie. Opracowujemy oprogramowanie czatu, aby nasi klienci mogli z niego korzystać w celu interakcji z jego klientami / potencjalnymi klientami, ale również odbieramy te same czaty w imieniu tych samych ... cóż ... klientów. Widzisz zamieszanie? Podoba mi się twoja sugestia i już wcześniej próbowałem przeforsować tę konwencję nazewnictwa. Zastanowię się, żeby spróbować jeszcze raz.
jmort253,
Jeśli klienci twojego klienta są Twoimi potencjalnymi klientami, czy nie powinni oni już być nazwani potencjalnymi klientami lub klientami już?
mauris,
Pomiędzy klientami a potencjalnymi klientami oznaczono AND / OR. „Tworzymy oprogramowanie dla naszych klientów w celu interakcji z ich klientami ORAZ / LUB ich potencjalnymi klientami”. Klienci lub potencjalni klienci naszego klienta niekoniecznie są naszymi klientami lub potencjalnymi klientami. Wow, chyba nie zdawałem sobie sprawy z tego, jak bardzo jest to mylące. Pisanie go w celu wyjaśnienia wydaje się skomplikowane. Ludzie, z którymi współpracują nasi operatorzy, mogą być klientami, potencjalnymi klientami, LUB klientami niebędącymi klientami lub potencjalnymi klientami, jeśli są klientami naszych klientów
jmort253
próbuje to sprowadzić do wyrażenia logicznego = \
Mauris
3

Pytanie staje się więc prostsze, gdy pomyśli się o Rolach jako bycie względnym a, które pełni rolę w stosunku do bytu b. Twój klient uważa się za Użytkownika, a jego Klient jest dla niego Klientem. Jedyną osobą, która dba o Twojego klienta jako Klienta, jesteś Ty. W systemie masz dwie role: administratora i użytkownika.

Widziałem wyjaśnienie, że masz pracowników, którzy wchodzą w interakcje z klientami końcowymi za pośrednictwem oprogramowania do czatu (nazwijmy tę rolę agentem). Dla wyjaśnienia, czy Agent reprezentuje się jako pracownik Twojego Użytkownika?

Twierdziłbym, że rolą nadal jest Agent, Użytkownik, Klient. Określanie użytkownika jako klienta po prostu myli rzeczy. (Jak widzisz).

Miałem gorzej ... Musiałem pracować na trzech poziomach pośrednich. Istniała spółka, która w niektórych przypadkach była bezpośrednimi użytkownikami naszej aplikacji. Mieli konta, które sprzedawali różne pakiety z naszej oferty i śledzili klientów dla tych kont.

Michael Brown
źródło
Myślę, że to jest problem. Moi inżynierowie i ja musimy wziąć pod uwagę dwie różne role podczas omawiania projektu. Mamy dyskutować z roli nami lub roli nich . Chociaż naszą rolą jest również Użytkownik, ponieważ jemy własne jedzenie dla psów. Zaczynam myśleć, że zastanawiam się nad tym!
jmort253
2

Może trochę styczna, ale ...

Sam lubię projektowanie interakcji i tam nigdy nie używasz abstrakcyjnych „ról” lub „użytkowników”, ale czegoś, co nazywa się „personami”. Zasadniczo tworzysz postać z imieniem, opisem i fotografią, a następnie używasz jej w procesie projektowania

„Bob jest menedżerem banku w swoim średnim wieku, ma pewne doświadczenie komputerowe, ale nie lubi ich szczególnie”.

Następnie w swoim projekcie możesz użyć ich prawdziwych nazw: „Nie, Bob nie chciałby tego”, „Jeśli Bob to zrobi, wtedy Alice musi zostać w jakiś sposób powiadomiona”. Personas są szczególnie przydatne, gdy wykonujesz scenariusze.

Gorąco polecam Więźniowie prowadzą azyl i O twarzy

Homde
źródło
Dzięki za twoją odpowiedź! To świetna sugestia. Będę musiał zastanowić się, czy to może dotyczyć wszystkich naszych produktów. Aby to działało, moi klienci i przykładowi klienci musieliby być aktorami we wszystkich naszych systemach. Innymi słowy, Bob musiałby być klientem naszego narzędzia do budowania widżetów, a także klientem naszych produktów foo i barów, jeśli ma to sens.
jmort253
@jmort, prawdopodobnie nie tak powinieneś używać postaci. O ile Bob nie jest tak naprawdę tą samą osobą, która kupiłaby zarówno narzędzie do budowania widżetów, jak i foo i bar, należy je zdefiniować jako osobne osobowości… właśnie o to, budujesz różne osobowości dla konkretnych scenariuszy / aplikacji / systemów i dostosowujesz rozwiązanie dla nich. Nazwiska osób nie są tylko synonimami „użytkownika”
Homde
Opowiadam się za tym podejściem, ciężko nam było wytłumaczyć, co robimy inwestorom i naszym bezpośrednim klientom. Stworzyliśmy Jamie i Dave'a jako założycieli fikcyjnej firmy i wykorzystujemy Jamie i Dave'a w naszych opowieściach, skrybach wideo, używa skrzynek itp. Znacznie łatwiej niż końcowi użytkownicy klienta itp.
Dickey Singh
2

Poproszono mnie o opublikowanie tego komentarza jako odpowiedzi, więc:

Projekt, nad którym obecnie pracuję, ma klientów klientów mojego klienta. Żargonem projektu jest to, że klienci mojego klienta nazywani są „subskrybentami”, a ich klienci nazywani są „konsumentami”. Korzystając z metafory rynkowej Amazon, mogą zamiast tego być kramarzami i kupującymi.

Peter Taylor
źródło
0

Operator i gość wydają się dość dobrze zdefiniowani. Nie jestem pewien, czy istnieje różnica, kiedy operator staje się gościem lub gość staje się gościem. W tym momencie każdy jest gościem.

JeffO
źródło
0

W zależności od tego, co oprogramowanie ma robić, używaj dobrze znanych fikcyjnych postaci, np. Dumbledore zawsze przekazuje Harry'emu wiedzę (ucząc go rzeczy, których wcześniej nie wiedział i / lub odpowiadając na jego pytania). Używaj postaci pasujących do kultury twoich programistów. Następnie możesz odnieść się do nich w takich przypadkach użycia: gdy A siedzi na krześle Dumbledore'a lub gdy B gra Harry'ego.

Jeśli uważasz, że spowodowałoby to, że twoje specyfikacje stałyby się nieformalne i pozbawione profesjonalizmu, powinieneś przeczytać ten artykuł Joela i spojrzeć na jego przykładowe specyfikacje funkcjonalne.

Penang
źródło
Przez jakiś czas używałem sportowców i gwiazd filmowych w swoich specyfikacjach, aby ułatwić ich czytanie. Miałem Bretta Favre, Sachina Tendulkara i Aishwaryę Rai, żeby wymienić tylko kilka.
jmort253