Importancia Requerimientos

Post on 28-Jun-2015

11.383 views 0 download

description

Presentación de la platica de importancia de requerimientos para la comunidad de desarrolladores.

Transcript of Importancia Requerimientos

Importancia de los requerimientos en un proyecto de Software.

Identificación de Requerimientos.

El papel de los requerimientos en el proyecto de Software

Introducción

¿Que es un proyecto ?

Es un trabajo que se ejecuta una sola vez.

Tiene un alcance, plasmado en objetivos y actividades.

Tiene recursos asignados.

Tiene un inicio y un final (Tiempo asignado).

Produce resultados únicos.

Principales parámetros de un proyecto.

Alcance Recursos (costo del

esfuerzo, principalmente). Tiempo.

Cada parámetro es función de los otros dos.

Mover un parámetro implica cambios a los otros (por lo menos a uno).

El principal objetivo de la dirección del proyecto es planearlos y controlarlos.

Los alcances y los Requerimientos

P: ¿En base a qué se establecen los alcances de un proyecto?

R: En base a los requerimientos.

Al carecer de requerimientos definidos:

No es posible realizar estimaciones realistas.

No es factible emplear coherentemente herramientas de planeación.

No se pueden realizar revisiones periódicas del progreso en base a especificaciones.

La arquitectura, el diseño y el desarrollo del software carecerán de una base firme.

Al carecer de requerimientos definidos: (cont.)

Las pruebas estarán basadas en supuestos y no en lo que el usuario y otros interesados requieren.

No es posible Realizar un control de configuraciones adecuado.

No es posible controlar el crecimiento de los requerimientos.

Una definición de requerimientos permite:

Empleo de métricas. Empleo de técnicas y herramientas

de estimación. Informes formales y regulares de

avances. Empleo de arquitectura de software

adecuada y datos. Empleo de métodos formales de

desarrollo.

Una definición de requerimientos permite: (cont.)

Revisiones formales de diseño. Métodos formales de pruebas. Empleo de herramientas de diseño. Empleo de control de versiones y

configuraciones. Administración de los requerimientos

y control del crecimiento del proyecto.

Levantamiento de Requerimientos

¿Por dónde Empezar?

¿Por dónde empezar?

Identificar usuarios clave, expertos del área y directivos que auspician el proyecto (los patrocinadores, o sponsors). Obtener organigrama del área. Planear entrevistas iniciales.

Establecer un centro de operaciones. Un objetivo fundamental: alinear el

proyecto con las estrategias y metas de los directivos.

Análisis del área y requerimientos

Detectar características y condiciones que deben cumplir el producto y el proyecto.

La subestimación o menoscabo de su importancia es uno de los errores fatales más comunes.

Alineación de perspectivas. Exploración de antecedentes.

¿Cómo hacerlo?Técnicas de recolección e identificación de Requerimientos.

Las Entrevistas

Preparar la entreviste de antemano. Preparación != Rigidez o falta de espontaneidad.

Si es con un directivo de alto nivel: Identificar visión panorámica. Solicitar que nos ayude a detectar usuarios

clave. Identificar si se han investigado las mejores

prácticas del ramo, o las que se llevan a cabo en empresas similares.

Uso de prototipos.

Facilita la obtención y validación de requerimientos.

Presentan una parte del sistema. Excelente vehículo de

descubrimiento. Ayuda a obtener retroalimentación. Reduce ambigüedades. Permite al cliente/usuario a clarificar

ideas. ¡Cuidado! Los prototipos tienden a

crear la ilusión de que el sistema está casi, casi listo.

Sesiones JAD

Joint Application Development.Diseño de aplicación conjunta.

Son idóneas para balancear objetivos y requisitos.

Son indispensables cuando están involucrados varios departamentos.

Se debe, ante todo Escuchar.

El enfoque hacia requerimientos.

Estos no son requerimientos:

Análisis, diseño, diagramas, herramientas CASE …

Interfaz gráfica, OO. Ebusines, ancho de banda, ERP

… Sino soluciones técnicas.

El enfoque hacia requerimientos.

Estos sí son requerimientos.

“Necesitamos reducir el tiempo que nos toma elaborar el informe semestral”

“Queremos reducir los errores en los estados de cuenta de los clientes”

“Necesitamos saber a que clientes les estamos vendiendo suministros para equipo de computo”

Conclusiones:

Los requerimientos son el insumo principal en el desarrollo de software.

Delimitan el alcance real del proyecto de software.

El subestimarlos en un proyecto, por lo general nos hace entrar en crisis.

¿Dudas? Comentarios …

Contacto:

David Ramírez Ledesma.

davo.rmz@gmail.com

@davo_man

Gracias por su atención.