¿Puede el personal no técnico reunir los requisitos en nombre del equipo de desarrollo?

8

Al trabajar en una gran organización, a menudo los miembros del equipo de desarrollo no pueden obtener acceso directo al cliente para reunir los requisitos. ¿Es posible / aconsejable dar una lista de preguntas a un gerente de cuenta para que pueda reunir los requisitos en su nombre?

sunwukung
fuente

Respuestas:

5
  • Posible: sí :-)

  • Aconsejable: solo si realmente no hay otra manera. Esto resultaría fácilmente en requisitos muy frágiles y poco entendidos. Y los problemas solo pueden aparecer en una etapa posterior, durante la implementación o las pruebas de aceptación.

Idealmente, la recopilación de requisitos debería ser una serie de discusiones detalladas entre el cliente y el desarrollador.Los clientes generalmente tienen ideas muy débiles de lo que realmente quieren, por lo que la implementación de su primera descripción vaga, como es inevitable, conduciría a problemas. Por lo tanto, los desarrolladores deberían poder decir el precio de cada idea / historia / requisito, lo que ayuda a los clientes a priorizar sus necesidades y dar retroalimentación técnica sobre lo que es posible y factible. Además, deben comprender el dominio del problema tan profundo como sea necesario, a fin de proporcionar la mejor solución técnica al problema del cliente. Y a lo largo del camino, deben asegurarse de que entendieron al cliente correctamente, lo que significa pedir con frecuencia aclaraciones y repetir lo que entendieron con sus propias palabras durante las sesiones de comunicación (y con frecuencia proporcionar prototipos de UI / maquetas de ideas del cliente).El mejor medio para esto es la comunicación oral: si no es posible cara a cara, la siguiente mejor opción es una videoconferencia o una conferencia telefónica.

Tener una persona no técnica como canal de comunicación entre clientes y desarrolladores limita severamente la eficiencia de la comunicación. Incluso enviar documentos de un lado a otro por correo electrónico sería mejor, donde al menos no hay intermediario, por lo que hay una posibilidad menor de malentendidos.

Péter Török
fuente
Estoy de acuerdo con usted, pero ¿por qué no puede haber un proxy entre el desarrollador y la empresa? Mi experiencia en proyectos de grandes empresas toca múltiples sistemas (posiblemente con diferentes equipos de desarrollo en diferentes ubicaciones), almacenamiento de datos e informes, infraestructura e incluso cambios en el proceso comercial en sí. Necesitas a alguien que se encargue de todo esto.
softveda
3
@Pratik, se llama analista de negocios (BA) en algunas tiendas. Un BA es de hecho útil en algunos casos (también tenemos uno con nuestro proyecto actual). Sin embargo, un buen BA está (en mi humilde opinión) lejos de ser un administrador de cuentas: ella sabe mucho sobre el dominio del problema y (aunque no necesariamente en el nivel técnico profundo) también sobre la aplicación.
Péter Török
Un proxy entre el desarrollador y el negocio puede funcionar, pero solo si el proxy está capacitado y tiene los conocimientos suficientes para saber qué preguntar. Confiar en alguien que simplemente conoce las necesidades del cliente es una receta para el fracaso si no sabe cómo traducir esas necesidades en especificaciones técnicas que alcanzan el nivel de detalle requerido para el desarrollo.
Beofett
Como analista de negocios, tengo que estar totalmente en desacuerdo con usted en que una persona no técnica que actúa como un canal de comunicación limita severamente la eficiencia. En mi parte particular de la industria de TI (contratación del gobierno), pasé una gran cantidad de tiempo tratando de comprender exactamente cómo funciona nuestro cliente, cómo quieren poder trabajar y lo que consideran importante. Nuestros ingenieros de software NO tienen el tiempo o la inclinación (ni, generalmente, las habilidades sociales) necesarias para desentrañar los aspectos bizantinos de los procesos comerciales de nuestros clientes. Sé mucho sobre el usuario y mucho sobre la aplicación
JBiggs
5

Si bien estoy de acuerdo con Péter Török en que un intermediario puede limitar la eficiencia, tener una conversación con los usuarios finales que no sea desarrollador puede aumentar la efectividad de la comunicación.

He descubierto que los desarrolladores y los usuarios finales a menudo pueden hablar juntos, pero aún se entienden mal porque provienen de "mundos diferentes". Mientras hablan las mismas palabras, pueden entender que significan cosas completamente diferentes ... Un intermediario que entiende tanto la mentalidad / lenguaje del usuario final como el del desarrollador, puede valer su peso en oro mejorando la comprensión mutua de lo que se necesita / lo que se desarrollará

