¿Existe un estándar para describir un formulario en una especificación de programación?

Soy programador web en una pequeña empresa web. Cuando tenemos un proyecto de programación más grande, escribo un documento de especificaciones para que el cliente lo revise, haga los cambios necesarios y finalmente lo apruebe.

Nuestros clientes no son muy expertos en tecnología, por lo que siempre incluyo una descripción general de la programación, escrita en prosa simple. Creo que entienden esa parte... es el punto en el que describo los, bueno, aspectos técnicos que me temo que les pasan por alto.

Lo que hago para intentar que sea más fácil, es crear una tabla que explique qué se está recopilando y cómo .

Por ejemplo, un formulario de contacto simple incluiría una tabla similar a la siguiente:

    | Field    | Type     | Options   | Notes                    |
    --------------------------------------------------------------
    | Name*    | Text     |           |                          |
    | Email*   | Text     |           | Will ensure valid format |
    | State*   | Dropdown | US States |                          |
    | Comments | Textarea |           |                          |

Explicaré lo que indica el asterisco en un párrafo anterior, y siempre describo los tipos de campo en notas al pie, la primera vez que se menciona el campo. Pero, a medida que mis especificaciones se han vuelto más complicadas y los datos recopilados se han vuelto más extensos, comencé a preguntarme si hay una mejor manera.

Investigué esto (aquí, UX.SE y Google en general), pero encontré muy poco y nada específico. Por lo general, los ejemplos son para documentos internos, no para aquellos que piensan que los sitios web son mágicos.

TL;DR

¿Existe una forma estándar de explicar los campos de formulario/datos de base de datos/métodos de recopilación a un cliente que no es experto en tecnología?

Respuestas (2)

Esa tabla no está lista para el cliente. Entiendo los términos técnicos como "desplegable" y "área de texto", pero esas palabras nunca deben ponerse frente a un cliente. Excepto por la rara excepción de que tiene algo de experiencia en programación, en el mejor de los casos el cliente no obtendrá nada y, en el peor de los casos, tendrá una experiencia realmente incómoda y se resentirá contigo por ello.

Le recomiendo que no use tablas para explicar estas interfaces a sus clientes; en su lugar, use una ilustración. Es muy estándar usar ilustraciones en la escritura técnica. Cuando escribí libros técnicos, eran 1000 páginas con 500 ilustraciones. Si no fuera por las ilustraciones, habrían sido 3000 páginas.

Es muy probable que incluso el cliente menos técnico haya utilizado un formulario web. Así que todo lo que tiene que hacer es mostrarles algo parecido a un formulario web y verán un formulario web:

ingrese la descripción de la imagen aquí

Hice esa ilustración con Autodesk Graphic en aproximadamente 5 minutos, como máximo, incluida la ubicación en este artículo. Son solo algunos rectángulos y algunos objetos de texto. La parte más difícil fue buscar una lista de estados alfabéticos de EE. UU. que podía pegar allí. Incluso si no tienes experiencia con las herramientas de dibujo, es probable que te lleve menos tiempo hacer una ilustración como esta que hacer una tabla o escribir una descripción.

Es posible que desee poner un título "solo con fines ilustrativos, no como un diseño final" en su ilustración para evitar que el cliente piense que así es como se verá realmente el formulario final. Está destinado a ser simplemente un paso adelante de la tabla que hizo, no para ser un diseño. Pero una ventaja adicional más allá de una mejor comprensión del cliente es una menor ambigüedad para la persona que realiza el diseño final. La versión de la tabla podría malinterpretarse accidentalmente, pero es bastante difícil para un diseñador o programador web malinterpretar una ilustración como esta.

Así que las ilustraciones mejoran su especificación para todos.

Usé un ejemplo muy breve. Normalmente, los datos que estoy recopilando son en realidad para cosas de back-end como entrada de directorio con muchos más campos de los que caben en un documento de Word estándar. Además, ¿qué sucede cuando tengo campos que dependen unos de otros y, por lo tanto, se muestran y se ocultan en el formulario? Más recientemente, creé una pieza de programación donde el elemento podría tener fechas de calendario o una fecha basada en texto. Elegir entre las dos opciones permitía que aparecieran dos campos con validación o un solo campo sin validación. Mostrar los tres campos sería confuso para el cliente.
Secundo a @simonwhite y también agregaría: use un flujo de trabajo, algún tipo de línea de tiempo o incluso animaciones que muestren cómo debería suceder la "historia" del usuario en el caso normal.
Hola, @VampDuc, esa es una buena pregunta: aquí usaría diagramas de flujo u otras formas de visualizar la historia o las historias de los usuarios.
Tenga cuidado si decide incluir maquetas como esta: el peligro es que incluso con un descargo de responsabilidad como "no es el diseño final", el cliente puede distraerse y querer criticar el "diseño".

No existe una "manera estándar" de explicar los conceptos técnicos a aquellos que no los entenderían, al menos que yo sepa. Sin embargo, tengo algunas técnicas que puede probar cuando tenga que redactar un informe técnico de manera sencilla.

  • Divide tu informe en secciones claramente divididas. Esto permite que el lector entienda más claramente lo que está viendo.

  • Definir todo en palabras fáciles de entender. Personalmente, no me gusta mirar las notas al pie; hace que el documento parezca más difícil o complejo de lo que realmente es. Pero la decisión sobre dónde definir las palabras depende de usted.

  • Generalizar. Si puede dar una pequeña descripción de cómo funciona algo sin entrar en grandes detalles, entonces bríndelo como una descripción general.

  • Si puede, use analogías y/o diagramas. Sus tablas probablemente ayuden mucho, pero asegúrese de que sean lo suficientemente grandes para leerlas y verlas fácilmente. Es probable que muchos clientes no quieran tener que pensar demasiado en lo que muestra una tabla.

  • Consigue ayuda. A menudo finjo que le estoy explicando cosas a mi mamá y eso me ayuda a usar un vocabulario más pequeño y generalizar las funciones tecnológicas.

Desafortunadamente, esto es algo que siempre puede afectar a los desarrolladores de tecnología. Tengo una última sugerencia, aunque puede que no sea la más ideal.

  • Mantenga a su cliente en una base parcial de "necesidad de saber". Bríndales toda la información, pero para las secciones técnicas, déjalo tan complejo y extenso como sea necesario para compartir la información. Ofrézcales una descripción general de los métodos de recopilación, etc., pero si pueden confiar en usted para desarrollar un producto que logre los objetivos previstos y cumpla con los requisitos establecidos, entonces su trabajo será mucho más fácil. Ofrécete a reunirte con ellos y profundizar más si quieren/si puedes, pero si no lo entienden, no es necesario que lo hagan.
Estoy de acuerdo con todo lo que dijiste y, de hecho, divido todo en secciones. Mi problema viene de la parte de "necesidad de saber": necesitan saber. Para un porcentaje muy pequeño, el cliente confía en nosotros para construir lo que quiere. Una cantidad mucho mayor no tiene ni idea de lo que implica la programación, por lo que debemos tener un alcance claramente definido. Se les presenta un documento que dice, esto es lo que obtienes, ni más ni menos. Y en cuanto a la reunión con el cliente, ese es trabajo del gerente del proyecto, no mío. Pero lo que le presento al cliente no es un borrador final, y se afirma como tal.