Mi equipo y yo desarrollamos software que nuestros clientes usarán para interactuar con sus clientes. Además, también comemos nuestro propio alimento para perros y usamos el software nosotros mismos para interactuar con nuestros clientes.
Por lo tanto, a veces puede ser difícil explicar los casos y escenarios de uso, ya que nuestros empleados pueden ser operadores, nuestros clientes pueden ser operadores y los clientes de nuestros clientes pueden ser visitantes.
Sin embargo, nuestros clientes también pueden ser visitantes que interactúan con nuestros empleados operadores, los clientes de nuestros clientes pueden ser visitantes que interactúan con nuestro cliente o nuestro empleado.
Aquí hay un modelo donde:
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
Debido a que a veces nuestros clientes pueden desempeñar diferentes roles, a veces es necesario referirse al rol específico, Operador o Visitante, en lugar de Empleado y Cliente.
También es un bocado decir "cliente del cliente" todo el tiempo.
Me preguntaba cómo otras tiendas de desarrollo manejan estos detalles semánticos cuando escriben sus casos de uso y escenarios.
- ¿Hay algún término genérico de una palabra que pueda aplicarse a cualquier producto que involucre a un actor de tercer nivel?
- Además de usar los roles específicos, Operador y Visitante, ¿qué palabras podrían usarse para identificar a un cliente de un cliente?
La palabra debería ser lo suficientemente corta como para ser adoptada dentro de una organización. Si es más larga que un par de sílabas, su forma abreviada aún debe diferenciarla de los otros actores.
fuente
Respuestas:
Esa es la clave: usar la terminología del dominio, es decir, los nombres de los roles. Quién puede desempeñar los roles no es importante. Asegúrese de que los roles estén bien definidos (para cada escenario).
Es totalmente posible para mí visitar mi propio sitio web y comprar mis propios productos. Es una tontería, pero es posible [¡pero lo he hecho para probar el software de comercio electrónico!]. El hecho de que yo sea el proveedor, anfitrión, autor, webmaster, redactor, programador, cliente, cliente, visitante, comprador, invitado, propietario y empleado al mismo tiempo no altera la terminología del caso de uso: "cliente compra el producto del propietario a través del formulario web "
fuente
Para que quede claro, llame a su cliente como clientes , luego los clientes de su cliente como clientes . Eso lo hará más claro, ¿no?
Le recomiendo cambiar el nombre de los términos y personalizar su paquete de software (un poco) para cada uno de sus clientes, según sus preferencias. Algunos clientes pueden querer llamar a sus clientes clientes o usuarios.
También la relación es un poco divertida. ¿Cómo puede interactuar su empleado con los clientes del cliente?
fuente
Entonces, la pregunta se vuelve más simple cuando se piensa en Roles como una entidad relativa a que desempeña un rol en relación con la entidad b. Su Cliente se considera un Usuario y sus Clientes son Clientes para ellos. La única persona que se preocupa por su Cliente como Cliente es usted. Tiene dos roles en el sistema como administrador y como usuario.
Vi la explicación de que tiene empleados que interactúan con los clientes finales a través de su software de chat (llamemos a este rol Agente). Para aclarar, ¿se representa el Agente como un empleado de su Usuario?
Yo diría que el rol sigue siendo Agente, Usuario, Cliente. Referirse a su Usuario como cliente simplemente confunde las cosas. (Como puedes ver).
Lo he tenido peor ... Tuve que trabajar en tres niveles de indirección. Había una entidad de la Compañía que en algunos casos eran Usuarios directos de nuestra aplicación. Tenían cuentas a las que vendieron varios paquetes de nuestras ofertas y rastrearon a los clientes para esas cuentas.
fuente
Tal vez un poco tangente pero ...
A mí también me gusta el diseño de interacción, y allí nunca usas "roles" o "usuarios" abstractos, sino algo que se llama "personas". Básicamente, inventas un personaje con un nombre, descripción y fotografía y luego lo usas en tu proceso de diseño
"Bob es gerente de banco en sus años intermedios, tiene algo de experiencia en informática pero no le gusta especialmente".
Luego, en su proyecto, puede usar sus nombres reales "No, Bob no querría eso", "Si Bob hace esto, entonces Alice debe ser notificada de alguna manera". Las personas son especialmente útiles cuando estás haciendo escenarios.
Recomiendo encarecidamente que los reclusos estén dirigiendo el asilo y sobre la cara
fuente
Me pidieron que publicara este comentario como respuesta, así que:
El proyecto en el que estoy trabajando actualmente tiene clientes de clientes de mi cliente. La jerga del proyecto es que los clientes de mi cliente se llaman "suscriptores" y sus clientes se llaman "consumidores". Utilizando la metáfora del mercado de Amazon, podrían ser vendedores y compradores.
fuente
Operador y Visitante parecen bastante bien definidos. No estoy seguro de que haya una diferencia cuando un operador se convierte en un visitante o un visitante se convierte en un visitante. En ese punto, todos son visitantes.
fuente
Dependiendo de lo que el software está destinado a hacer, use personajes ficticios bien conocidos, por ejemplo, Dumbledore siempre está dejando caer el conocimiento sobre Harry (enseñándole cosas que no sabía antes y / o respondiendo sus preguntas). Utiliza personajes que encajen con la cultura de tus desarrolladores. Luego puede referirse a ellos en casos de uso como tales: cuando A está sentado en la silla de Dumbledore o cuando B está jugando a Harry.
Si cree que esto haría que sus especificaciones fueran informales y carecieran de profesionalismo, debería leer este artículo de Joel y mirar las especificaciones funcionales de muestra de él .
fuente