Documente Academic
Documente Profesional
Documente Cultură
Capítulo 1 hizo hincapié en la importancia de los requisitos. Se observó que los clientes, gerentes y
desarrolladores subestiman la ingeniería de requisitos. La AR se encuentra en una posición estratégica
para mejorar las prácticas en uso en los proyectos y en la organización. El analista puede tener un
impacto positivo en el éxito del proyecto, además de facilitar los resultados de mejora de la
organización mediante la realización de varias funciones. Haciendo rol contribuye explícitas de la RA
a un proceso más suave. El papel de la RA puede vincularse fácilmente a los objetivos de negocio,
tales como el aumento de la satisfacción del cliente con los productos de trabajo entregados; reducir el
tiempo de comercialización de los productos; cumplimiento de los objetivos de costos, cronograma y
calidad; y la utilización de los recursos humanos de la empresa con mayor eficacia. El papel de la RA
necesita ser entendida y valorada en la mente de los PM y las comunidades técnicas (tanto compu-
tación y de ingeniería). Tabla 2.1 resume las funciones de la RA, tomando nota de las fases del ciclo
de vida en que se realiza cada función
ROLES SUGERIDOS DE LA RA
1. Trabajar en colaboración con los clientes, usuarios y arquitectos de sistemas y
diseñadores para identificar las necesidades reales de un sistema o de desarrollo de
software esfuerzo planificado para definir el problema que necesita ser resuelto.
El concepto de las necesidades reales se explicó en el Capítulo 1. La experiencia ha demostrado que
el número uno del problema en la ingeniería de requisitos es la falta de identificación de las
necesidades reales antes de iniciar las actividades de desarrollo del sistema. Cualquiera que haya
tenido alguna experiencia en sistemas o desarrollo de software estará de acuerdo en que la
identificación de las necesidades reales es un problema significativo. Con respecto a esta función, el
RA necesita crear una conciencia del problema y también proporcionan una sugerido estrategia para
superar el problema. Este es un ejemplo concreto de una situación que sabemos que puede ser
mejorado, pero más a menudo que no actúan en este conocimiento. Estamos impacientes por empezar
a trabajar en el llamado verdadero trabajo de programación. Nos contentamos para permitir que el
esfuerzo de desarrollo para proceder sin tomar el esfuerzo adicional para evolucionar las necesidades
reales. Tenga en cuenta que he utilizado la palabra "evolucionar". Este trabajo involucra a más de los
requisitos de identificación. La tarea esencial es utilizar los requisitos establecidos articulados por los
clientes y usuarios como base, esta pareja con un entendimiento profundo de los objetivos de negocio,
e iterar evolucionando requisitos que cumplen los criterios para un buen requisito y dirección
priorizados necesidades reales de el sistema o software. Actividades que participan en la realización
de este trabajo son los siguientes:
Identificación de las necesidades expresadas por los clientes y usuarios. Esto implica revisar
las cosas previamente escrito sobre el sistema propuesto, inter viendo los clientes y usuarios,
el estudio de la legislación pertinente, y así sucesivamente.
El estudio de los objetivos de negocio para el esfuerzo propuesto.
La colaboración con clientes y usuarios en una cooperativa conjunta o ambiente ron ción para
analizar los requisitos indicados, evolucionan mejor los requisitos, y dar prioridad a ellos (ver
las técnicas sugeridas que siguen).
La participación de arquitectos de sistemas en el desarrollo de los requisitos. Iterar los
requisitos proyectos o propuestas se traducirá en una arquitectura candidato con mejores
requisitos y una arquitectura más robusta. Por ejemplo, los sistemas tienen que ser capaz de
adaptarse a las cambiantes necesidades empresariales. La arquitectura debe ser diseñado y
desarrollado de acuerdo, o de lo contrario el sistema entregado pronto será obsoleta.
La utilización de una herramienta requisitos industria resistencia automatizado para apoyar
este trabajo.
La RA debe trabajar dentro de la organización del proyecto para ganar el apoyo de la PM en la
obtención de compromiso de invertir el tiempo añadido y el esfuerzo de determinar las necesidades
reales. Aquí hay una gran oportunidad para la RA para asumir la responsabilidad y, basándose en la
experiencia de la industria, a convencer a la gestión y los desarrolladores de proyectos para invertir
más tiempo y esfuerzo en el proceso de requisitos. Afortunadamente, los datos están disponibles para
ayudarnos a manejar por los hechos y no por intuición o la forma en la que siempre hemos hecho las
cosas. Consulte Requisitos Prácticas Efectivas [1, p. 62] para estos datos. Considere el uso de técnicas
de obtención de requisitos de colaboración que funcionan bien en sesiones de grupo. Ejemplos de
buenas técnicas de obtención requisitos son talleres requisitos, groupware basada electrónico o
herramientas de desarrollo de colaboración electrónicos, diagramas de flujo de datos de alto nivel,
diagramas IDEF0 de alto nivel (sobre todo para el modelado de negocio), y el uso de diagramas de
casos de alto nivel (sobre todo para distinguir requisitos que son fuera del sistema en comparación con
el comportamiento esperado del sistema). Todos ellos funcionan bien en una pizarra, son fáciles de
entender, y permitir a todos los presentes a participar. Ver Dean Leffingwell y Don Widrig Gestión de
Requisitos de software: un enfoque unificado [2] para buenas discusiones de estos y otras técnicas y
cómo usarlos. David Hay proporciona una comparación útil de las técnicas que se pueden utilizar en
Análisis Requisitos: A partir de vistas empresariales a la Arquitectura (ver [3, p 194.] Y la discusión
precedente).
Tabla 2.1 Funciones de RA y del ciclo de vida de las Actividades
RA rol sistema de sistema sistema de sistema s. integración, s. operaciones
iniciación análisis componente de prueba y y apoyo
y Diseño de diseño implementación evaluación
Las fases del ciclo de vida que se muestran en la fila de arriba no pretenden ser una recomendación para un modelo de ciclo de vida cascada.
Más bien, el uso de la terminología de fase es la intención de representar la actividad que se realiza; esta actividad es igualmente aplicable a
prácticamente todos los modelos de ciclo de vida (por ejemplo, espiral, el desarrollo rápido de aplicaciones, incrementar el proceso unificado
racional), aunque los nombres de las fases del ciclo de vida sean diferentes.
A-Continuar para identificar las necesidades reales de lanzamientos y versiones posteriores, manteniendo el control de configuración.
B-Sistema inicial o "proyecto o tarea de inicio" es un tiempo confuso. La RA experimentado será capaz de prestar asistencia. Por ejemplo, el
RA debe proporcionar una sesión informativa para el equipo del proyecto que incluye los temas señalados en la Tabla 5.4.
2. Trabajar de manera efectiva con los clientes y usuarios para gestionar los requisitos
nuevos y modificados para que el proyecto se mantiene bajo control. Instalar un
mecanismo de control de cambios.
El siguiente problema más grave de la ingeniería de requisitos (tras el fracaso para identificar las
necesidades reales) es la falta de control requisitos que se identifican después del desarrollo del
sistema (programación) comienza, tanto los nuevos requisitos y cambios en los requisitos existentes.
Aquí distinguimos entre los requisitos críticos (los que tendría un impacto en el precio, el horario, o el
esfuerzo de desarrollo si ha cambiado) y los requisitos de los no críticos, como una exigencia derivada
que define aún más el sistema que se está construyendo, pero sirve para aclarar una de mayor
requisito de nivel y no afecta el costo, horario, o la funcionalidad. Todos los interesados deberían
recibir a un requisito de "impacto no-" que aclara aún más el sistema. Una vez más, tenemos los datos
de experiencia en la industria para guiar nuestras acciones: un cambio del 20% de los requisitos dará
lugar a una duplicación de costos PROYECTO DE DESARROLLO [4]. Por lo tanto, es fundamental
que un mecanismo se puso en marcha para evaluar y adjudicar cambios en los requisitos. Sin un
mecanismo eficaz para controlar los cambios en los requisitos, el proyecto estará pronto fuera de
control en cuanto a horario y costo. Hay varias cosas que se deben hacer:
La importancia del control de cambios en los requisitos se debe explicar a los clientes,
usuarios y desarrolladores para que se mantenga el compromiso de colaboración para el éxito
del proyecto.
Los desarrolladores deben ser entrenados para no aceptar los requisitos de cambios no
autorizados. Todas las solicitudes de cambios, no importa lo trivial, deben ser canalizados a
través del mecanismo de control de cambios
El mecanismo de control de cambios debe ser un equipo conjunto que incluye a los tomadores
de decisiones empoderadas que representan el cliente y el desarrollador. El equipo conjunto
debe cumplir con la frecuencia suficiente para tener un número razonable de las solicitudes de
cambio a considerar. Se recomienda una métrica meta de 0,5% los requisitos de la volatilidad
para guiar las decisiones tomadas por el equipo conjunto una vez a la línea de base de los
requisitos validados se ha establecida.1 "Whoa," usted dice, "que no es mucho!" ¡Muy bien!
Este es otro razones para invertir el tiempo necesario para desarrollar las necesidades reales
antes de iniciar las actividades de desarrollo.
La asociación con su cliente, evolucionando formas de lidiar con el cambio. Sabemos que el
mundo está cambiando mientras estamos desarrollando el sistema. ¿Cuáles son algunas
maneras de lidiar con esto sin poner en peligro el éxito del proyecto? Considere el uso de
versiones, versiones y actualizaciones. Incrementos del paquete de requisitos de mejoras y
cambios en versiones posteriores o actualizaciones del sistema.
Asegúrese de que el contrato prevé un tiempo adicional y el presupuesto para todos los
cambios. Este es un mecanismo para mantener buenas relaciones a lo largo del contrato de
trabajo a socio para el éxito. Los cambios cuestan tiempo y dinero. Esto debe ser reconocido
en la delantera y se refleja en el contrato.
Un papel que a menudo subutilizado es asesorar a nuestros clientes en relación con la tecnología en
evolución. Si bien esto no es responsabilidad exclusiva de los analistas o ingenieros requisitos,
muchos involucrados en el desarrollo de sistemas para los clientes harían bien para pasar el tiempo y
el esfuerzo adicional de aprender sobre nuevas tecnologías y la forma en que se pueden aplicar a
nuestro trabajo. Los clientes se centran normalmente en lo que el sistema debe hacer. Podemos servir
mejor al estar familiarizados con las tecnologías que mejoran el funcionamiento del sistema está
diseñado necesaria evolución. Esto sugiere que los RA se beneficiará de tener diseñadores de sistemas
revisen sus productos de trabajo. Simultáneamente con los requisitos de elaboración, involucrar a un
pequeño equipo de diseñadores para revisar las necesidades reales de los impactos de costos,
calendario, tecnología y riesgo. Utilice-el proceso de estudios de comercio Análisis de Decisiones
Resolución (DAR) en CMMI alternativas terminología-evolucionando. Mantenga el cliente
involucrado en estas actividades, por lo que cuando se presente la oportunidad, el cliente está ahí para
colaborar con usted en la formulación de recomendaciones para las decisiones. Una excelente
referencia que describe el proceso de utilización de las nuevas tecnologías es la fusión rentes de
Everett M. Rogers of Innovations (4ª ed.) [5].