2009-06-08 34 views
17

¿Qué cualidades lo hicieron tan bueno y qué lo hizo destacar en comparación con las especificaciones no tan buenas con las que tuvo que lidiar? O bien, si nunca antes trabajó con una buena especificación funcional, ¿qué tipo de cosas esperaría en una gran especificación?¿Qué hace que una gran especificación funcional sea genial?

Lo siento, esto es obviamente subjetivo, pero estoy creando una especificación funcional (no la primera) y se me ocurrió que puedo obtener algunas buenas ideas de las personas brillantes en SO!

+0

Esta es una pregunta genuina, él quiere saber qué hace una buena especificación funcional y podemos aprender de los ejemplos de los demás. Obviamente, una especificación funcional es para un proyecto de programación, por lo tanto, esto está relacionado con la programación. –

+0

Cree que esta pregunta debe continuar http://programmers.stackexchange.com/ – rvazquezglez

Respuesta

10

Las especificaciones Project Aardvark de Joel en Software son las mejores que he encontrado hasta ahora. Cada pantalla se define muy bien, con imágenes. Se describen las principales características del software, así como algunos detalles técnicos.

Lamentablemente las especificaciones que he recibido personalmente no son tan brillantes. Por lo general, son solo una lista con viñetas de las características que esperan de cada sección del sistema, y ​​esperan que usted resuelva todos los detalles. Lo cual está bien, supongo. Sin embargo, estoy escribiendo un documento de diseño de juego para un juego de RPG en el que estoy trabajando como proyecto personal, y creo que las especificaciones que estoy escribiendo están muy bien escritas. He dividido el juego en secciones como

  • Caracteres
  • Armas & Armor
  • Niveles
  • Mapa
  • Física

y así sucesivamente, y se describen en cada sección términos de juego, así como algunos detalles técnicos. Es muy fácil de trabajar.

También recomiendo leer el Painless Functional Specs Series de Joel on Software para cualquier persona interesada en escribir mejores especificaciones.

+1

¡Gracias, no sabía que Joel realmente publicó las especificaciones! – DSO

+0

¡Gracias por el enlace del Proyecto Aardvark! Estoy investigando especificaciones antes de saltar a una y parece que será de gran ayuda. –

+0

¿Alguien conoce una plantilla que realmente puedo descargar y tratar de llenar por mi cuenta? Me gusta el formato de Joels, pero odio tener que recrearlo todo en Word. – JoshBaltzell

3

Obviamente, la especificación debe ser completa, consistente y comprensible. IMO también debe estar bien organizado, ya que mantiene todos los requisitos para una parte específica del producto. He leído más de una vez especificaciones en las que los requisitos para algún módulo estaban dispersos en todo el documento, p. la descripción general se encuentra en el capítulo 4, pero se pueden encontrar requisitos adicionales en las cláusulas de los capítulos 2, 5, 7 y apéndice B. Para trabajar con dicha especificación, primero tengo que crear un mapa de referencia cruzada de requisitos para los módulos.

+1

Háganos saber si alguna vez ha visto una bestia en la naturaleza :-) – paxdiablo

+0

Pax: Sí, debo estar soñando ... otra vez ... . –

4

En mi humilde opinión, una característica clave debería ser que la especificación funcional especifica el "qué" en gran detalle pero no el "cómo". De esta forma, el solicitante (¿de comercialización?) Obtiene el aspecto & y el conjunto de características que desean, pero la implementación se deja a quienes mejor lo conocen: los desarrolladores.

+0

Es cierto, pero creo que la parte difícil es donde trazar la línea. P.ej. Consideraría que los diagramas de flujo son apropiados para poner en una especificación funcional, pero los diagramas de clase C# son inapropiados, aunque ambos podrían considerarse "cómo" hacer algo. Y si está escribiendo una especificación funcional para un producto altamente técnico, esta línea podría ser aún más confusa (por ejemplo, ¿es más apropiado decir "usar un canal de comunicaciones seguro" o "usar SSL"?). – DSO

2

Una buena especificación debe indicar lo que se supone que debe hacer la aplicación, de manera clara.

Esto parece obvio, pero las cosas que suelo obtener suelen ser muy vagas. Aparentemente, no es muy fácil para las personas expresar lo que quieren en papel, SI incluso saben lo que quieren.

Cuestiones relacionadas