Tiempo dedicado a los requisitos y su efecto en el éxito del proyecto y el tiempo de desarrollo


15

¿Hay alguna evidencia que sugiera que el tiempo dedicado a escribir o pensar en los requisitos tendrá algún efecto en el tiempo de desarrollo? El estudio realizado por Standish (1995) sugiere que los requisitos incompletos contribuyeron parcialmente (13.1%) al fracaso de los proyectos. ¿Se han realizado estudios que demuestren que el tiempo dedicado al análisis de requisitos tendrá algún efecto en el tiempo de desarrollo de un proyecto, o qué tan exitoso será el proyecto?


3
¿Cómo encajan los modelos ágiles aquí? Se puede argumentar que pasan tiempo de requisitos (encendido y apagado) pero no hay requisitos "fase" como tal.
Raphael

1
De acuerdo con @Raphael. ¿Vamos a responder preguntas sobre ingeniería de software? ¿O es la política oficial del sitio que no vale la pena distinguir entre "informática" e "ingeniería de software" en este momento?
Patrick87

1
@ Patrick87 Pasemos esto a meta .
Raphael

Me parece que esta pregunta sería más adecuada para los sitios existentes de Ingeniería de Software y Gestión de Proyectos .
Adam Lear

Respuestas:


10

Ver Código Completo, por Steve McConnell, Tabla 3-1. Compara el costo promedio de la reparación de defectos en función de cuándo se introducen y detectan. La detección en el momento de la construcción cuesta 5-10 veces más que la detección en el momento requerido y 10-100 veces más después del lanzamiento.

La tabla se basa en las siguientes fuentes:

  1. "Diseño e inspecciones de código para reducir errores en el desarrollo de programas" (Fagan 1976)

  2. Eliminación de defectos de software (Dunn 1984)

  3. "Mejora de procesos de software en aeronaves Hughes" (Humphrey, Snyder y WIllis 1991)

y varios mas


Eso por sí solo no es suficiente. Los errores costosos tienen que suceder con la suficiente frecuencia y deben detectarse con la suficiente frecuencia al presentar los requisitos adecuados. De lo contrario, el costo adicional de cumplir con los requisitos aún podría superar los costos de error.
Raphael

Es verdad. Tenemos que suponer que hasta cierto punto, no apresurarse en los requisitos significa que hay menos errores en los requisitos, pero eso no parece demasiado.
Joe

10

Sí, hay muchos estudios sobre este tema. Por supuesto, la pregunta es demasiado general para responder a todo tipo de proyectos de desarrollo de software, pero hay evidencia de varios contextos que respaldan la noción de que hacer un análisis de requisitos adecuado tendrá un impacto positivo en la etapa de implementación. Esta evidencia se ha recopilado parcialmente en "leyes", y aquí hay tres ejemplos:

Ley Glass: las deficiencias en los requisitos son la principal fuente de fallas en los proyectos.

Esta ley está respaldada por evidencia de estudios de caso de grandes proyectos de desarrollo de software. Glass descubrió que en los casos fallidos, había demasiados requisitos, eran inestables debido a cambios tardíos y eran ambiguos e incompletos.

Esto sugiere que existe una relación entre la calidad de los requisitos y el resultado del proyecto.

Primera ley de Boehm: los errores son más frecuentes durante los requisitos y las actividades de diseño y son más caros cuanto más tarde se eliminan.

Esto también está respaldado por la evidencia del estudio de caso y contribuye a responder la pregunta de la siguiente manera: hacer los requisitos correctamente reducirá la cantidad de errores en el sistema y corregirlos antes de comenzar la implementación será menos costoso que cazarlos abajo cuando la implementación ya ha comenzado (o peor, cuando el sistema ya se ha enviado).

La segunda ley de Boehm: la creación de prototipos (significativamente) reduce los requisitos y los errores de diseño, especialmente para las interfaces de usuario.

Esto está respaldado por experimentos controlados en un contexto estudiantil. Una posible interpretación es que los requisitos y las fases de diseño no necesitan estar completamente basados ​​en la documentación y ser teóricos. En cambio, realizar prototipos como parte de los requisitos y las fases de diseño, lo que equivale a dedicar tiempo y pensar en los requisitos, afectará el éxito del proyecto y el tiempo de implementación.

También hay muchas otras pruebas que apuntan en la misma dirección: dedicar tiempo a la preparación para la implementación vale la pena en forma de menos riesgo y menos posibilidades de desbordamiento debido a sorpresas. Aunque la pregunta no era sobre las pruebas, la preparación adecuada también afecta positivamente las pruebas.

Las referencias para estas leyes son:

Glass 'law: Glass, RL: Software Runaways. Lecciones aprendidas de fallas masivas en proyectos de software. Upper Saddle River, Nueva Jersey: Prentice Hall 1998

La primera ley de Boehm: Boehm, BW, McClean, RK, Urfrig, DB: cierta experiencia con ayudas automatizadas para el diseño de software confiable a gran escala. IEEE Trans on Software Engineering 1, 1 (1975), 125–133

La segunda ley de Boehm: Boehm, BW, Gray, TE, Seewaldt, T .: Prototipos versus especificación: un experimento multiproyecto. IEEE Trans on Software Engineering 10, 3 (1984), 290–302

Además, la siguiente referencia puede ser de interés: Endres, A. y Rombach, D. Un manual de ingeniería de software y sistemas. Observaciones empíricas, leyes y teorías. La serie Fraunhofer IESE sobre ingeniería de software. Addison Wesley, 2003.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.