Dicho esto, preguntarle a un gerente, ya sea un administrador de cuentas o cualquier otro tipo de administrador, no es el camino a seguir. Cerrar la brecha entre el mundo del desarrollador y el del usuario final es una habilidad y no algo que se hace "como algo aparte".

Marjan Venema
fuente
Estoy totalmente de acuerdo en que los desarrolladores deben comprender el dominio del problema para proporcionar soluciones reales, y extendí mi respuesta a lo largo de esta línea mientras escribía la suya :-)
Péter Török
@ Péter: sí, responder en StackOverflow es como si la gente hablara simultáneamente. Solo escucha lo que alguien más ha dicho después de que lo dijo y ha dejado de hablar (responder) usted mismo (o cargar nuevas respuestas). Sería bueno tener una indicación de que alguien está escribiendo, como lo haces en una sesión de chat, pero supongo que eso sería pedir demasiado a los servidores de StackOverflow ... :-)
Marjan Venema
Estoy de acuerdo. Como analista de negocios, tengo que servir de puente entre los ingenieros de software que saben muy poco sobre cómo piensa y trabaja el cliente y el cliente, que sabe muy poco sobre cómo se desarrolla el software. He escuchado de ambas partes que las personas que hacen lo que hago son invaluables para la comunicación. Puedo recordar varias veces cuando pude representar al cliente durante una sesión de planificación que se estaba ejecutando en un camino centrado en la tecnología genial al decir algo como "eso es genial, pero esa no es la forma en que quieren usar esto. Necesitan poder ver el ... "
JBiggs
2

En resumen, esta forma de trabajar está llena de peligros y fue una de las razones por las que nació el Manifiesto Ágil .

{mal intento de humor} Suplica, pide prestado, lucha, engaña, roba, encanta, lleva al pub, haz lo que puedas para involucrarte con el usuario final {/ mal intento de humor}

Pero en serio, si no puede obtener acceso, al menos asegúrese de que haya un ciclo de retroalimentación rápido. Entonces, sí, puede hacer preguntas a través del administrador de cuentas (si puede acceder al cliente directamente, incluso de forma remota a través de correo electrónico, eso es aún mejor), pero hágalas todos los días y proporcione un prototipo con la mayor frecuencia posible para que el cliente lo pruebe.

De lo contrario, corre un riesgo enorme de entregar algo que el cliente final no desea realmente.

Martijn Verburg
fuente
2

Trabajo en una organización de tamaño medio-grande y tenemos un equipo de soluciones de negocios que tiene muchos analistas de negocios. Hacen un trabajo importante ya que entienden muy bien el proceso de negocio y traducen lo que el negocio quiere a lo que el desarrollador entiende. Funciona de otra manera también. Si detecto algún problema de diseño y / o arquitectónico o propongo una forma alternativa de resolver el problema, hablo con ellos y ellos, a su vez, hacen negocios.

En una gran empresa hay muchas cosas que considerar además de las técnicas al hacer un requerimiento. Al igual que los problemas de capacitación del personal, como no impactar a un cliente con un cambio, como un proceso de compensación que existe para hacer que su pregunta no sea un problema, o "John" es marketing utiliza esta función y no puede simplemente cambiar esto, etc.

Para responder a su pregunta si tiene una estructura en su lugar, úsela. Dales la lista de preguntas para hacer un seguimiento con los gerentes de cuentas comerciales.

softveda
fuente
1

Estás jugando la versión de recopilación de requisitos del juego telefónico. En el mejor de los casos, esto causará mucha ineficiencia en la comunicación. En el peor de los casos, causará requisitos recopilados incorrectamente. La importancia de este ciclo de retroalimentación y su eficiencia es una de las razones principales por las que el Representante de atención al cliente es uno de los roles más valiosos (y más difíciles de escalar) en un equipo ágil.

Rein Henrichs
fuente
0

NO

Tomando su pregunta literalmente, la respuesta no puede ser otra cosa que un rotundo "¡NO! ¡NO! ¡MIL Y VEINTICUATRO VECES NO!" a menos que el "Administrador de cuentas" también sea un consultor, analista y desarrollador capacitado

Si tiene que haber un intermediario no capacitado en el proceso, es mejor que envíe las encuestas a los usuarios por correo electrónico y simplemente envíe un CC al administrador de la cuenta. Él / Ella no puede agregar valor al proceso, pero ciertamente puede confundir las comunicaciones.

El rol apropiado para el Gerente de Cuenta en este proceso es participar en la conversación como parte interesada , no jugar middleware o analista aficionado.

Steven A. Lowe
fuente
+1, tengo que estar de acuerdo. Sucede mucho, pero nunca lo he visto funcionar.