ESPEFICICACIONES FUNCIONALES SIN ESFUERZO

En los siguientes apartados se van a definir qué son las especificificaciones funcionales, se va a argumentar la importancia de tener especificaciones y finalmente se hablará sobre quienes son los encargados de escribir esas especificaciones.

Introducción

En los siguientes apartados se va a definir qué son las especificificaciones funcionales, se va a argumentar la importancia de tener especificaciones y finalmente se hablará sobre quienes son los encargados de escribir esas especificaciones.

Por qué necesitas una especificación

Cuando se quiere realizar un proyecto todos saben que uno de sus deberes es escribir especificaciones antes de comenzar a diseñarlo, pero normalmente no lo hacen. ¿Por qué? Porque creen que este paso es una pérdida de tiempo. Por esta razón y para mostrar que están equivocados, a continuación, se van a explicar algunas razones de por qué se necesita una especificación:

La primera y principal razón es que no es una pérdida de tiempo, al revés, escribiendo especificaciones se ahorra mucho tiempo. Cuando se escribe una especificación el siguiente paso será comunicar cómo funcionará el programa. En este caso, si todos los equipos que forman parte del proyecto leen las especificaciones que se han escrito, todos sabrán cómo funciona el programa. Sin embargo, si no se escribe una especificación, por supuesto que sigue habiendo comunicación, pero en este caso, muchos se comunicarán con muchos sin tener claro cómo funciona el programa. Al no saber todos cómo funciona, no se podrá avanzar con el diseño antes de aclarar todas esas dudas, y eso supone un tiempo que, con una especificación bien escrita, se ahorraría.

Las especificaciones también son una forma segura de sacar adelante el proyecto. Todos saben que la parte más importante de las especificaciones es el diseño del programa. Si se escribe una buena especificación explicando paso por paso cómo va a ser el proyecto es más probable que se logre diseñar el programa que lograrlo sin escribir especificaciones. Además, este paso también ahorra futuros problemas.

Otra de las razones por las que hay que optar por escribir especificaciones es que, sin una especificación detallada, es imposible hacer una planificación temporal. Todas las empresas saben que desarrollar un proyecto cuesta dinero, y más si se tarda tiempo en terminarlo. Ninguna empresa va a arriesgar en un proyecto si no sabe cuánto tiempo le va a costar. La solución es fácil: escribir especificaciones. Esto les indicará a las empresas cuánto tiempo tardarán en sacar a delante el proyecto y, por tanto, cuánto dinero les va a costar por ello.

Siempre que se escriba una especificación, hay que tener claro que hay que llegar siempre a una última conclusión. Si no se toma la decisión final no se llegará a diseñar nada. Y, sobre todo, es importante tomar las decisiones más importantes al principio, porque esto impedirá tener problemas una vez empezado con el diseño del programa.

Las especificaciones

Antes de seguir hablando de especificaciones es necesario definir qué es una especificación. Existen dos tipos de especificaciones:

  • Especificaciones funcionales: consisten en describir cómo funciona un producto desde la perspectiva del usuario.

  • Especificaciones técnicas: son aquellas descripciones basadas en la programación interna del programa. Es decir, estas especificaciones están dirigidas al programador.

Nosotros en todo momento vamos a centrarnos en las especificaciones funcionales, aquellas que están dirigidas al usuario.

¿Qué son las especificaciones funcionales?

A la hora de diseñar un programa es fundamental describirlo tanto por fuera, como por dentro, pero lo más importante es fijar la percepción que va a tener el usuario cuando acceda al programa, es decir fijar las especificaciones. Para ello, en las especificaciones funcionales se definen aspectos como: cuáles son las pantallas, cómo funcionan, qué hacen, etc.

Es importante tener en cuenta que el primer paso para crear un programa es escribir las especificaciones y el segundo describir el lenguaje de programación, ya que no sirve de nada discutir sobre qué lenguaje de programación se va a usar antes de haber decidido qué es lo que va a hacer tu producto. A continuación, se puede observar un ejemplo de especificaciones .

¿Qué contiene una especificación funcional?

  1. Un autor: cada especificación debe tener un propietario y debe estar escrita por una persona y no por un equipo. De esta manera, si algo va mal en una especificación, existirá un autor y cada uno será responsable y propietario de las cosas que especifique.
  2. Escenarios
  3. No objetivos: describir las cosas que no se van a hacer, es un modo de selección de eliminar las funciones que no piensas incluir.
  4. Una visión general = índice de tu especificación
  5. Detalles: describir los detalles es la función más importante en una especificación funcional. Es imprescindible detallar cada aspecto. Por ejemplo: ¿Qué pasa si la dirección de e-mail no es válida? ¿Qué pasa si la contraseña está mal? Todas esas cuestiones hay que detallarlas, ya que el usuario cuando se encuentre con un problema, acudiendo a las especificaciones debe encontrar la solución.
  6. Asuntos pendientes
  7. Notas al margen: si mientras escribes las especificaciones se te ocurren ideas útiles para otro miembro de tu equipo (marketing, redactores técnicos, programadores) está bien que lo señales.
  8. Las especificaciones necesitan estar vivas y actualizadas

Quién escribe especificaciones

En los años 80 cuando Microsoft empezó a crecer y con ella la complejidad de escribir los programas, se optó por incluir en la organización un nuevo cargo al cual denominaron program manager actualmente es conocido por ser el encargado de redactar las especificaciones del proyecto de una empresa. Básicamente el program manager se ocupa de:

Propuesta: Qué se quiere realizar, porqué y cuales son los objetivos.

Planificación y redacción de las especificaciones: Debe tener en cuenta los costes que le implicaría a la organización, los recursos, las fechas previstas para el desarrollo y las personas encargadas de la ejecución del proyecto.

Supervisar: El manager tiene un equipo de trabajo denominado programadores, se considera que por cada manager deben haber mínimamente 5 programadores que son los encargados de garantizar que el código entregado a casa uno funcione. En la supervisión también se deben recopilar requisitos para ir detectando los posibles errores, es en esta etapa donde básicamente se conoce si el proyecto sera un éxito o un fracaso.

Soluciones o cambios: Con la evolución del proyecto se pueden encontrar fallos que deben solucionarse o si es el caso cambiar la idea para que finalmente el proyecto funcione.

Según Spolky la estructura gráfica del equipo que lleva a cabo las especificaciones es así: programmanager