The Requirements Engineering - Español
The Requirements Engineering - Español
The Requirements Engineering - Español
La ingeniería de requisitos
Manual
Machine Translated by Google
La ingeniería de requisitos
Manual
Ralph R. joven
Artech House
Boston • Londres
www.artechhouse.com
Machine Translated by Google
Los siguientes están registrados en la Oficina de Patentes y Marcas de EE. UU. por la Universidad Carnegie Mellon: Capability
Maturity Model , CMM , y CMMI .
Reservados todos los derechos. Impreso y encuadernado en los Estados Unidos de América. Ninguna parte de este libro puede
reproducirse ni utilizarse de ninguna forma ni por ningún medio, electrónico o mecánico, incluidas fotocopias, grabaciones o
cualquier sistema de almacenamiento y recuperación de información, sin el permiso por escrito del editor.
Todos los términos mencionados en este libro que se conocen como marcas comerciales o marcas de servicio se escriben
con mayúscula apropiada. Artech House no puede dar fe de la exactitud de esta información. No se debe considerar que el uso de
un término en este libro afecta la validez de ninguna marca comercial o de servicio.
10 9 8 7 6 5 4 3 2 1
Machine Translated by Google
Para ti
.
Machine Translated by Google
Contenido
Prólogo ................ xi
Prefacio................. xv
de proceso El plan de 6
Resumen 11
Caso de estudio 12
Referencias 13
Resumen 23
Caso de estudio 24
Referencias 25
viii
Machine Translated by Google
viii Contenido
4 tipos de requisitos. . . . . . . . . . 45
Vistas de tipos de requisitos 45
Definiciones y descripciones de tipos de requisitos 48
Requisitos comerciales 49
Requisitos de usuario 50
Requerimientos funcionales 51
Requerimientos no funcionales 52
Requisitos derivados 52
Requisitos de desempeño 53
Requisitos de interfaz 53
Requisitos verificados 53
Requisitos validados 53
Requisitos de calificación 53
Requisitos incognoscibles 54
Requisitos medioambientales 55
Terminologías a evitar 55
Requisitos de fuente o cliente 55
Requerimientos clave 56
Requisitos de origen 56
Otras pautas 56
Contenido ix
5 Requisitos de reunión. . . . . . . . . 61
Planifique el enfoque 62
Resumen 104
Referencias 105
Referencias 126
Referencias 164
Resumen 189
Referencias 191
Referencias 202
Machine Translated by Google
X Contenido
Glosario. . . . . . . . . . . . . . 217
Bibliografía. . . . . . . . . . . . 233
Índice. . . . . . . . . . . . . . . 245
Machine Translated by Google
Prefacio
Haceproyecto
algunosen
años, una empresa
dólares. dedel
El sistema éxito consiguió
producto unseis
tenía contrato por valor
consolas de cincuenta
de operador, otrosmillones
seis
bastidores de equipos electrónicos y un sofisticado conjunto de radios y computadoras remotas.
Las disciplinas de desarrollo incluyeron ingeniería de software, electrónica digital, electrónica de
comunicaciones e ingeniería mecánica.
La adquisición de clientes y los grupos de usuarios sabían qué capacidad operativa querían,
pero aún no había requisitos técnicos. Al principio del proyecto, la empresa desarrolló y entregó
una especificación técnica.
Los revisores de los clientes proporcionaron docenas de cambios, incluidos seis requisitos
adicionales que interpretaron a partir de declaraciones vagas de capacidad operativa. Sin
embargo, en una discusión posterior, los clientes estuvieron de acuerdo en que estos requisitos
adicionales, aunque agradables de tener, eran demasiado costosos para agregarlos.
Pasó el tiempo. El proyecto tuvo problemas políticos y de financiación, y saltó de arriba a
abajo durante un período de cuatro años como un avión lanzadera de corto recorrido.
El personal cambió varias veces; En uno de esos cambios, el proyecto aparentemente terminó
y todo el grupo de adquisición fue reasignado. Después de dos meses de pausa, un nuevo
grupo de adquisiciones reanudó el proyecto.
La especificación técnica pasó por varias revisiones más. De alguna manera, el registro
de esos seis requisitos permaneció. Sin embargo, el registro del acuerdo se perdió repetidamente.
Los revisores de los clientes los reinsertaron repetidamente. Después de cada revisión,
nuevamente se consideró que agregar esos seis requisitos era demasiado costoso. Pero la
especificación nunca fue aprobada del todo para reflejar el acuerdo. Mientras respondían a los
frecuentes trastornos, los desarrolladores se centraron en completar el diseño y la producción.
La especificación se desvaneció en un estante polvoriento.
Las cosas en un estante polvoriento tienen una manera de volver a atormentarnos. Esos
seis requisitos salieron a la luz por última vez. Durante las pruebas de aceptación del sistema,
los monitores de los clientes quitaron el polvo de la especificación y comenzaron una verificación
formal.
El resultado de la falta de seis requisitos fue un sobrecoste de tres millones de dólares.
El libro de Ralph Young proporciona las herramientas que esa empresa necesitaba y no
tenía. Basándose en las prácticas efectivas de requisitos y en sus años de experiencia práctica,
Ralph ofrece un conjunto de herramientas y técnicas que son esenciales para el análisis de
requisitos moderno, escritas en un formato de manual para
xi
Machine Translated by Google
xiii Prefacio
referencia continua. Este libro describe tanto la filosofía como la práctica del análisis de
requisitos, con un pragmatismo realista que puede ayudar a hacer el trabajo frente a los
complejos desafíos de los sistemas actuales.
Las comunicaciones humanas son imprecisas. Es un aspecto de la naturaleza de
humanidad que no logramos entendernos completamente.
Recuerda los juegos de fogata de tu infancia. En el juego "Susurros", alguien comienza
una breve declaración alrededor del círculo de la fogata susurrándole a su vecino. Por
turnos, cada jugador transmite la declaración, siempre en un susurro. Después de sólo unas
pocas transferencias, la declaración original se modifica hasta quedar irreconocible. En el
juego, las diferencias son tan sorprendentes que hacen reír a todos.
Prefacio xiii
El problema de esos seis requisitos se debió a muchos factores: los cambios políticos
en el programa, las ideas en competencia entre las facciones de clientes, las presiones
inusuales de iniciar y detener el desarrollo y el enfoque del equipo de desarrollo en la
finalización. Sin embargo, ese problema también ocurrió debido a la falta de los métodos de
gestión de requisitos (RM) que contiene este libro. Un esfuerzo moderno de RM para todo el
proyecto habría costado una fracción de los tres millones de dólares de sobrecosto
experimentado. Aún mejor, también se habrían evitado muchos otros gastos.
eric honor
Ex presidente del Consejo Internacional de Ingeniería de Sistemas
Machine Translated by Google
.
Machine Translated by Google
Prefacio
Este Analistas
libro pretende ser una referencia
de menciones concisa
(RA): aquellos pero
que completa
están parapara
asignados las necesidades
determinar los requisitos
para los sistemas y software planificados, tanto en informática como en ingeniería.
Es una guía/manual de escritorio que se centra en cómo los RA pueden realizar mejor su trabajo.
Los requisitos son clave para el éxito o el fracaso de los proyectos técnicos.
Son la base de todo el trabajo posterior. Según mi experiencia, la mayoría de los proyectos y
organizaciones no utilizan prácticas de requisitos efectivas y un proceso de requisitos documentado,
y también que aquellos asignados como RA son asignados al trabajo necesario sin la preparación,
experiencia y capacitación adecuadas, y sin un buen manual que los asesore. sobre cómo
desempeñar sus funciones y qué hacer.
Las AR se encuentran en una posición estratégica para influir en las actividades realizadas en un
Tarea o proyecto de ingeniería de sistemas o software:
Los requisitos son vitales para el inicio, realización y finalización del trabajo necesario.
Este libro aborda todas las áreas que necesitará conocer en su trabajo. Los temas clave incluyen
los siguientes:
Tema
Aprovechar las actividades relacionadas con los requisitos para beneficiar su proyecto.
xvi
Machine Translated by Google
xvi Prefacio
Trabajar para mejorar las comunicaciones. Utilice un glosario del proyecto y acro
lista de nyms.
El Capítulo 2 describe nueve funciones de la RA e identifica en qué parte del ciclo de vida del sistema
se debe aplicar cada una. El trabajo de requisitos requiere muchos conocimientos y habilidades, quizás
más de lo que la mayoría de la gente piensa. El Capítulo 3 identifica y describe las habilidades que puede
necesitar utilizar y proporciona una referencia en este libro donde puede aprender más sobre cada
habilidad.
Es importante que el RA y otras personas asignadas a la tarea o proyecto comprendan los diferentes
tipos de requisitos. Estos se describen en detalle en el Capítulo 4 y se desglosan de la siguiente manera:
Requisitos comerciales;
Requisitos medioambientales;
Requisitos incognoscibles.
Las necesidades y expectativas de los clientes se analizan y describen de las siguientes maneras:
Prefacio xvii
Requisitos no funcionales:
Se realizan comprobaciones para garantizar que el sistema haga lo que se supone que
debe hacer, incorporando lo siguiente:
Requisitos verificados;
Requisitos validados;
Requisitos de calificación.
Se debe brindar capacitación relacionada con los requisitos a tres grupos con necesidades
algo diferentes, de modo que todos puedan beneficiarse de la experiencia de la industria y
tomar conciencia de los métodos, técnicas y herramientas que funcionan mejor: (1) los RA,
(2) los miembros de el equipo de desarrollo, y (3) los clientes y usuarios.
xviii Prefacio
Expresiones de gratitud
Sigo estando muy agradecido con mi esposa, Judy, por su increíble paciencia,
comprensión y amor durante todo el proceso de escritura del libro. A veces, mis
familiares y amigos se sorprenden de la alegría y la energía que obtengo al escribir;
para mí, es como lo caracteriza Maryanne RadmacherHershey:
Escribir es el proceso que uno sigue para aprender lo que ya sabe en lo más profundo
de su ser: agudiza el espíritu, disciplina la mente y conduce a soluciones. En los
espacios entre las palabras y la soledad observa lo que sucede cuando las palabras y
el silencio se encuentran. Las palabras importan. Prestar atención. Escribe para aprender lo que
saber.
Los analistas de requisitos que son miembros del Grupo de Trabajo de Requisitos
de Soluciones Empresariales de Defensa de Tecnología de la Información de
Northrop Grumman proporcionaron valiosos comentarios de revisión, contribuciones
y aportaron sus experiencias y conocimientos: Terry Bartholomew, Michael Davis,
David Ebenhoeh, Bob Ellinger, Jim Faust, Graham Meech. , Dick Pederson, rico
xix
Machine Translated by Google
xx Expresiones de gratitud
CAPÍTULO
Contenido
1 La importancia de los requisitos
1
Machine Translated by Google
sistema para que tenga valor y utilidad para un cliente o usuario. Los requisitos son importantes
porque proporcionan la base para todo el trabajo de desarrollo que sigue. Una vez establecidos
los requisitos, los desarrolladores inician
el otro trabajo técnico: diseño, desarrollo, prueba, implementación y operación del sistema.
Con demasiada frecuencia, existe una tendencia a querer iniciar lo que a menudo se denomina
“el trabajo real” (desarrollar o programar el software) demasiado rápido.
Muchos clientes y gerentes de proyectos (PM) parecen creer que la realidad
El trabajo de programación (“codificación”) indica que se están logrando avances.
Según la experiencia del sector, no se dedica suficiente tiempo y esfuerzo a
las actividades relacionadas con los requisitos asociadas con el desarrollo del sistema.
La experiencia del sector confirma que un mejor enfoque es invertir más tiempo
en actividades de recopilación, análisis y gestión de requisitos. La razón
es que, normalmente, el trabajo de codificación se inicia mucho antes de lo que debería
porque se necesita tiempo adicional para identificar los requisitos "reales" y
planificar las actividades relacionadas con los requisitos (descritas a continuación).
Existe una diferencia significativa entre los requisitos "declarados" y los "reales".
requisitos. Los requisitos indicados son aquellos proporcionados por un cliente en
el comienzo de un esfuerzo de desarrollo de sistema o software, por ejemplo,
en una solicitud de información, propuesta o cotización o en una declaración de
trabajo (SOW). Los requisitos reales son aquellos que reflejan las necesidades verificadas.
de usuarios para un sistema o capacidad particular. A menudo existe una gran diferencia entre los
requisitos declarados y los requisitos reales. Se requiere un análisis de los requisitos establecidos
para determinar y refinar los requisitos reales.
necesidades y expectativas del cliente y usuario sobre el sistema entregado. El
Los requisitos deben filtrarse mediante un proceso de clarificación de su significado e identificación
de otros aspectos que deben considerarse. Para citar un
En un ejemplo simple, los analistas de requisitos (RA) están más familiarizados con la necesidad
indicar claramente los requisitos (consulte los criterios para un buen requisito que se proporcionan
a continuación). Hay muchas maneras en que la capacidad, la comprensión,
y la comunicación del significado de todos y cada uno de los requisitos puede ser
diferente para un usuario que para un desarrollador. Por lo tanto, es vital (y ahorra tiempo)
que todos los requisitos se aclaren a través del mecanismo de un esfuerzo conjunto de cliente/
usuario y RA. Los clientes y usuarios necesitan el apoyo de profesionales técnicamente capacitados
y con experiencia, y viceversa, para garantizar
comunicación efectiva. Los desarrolladores deben tener la misma comprensión
para que la solución que definan aborde las necesidades de la manera en que todos
espera. Los malentendidos de los requisitos resultan en un desperdicio de esfuerzo y
rehacer. Otra idea importante es que a veces los requisitos son
incognoscible al comienzo de un esfuerzo de desarrollo porque se ven afectados
por las nuevas capacidades que proporcionará el nuevo sistema. Esto sugiere la
necesidad de planificar requisitos nuevos y modificados, para proporcionar un grado de
flexibilidad.
Identificar los requisitos reales requiere un proceso de requisitos interactivo e iterativo ,
respaldado por prácticas, procesos, mecanismos, métodos, técnicas y herramientas eficaces. Este
libro proporciona una descripción de
cómo la RA puede utilizarlos para realizar el trabajo necesario. en un anterior
Machine Translated by Google
requisitos a lo largo del ciclo de vida. En realidad, existen varias otras actividades relacionadas
con los requisitos que deben abordarse en el ciclo de vida del sistema:
Identificar a las partes interesadas: Esto incluye a cualquiera que tenga interés en el
sistema o en que posea cualidades que satisfagan necesidades particulares.
Obtener una comprensión de las necesidades de los clientes y usuarios para el sistema
planificado y sus expectativas sobre el mismo: esto a menudo se denomina obtención de
requisitos. Tenga en cuenta que los requisitos pueden incluir varios tipos. Los tipos de
requisitos se analizan en el Capítulo 4. Las técnicas de recopilación de requisitos se
analizan en el Capítulo 5.
Aclarar y reformular los requisitos: Esto se hace para garantizar que describan las
necesidades reales del cliente y estén en una forma que pueda entenderse.
mantenido y utilizado por los desarrolladores del sistema.
Analizar los requisitos: Esto se hace para garantizar que estén bien definidos y que se
ajusten a los criterios de un buen requisito (proporcionados a continuación).
Definir los requisitos de manera que signifiquen lo mismo para todas las partes
interesadas: tenga en cuenta que cada grupo de partes interesadas puede tener una
perspectiva significativamente diferente del sistema y de sus requisitos.
A veces, esto requiere invertir mucho tiempo en aprender un vocabulario especial o un
léxico de proyecto. A menudo es necesario dedicar mucho tiempo y esfuerzo para lograr
un entendimiento común.
Concretar los requisitos: Esto requiere incluir todo el detalle preciso de cada requisito
para que pueda incluirse en un documento de especificaciones u otra documentación,
dependiendo del tamaño del proyecto.
Priorizar los requisitos: No todos los requisitos tienen la misma importancia para los
clientes y usuarios del sistema planificado. Algunos son críticos, otros de prioridad
relativamente alta, algunos de prioridad normal o media y algunos incluso de menor
prioridad. Es importante priorizar todos los requisitos porque nunca hay suficiente tiempo
o dinero para hacer todo lo que nos gustaría hacer en nuestros sistemas desarrollados.
Priorizar los requisitos brinda la oportunidad de abordar primero la prioridad más alta y
posiblemente lanzar más adelante una versión de un producto que aborde
Machine Translated by Google
Validación de requisitos: este es el proceso para confirmar que los requisitos reales
se implementan en el sistema entregado. Se debe priorizar el orden de validación de
los requisitos ya que hay una cantidad limitada de financiación disponible.
1. Véase AM Davis, “The Art of Requisitos Triage”, Computer (marzo de 2003), para una discusión sobre el concepto de
“clasificación de requisitos”. Davis define la clasificación de requisitos como el proceso de determinar qué requisitos
debe satisfacer un producto dado el tiempo y los recursos disponibles. Proporciona amplia orientación y sugerencias
que ayudan a priorizar los requisitos. Se proporcionan tres estudios de casos de desarrollo de productos y 14
recomendaciones.
Machine Translated by Google
Un enfoque de proceso
Durante las últimas dos décadas, ha habido un debate considerable sobre el valor de
un “enfoque de proceso”. Por enfoque de proceso me refiero a desarrollar y utilizar
una descripción documentada (un diagrama de flujo de proceso y una descripción
de proceso (DP) que lo acompaña) de un conjunto de actividades que resultan en la
realización de una tarea o el logro de un resultado. Según mi experiencia, el uso de
un enfoque basado en procesos tiene un gran valor:
El plan de requisitos 7
El plan de requisitos
La AR debe desarrollar un plan de requisitos temprano, ya sea durante la fase de
preparación de la propuesta o poco después de que se tome la decisión de continuar con
un proyecto o tarea de desarrollo. El propósito del plan de requisitos es determinar y
documentar cómo evolucionarán los requisitos reales y cómo se abordarán las actividades
relacionadas con los requisitos en el ciclo de vida del sistema (enumeradas y descritas
anteriormente). A continuación se muestra una lista de temas sugeridos para este plan y
una descripción de cada tema:
2. Véase “Effects of Process Maturity on Development Effort” de BK Clark, Centro de Ingeniería de Software,
Universidad del Sur de California, 1999, en www. ralphyoung.net/goodarticles, para obtener un excelente resumen
de los beneficios de la mejora de procesos.
Machine Translated by Google
El plan de requisitos 9
La estrategia de asociación;3
3. El término “asociación” se utiliza a menudo para sugerir una relación de trabajo estrecha, coordinada y eficaz. Aquí me refiero
a un proceso definido de esfuerzo de asociación en un proyecto. Le recomiendo que se familiarice con las referencias en [6]
y que considere el uso del proceso de asociación. Puedes descubrir (como yo) que contiene uno de los secretos para proyectar
éxito.
Machine Translated by Google
El “proceso inicial” que se utilizará (para comprender las necesidades reales del cliente y el
entorno, comprender y documentar el alcance del proyecto, definir interfaces externas, definir
los componentes del sistema y definir el esquema para la especificación del sistema);
Definición del proceso de requisitos (diagrama de flujo y PD) (Se proporciona un proceso de
requisitos de muestra en [1] y en mi sitio web (www.ralphyoung.net). Es posible que pueda
utilizarlo para adaptar un proceso de requisitos para su entorno o proyecto.);
Mecanismos a utilizar (por ejemplo, el equipo conjunto y otros que se recomiendan en este
libro);
Formación sobre los requisitos para el equipo del proyecto (incluido el cliente);
Planes para abordar requisitos nuevos y modificados (por ejemplo, uso de un mecanismo para
controlarlos, así como versiones, lanzamientos y compilaciones);
Comprensión de los riesgos inherentes a los requisitos, ya que es probable que la falta de
comprensión total de algunos requisitos cree riesgos importantes para el proyecto;
Planes de acción y cronogramas para los esfuerzos necesarios (por ejemplo, selección de una
herramienta de requisitos).
Resumen
Este capítulo se ha centrado en la importancia de los requisitos y ha proporcionado
una introducción al papel crítico del RA (las funciones del RA se detallan con más
detalle en el próximo capítulo, y las habilidades y características de un RA eficaz se
describen en el Capítulo 3). Del material presentado ya debería resultar evidente que
existe un gran poder y efecto en aprovechar las actividades relacionadas con los
requisitos en ingeniería e informática. Un alarmante 53% de la inversión de la industria
en proyectos de desarrollo técnico es una víctima
Machine Translated by Google
Caso de estudio
Este primer estudio de caso informa sobre un taller que involucró discusiones
facilitadas entre un grupo de PM sobre las principales razones por las que creían que
los sistemas y proyectos de software tenían dificultades, según su experiencia. Estas
son las principales razones informadas por un conjunto de PM:
Le recomiendo que tenga en cuenta estas razones mientras digiere este libro.
Averigüe qué podría hacer o recomendar para ayudar a superar estos problemas.
4. The Standish Group, The CHAOS Report (Dennis, MA: The Standish Group International, 1995). Consulte https://
secure.standishgroup.com/reports/reports.php?rid=1.
Machine Translated by Google
Caso de estudio 13
Referencias
[1] Young, RR, Prácticas de requisitos eficaces, Boston, MA: AddisonWesley, 2001.
[2] Hooks, IF y KA Farry, Productos centrados en el cliente: creación de productos exitosos a través de
una gestión inteligente de requisitos, Nueva York: AMACOM, 2001.
[3] Paulk, MC, et al., Modelo de madurez de capacidad para software, versión 1.1, febrero de 1993, SEI,
Universidad CarnegieMellon, Pittsburgh, PA, 1993.
[6] Markert, C., “Partnering: Unleashing the Power of Teamwork”, 2002, informe informativo disponible en
[email protected]. Véase también Frank Carr et al., Partnering in Construction: A
Practical Guide to Project Success, Chicago: American Bar Association Publishing, 1999.
[7] Véase Paulk, MC, “Using the Software CMM with Good Judgment”, ASQ Software Quality Professional
1(3) (junio de 1999): 19–29, en www.sei.cmu.edu/publications/articles/paulk/ juicio.html.
Machine Translated by Google
.
Machine Translated by Google
CAPÍTULO
2
Contenido
Las funciones de la RA
Funciones sugeridas de la AR
El Capítulo 1 enfatizó la importancia de los requisitos. Se observó que los
Resumen
clientes, gerentes y desarrolladores subestiman la ingeniería de requisitos. La
Caso de estudio RA se encuentra en una posición estratégica para mejorar las prácticas en uso
Referencias
en los proyectos y en la organización. El analista puede tener un impacto
positivo en el éxito del proyecto y también facilitar los resultados de mejora de
la organización al desempeñar varios roles. Hacer explícito el papel de la AR
contribuye a que el proceso sea más fluido. El papel del RA puede vincularse
fácilmente a los objetivos comerciales, como aumentar la satisfacción del cliente
con los productos de trabajo entregados; reducir el tiempo de comercialización
de los productos; cumplir con los objetivos de costos, cronograma y calidad; y
utilizar los recursos humanos de la empresa de forma más eficaz. El papel de
la RA debe ser comprendido y valorado en la mente de los PM y de las
comunidades técnicas (tanto de informática como de ingeniería). La Tabla 2.1
resume las funciones de la AR, señalando las fases del ciclo de vida en las
que se desempeña cada función.
Funciones sugeridas de la AR
1. Trabajar en colaboración con clientes, usuarios y arquitectos y diseñadores
de sistemas para identificar los requisitos reales de un sistema planificado
o esfuerzo de desarrollo de software para definir el problema que debe
resolverse.
15
dieciséis
sseednaoda
iicvolan
bil1
A
ltdcu
a
ec.a
R
iF
T
2vcyl
a
d
am
oñeetssiiS
d
y ametsiS ametsiS ametsiS
nóicnAu
eRF
d nóicaicinI
oñesiD nóicatnemelpmI
nsóe.soe
iro
csrd
ao
sa
sa
lo
tse
ra
,m
lrcda
o
sco
rze
tcea
o
ie
m
rjesirvfiarte
b
ñ
iftw
e
lia
n
tin
b
e
u
a
o
n
u
ab
ee
lsu
n
ite
a
to
rqsfa
esle
n
a
u
o
sire.lo
iT
d1sycrli
a
u
o
e
p
q
d AXX A A A
Machine Translated by Google
eotm
nre
.ra
sram
sao
r.n
in
la
ejo
io
a
zrb
altrain
b
ao
tcn
mu
stce
a
re
jsa
eo
nsiirm
f.olT
n 2cyIl
e
g
b
u
p XXX X
ssoaad
sígo
gan
.tsocrcie
a
o
slie
a
o
fd
itva
u
é
d
n
yte
ruo
rq
ta
e
cssu
a
e
yre
m
.a
lE
3syrtl
a
n
q
e
p X X X
nósicorataczta
eilfyie
tcu
oa
te
nre.a
lF
4yrl
p
e
d
a XXX X
.dadoildibnitaerpgeorl
raduy.A
5 XXX X X X
ootn
tneein
m
im
reóeadim
sczasre
ntn
e
irua
lu
evcrl
p
o
d
sotneoitm
csosuam
aé
ed
ptza
vsiro
a
tna
n
e
o
lú
rtlare
as“tl
u
d
p
h
.”soatcm
uedtosrio
ps
raroses.A
6 X X X
sasdasate
nzleibstiaia
m
nmcn
o
aia
o
n
á
p
rertcsa
esé
u ip
hyt
a
q
e
d
odsaoneto
co
itsre
jia
io
cuyb
a
n
p
jq
o
esa
e
loe
rm
lrd
o eyscrtl
p
.sedadivitca
rsaraalo
,cee
rrica
rdttinrle
é
sia
ota
m
.U
7ycr
p XXB X X X
sosd
s.eso
adod
nato
ca
iodse
jtia
iclvuyb
a
niq
osltsa
e
lo
ce
rorp
acyrtl
d
s.re
raa
zttaiidlb
prieceeam
.S
a8ycf
d XXX X X X
.sotcilfnoc
arrtoaa
nim
ie
ndu
ie
a
u
mectelsn
or.a
e
u liE
9sl
d
á
q
e
o X X X
o.edrnaawzátiftlo
se
itle
us
nóicaaígn
dn
o.e
narald
e
odrn
m
litae
rseie
,ca
o
m
e
d
n
sata
eo
sre
p lá
u
o
ce
lsd
a
cre
use
o
a
n ra
m
M
lie
Lcvsirftl
q
n
p
b
u
d
e,tsnreeanotm
tne
n
d
olsd
,lo
e
ao
e
la
io
a
,;bclm
a
crsd
o
p
ln
aaresizeid
ta
rm
licvo
a
d
ca
itre
ilp
sip
a
á
o
ltd
u
e
ltd
scsp
uscá
e rem
po
aiE
jgqvcsr(tli
p
e
d
a
la.stn
,ose
)o
e
ld
etan
sm
a
runb
escqo
n eo
á
cre
m a
ine
irfo
lrclisd
ce
nfa
u
o ria
nd
opsvcyrfli
u
a
n
odraatn
.ao
ee
io,.citm
oa
cn
ltn
rclsrm
ía
e
ie
p”o
rá
e
ua
o
e
tm
e
tip
rsyfcse
ia
d
b
nrcto
p eA
lio
e srn
osxi:rlm
e a
n
jR
iP
B
E
o
a
e
d
p
u
ics“tli
Las funciones de la RA
asvoo
itda
tao
canm
sye
a
plóauyrliib
u
e
.m
ñ
o
slo
4
lsca
qfre
e
u
n .a
lT
n
oastli
d
p
q
e
5
d:.elrea
tnahefcauiR
F
Machine Translated by Google
Funciones sugeridas de la AR 17
estrategia sugerida para superar el problema. Este es un ejemplo concreto de una situación
que sabemos que se puede mejorar, pero la mayoría de las veces no actuamos en base a
este conocimiento. Estamos impacientes por empezar con el llamado trabajo real de la
programación. Nos contentamos con permitir que el esfuerzo de desarrollo continúe sin
realizar un esfuerzo adicional para desarrollar los requisitos reales. Tenga en cuenta que
he usado la palabra "evolucionar". Este trabajo implica más que identificar requisitos. La
tarea esencial es utilizar los requisitos declarados articulados por los clientes y usuarios
como base, combinar esto con una comprensión profunda de los objetivos comerciales e
iterar para desarrollar requisitos que cumplan con los criterios de un buen requisito y
aborden las necesidades reales priorizadas para el sistema o software. Las actividades
involucradas en la realización de este trabajo incluyen las siguientes:
Identificar las necesidades manifestadas por los clientes y usuarios. Esto implica
revisar lo escrito previamente sobre el sistema propuesto, entrevistar a clientes y
usuarios, estudiar la legislación relevante, etc.
La AR debe trabajar dentro de la organización del proyecto para ganar el apoyo del PM
y lograr el compromiso de invertir más tiempo y esfuerzo para desarrollar los requisitos
reales. Esta es una gran oportunidad para que la AR asuma la responsabilidad y,
aprovechando la experiencia de la industria, convenza a la gerencia de proyectos y a los
desarrolladores para que inviertan más tiempo y esfuerzo en el proceso de requisitos.
Afortunadamente, hay datos disponibles para ayudarnos a gestionar por hechos y no por
intuición o la forma en que siempre hemos hecho las cosas. Consulte Prácticas de requisitos
eficaces [1, p. 62] para estos datos.
Considere el uso de técnicas colaborativas de obtención de requisitos que funcionen
bien en sesiones grupales. Ejemplos de buenas técnicas de obtención de requisitos son los
talleres de requisitos, el software colaborativo electrónico o las herramientas electrónicas
de desarrollo colaborativo, los diagramas de flujo de datos de alto nivel, los diagramas
IDEF0 de alto nivel (especialmente para el modelado de negocios) y los diagramas de
casos de uso de alto nivel (especialmente para distinguir requisitos que son
Machine Translated by Google
18 Las funciones de la RA
fuera del sistema versus el comportamiento esperado del sistema). Todos estos
funcionan bien en una pizarra, son fáciles de entender y permiten que todos
presente para participar. Consulte Gestión de requisitos de software: un enfoque unificado [2] de
Dean Leffingwell y Don Widrig para obtener buenas discusiones sobre estos y
Otras técnicas y cómo utilizarlas. David Hay proporciona una útil comparación de técnicas que se
pueden utilizar en el análisis de requisitos: desde el negocio.
Vistas a la Arquitectura (ver [3, p. 194] y la discusión anterior).
2. Trabajar eficazmente con clientes y usuarios para gestionar requisitos nuevos y modificados para
que el proyecto permanezca bajo control. Instalar un mecanismo para controlar
cambios.
El siguiente problema más serio en ingeniería de requisitos (después de no identificar los requisitos
reales) es la falta de control de los requisitos que
se identifican después de que comienza el desarrollo (programación) del sistema, tanto nuevos
requisitos y cambios a los requisitos existentes. Aquí distinguimos
entre los requisitos críticos (aquellos que tendrían un impacto en el costo,
programa, o el esfuerzo de desarrollo si se modifica) y requisitos no críticos, como un requisito
derivado que define aún más el sistema que se está
construido, pero sirve para aclarar un requisito de nivel superior y no afecta
costo, cronograma o funcionalidad. Todas las partes interesadas deberían acoger con agrado un
requisito de “no impacto” que aclare aún más el sistema.
Nuevamente, contamos con datos de la experiencia de la industria para guiar nuestras acciones:
un cambio del 20% en los requisitos resultará en una duplicación de los costos de desarrollo del
proyecto [4]. Por lo tanto, es fundamental que se establezca un mecanismo
lugar para evaluar y adjudicar cambios a los requisitos. Sin un mecanismo eficaz para controlar los
cambios en los requisitos, el proyecto pronto se verá interrumpido.
fuera de control en términos de cronograma y costo. Se deben hacer varias cosas:
1. El Capítulo 10 de Prácticas efectivas de requisitos proporciona varias ideas, sugerencias y recomendaciones para
controlar los cambios de requisitos.
Machine Translated by Google
Funciones sugeridas de la AR 19
razón para invertir el tiempo necesario para desarrollar los requisitos reales antes de iniciar las
actividades de desarrollo.
Al asociarse con su cliente, desarrolle formas de afrontar el cambio. Sabemos que el mundo
está cambiando mientras desarrollamos el sistema. ¿Cuáles son algunas formas de abordar
esto sin poner en peligro el éxito del proyecto?
Considere la posibilidad de utilizar lanzamientos, versiones y actualizaciones. Incrementos de
paquetes de actualizaciones de requisitos y cambios en versiones posteriores o actualizaciones
del sistema.
Asegúrese de que su contrato prevea tiempo y presupuesto adicionales para todos los cambios.
Este es un mecanismo para mantener buenas relaciones durante todo el trabajo por contrato:
asociarse para lograr el éxito. Los cambios cuestan tiempo y dinero. Esto debe reconocerse
desde el principio y reflejarse en el contrato.
Una función que a menudo no se utiliza es la de asesorar a nuestros clientes sobre la evolución de la
tecnología. Si bien esto no es responsabilidad exclusiva de los analistas o ingenieros de requisitos,
muchos involucrados en el desarrollo de sistemas para clientes harían bien en dedicar tiempo y esfuerzo
adicionales a aprender sobre nuevas tecnologías y cómo se pueden aplicar a nuestro trabajo.
Los clientes suelen centrarse en lo que debe hacer el sistema. Podemos brindarles un mejor servicio si
estamos familiarizados con las tecnologías en evolución que mejoran la forma en que se diseña el
sistema necesario. Esto sugiere que los RA se beneficiarán de que los diseñadores de sistemas revisen
sus productos de trabajo. Simultáneamente con la elaboración de requisitos, involucre a un pequeño
equipo de diseñadores para revisar los requisitos reales en cuanto a costos, cronograma, tecnología e
impactos de riesgo. Utilice estudios comerciales (el proceso de resolución de análisis de decisiones
(DAR) en la terminología CMMI ) para desarrollar alternativas. Mantenga al cliente involucrado en
estas actividades, de modo que cuando surjan oportunidades, el cliente esté allí para colaborar con
usted y hacer recomendaciones para tomar decisiones. Una excelente referencia que describe el
proceso de utilización de nuevas tecnologías es Diffusion of Innovations de Everett M. Rogers (4ª ed.)
[5].
2. Por “adaptación” nos referimos a modificar, extraer piezas, elaborar o adaptar un proceso o documento para otro
uso. La reutilización de artefactos personalizados ahorra tiempo y dinero y es una ventaja de un enfoque orientado
a procesos.
Machine Translated by Google
20 Las funciones de la RA
reutilizar porque creen que excluye soluciones sin precedentes e incorpora los errores
de los productos de trabajo reutilizados.
Podemos considerar los requisitos en sí mismos como artefactos reutilizables. Los
libros que analizan patrones de requisitos reutilizables incluyen Patrones de modelo de
datos: convenciones de pensamiento [6] (para un punto de vista relacional) de David C.
Hay, Patrones de análisis (para un punto de vista orientado a objetos) de Martin Fowler
[7] y Patrones de diseño de Eric Gamma, et al. [8]. Los marcos de problemas de Michael
Jackson (descritos en su libro del mismo nombre [9]) son en esencia patrones de
requisitos altamente abstractos que pueden conectarse, anidarse e integrarse en
modelos del mundo real. La cuestión es que muchos requisitos no son únicos; ya han
sido identificados en el entorno y el espacio problemático de otra persona.
En mis actividades de escritura he descubierto que comenzar con un producto de
trabajo de ejemplo me da ideas sobre el formato, la estructura, el contenido y los
recursos para consultar o contactar. Un ejemplo de producto de trabajo que quizás
desee considerar es un plan de requisitos. Como se enfatizó en el Capítulo 1, propongo
el desarrollo de un plan de requisitos para cualquier esfuerzo de desarrollo de sistema o software.
Esta idea puede ser nueva para usted y sería muy útil e instructivo revisar una
desarrollada anteriormente para considerar su valor potencial para su trabajo. Otro
ejemplo de mi experiencia es la reutilización de procesos documentados. Si la
organización u otro proyecto tiene un proceso documentado para hacer algo, ¿por qué
no adaptarlo según sea necesario y luego reutilizarlo, en lugar de crear su propio
proceso? Otros que han realizado el proceso en la práctica han incorporado su
experiencia y las lecciones que han aprendido al utilizarlo. Relacionado con esto está
el valor de las revisiones por pares. Abogo por una revisión por pares de cada producto
de trabajo. (El alcance de la revisión por pares (el número de personas solicitadas para
revisar el producto de trabajo y el tiempo invertido para realizar la revisión por pares e
informar sobre defectos y hacer sugerencias) es una función de la importancia del
producto de trabajo.) Si uno puede reutilizar el proceso de revisión por pares y las listas
de verificación de otra organización, lo que proporciona un punto de partida para
diseñar, aceptar, implementar, implementar e institucionalizar el proceso.
Un ejemplo de reutilización de
procesos Al enseñar cursos y tutoriales sobre requisitos, siempre me interesa saber
cuántos de los participantes están utilizando un proceso de requisitos documentado en
su proyecto o en su organización. Normalmente, esto resulta ser entre el 15% y el 20%
de los participantes. En Prácticas efectivas de requisitos [1, págs. 110118] se
proporciona un proceso de requisitos de muestra . Este proceso se ha adaptado,
implementado e implementado en más de 50 proyectos. Su integración con el proceso
de arquitectura del sistema se describe más adelante en el libro [1, págs. 136146].
Funciones sugeridas de la AR 21
5. Ayudar al proyecto y a sus clientes a visualizar una ruta de crecimiento desde el primer lanzamiento o
versión de un producto a través de un conjunto de lanzamientos por etapas hasta el sistema o producto
definitivo.
Esta función está relacionada con la función 3. La RA puede desempeñar una función importante y valiosa al
ayudar a los clientes a visualizar y desarrollar una serie de lanzamientos o versiones de productos. Este
enfoque es particularmente apropiado en la situación en la que los requisitos no se comprenden bien desde
el principio o los requisitos están cambiando rápidamente. Esto sugiere que se debe utilizar un “enfoque de
desarrollo incremental”, en el que el sistema completo se implemente durante un período de tiempo mediante
incrementos de la funcionalidad entregada. En cierto sentido, ningún sistema está terminado, por lo que
tenemos que ayudar a todos a ver el desarrollo del sistema como un viaje. Independientemente de la
metodología de desarrollo del sistema utilizada (en cascada, incremental, en espiral, evolutiva, etc.), tiene
que haber un proceso acordado para gestionar los cambios y determinar el alcance de los proyectos
individuales. No importa cuánta discusión y pruebas se realicen, faltan algunos requisitos que no se
descubrirán hasta que el sistema esté en producción.
6. Asesorar al proyecto (y al cliente) sobre los métodos, técnicas y herramientas automatizadas que están
disponibles para respaldar mejor el trabajo y las actividades del proyecto relacionados con los requisitos.
Éste es un papel importante. La experiencia ha demostrado que los métodos y técnicas varían en su
aplicabilidad y eficacia y que a menudo las herramientas automatizadas adquiridas por proyectos y
organizaciones no se utilizan o están subutilizadas. El Capítulo 11 de Prácticas efectivas de requisitos [1]
informa sobre la experiencia de la industria y proporciona varias recomendaciones. El Capítulo 8 de Prácticas
efectivas de requisitos [1] recomienda que los métodos y técnicas que se utilizan en un proyecto sean
familiares para los participantes del proyecto y estén probados en sus respectivas industrias. No es
aconsejable emprender un proyecto con métodos y técnicas no probados y desconocidos. El trabajo de
desarrollo es lo suficientemente desafiante sin introducir la complejidad de métodos o técnicas que no son
familiares y que no se han utilizado con éxito en proyectos anteriores de la organización. A nivel de proyecto,
el equipo debe apegarse a las herramientas, procesos y técnicas con las que sus miembros están
familiarizados. A nivel organizacional, el proyecto debe intentar utilizar las herramientas, procesos y técnicas
que son conocidos y probados en la organización.
Cuando los contratistas participan en un esfuerzo existente, deben adaptarse a las herramientas que el
cliente ya tiene implementadas (suponiendo que estén trabajando de manera efectiva). Si los últimos cinco
proyectos se realizaron con la herramienta X y todos están satisfechos con la utilidad de la herramienta,
cuando llegue, habrá buenas razones para usarla. Tenga en cuenta que puede estar involucrado un problema
de recursos. Idealmente, un RA sería un recurso aprovechado, que pasaría de un proyecto a otro y llevaría
consigo su experiencia. Sin embargo, a menudo en la práctica, se crea un equipo de proyecto (o ya existe) y
alguien del equipo actual con conocimiento del dominio tiene la tarea de ser el RA. Si bien existen técnicas y
herramientas probadas y verdaderas, es posible que esta persona no esté familiarizada con ellas, lo que
requiere una curva de aprendizaje larga y a veces dolorosa, con desventajas significativas para el
Machine Translated by Google
22 Las funciones de la RA
proyecto. Esto aboga por que la organización proporcione un conjunto de AR experimentados que
proporcionen un alto retorno de la inversión realizada para identificarlos, capacitarlos y brindarles
experiencia.
También recomiendo desafiar las instrucciones del cliente para utilizar métodos o técnicas
específicas que no sean familiares para el equipo del proyecto o que no hayan sido probadas
previamente en la práctica. Por ejemplo, un cliente podría indicar que se emplee un enfoque de
desarrollo orientado a objetos (OO) (consulte [10] para obtener pautas detalladas sobre este tema)
o que se utilice una herramienta automatizada o un conjunto de herramientas en particular. Es
valioso estar en condiciones de poder asesorar a su proyecto y a su cliente sobre los métodos,
técnicas y herramientas automatizadas que mejor respaldarán la situación de desarrollo específica.
Aproveche la experiencia de la industria y no pretenda que “todo saldrá bien”.
7. Utilice métricas para medir, rastrear y controlar las actividades de trabajo del proyecto relacionadas con los requisitos.
actividades y resultados.
La literatura de la industria sobre métricas es amplia. Calculo que quizás el 20% proporciona
consejos útiles. Es fácil caer en una situación de realizar actividades de medición por sí mismas,
en lugar de ayudar a evaluar el trabajo del proyecto y tomar acciones correctivas. Recomiendo
utilizar algunas métricas útiles. He desarrollado el siguiente axioma en mi trabajo durante el
años:
Las cosas que se miden y rastrean y a las que la gerencia presta atención son
las que mejoran.
Esto sugiere que no es suficiente tener algunas métricas útiles: se debe realizar un seguimiento
de ellas y la dirección debe utilizarlas para guiar las decisiones del proyecto.
Existe un conjunto de medidas o métricas que todos los proyectos deben utilizar.
Consulte Prácticas efectivas de requisitos [1, págs. 255–261] para obtener sugerencias específicas.
Existe otro nivel de sofisticación que deberían utilizar los proyectos y organizaciones maduros.
Tal como se utiliza aquí, “maduro” significa que los procesos han sido definidos, documentados,
implementados, utilizados, institucionalizados y mejorados continuamente durante un período de al
menos dos a cuatro años. Esto implica la gestión cuantitativa (QM) de costos, cronograma, calidad
y métricas y líneas de base de procesos en apoyo de objetivos comerciales específicos. Es
gratificante ver cómo los proyectos y las organizaciones pasan de una situación en la que la calidad
de la calidad no se comprende bien a una en la que la calidad de la calidad se utiliza eficazmente
para lograr los objetivos empresariales. Esto resulta especialmente satisfactorio para los ingenieros
de procesos, porque los ejecutivos pueden ver de primera mano el valor de la mejora de procesos
para satisfacer las necesidades del negocio.
Este papel enfatiza las “habilidades interpersonales” de la RA. Hemos aprendido que estar bien
cualificado técnicamente es importante, pero que también es necesario tener habilidades fuertes,
Machine Translated by Google
Resumen 23
Habilidades interpersonales bien refinadas. La experiencia ha demostrado que dos cabezas piensan mejor
más de uno, cada vez que nos tomamos el tiempo para explorar ideas y enfoques con
otros, ¡obtenemos ideas y enfoques aún mejores! Ergo, podemos dejar el
punto de vista de que "sabemos más". Y podemos hacer un gran uso de este principio
convirtiéndonos en buenos facilitadores y mediadores. Hay cursos disponibles para ayudar (por
ejemplo, habilidades de negociación, formación de equipos, comunicaciones,
relaciones y liderazgo). Se puede ganar mucho practicando estas habilidades en
nuestro trabajo diario. Tener una perspectiva en la que todos salgan ganando es útil; de hecho, Barry
Boehm et al. hemos desarrollado un desarrollo de requisitos beneficioso para todos
enfoque en el trabajo realizado en la Universidad del Sur de California. Ver
http://sunset.usc.edu/research/WINWIN/winwin_main.html.
Ser capaz de captar, abstraer y expresar ideas rápidamente en el idioma de los usuarios. Si
la RA no comprende el dominio del usuario casi tan bien como los usuarios,
corre el riesgo de limitar su papel al de un tomador de órdenes. he visto diferentes
van y vienen grupos cuya especialidad era la comunicación, la creación de consenso, etc. Poblar
esos grupos era un conjunto de personas que estaban
facilitadores capacitados, pero que no eran técnicamente competentes. Se movieron
de proyecto en proyecto con tanta frecuencia que nunca lograron ningún logro profundo.
comprensión del dominio. Por ejemplo, ¿qué pasa si, en un proyecto de comunicaciones de red, la
única manera en que un RA puede explicar cualquier concepto a los usuarios es mediante
¿Dando analogías con la construcción de aviones militares? Respuesta: eficacia y credibilidad
reducidas.
Resumen
La AR desempeña varias funciones importantes en un proyecto y en una organización. En este
capítulo se identificaron y describieron nueve roles importantes. El
Los dos primeros son primordiales y esenciales para el éxito del proyecto. En consecuencia, estudiar
estos, dominarlos y ayudar a su proyecto y organización a
adoptar, implementar e institucionalizar prácticas relacionadas. Las organizaciones deberían
considerar tomar medidas específicas para desarrollar y aprovechar sus AR,
tales como (1) garantizar que se asignen AR experimentados a cada proyecto; (2)
proporcionar formación adecuada a los RA; (3) asignar AR experimentados a
asesorar a nuevos empleados, RA junior y pasantes; y (4) tener un grupo de trabajo sobre requisitos
organizacionales para compartir experiencia y proporcionar una
recurso a la organización. El RA debe ser una persona capacitada, experimentada y
intérprete fuerte. Lamentablemente, he visto muchos casos en los que el nuevo
Se envía al empleado o al pasante de verano "para cumplir con los requisitos". El
El papel de la AR debe ser comprendido y valorado en la mente de los PM y
la comunidad técnica. En este punto, es posible que se sienta abrumado
sus responsabilidades, como sugiere la Figura 2.1. Tenga la seguridad de que con estudio y
experiencia, usted brindará una contribución muy positiva a los esfuerzos que
¡tu apoyo!
Machine Translated by Google
24 Las funciones de la RA
Caso de estudio
Esta es la historia de un proyecto que fracasó porque ni el cliente ni el contratista
supieron cómo gestionar los requisitos. Es un ejemplo negativo.
Aunque las personas involucradas eran profesionales y tenían buenas intenciones,
las cosas salieron terriblemente mal porque no se aplicaron prácticas de requisitos
efectivas.
El enfoque del proyecto se utiliza con una frecuencia alarmante y se puede
caracterizar como "comience a programar y descubriremos lo que quieren a medida
que avanzamos". El cliente, una organización militar, le entregó al contratista un
montón de reglas y regulaciones ("regs") diciendo: "Estos son los requisitos". Los
programadores, todos empleados in situ de un contratista, estaban listos para
empezar, y lo hicieron. Los representantes de la organización militar conocían el
proyecto, pero no participaron en él hasta que llegó el momento de revisar el código
terminado.
Mientras se escribía el código, el contratista se comprometió a convertir las
normas en un conjunto de declaraciones obligatorias. Esto se hizo fiel y
minuciosamente, pero a medida que surgió el código, se descubrió que la verificación
de las declaraciones debe (compararlas con partes de los diferentes módulos de
código) era prácticamente imposible. Simplemente no hicieron mapas.
Otra complicación encontrada fue una completa interrupción de la comunicación
entre el contratista y el subcontratista que elaboraba el código. No es que no se
entendieran; simplemente no se comunicaron. El subcontratista consideró cualquier
consulta como una interferencia y, en una atmósfera de hostilidad, la comunicación
simplemente se cortó.
Cuando el cliente revisó el código, se escuchó a los representantes militares
decir una y otra vez: “No, eso es lo que hacemos, pero eso es lo que hacemos”.
Machine Translated by Google
Caso de estudio 25
no cómo lo hacemos”. Y cuando el contratista probó los módulos, fallaron repetidamente. Las
cosas correctas se habían escrito de manera incorrecta y no funcionaron.
Después de meses de lucha, el primero de unos 20 módulos estaba casi listo para su
lanzamiento. Todavía estaba un poco inestable y mucha gente no estaba contenta con él, pero
estaba cerca de ser aceptado desde la perspectiva del contratista. Sin embargo, el cliente se dio
por vencido porque las relaciones entre las dos partes se habían roto durante el período de
desarrollo del código. No sólo el proceso estaba roto, sino que también la plataforma y el sistema
operativo estaban obsoletos e inadecuados. Se abandonaron tres millones de líneas de código,
se desechó el hardware y se empezó de nuevo todo el proyecto.
No hubo comunicación.
El proyecto se inició de nuevo, en otra plataforma, en otro idioma y con una combinación
diferente de subcontratistas. Se utilizó un conjunto mejorado de prácticas de requisitos, que
incluían lo siguiente:
Referencias
[1] Young, RR, Prácticas de requisitos eficaces, Boston, MA: AddisonWesley, 2001.
[2] Leffingwell, D. y D. Widrig, Gestión de requisitos de software: un enfoque unificado, Reading, MA:
AddisonWesley, 2000.
[3] Hay, DC, Análisis de requisitos: de la visión empresarial a la arquitectura, Upper Saddle River, Nueva
Jersey: Prentice Hall, 2003.
Machine Translated by Google
26 Las funciones de la RA
[4] Hooks, I., “Redacción de buenos requisitos: un tutorial de un día”, patrocinado por el capítulo del Área
Metropolitana de Washington (WMA) del Consejo Internacional de Ingeniería de Sistemas (INCOSE),
McLean, VA, Compliance Automation, Inc. ,
Junio de 1997.
[5] Rogers, EM, Difusión de innovaciones, 4ª ed., Nueva York: The Free Press, 1995.
[6] Hay, DC, Patrones de modelos de datos: convenciones de pensamiento, Nueva York: Dorset House,
1996.
[7] Fowler, M., Patrones de análisis: modelos de objetos reutilizables, Reading, MA: Addison
Wesley, 1996.
[8] Gamma, E., et al., Patrones de diseño, Reading, MA: AddisonWesley, 1995.
[9] Jackson, M., Marcos de problemas: análisis y estructuración del desarrollo de software
Problemas, Londres, Reino Unido: AddisonWesley, 2001.
[10] Webster, BF, Errores del desarrollo orientado a objetos, Nueva York: Hungry Minds,
Inc., 1995.
Machine Translated by Google
CAPÍTULO
3
Contenido
Habilidades y características de un
RA efectiva
Habilidades de la RA
Características de un eficaz
Habilidades de la RA
Como marco para este capítulo, consulte la Tabla 3.1, Matriz de habilidades de RA.1
Se proporciona una lista de habilidades de RA. Tres niveles de RA son
mostrado:
27
Machine Translated by Google
Entrada/
Júnior
Línea Nivel Nivel medio Nivel superior
Matriz de habilidades de Number RA Referencia Analista Analista Analista
1 Tipos de requisitos Cap. 4 k X X
dieciséis
Verificación de requisitos y Cap. 5 k X X
validación (V&V)
17 Nivel de sistema/subsistema/software Cap. 5 k X X
requisitos
18 Desarrollar y utilizar métricas para Cap. 2 k X X
requisitos actividades/procesos
19 Redacción técnica de requisitos. Cap. 4 k X X
entregables (RTM, SRS, IRS)
20 Desarrollo, implementación y Cap. 5 k X
uso de procesos de requisitos
21 Tutorial de familiaridad con Microsoft Project k X
Habilidades de la RA 29
Entrada/
Júnior
Línea Nivel Nivel medio Nivel superior
Matriz de habilidades de Number RA Referencia Analista Analista Analista
Referencias:
REH = Young, RR, Manual de ingeniería de requisitos, Norwood, MA: Artech House, 2004.
WBR = Alexander, IF y R. Stevens, Redactando mejores requisitos, Boston: AddisonWesley, 2002.
SL = Lauesen, S. Requisitos de software: estilos y técnicas, págs. 346–347.
EG1 = Gottesdiener, E., Requisitos por colaboración: talleres para definir necesidades, Reading, MA: AddisonWesley, 2002,
págs. 122128.
EG2 = Gottesdiener, E., Requisitos por colaboración: talleres para definir necesidades, Reading, MA: AddisonWesley, 2002,
págs. 89–94.
Gilb: Consulte el material en www.resultplanning.com.
En esta tabla se utiliza una “K” para sugerir que se necesita conocimiento de la habilidad.
en un nivel particular de experiencia del analista. Una “X” sugiere que la experiencia en
usar la habilidad es necesario en un nivel particular. Se proporciona un mapeo para
Machine Translated by Google
secciones de este libro o de otras fuentes donde se aborda cada habilidad. Addi
Un analista junior o principiante (aquellos con menos de dos años de experiencia) debe estar
familiarizado con lo siguiente:
Herramientas de automatización de oficina [por ejemplo, Microsoft (MS) Office o Corel WordPer
suite perfecta];
Ella debe entender que se debe proporcionar una justificación para cada
Requisito (por qué el requisito es necesario en el sistema o software).
Un analista de nivel medio (aquellos con dos a cuatro años de experiencia) debería
tener conocimiento de más aspectos y actividades de la ingeniería de requisitos, junto con experiencia
adicional en la aplicación de este conocimiento.
En lo alto de esta lista se encuentran las actividades de requisitos que involucran a clientes y usuarios.
(como el concepto de un equipo conjunto), utilizando un proceso de requisitos, y
familiaridad con una herramienta de requisitos sólida en la industria. El analista de nivel medio debe
ser competente en revisiones e inspecciones por pares y debe
asegurarse de que todos los productos de su propio trabajo sean revisados por pares. Ella debería
comprender el valor de la trazabilidad bidireccional de los requisitos y ser
aprender a desarrollar una matriz de trazabilidad de requisitos (RTM).
Un analista de nivel superior (aquellos con cinco o más años de experiencia realizando
actividades relacionadas con requisitos) debe tener conocimientos de
y experiencia en el uso de todas las habilidades de la matriz. Ella debería ser
familiarizado con todos los roles descritos en el capítulo anterior y
Habilidades y características interpersonales bien desarrolladas, como se describe más adelante en
Este capítulo. Debe comprender el valor y la importancia del control de calidad independiente y tener
un conocimiento profundo de las actividades de CM. Ella debería ser
capaz de recomendar y utilizar métricas de requisitos y poder aplicar métricas a los procesos de
requisitos. Debería poder impartir sesiones de capacitación para RA más jóvenes y para otros
miembros del equipo del proyecto. Ella
debe tener una buena familiaridad con la ingeniería de sistemas y la vida útil del sistema.
Machine Translated by Google
Habilidades de la RA 31
ciclo de vida y una comprensión de las numerosas actividades relacionadas con los
requisitos que deben realizarse a lo largo del ciclo de vida del sistema.
La figura 3.1 resume la progresión de la AR.
Otro documento importante es el puesto o descripción del trabajo del RA, que se
proporciona en la Tabla 3.2.2.
Este es un resumen conciso y útil del papel de la AR. Describe el puesto, resume las
habilidades que se necesitan (aunque no con tanto detalle o precisión como la Figura
3.1), indica los conocimientos que se necesitan, sugiere varias responsabilidades, indica
algunas medidas de desempeño y proporciona tres referencias útiles sobre las cuales se
basa este trabajo. se basa el artefacto. Le sugiero que utilice este artefacto para aclarar
su función y desarrollar solicitudes de puesto para posibles RA. Adáptelo para reflejar
sus responsabilidades. Utilícelo en sus evaluaciones de desempeño para discutir
actividades de desarrollo profesional que mejorarán sus habilidades con su gerente.
•
Capaz de proporcionar capacitación relacionada con los requisitos a RA
más jóvenes y otros miembros del proyecto.
2. Agradecimiento a Karl Wiegers por permitirme participar en el desarrollo de versiones de este artefacto.
Machine Translated by Google
Descripción El RA o ingeniero es la persona que tiene la responsabilidad principal de obtener, analizar, validar, especificar,
verificar y gestionar las necesidades reales de las partes interesadas del proyecto, incluidos los
clientes y usuarios finales. El RA/ingeniero también se conoce como administrador de requisitos, analista de
negocios, analista de sistemas o, simplemente, analista.
La RA sirve como conducto entre la comunidad de clientes y el equipo de desarrollo de software
a través del cual fluyen los requisitos.
Una RA participa en algún nivel durante todo el ciclo de vida del desarrollo del sistema o software.
Una vez establecida la línea base de requisitos, la atención se desplaza hacia la gestión de la
especificación de requisitos y la verificación del cumplimiento de todos los requisitos.
Habilidades necesarias Habilidades de entrevista para hablar con individuos y grupos sobre sus necesidades y hacer las preguntas
correctas para obtener información sobre los requisitos esenciales.
Habilidades de escucha para comprender lo que dicen las personas y detectar lo que podrían dudar en decir.
Habilidades analíticas para evaluar críticamente la información recopilada de múltiples fuentes, conciliar
conflictos, descomponer información de alto nivel en detalles, abstraer información de bajo nivel para
una comprensión más general, distinguir las solicitudes presentadas de los usuarios de las
verdaderas necesidades subyacentes y distinguir ideas de solución. de los requisitos.
Habilidades de redacción para comunicar información de forma eficaz a los clientes, marketing, gerentes y
personal técnico.
Habilidades organizativas para trabajar con la amplia gama de información recopilada durante la obtención y
el análisis y para hacer frente a información que cambia rápidamente.
Habilidades interpersonales para ayudar a negociar prioridades y resolver conflictos entre las partes
interesadas del proyecto (como clientes, gestión de productos e ingeniería).
Habilidades de modelado para representar información de requisitos en formas gráficas que aumentan
las representaciones textuales en lenguaje natural, incluido el uso de lenguajes de modelado ya establecidos
en la organización de desarrollo.
Conocimiento necesario Comprensión de los requisitos contemporáneos, obtención, análisis y
prácticas de especificación, verificación y gestión y la capacidad de aplicarlas en la práctica.
Habilidades de la RA 33
Representar requisitos utilizando vistas alternativas, como modelos de análisis (diagramas), prototipos o escenarios,
cuando corresponda.
Liderar el análisis y la verificación de requisitos, asegurando que las declaraciones de requisitos sean completas,
consistentes, concisas, comprensibles, rastreables, factibles, inequívocas y verificables y que se ajusten a los
estándares.
Participar en la priorización de requisitos.
Participar en revisiones por pares e inspecciones de documentos de requisitos.
Participar en revisiones por pares de productos de trabajo derivados de especificaciones de
requisitos para garantizar que los requisitos se interpretaron correctamente.
Ingrese, manipule e informe sobre los requisitos almacenados en una herramienta de requisitos comerciales.
Defina los atributos de los requisitos y facilite su uso durante todo el proyecto.
Administre la información de trazabilidad de los requisitos y realice un seguimiento del estado de los
requisitos durante todo el proyecto.
Identifique errores y defectos de requisitos y redacte informes de notificación e identificación de
defectos de requisitos.
Gestione los cambios en los requisitos básicos mediante la aplicación eficaz de procesos y herramientas de
control de cambios.
Establecer e implementar prácticas de requisitos efectivas, incluido el uso y la mejora continua de un
proceso de requisitos.
Ayudar con el desarrollo de las políticas, procedimientos y herramientas de ingeniería de requisitos de la
organización.
Implementar formas de reutilizar los requisitos en todos los proyectos.
Identificar formas de ayudar a la gestión de productos en la planificación de productos mediante el
desarrollo y análisis de requisitos.
Proponer nuevas características y actualizaciones del producto.
Medidas de Evaluación de la gestión de productos y proyectos sobre la calidad general del producto y la eficacia en el
Actuación mercado de los requisitos una vez desarrollado el producto.
Comentarios de clientes clave o representantes de marketing sobre la forma en que se llevó a cabo el proceso
de ingeniería de requisitos.
Medidas de satisfacción del cliente.
Satisfacer o superar los cronogramas de desarrollo de requisitos, las limitaciones de recursos y los objetivos de
calidad.
Control del aumento de requisitos atribuible a requisitos incumplidos y filtración de requisitos “no oficiales” al
proyecto.
Machine Translated by Google
Referencias Ferdinandi, Patricia L., Un patrón de requisitos: tener éxito en la economía de Internet, Boston:
AddisonWesley, 2002, Capítulo 8.
Wiegers, Karl, "Los hábitos de los analistas eficaces", Desarrollo de software 8(10)
(Octubre de 2000): 62–65.
Young, RR, Prácticas de requisitos eficaces, Boston, MA: AddisonWesley, 2001, Capítulos 4 y 5.
Notas:
Cada equipo que utiliza esta descripción de trabajo necesita sopesar las diversas habilidades y conocimientos que son pertinentes para su trabajo. Ciertas habilidades
enumeradas pueden ser críticas para un trabajo de ingeniero de requisitos y no importantes para otro.
Cada persona que esté considerando contratar a una persona para que sea ingeniero de requisitos debe considerar cuáles de estas habilidades son intrínsecas a la
forma en que trabaja el individuo (por ejemplo, habilidades analíticas e interpersonales) y cuáles se pueden aprender (por ejemplo, habilidades de facilitación y
escucha).
Los usuarios de esta descripción genérica de trabajo necesitarán modificar parte de la terminología para reflejar sus entornos específicos (por ejemplo, desarrollo
de sistemas de información corporativos, desarrollo de productos comerciales, desarrollo de contratos).
Esta descripción del puesto debe adaptarse para que coincida con el nivel de experiencia del puesto.
Considere las siguientes características, que puede optar por seguir perfeccionando,
así como las sugerencias y recursos que se ofrecen para ayudarle.
[A] La falta de un conocimiento profundo de la [1] Participar en educación continua para adquirir conocimientos
ingeniería de requisitos, los expertos en ingeniería de requisitos y prácticas de requisitos.
procesos de requisitos y las
metodologías de errores de requisitos puede hacer [7] Iniciar el aprendizaje, la aplicación y el uso de prácticas efectivas; buscar
que la RA sea menos efectiva de lo necesario.
patrocinio del PM para actividades relacionadas con los requisitos; estar
comprometido con el éxito del proyecto.
[13] Mantener un buen conocimiento de la tecnología en evolución y
cómo se puede aplicar para satisfacer las necesidades de los clientes.
[B] El producto final no satisface las necesidades [2] Sea un buen oyente, comunicador y escritor. Documente cuidadosamente
del cliente. Hay diferentes ideas y opiniones las decisiones y los elementos de acción.
sobre cuáles son los requisitos reales. [3] Tener buenas habilidades de facilitación y negociación.
[4] Sed persistentes y perseverantes.
[5] Sea proactivo a la hora de involucrar a clientes y usuarios,
compañeros de trabajo y gestión de proyectos.
[15] Deseo de marcar la diferencia en su labor profesional.
[C] La gerencia no siempre comprende lo [6] Desarrollar la capacidad de comunicarse eficazmente con la dirección.
que se está construyendo y qué recursos se
necesitan para lograrlo.
[10] Desarrollar la capacidad de estimar el tiempo y otros recursos
el producto final. necesarios para realizar el trabajo técnico.
[D] El proceso de requisitos no respalda las [8] Desarrollar y mantener una actitud de mejora continua.
necesidades del proyecto.
[14] Establezca metas alcanzables y cúmplalas. definir y describir
métodos para lograr los objetivos del proyecto en un plan de
requisitos.
[16] Desarrollar su capacidad para contribuir al proceso de riesgo del
proyecto.
[E] Las personalidades y opiniones fuertes [2] Sea un buen oyente, comunicador y escritor. Documente cuidadosamente
pueden descarrilar la eficacia de un buen desarrollo las decisiones y los elementos de acción.
y gestión de requisitos. [9] Asumir la responsabilidad de sus puntos de vista, actitudes,
relaciones y acciones, y mantener el respeto por los demás.
[F] Las personas a menudo intentan hacer más [11] Manténgase enfocado en mantener lo principal como lo principal.
de lo necesario y realizar cambios ad hoc durante Instalar un mecanismo para controlar nuevos requisitos y cambios. No
el desarrollo del producto de trabajo. invente requisitos de forma independiente y evite el baño de oro. Evite el
aumento de requisitos.
[G] El personal del proyecto puede dedicarse [12] Desarrollar la capacidad de pensar fuera de lo común para proporcionar
demasiado a la solución del producto de trabajo enfoques creativos que quizás no se les ocurran a las personas cercanas al
para analizar y descomponer los requisitos de problema y al sistema heredado.
manera efectiva.
1. Participar en Leer literatura sobre ingeniería de requisitos, asistir a reuniones y conferencias profesionales, visitar
la educación continua. sitios web, ocupar cargos en asociaciones profesionales.
2. Buen oyente, Asistir a seminarios sobre habilidades para escuchar, comunicarse y escribir; Practica hacer
comunicador y escritor. presentaciones y escribir.
3. Buena facilitación Practique facilitando reuniones, coordinando talleres y gestionando sesiones de diseño de
y habilidades de negociación. procesos.
4. Persistente y Practique la evolución de los requisitos reales a partir de los requisitos establecidos.
perseverante.
5. Proactivo en Al realizar las tareas diarias, piense deliberadamente en (1) sugerencias para mejorar las cosas y
involucrar a otros. (2) lugares y enfoques apropiados para hacerlo. Práctica. Solicite comentarios y actúe en
consecuencia.
6. Capacidad Practique analizando sus responsabilidades desde la perspectiva de su gerente y la alta
de comunicarse dirección. Escriba su perspectiva y la perspectiva de la gerencia. Trabaje para comprender
efectivamente con la las diferencias y modifique sus comunicaciones en consecuencia.
gerencia.
7. Aprender, aplicar y Seleccione una práctica que crea que mejorará una situación laboral. Reúna apoyo para probarlo
utilizar prácticas efectivas. (“ponerlo a prueba”). Considere los pasos que usted y el proyecto u organización pueden tomar para
darle al piloto la mayor probabilidad de éxito.
Implementar la práctica. Realice un seguimiento para asegurarse de que sea necesario. Evaluar el
valor de implementar la práctica después de un mes.
8. Desarrollar y Practique el ciclo PlanificarHacerVerificarActuar (PDCA) al finalizar las reuniones.
mantener una actitud de Documente las sugerencias que se ofrecen. Dar seguimiento a las sugerencias en la
continua medida de lo factible y posible. Si esto funciona, explore otras oportunidades para inculcar una actitud
mejora. de mejora continua, como documentar los procesos y mejorarlos.
9. Asuma la responsabilidad Dar a conocer a tus compañeros de trabajo algún error que hayas cometido, con el ánimo
de sus puntos de de contribuir a hacer las cosas mejor. Transmita que sus intenciones eran buenas y que se ha
vista, actitudes, relaciones y esforzado por aprender del error. Además, trabaje para reconocer el valor aportado por todos los
acciones. compañeros de trabajo.
10. Desarrollar la capacidad Calcule el tiempo que cree que necesitará para realizar las tareas laborales que se le asignen.
de estimar el trabajo. Realice un seguimiento del tiempo real consumido y observe las distracciones.
requisitos. Considere los cambios que podría realizar en sus hábitos de trabajo para ser más
productivo. Con el tiempo, trate de que las estimaciones se acerquen más a los reales.
11. Mantenga la concentración. Adopte el concepto de requisitos reales. Comprenda en qué se diferencian de los requisitos
establecidos. Sugiera priorizar los requisitos de su proyecto y desarrolle un enfoque para priorizar
de forma colaborativa un conjunto de requisitos. Evaluar el impacto de este enfoque.
12. Fortalece tu capacidad Reunirse con las partes interesadas para considerar posibles soluciones a problemas
de pensar fuera de lo común. desconcertantes que no se habían considerado previamente. Utilice la técnica de lluvia de ideas para
obtener tres ideas de cada participante. Voto múltiple sobre las ideas sugeridas. Considere el valor
potencial de perseguir seriamente una o más ideas.
13. Fortalece tu Programe una bolsa marrón para considerar las posibilidades tecnológicas. Invite a un arquitecto de
conocimiento de la tecnología sistemas y a otros “tecnólogos”. Discuta posibles formas de lograr algunos objetivos del sistema
disponible. mediante la incorporación de nuevas tecnologías.
14. Establezca metas Planifica tu trabajo para el próximo mes. Establezca algunos objetivos específicos para algunas
alcanzables y cúmplalas. cosas que crea que son realmente importantes de lograr. Tenga estos objetivos específicos en
mente durante el próximo mes. Gestionar los objetivos específicos (es decir, asegurarse de
lograrlos).
15. Esfuércese por marcar Explore con su gerente cómo las tareas de las cuales es responsable en el trabajo podrían marcar
la diferencia en sus una diferencia para el proyecto u organización. Identifique algunos logros específicos y luego
situaciones laborales. persigalos con seriedad. Solicite el apoyo de sus compañeros de trabajo y de su superior
para lograrlos.
Machine Translated by Google
Cuadro 3.4 Características de una AR eficaz y actividades sugeridas para fortalecerlas (continuación)
entre individuos con puntos de vista divergentes. Hay talleres a los que puede asistir
para aprender y perfeccionar estas habilidades. Como se señaló anteriormente,
existen recursos profesionales disponibles para fortalecer las habilidades de
facilitación. Consulte el sitio web de la Asociación Internacional de Facilitadores de
ideas [10].
4. Sea persistente y perseverante. Dado que los clientes y usuarios nos brindan sus
requisitos declarados, es vital que los RA sean persistentes y perseverantes para
que los requisitos reales evolucionen. No basta con depender de poder ofrecer la
excusa de que "construimos el sistema que usted solicitó". Si los requisitos indicados
no son aceptables, no espere hasta que haya completado el sistema y los usuarios
lo rechacen. Reduzca los riesgos de su proyecto mejorando los requisitos lo antes
posible. Los riesgos incluyen desperdiciar trabajo técnico y, por supuesto, que el
sistema sea rechazado (con todos los riesgos legales y comerciales que ello
conlleva). Identificar los requisitos reales es lo más importante que la AR puede
hacer para contribuir al máximo a
clientes.
10. Desarrollar la capacidad de estimar el tiempo y otros recursos necesarios para realizar
el trabajo técnico. Una de las dificultades al hacer estimaciones del trabajo técnico
es que estas estimaciones se necesitan temprano para desarrollar proyecciones del
número de personal necesario para completar el proyecto. (Para elaborar una
estimación del costo del proyecto se requiere la cantidad de personal, su antigüedad
y sus funciones.) La dificultad se ve agravada por el hecho de que aún no se conocen
las necesidades reales. Por eso, a menudo nos encontramos haciendo estimaciones
sin una base precisa para ellas. Esto puede generar mucho trabajo que es
3. Consulte “¿Por qué no practican lo que predicamos” de Watts Humphrey para obtener ideas sobre este problema y
sugerencias sobre cómo abordarlo? Consulte www.sei.cmu.edu/publications/articles/practicepreach/practice
preach.html.
Machine Translated by Google
Resumen
Las habilidades sugeridas para el RA se enumeran y clasifican en la matriz de
habilidades de un RA (Tabla 3.1) según las que necesita un analista de nivel junior,
medio o senior. Esta matriz le ayudará a evaluar su idoneidad para un puesto
específico en el proyecto. Puede utilizarlo como guía para fortalecer y mejorar aún
más sus habilidades o como referencia a fuentes de información sobre cada habilidad.
La Tabla 3.2 proporciona una descripción del puesto o puesto de RA que debería
ayudarle a aclarar las muchas maneras en que se puede aprovechar el papel de la
RA para beneficiar tanto a su proyecto como a su organización. Hacer explícito el
papel de la AR ayuda a que un proyecto se ejecute sin problemas. El papel de la AR
debe ser comprendido y valorado en la mente de los PM y de la comunidad técnica.
nity: ¡esta descripción del trabajo debería ayudar! Se presentaron y describieron
dieciséis características de una AR eficaz. Se proporcionan sugerencias sobre cómo
fortalecer estas características. Considérelos en el contexto de su propio desarrollo
personal y profesional, así como de sus asignaciones y responsabilidades actuales, y
seleccione una o algunas características para fortalecer cada año. Sí, ser un RA
eficaz implica aprender muchos
Machine Translated by Google
Caso de estudio 43
habilidades y tener muchas características personales deseadas. Este capítulo, junto con una
reflexiva introspección, debería proporcionar una hoja de ruta útil.
Caso de estudio
Se invitó a un consultor de ingeniería de requisitos para ayudar a un particular
ubicación de una gran organización del gobierno de EE. UU. Alta dirección en
ese lugar indicó, “se habían desperdiciado millones de dólares” en repetidas
esfuerzos para desarrollar sistemas y soluciones de software internamente. El consultor
se reunió con la alta dirección, gerentes, usuarios y desarrolladores para reunir
obtener información y comprender la situación. Siguiente análisis
y el desarrollo de un curso de requisitos personalizado, presentó
Capacitación para todas las partes interesadas que abordó los problemas existentes en la
organización desde la perspectiva de la experiencia relevante de la industria. En la superficie,
Parecía haber un deseo sincero por parte de todos los interesados de mejorar
la situación, aunque existían muchos problemas. La capacitación abordó cómo
estos problemas podrían resolverse. Al finalizar la capacitación, el senior
El gerente concluyó que la situación no podía mejorarse. Mucho de
Otros participantes en la formación quedaron perplejos ante esta conclusión:
sintieron que habían comenzado de nuevo.
Análisis: El propio alto directivo fue la cuestión clave que impidió
la situación mejore. Aunque hubo problemas relacionados con todos
partes, la administración estaba dispuesta a permitir los intereses provincianos de los usuarios, un
proceso de desarrollo excesivamente burocrático y luchas de poder de algunos sectores clave.
partes interesadas paralizar los esfuerzos y hacer que la situación mejore.
imposible. En el marco del Dr. Deming, había “demasiadas cuentas rojas”.6
Los usuarios y la organización de desarrollo no tenían poder para mejorar la
Situación sin el apoyo y las expectativas de la dirección.
para mejores resultados. La dirección debe habilitar y empoderar a sus trabajadores (todos
el resto de nosotros) para que el trabajo sea productivo y eficaz. Los estudios de la industria
informan que la falta de apoyo adecuado de la alta dirección es
un factor en la mayoría de las fallas de TI. Esta viñeta tiene mucho que ofrecer a los altos
directivos. La experiencia de la industria es que la alta dirección debe patrocinar y apoyar las
iniciativas de desarrollo de TI y sistemas/software si se quiere que sean exitosas.
exitoso. Véase la discusión en el Capítulo 8 y un informe reciente de Harvard Business
Revise el artículo “Seis decisiones que su personal de TI no debería tomar” [13] para obtener
más información y sugerencias específicas. La RA puede ser útil aquí ofreciendo
estos conocimientos, sugerencias y experiencia en la industria a su equipo directivo y
ayudando a aclarar las funciones específicas que la alta dirección debe desempeñar.
6. Asegúrese de familiarizarse con las enseñanzas del Dr. Deming. Véase, por ejemplo, The Deming de Mary Walton.
Método de gestión (Nueva York: The Putnam Publishing Group, 1986). En el Capítulo 4, Walton explica cómo el Dr.
Deming utilizó “La parábola de las cuentas rojas” en sus seminarios para recalcar que los trabajadores de cualquier
La organización [la mayoría de nosotros] somos impotentes sin el apoyo de la dirección.
Machine Translated by Google
Referencias
[1] Young, RR, Prácticas de requisitos eficaces, Boston, MA: AddisonWesley, 2001.
[3] Wiegers, K., sitio web, en www.processimpact.com (para información relacionada con los requisitos).
“obsequios” y otra información útil).
[6] Grupo de especialistas en ingeniería de requisitos (en el Reino Unido), sitio web,
en www.resg.org.uk.
[9] Gottesdiener, E., Requisitos por colaboración: talleres para definir necesidades.
Lectura, MA: AddisonWesley, 2002.
[11] McKinney, D., “Seis traducciones entre el lenguaje del software y el lenguaje de la gestión”,
IEEE Software 19(6) (2002): 50–52. Consulte www.computer.org/software.
[12] Whitten, N., “Cumplir con los requisitos mínimos: cualquier cosa más es demasiado”, PM
Network (septiembre de 1998), p. 19.
CAPÍTULO
4
Contenido
Tipos de requisitos
Vistas de tipos de requisitos
Es importante que el RA o el ingeniero de requisitos establezca
Definiciones y descripciones de definiciones de los tipos de requisitos que utilizará de manera
Tipos de requisitos
consistente. Debería defender significados consistentes para estos
Terminologías a evitar tipos en su proyecto y en su organización. Se puede evitar mucha
Ejemplos de requisitos
confusión acordando un conjunto de definiciones y no utilizando ciertos
Tipos términos. En este capítulo, revisaremos varios tipos de requisitos y
sugeriremos definiciones para ellos. Sugeriremos por qué no se deben
Resumen
utilizar algunos términos y brindaremos otras pautas. Una razón
Caso de estudio
importante para llegar a un acuerdo sobre las definiciones de los tipos
Referencias de requisitos es evitar debates largos y acalorados sobre la terminología
mientras trabajamos juntos.
Establezca un glosario de proyectos con el que todos puedan vivir
(incluso si algunas definiciones no son las favoritas de todos) y utilícelo
en su trabajo. Considere el glosario proporcionado con este libro como
punto de partida y adáptelo según sea necesario.
Primero, recordemos nuestra definición simple y útil de requisito del
Capítulo 1. Un requisito es una declaración que identifica una capacidad,
característica o factor de calidad de un sistema para que tenga valor y
utilidad para un usuario. Un requisito está bien definido y es más
específico que una necesidad, que es una capacidad deseada por un
usuario o cliente para resolver un problema o lograr un objetivo. Los
autores del Modelo de Madurez de Capacidades de Ingeniería de
Sistemas (SECMM ) [1] fueron perspicaces cuando crearon el Área
de Proceso 06, “Comprender las necesidades y expectativas del cliente”.
El propósito de esta área de proceso es obtener, estimular, analizar y
comunicar las necesidades y expectativas de los clientes y usuarios y
traducirlas en un conjunto verificable de requisitos.
45
Machine Translated by Google
46 Tipos de requisitos
Requisitos de hardware:
Requisitos de desempeño
Restricciones:
Requisitos de interfaz
Requisitos de ingeniería especializada
Requisitos medioambientales
Requisitos de Software:
Requerimientos funcionales
Requerimientos no funcionales
Fuente: Jeffrey O. Grady. Usado con permiso.
1. La asesora y practicante de la industria Ellen Gottesdiener, presidenta de EBG Consulting, Inc., recomienda tres o
cuatro iteraciones del desarrollo de requisitos, cada una de las cuales incorpora una revisión formal o informal por parte
de clientes internos y externos. Su experiencia enfatiza el valor y la importancia de identificar los requisitos reales
antes de iniciar otros trabajos.
Machine Translated by Google
Requisitos del
proceso de prueba Requisitos de proceso
Requisitos
operativo y soporte
de producción
logístico:
Producción
requisitos Apoyo
del proceso Equipo
Herramientas
Restricciones de requisitos de
desempeño: Capacitación
Trámites
Interfaz
Instalaciones
Ambiental
Repuestos
Ingeniería de especialidad
La Figura 4.2 proporciona una taxonomía de requisitos totales. Grady describe su figura
de la siguiente manera:
Requisitos
funcionales
eeim
rlpcism D
d
e
alS
seWnO py
del proceso
Atributos
Requisitos
funcionales
rsatenlcceleeilD
aie
nódiacd n
d
c
Requisitos Requisitos
Requisitos
de ingeniería ambientales del
de interfaz
de especialidad producto
del producto
del producto Restricciones de diseño de produ
Parte I
Parte II
48 Tipos de requisitos
Otro enfoque es el Marco Zachman (ZF) [4, 5]. John Hay describe el ZF en su
libro Análisis de requisitos: desde las vistas empresariales hasta la arquitectura
[6]. Hay describe el trabajo del RA como un movimiento de las filas uno y dos a la
fila tres en el ZF, y el libro está dedicado a las técnicas analíticas utilizadas en
cada columna. Una revisión puede ayudar a aclarar y comprender los distintos
tipos de requisitos.
También son compatibles con ZF las categorías CMMI [7] de requisitos de
cliente, producto y componentes del producto. Tanto CMMI como ZF tratan el
análisis de requisitos como una progresión continua desde las necesidades y
expectativas del cliente hasta las especificaciones del sistema. Esta progresión
es útil para comprender qué hace una AR.
poner en peligro la finalización exitosa de las actividades laborales. Estas son sólo mis
propias opiniones y prejuicios basados en mi experiencia. Es posible que tengas
opiniones diferentes y ¡está bien!
La Tabla 4.2 proporciona la visión de una RA de muchos de los tipos de requisitos.
Puede ayudarle a obtener y aplicar una comprensión útil de los diferentes tipos de
requisitos.
Requisitos comerciales;
Requisitos de usuario;
Requisitos del producto;
Requisitos medioambientales;
Requisitos incognoscibles.
Se realizan comprobaciones para garantizar que el sistema haga lo que se supone que debe hacer, incorporando:
Requisitos verificados;
Requisitos validados;
Requisitos de calificación.
Machine Translated by Google
50 Tipos de requisitos
para los accionistas; Las organizaciones existen para satisfacer las necesidades de sus
miembros. Es vital que consideremos nuestro trabajo de desarrollo de software y sistemas
totalmente dentro del contexto de los objetivos comerciales y organizacionales.
Requisitos de usuario
Los usuarios son los individuos o grupos que utilizan un sistema o software en su entorno.
Los requisitos del usuario son sus necesidades verificadas para ese sistema o software.
Las reglas de negocio2 proporcionan la base para crear los requisitos funcionales.
Son los siguientes:
2. Esta discusión se resume a partir de materiales desarrollados por Ellen Gottesdiener, que incluyen “Captura de reglas
comerciales”, “El valor de la estandarización de las reglas comerciales” y “Conversión de reglas en requisitos”. Estos
materiales están disponibles en su sitio web, www.ebgconsulting.com.
Machine Translated by Google
La RA colabora con:
Figura 4.3 Documentación del proceso de reglas comerciales. (Adaptado de: Ellen
Gottesdiener.)
Machine Translated by Google
52 Tipos de requisitos
Requisitos derivados Un
requisito derivado es aquel que se refina aún más a partir de un requisito de nivel superior
o un requisito que resulta de la elección de una implementación o elemento del sistema
específico. En cierto sentido, todos los requisitos se derivan de la necesidad del sistema;
por tanto, la distinción derivada tiende a tener poca significación. Sin embargo, muchos
ingenieros de sistemas distinguen entre requisitos identificados externamente y requisitos
que se derivan bajo el control del ingeniero.
Si un sistema tiene que ser aprobado por un regulador externo (por ejemplo,
sistemas en aeronaves civiles), puede ser necesario utilizar un diseño certificado
estándar que haya sido probado en otros sistemas.
Machine Translated by Google
Designabilidad;
Eficiencia;
Machine Translated by Google
54 Tipos de requisitos
Ingeniería humana;
Modificabilidad;
Portabilidad;
Fiabilidad;
Comprobabilidad;
Comprensibilidad;
Capacidad;
Mantenibilidad;
Memoria;
limitaciones de tiempo;
Modificabilidad;
Usabilidad.
Requisitos incognoscibles La
experiencia ha demostrado que hay requisitos que son incognoscibles al comienzo
de un esfuerzo de desarrollo de sistemas. Algunos requisitos se vuelven evidentes
sólo a medida que el sistema evoluciona. Descubrimos que tenemos un requisito
que antes no podíamos imaginar.
Estos requisitos incognoscibles pueden ser requisitos reales, que deben
incluirse.
Terminologías a evitar 55
Requisitos medioambientales
Son requisitos que resultan del entorno físico y social y
condiciones culturales del esfuerzo de desarrollo del sistema y el entorno en
el cual se utilizará el sistema o software.
Terminologías a evitar
Requisitos de fuente o cliente
A veces se oye a la gente referirse a los requisitos de origen o a los requisitos del cliente.
requisitos. En cambio, prefiero especificar la fuente del requisito (es decir, de quién o
dónde se identificó el requisito real) como un atributo3 de un requisito real. Tener
identificada la fuente para
cada requerimiento real nos permite acudir a la persona o documento para dudas y
aclaraciones. Sugiero evitar el uso de los términos requisitos de origen o requisitos del
cliente.
3. Véase Prácticas efectivas de requisitos de Young [13, págs. 85–87] para una discusión de los atributos de un requisito y
una matriz de atributos de requisitos de muestra que se podría usar en una herramienta de requisitos como Dynamic
Sistema de requisitos orientado a objetos (DOORS). Ejemplos de atributos de cada requisito incluyen únicos
ID, fuente, propietario, justificación (por qué se necesita el requisito), prioridad, estado (aprobado, pendiente de aprobación,
rechazado, en reconsideración), costo, dificultad, estabilidad, asignado a, ubicación, autor, revisión, fecha, motivo,
rastreado desde, rastreado hasta, número de etiqueta raíz, historial, verificación, validación, lanzamiento, módulo y otros que
Dependerá de las necesidades específicas de su proyecto. Consulte también el paso 19 en el Capítulo 5.
Machine Translated by Google
56 Tipos de requisitos
Requisitos clave El
término requisitos clave se utiliza a veces para referirse a requisitos que son
importantes para comprender las capacidades o funciones esenciales de un sistema.4
Es apropiado analizar los requisitos en términos de su relación beneficiocosto, riesgo
o el tiempo y el esfuerzo estimados necesarios para abordarlos, de modo que podamos
tener discusiones informales dentro del equipo conjunto para negociar los requisitos
que se incluirán. Sin embargo, sugiero evitar el uso de este término porque no está
claro.
Otras pautas
4. El experto en la industria Ian Alexander advierte que es práctica del Ministerio de Defensa (MoD) del Reino Unido utilizar muy pocos
“requisitos clave”; podría haber cinco para un buque de guerra, por ejemplo. “Éstos se convierten en los objetivos más buscados por el
sistema: si todo lo demás falla, estos objetivos permanecen y los demás requisitos pueden evaluarse a su luz. Puede que no sea
adecuado para todos, pero contiene algo de la esencia de la priorización”.
Comunicación personal al autor, 18 de enero de 2003.
Machine Translated by Google
Resumen 57
desea un sistema de recursos humanos para identificar a los empleados con las habilidades y la capacitación
Resumen
De esta discusión se desprende que existen muchos tipos diferentes de requisitos. Es
útil aceptar utilizar unos pocos tipos seleccionados. Acuerde dentro de su equipo de
proyecto los tipos que serán más útiles. Utilice el glosario de su proyecto, que
proporciona terminología definida y acordada. Utilice palabras sencillas y comprensibles.
Escriba requisitos que cumplan con los criterios de un buen requisito (consulte el
Capítulo 1). Estudie las referencias proporcionadas para este capítulo si aún no está
familiarizado con ellas.
Caso de estudio
Teníamos un requisito conocido para el rendimiento del sitio web. Implicaba un conjunto
finito de escenarios de usuario que debían ser ejecutados por un número específico de
Machine Translated by Google
58 Tipos de requisitos
Requisitos de Software
Requerimiento funcional El sistema SATURN recuperará información de identificación básica de todos los
empleados que cumplan con los criterios especificados.
Requisito no funcional El sistema SATURN generará mensajes de error cuando una consulta no se ejecute
hasta su finalización o un sistema heredado no responda dentro del tiempo
asignado.
Requisito del proceso operativo El sistema SATURN tendrá la misma apariencia en cada ubicación de la empresa con la que los
usuarios del sistema en esa ubicación están familiarizados y, por lo tanto, no
requerirá capacitación.
Fuente: Terry Bartolomé. Usado con permiso.
Requisito funcional del proceso El sistema SATURN se desarrollará para proporcionar acceso en toda la
empresa a las habilidades de los empleados y a la información sobre
capacitación a todos los representantes de Recursos Humanos.
Requisito de interfaz de proceso La información sobre habilidades y capacitación de todas las ubicaciones de la empresa
estará disponible para todas las demás ubicaciones de la empresa.
Requisito de especialidad de proceso Para garantizar que se capture información completa sobre habilidades y capacitación
entre los sistemas heredados, se debe crear un modelo de datos.
Requisito ambiental del SATURN se desarrollará utilizando equipos de desarrollo conjunto
proceso de aplicaciones (JAD) compuestos por usuarios (representantes
de recursos humanos), desarrolladores y probadores de sistemas.
Requisito de desempeño del proceso El sistema SATURN estará listo para las pruebas de aceptación del sistema dentro de
los 180 días posteriores al inicio del proyecto.
Machine Translated by Google
Caso de estudio 59
Requisito funcional del producto El usuario de RR.HH. podrá recuperar las habilidades de los empleados y los
datos de capacitación según categorías predefinidas.
Requisito de interfaz del producto La apariencia del sistema SATURN será idéntica a la de cada sistema heredado
local.
Requisito de especialidad del producto El sistema SATURN utilizará tecnología de base de datos relacional.
Requisito ambiental del producto El sistema SATURN no requerirá que se instale capacidad adicional de
calefacción, ventilación y aire acondicionado (HVAC) en ningún lugar.
Requisito de rendimiento del producto El sistema SATURN funcionará con un 97% de confiabilidad, 24
horas al día, los 7 días de la semana.
Fuente: Terry Bartolomé. Usado con permiso.
Requisitos comerciales Los gerentes necesitan acceso a datos oportunos y precisos sobre el personal para
poder satisfacer las necesidades operativas.
Requisitos de usuario El usuario necesita la capacidad de buscar personal en toda la empresa según
conjuntos de habilidades predefinidos.
Requisitos del producto Los formatos de datos se traducirán a través de los límites del sistema heredado al
formato admitido por el sistema del usuario local.
Requisitos medioambientales No habrá ningún impacto operativo en ningún usuario aparte del impacto en la
recuperación de información causado por tener una mayor población de
empleados entre los cuales seleccionar.
Requisitos de alto nivel (o nivel de El sistema SATURN mantendrá referencias cruzadas para los tipos de
sistema) información contenidos en los sistemas heredados. Por ejemplo, el campo llamado
"nivel_educación" en un sistema es el mismo que "educación" en otro.
El sistema SATURN convertirá los datos de cada sistema heredado a los datos
esperados por el usuario local. Por ejemplo, un título de maestría en un sistema
podría reflejarse en otro sistema como “grado 17”.
Requerimientos funcionales El usuario local podrá buscar en todos los sistemas heredados en un área
geográfica local, regional o nacional predefinida personal que cumpla con un
conjunto de habilidades específico.
Requerimientos no funcionales El sistema SATURN hará uso de la red pública conmutada (PSN) y no requerirá
líneas de comunicación dedicadas.
Requisitos de desempeño El sistema SATURN admitirá hasta 20 usuarios simultáneos sin ninguna degradación
notable del servicio.
Requisitos de interfaz El sistema SATURN deberá presentar una apariencia consistente con el sistema
heredado de cada oficina local.
Fuente: Terry Bartolomé. Usado con permiso.
Machine Translated by Google
60 Tipos de requisitos
usuarios simultáneos. Nuestra máquina de prueba era mucho más pequeña de lo que
iba a ser nuestra máquina de producción y, de hecho, uno de nuestros requisitos era
determinar el tamaño y la configuración de la(s) máquina(s) que necesitábamos para
cumplir con el requisito de rendimiento. Resultó que no había una forma razonable de
extrapolar el rendimiento medido en nuestra caja de prueba al rendimiento esperado
en una variedad de posibles cajas de producción. Además, ni siquiera podíamos
comenzar a ejecutar los scripts de prueba en nuestra caja de prueba hasta que
prácticamente hubiéramos completado el desarrollo de todas las funciones. Ninguno
de estos hechos se conocía cuando nos comprometimos a fijar una fecha de entrega.
De hecho, teníamos un requisito derivado del que no nos dimos cuenta: en este
escenario, necesitábamos varios meses de estabilidad después del desarrollo de la
versión 1 y antes del lanzamiento de la versión 1 en los que podíamos probar, medir, adquirir una nue
Lección aprendida: los compromisos de cronograma no deben hacerse hasta que se
comprendan los requisitos.
Referencias
[1] Colaboración para la mejora de procesos de ingeniería (EPIC), un modelo de madurez de capacidad
de ingeniería de sistemas, versión 1.1. Pittsburgh, PA, Instituto de Ingeniería de Software,
Universidad CarnegieMellon, 1995, en www.sei.cmu.edu/pub/documents/95.reports/pdf/
mm003.95.pdf.
[2] Norma EIA 632, “Procesos para diseñar un sistema”, Arlington, VA, 1998.
[3] Estándar IEEE 12207, “Procesos del ciclo de vida del software”, Nueva York: IEEE, 1998.
[5] Inmon, WH, JA Zachman y JC Geiger, Almacenes de datos, almacenamiento de datos y el marco
Zachman: gestión del conocimiento empresarial, Nueva York: McGraw Hill, 1997.
[6] Hay, J., Análisis de requisitos: desde la visión empresarial hasta la arquitectura, Englewood
Cliffs, Nueva Jersey: Prentice Hall, 2002.
[8] Grady, JO, Análisis de requisitos de sistemas, Nueva York: McGrawHill, 1993.
[9] Grady, JO, Validación y verificación del sistema, Boca Raton, FL: CRC Press, 1997.
[10] Davis, AM, Requisitos de software: objetos, funciones y estados, Upper Saddle River,
Nueva Jersey: Prentice Hall, 1993.
[11] Whitten, N., “Cumplir con los requisitos mínimos: cualquier cosa más es demasiado”, PM Network
(septiembre de 1998), p. 19.
[12] The Standish Group International, Inc., CHAOS Chronicles 2003 Report, West Yarmouth, MA: The
Standish Group International, Inc., 2002, en www.standishgroup.com.
[13] Young, RR, Prácticas de requisitos eficaces, Boston, MA: AddisonWesley, 2001.
[14] Buede, DM, El diseño de ingeniería de sistemas: modelos y métodos, Nueva York:
John Wiley e hijos, 2000.
CAPÍTULO
5
Contenido
Requisitos de reunión
Planifique el enfoque
La necesidad de recopilar requisitos se inicia con una solicitud de un cliente interno o
Resumen externo. Las solicitudes pueden presentarse de muchas formas, incluida una solicitud
Caso de estudio de propuestas (RFP) [1], una SOW o una consulta formal o informal que describa una
capacidad que se necesita. La solicitud inicia un conjunto de actividades de recopilación
Referencias
de requisitos. Es vital que la RA tenga un conocimiento profundo de estas actividades
y adquiera experiencia en la realización de tareas relacionadas.
trabajo técnico como resultado de requisitos deficientes. Por ejemplo, en una gran
empresa de telecomunicaciones, se presupuestaron el 100% de los costos de
desarrollo planificados.
61
Machine Translated by Google
62 Requisitos de reunión
para la reelaboración del software desarrollado basándose en experiencias previas, los requisitos
establecidos no serían los que realmente se necesitaban.
Por lo tanto, la RA puede desempeñar un papel vital al garantizar que las actividades de recopilación
de requisitos se planifiquen y realicen bien (eficazmente). Él o ella puede hacer mucho para garantizar que
el tren (el proyecto) permanezca en las vías sugiriendo y recomendando prácticas, métodos, técnicas y
herramientas efectivas y ayudando al PM, los clientes, los usuarios y los miembros del proyecto. equipo. Su
función no se limita estrictamente a actividades relacionadas con los requisitos; más bien, el RA es un
asesor valioso para el PM y todos los demás miembros del equipo del proyecto. Tómese unos momentos
para revisar las nueve funciones de un RA (descritas en el Capítulo 2):
2. Trabajar eficazmente con clientes y usuarios para gestionar requisitos nuevos y modificados para
que el proyecto permanezca bajo control; instalar un mecanismo para controlar los cambios;
5. Ayudar al proyecto y a sus clientes a visualizar una ruta de crecimiento desde el primer lanzamiento
o versión de un producto a través de un conjunto de lanzamientos por etapas hasta el sistema
o producto final;
6. Asesorar al proyecto (y al cliente) sobre los métodos, técnicas y herramientas automatizadas que
están disponibles para respaldar mejor el trabajo y las actividades del proyecto relacionados
con los requisitos;
Estos roles proporcionan el contexto para este capítulo. El primer paso es planificar el enfoque.
anteriormente el tremendo valor de dedicar algo de tiempo (en cualquier esfuerzo) a planificar el enfoque.
Escribir (documentar) el enfoque planificado para abordar el trabajo relacionado con los requisitos en un
plan de requisitos del proyecto. Como es el caso con otros planes, el plan de requisitos puede (y debe)
revisarse y actualizarse con frecuencia durante el proyecto. Alguno
Machine Translated by Google
Planifique el enfoque 63
Tabla 5.1 Lista de verificación para las actividades de recopilación de requisitos del proyecto
64 Requisitos de reunión
Cada uno de los pasos del enfoque de recopilación de requisitos se analiza a continuación y se
proporcionan varias referencias sugeridas para indicarle información adicional. Piense en estos pasos
como un procedimiento para implementar dos de los tres subprocesos del proceso de requisitos: Evaluar
requisitos nuevos/cambiados y controlar cambios; y Comprender las necesidades y expectativas del
cliente, RE100 y RE200 en la terminología de Prácticas de requisitos eficaces (consulte [2, págs. 114 y
115] para ver los diagramas de flujo del proceso real). Como siempre, adapte (modifique) el enfoque
según sea necesario para su situación particular y su proyecto y entorno organizacional; es posible que
pueda eliminar algunos de los pasos o tal vez desee agregar pasos.
Es probable que le resulte beneficioso tener copias de los diagramas de flujo frente a usted para
poder considerar los cambios que le gustaría realizar. Quizás quieras visitar mi sitio web
(www.ralphyoung.net); vaya al botón "Artefactos reutilizables" y busque "Proceso de requisitos de
muestra". Esto le permitirá imprimir cuatro diagramas de flujo, un proceso macro (de alto nivel) y tres
microprocesos (nivel inferior) o subprocesos para el flujo macro.
Tenga en cuenta el enlace en esa página web para las "Descripciones de procesos" que explican los
cuatro diagramas de flujo (propósito del proceso, estándares y referencias, procesos relacionados,
clientes del proceso, requisitos del cliente, criterios de entrada, entradas, salidas, criterios de salida,
responsabilidades, herramientas). , recursos y métricas sugeridas). Digerir estos artefactos te
proporcionará muchas ideas.
En cualquier esfuerzo, hay materiales disponibles que necesitan ser leídos, digeridos y analizados.
Ejemplos de dicha información incluyen descripciones de los sistemas heredados, declaraciones sobre
las necesidades de nuevas capacidades, documentos técnicos, descripciones de sistemas relacionados
desarrollados por otras organizaciones, estudios de investigación, personas con las que podría reunirse
para obtener información (como proponentes o defensores de una capacidad necesaria o de un nuevo
sistema), etc. Sea abierto y minucioso al buscar y revisar materiales. Organice los materiales que
encuentre de manera que le ayude a evaluar su importancia y valor relativos y también le permita
recuperar información cuando sea necesaria. Piense en los materiales en el contexto de los otros pasos
del enfoque de recopilación de requisitos enumerados en la Tabla 5.1.
En cualquier organización, debe existir un conjunto de políticas organizacionales sobre cómo se debe
realizar el desarrollo de sistemas y software. Encuentre estas políticas; leerlos y digerirlos. Asegúrese
de comprenderlos y poder aplicarlos en su trabajo. Pídale aclaraciones a sus compañeros de trabajo y a
su gerente, si es necesario. Si existen políticas y nadie les presta mucha atención, esto en sí mismo es
una oportunidad de mejora continua para la organización: involucre al personal de control de calidad y
de ingeniería de procesos. Descubra si existe una biblioteca de procesos relacionados, planes de
muestra como planes de proyecto y otros.
Machine Translated by Google
métricas que deben usarse, métodos, técnicas, herramientas automatizadas y manuales disponibles,
lecciones aprendidas (o al menos observadas) de otros proyectos (anteriores), etc. Asegúrese de
tener un conocimiento integral de los recursos disponibles para realizar su trabajo. Busque plantillas,
listas de verificación, presentaciones y archivos de sesiones de familiarización y capacitación que
puedan resultar útiles. Antes de embarcarse en una tarea para crear un artefacto, verifique si ya
existe uno que pueda reutilizar o al menos usar como guía. Trate de evitar reinventar la rueda, es
decir, recrear un artefacto cuando ya existe una plantilla o ejemplo. Si alguien ya ha hecho lo que
usted está a punto de hacer, es probable que pueda ahorrar tiempo y esfuerzo al saberlo.
Una parte interesada es cualquier persona que tenga interés en el proyecto y cualquiera que se verá
afectado por el sistema. Piense en clientes (aquellos que pagan por el trabajo), usuarios (personas
que realmente utilizarán el sistema), asesores (como expertos legales o reguladores que tienen
información relevante sobre los requisitos), grupos de proyectos que participan en el desarrollo del
sistema. (como ingeniería de sistemas, ingeniería de software, control de calidad, CM, control de
proyectos, documentación, capacitación, pruebas, etc.). Al igual que al diseñar un proceso, siempre
hay más partes interesadas de las que pensamos inicialmente. Ian Alexander sugiere utilizar una
“Plantilla de análisis de partes interesadas” [3] para identificar a las partes interesadas. John Boardman
Associates (JBA) desarrolló la plantilla (correo electrónico: [email protected]). Las figuras 5.1 y 5.2
representan los roles de las partes interesadas y los puntos de vista de los roles.1
1. Véase también el Capítulo 13 de Ingeniería de requisitos de Sommerville y Sawyer: una guía de buenas prácticas (Nueva
York: John Wiley & Sons, 1997), que proporciona un enfoque sistemático para recopilar requisitos desde múltiples
puntos de vista, llamado PREview. Un sitio web relacionado, www.info.comp.lancs. ac.uk/publications/index.phtml, bien
merece una visita.
2. EIA 632, “Procesos para diseñar un sistema”, proporciona un enfoque integral, estructurado y disciplinado para todas las
fases del ciclo de vida. El proceso de ingeniería de sistemas se aplica de forma iterativa durante todo el ciclo de vida
del sistema. El concepto operativo facilita separar los requisitos de la misión de otros requisitos del sistema, identificando
escenarios que dictan la interacción entre el sistema y otros sistemas (incluidas las personas) y se centra en gran
medida en las entradas y salidas del sistema.
Machine Translated by Google
66 Requisitos de reunión
El sistema contenedor
El sistema que
se está desarrollando.
Sistemas vecinos
Figura 5.1 Roles de las partes interesadas. (Fuente: John Boardman Associates (JBA). Usado
con autorización).
Figura 5.2 Puntos de vista de los roles. (Fuente: John Boardman Associates (JBA). Usado con
autorización).
Helen Sharp [4] sugiere utilizar un enfoque recursivo para identificar a las partes
interesadas: pida a su punto de contacto inicial una lista de partes interesadas, luego pregunte
a cada persona de esa lista quién más tiene interés, y así sucesivamente, hasta que usted no lo sepa.
Machine Translated by Google
Planifique el enfoque 67
encontrar más partes interesadas (a veces este enfoque se conoce como “pelar la cebolla”).
Sugiere nombrar cuatro grupos de partes interesadas en la línea de base (usuarios,
desarrolladores, legisladores y tomadores de decisiones) y luego explorar la red de partes
interesadas alrededor de la línea de base. Ellen Gottesdiener [5] sugiere incluir “usuarios
indirectos” (o “usuarios secundarios”): personas que entrarán en contacto con los resultados
del sistema (como archivos e informes) o con subproductos del sistema (como decisiones).
4. Desarrollar una estrategia para involucrar a los clientes y usuarios durante todo el desarrollo.
esfuerzo.
La experiencia nos muestra que los proyectos que involucran a clientes y usuarios durante
todo el esfuerzo de desarrollo tienen más éxito. La razón es que existe una comunicación
efectiva. Sin una comunicación efectiva, el cliente/usuario y el desarrollador se pierden de vista
y pierden sus perspectivas. Si bien esta tarea no es principalmente función de la AR, es
fundamental para el desempeño exitoso de sus tareas que esta estrategia se desarrolle e
implemente. Abogar como parte del equipo del proyecto para que se lleve a cabo la estrategia.
Tenga en cuenta que muchos productos comerciales están diseñados para las necesidades
del público objetivo y no para las de un grupo finito de partes interesadas. Se utilizan grupos
focales y otras técnicas para generar un modelo de comportamiento del cliente que
Machine Translated by Google
68 Requisitos de reunión
Todas las partes contratantes tienen un interés económico en el éxito del proyecto. Así
como los clientes se preocupan por obtener un buen valor por su dinero, los proveedores
están en el negocio para obtener una ganancia justa por los servicios que brindan. Cuando
un proveedor se ve exprimido para obtener ganancias, la calidad del trabajo y las relaciones
comerciales pueden verse afectadas o destruidas, generando hostilidad y litigios costosos
y prolongados. Sacar a los buenos proveedores del negocio no es lo mejor para nadie. El
objetivo a largo plazo de todo propietario debe ser mantener a los buenos contratistas en el
negocio para que las licitaciones competitivas sean lo más sólidas posible en el futuro.
La asociación debe incluir a los usuarios finales del sistema. Los clientes deben
participar en el proceso de asociación de principio a fin. Proporcionan información valiosa
sobre las necesidades de su proyecto y pueden participar en sesiones de resolución de
problemas en el taller y reuniones de seguimiento, y pueden comprender mejor a dónde se
destina su dinero cuando se requieren modificaciones del contrato. Un objetivo típico del
equipo asociado es entregar un proyecto de calidad al cliente que satisfaga sus necesidades
funcionales y financieras.
Planifique el enfoque 69
luego sirve como marcador de posición. Este modelo debe validarse y verificarse tal como se
haría con cualquier otro paso del proceso de requisitos, pero con frecuencia está muy mal
elaborado y sólo más tarde se descubren las preferencias reales del mercado.
Este documento solo debe tener unas pocas páginas, pero es muy importante porque ayuda a
todas las partes interesadas a comprender mejor el sistema o software planificado. El documento
debe presentar lo siguiente:
70 Requisitos de reunión
Karl Wiegers proporciona una discusión instructiva y reveladora sobre por qué este documento
es importante y un resumen detallado de lo que debe incluir en los Requisitos de software [6, págs.
81–93]. Le sugiero que repita el documento de visión y alcance del proyecto porque será más útil
a medida que usted y otros obtengan una comprensión más completa del sistema planificado.
Descubrirás que la visión puede cambiar un poco y el alcance mucho.
Tenga cuidado con el crecimiento de los requisitos (también conocido como “aumento progresivo”
de los requisitos, donde los requisitos se agregan sin tener controles de RM implementados).
Weinberg [7] utiliza el término fuga de requisitos para referirse a requisitos no oficiales que se
agregan cuando en realidad no son necesarios; consulte la discusión de este importante tema en
Prácticas efectivas de requisitos, [2, págs. 221229].
Una vez más, esto demuestra el valor de la planificación y refuerza el valor de invertir en actividades
de requisitos iniciales, antes de que se inicie el resto del trabajo técnico.
7. Prever revisiones e inspecciones por pares de todo el trabajo relacionado con los requisitos.
productos.
Machine Translated by Google
Planifique el enfoque 71
Apéndices
Un proceso de requisitos a medida (diagramas de flujo y procesos
descripciones)
B Resumen del proceso de asociación
C Criterios de un buen requisito
D Directrices para el desarrollo de sistemas basados en requisitos
Consideraciones
En primer lugar, asegúrese de que exista un proceso de revisión por pares eficaz que realmente se utilice en todo
el proyecto. Si no existe uno, trabaje con su gerente y el PM para adoptar y utilizar estas mejores prácticas de la
industria. Bríndeles la discusión en Prácticas efectivas de requisitos [2, págs. 248–250]. Trabajar duro para
promover el uso de revisiones e inspecciones por pares. Ahorrarán tiempo, dinero y esfuerzo y también mejorarán
la calidad y la satisfacción del cliente. Utilice las revisiones por pares de software de Wiegers: una guía práctica
[9] para implementar el enfoque de inspección y revisión por pares que mejor se adapte a su proyecto. (Aunque
el título del libro de Wiegers dice "software", la información sobre revisiones por pares en el libro se aplica a
cualquier producto de trabajo). A pedido, Northrop Grumman IT DES [10] puede proporcionar dos cursos de
capacitación de 2 horas y soporte asociado para lanzar El proceso de revisión por pares de su proyecto u
organización:
Comuníquese con la propietaria del proceso de revisión por pares, Penny Waugh, en [email protected]
para obtener información.
Algunos proyectos reciben asesoramiento de no realizar revisiones por pares e inspecciones de documentos
relacionados con requisitos en sus proyectos. En mi opinión, no contar con revisiones por pares es un riesgo
imperdonable para el proyecto. La experiencia ha demostrado que ningún producto de trabajo debe desarrollarse,
por simple que sea, sin haber sido revisado por al menos un par que tenga conocimientos sobre el tema del
producto de trabajo. El punto es que (1) las palabras que uso pueden
Machine Translated by Google
72 Requisitos de reunión
Uno de los problemas que, según mi propia experiencia, ha puesto en peligro el trabajo en equipo,
ha provocado demasiadas discusiones (lectura, confusión, frustración y
retrasos), e incluso destruyó muchas buenas relaciones interpersonales es que
Nosotros, los técnicos, tendemos a tener opiniones muy firmes sobre las definiciones.
de palabras particulares, y tendemos a resistirnos a seguir adelante cuando
No sé ni entiendo un acrónimo que se está utilizando. Recomiendo y defiendo encarecidamente
que cada proyecto desarrolle un glosario de proyecto y
una lista de acrónimos del proyecto. Estos artefactos deben crearse lo antes posible, por ejemplo,
como parte de la documentación de la visión del proyecto, y
ampliarse a medida que el proyecto madure. Además de las siglas, lo básico
La nomenclatura asociada con un concepto de sistema emergente puede tener un
gran impacto en la libertad de diseño. (Lenguaje funcional versus físico
Las opciones en particular tienen un gran beneficio al principio del ciclo de vida del proyecto.)
Incluya palabras y siglas que sean aceptables y utilizadas por los clientes y usuarios; por ejemplo,
nos referimos al conocimiento de la información del cliente.
área como dominio de conocimiento o experiencia; personas que son extremadamente
con conocimientos en un área particular se les conoce como expertos en la materia
(PYMES). En aras de que el trabajo del proyecto se lleve a cabo rápidamente, hagamos lo
siguiente:
Acordar definiciones de las palabras que usamos con las que todos podamos vivir.
Esto no requiere que la definición consensuada sea la de cada persona.
definición favorita de la palabra, solo que todos nosotros en nuestro proyecto
El equipo puede vivir con la redacción de la definición. Sugerencia: usar
un pulgar hacia arriba ("lo apoyo"), un pulgar hacia abajo ("no puedo vivir con esto"),
o la técnica de los pulgares hacia los lados (“puedo vivir con ello”) en las reuniones del
proyecto para lograr un consenso rápidamente. Si la gente tiene problemas (“pulgares
abajo”), pregunte: “¿Qué se necesita para convencerte de que puedas vivir?”
¿Con el enfoque o definición que la mayoría de la gente considera aceptable?” Si tienes
un ambiente de TEAMWORKS, deberías estar
capaz de lograr consenso sobre la mayoría de los temas fácilmente. (UN TRABAJO EN EQUIPO
El entorno es un entorno de trabajo en el que trabajar juntos como
Un equipo eficaz es valorado y apreciado y donde los compañeros de trabajo se apoyan
unos a otros de forma proactiva. Consulte el Capítulo 8 para obtener más información.
relacionado con el trabajo en equipo.) Si no puede, tal vez tenga una “causa especial de
variación”, como una persona escandalosa o diferente.
Machine Translated by Google
Planifique el enfoque 73
perspectivas.3 No tengo una cura de oro para las causas especiales de variación,
sólo que debemos buscar constantemente las causas fundamentales de los
problemas y cuestiones, utilizar nuestros múltiples espacios para generar ideas
sobre contramedidas, priorizar las contramedidas de acuerdo con su efectividad
percibida, implementarlas y luego evalúe si las contramedidas han tenido el impacto
deseado en las causas fundamentales. Si no lo han hecho, es hora de identificar y
seleccionar otras contramedidas.
Desarrollar una lista de acrónimos del proyecto que incluya todos los acrónimos
que encuentran todos aquellos que trabajan en el proyecto. Esto se puede lograr
poniendo la lista de siglas en un servidor compartido para que todos puedan tener
acceso a ella y agregando siglas a medida que se encuentren. Además, cualquiera
que encuentre un acrónimo puede utilizar este recurso para intentar averiguar qué
significa. ¡No tiene ningún sentido que las reuniones de proyectos, sesiones de
capacitación, sesiones informativas, etc., se estanquen porque alguien no conoce
un acrónimo!
4
9. Decidir el enfoque de ciclo de vida que se utilizará en el proyecto.
3. Ian Alexander informa de sus experiencias de consultoría que sus compañeros de trabajo a menudo insisten en usar palabras específicas
de maneras que impiden el entendimiento común y que retrasan e incluso impiden el progreso para llegar a un consenso.
Él cree que la causa fundamental de este grave problema no es el alboroto, sino más bien que las personas tienen diferentes
perspectivas sobre las cosas. Esto enfatiza por qué es tan importante tener un ambiente de TRABAJO EN EQUIPO, así como utilizar
mecanismos (como los pulgares hacia arriba, hacia abajo o hacia los lados y un glosario de proyectos) para llegar a un consenso y
seguir adelante.
4. Nuestro agradecimiento a Rich Raphael de Northrop Grumman IT DES por desarrollar estos materiales y proporcionar análisis de
modelos de ciclo de vida e ilustraciones de los mismos.
5. El subsecretario de Defensa estadounidense para adquisiciones, tecnología y logística, EC Aldridge Jr., publicó un memorando fechado
el 12 de abril de 2002, expresando su preferencia por estrategias de adquisición evolutivas basadas en un proceso de desarrollo en
espiral. Un punto de contacto para obtener más información es Skip Hawthorne (skip.hawthorne @osd.mil). El memorando reconoce
que existe "confusión sobre lo que significan estos términos y cómo el desarrollo en espiral afecta diversos procesos, como la
contratación y la generación de requisitos, que interactúan con una estrategia de adquisición evolutiva".
Machine Translated by Google
74 Requisitos de reunión
Debilidades No funciona muy Existe una tendencia a Requiere un cambio de Carece de una
bien en situaciones posponer los problemas mentalidad cultural guía de proceso explícita
donde el difíciles para el futuro respecto de lo convencional para determinar
Los requisitos no están con el fin de métodos. objetivos,
bien definidos en demostrar temprano limitaciones y
el comienzo de éxito para alternativas.
proceso. gestión.
Machine Translated by Google
Planifique el enfoque 75
Dominio de Sistemas que tienen Muy adecuado para Muy adecuado para Proyectos complejos,
aplicaciones requisitos bien sistemas donde los sistemas donde los dinámicos,
definidos desde el requisitos no se requisitos no innovadores y
principio y sistemas pueden especificar. pueden especificarse ambiciosos realizados en
donde los costos y antes del inicio de las equipos internos (no
cronogramas deben ser actividades de necesariamente
determinarse de desarrollo del ciclo de vida. limitados al software).
antemano.
Adquisición” [13], que explica las mejoras al modelo espiral original que ahora se
consideran esenciales para su uso. Tenga en cuenta que el enfoque de ganarganar
es objeto de trabajo continuo por parte de Boehm y otros. Ponga la información a
disposición de otros miembros de su equipo de proyecto (incluido el cliente), mantenga
debates y llegue a un consenso sobre el modelo de ciclo de vida que mejor satisfaga
las necesidades de su proyecto. Tenga en cuenta que algunos requisitos no se pueden
conocer hasta que los clientes y usuarios comiencen a utilizar el sistema. Esta
preocupación se aborda mejor mediante el uso de un enfoque de desarrollo incremental.
Algunos expertos de la industria se preguntan si los modelos evolutivo y espiral
son realmente diferentes. El propio Boehm habla de “evolución” al describir el modelo
espiral. Algunos expertos de la industria creen que los modelos incremental y evolutivo
son muy diferentes e incompatibles; es muy
Machine Translated by Google
76 Requisitos de reunión
Sistema
Requisitos
requisitos
definición
definición
Software
Requisitos
requisitos
Análisis
de análisis
Preliminar
Diseño
de diseño
Detallado
Diseño
de diseño
Código y
unidad
unidad
deprueba
prueba
Componente
integración
integración
&
Prueba y prueba
Integración
Prueba
prueba
Sistema
Prueba
prueba
Entrega
Entregayy
mantenimiento
mantener
el software
Software
Requisito
Diseño Requisito
Implementación Diseño
Implementación
Actividades
concurrentes
Versión
Especificación
inicial
Versiones
Desarrollo intermedias
Descripción del esquema
Versión
Validación
definitiva
Planifique el enfoque 77
Costo acumulado
Progreso a
Determinar través de
Evaluar
pasos
objetivos, alternativas
alternativas y Identificar y
limitaciones. resolver riesgos
Análisis de riesgo
Análisis de riesgo
Partición de Prototipo3
compromiso Prototipo 2
Análisis de riesgo
Prototipo1
Revisar
Plan de requisitos Emulaciones
Modelos
Puntos de referencia
Concepto de
Software
plan de ciclo
operación Diseño de
de vida Requisitos
productos
de software Diseño
Plan de Desarrollo detallado
Validación de
requisitos
Código
Plan de
integración y pruebas. Diseño V&V
Prueba
próximas fases
Integración y
prueba
Examen de
ingreso
Desarrollar y verificar
Implementación
productos del siguiente nivel
78 Requisitos de reunión
Hay menos riesgo de tener que realizar retrabajos (el promedio de la industria para
retrabajos en sistemas y proyectos de desarrollo de software es del 40% al 50% del
esfuerzo y costo total del proyecto; reducir proactivamente el retrabajo es una
oportunidad para ahorrar dinero, tiempo y esfuerzo). y aumentar la satisfacción del
cliente y la calidad al mismo tiempo). Karl Wiegers, consultor en ingeniería de
requisitos y experto en la industria, estima que el 80% del esfuerzo de retrabajo en
un proyecto de desarrollo se debe a defectos de requisitos [14]. Esto sugiere
fuertemente que invertir en el proceso de requisitos puede financiar niveles
sustanciales de actividades de mejora de procesos.
Por ejemplo, Wiegers recomienda inspecciones formales de todos los documentos
relacionados con los requisitos. Véanse los dos artículos de Wiegers [15, 16] sobre
inspecciones de requisitos para obtener asesoramiento sobre cómo realizar inspecciones
de requisitos.
Existe una mayor probabilidad de que pueda mejorar el proceso a medida que
avanza en las actividades del proyecto si el proceso está documentado. "¡Vaya!"
usted dice: "¡Ni siquiera sé a dónde ir para 'obtener' un proceso de requisitos!" ¡Si tu
puedes! Vea mi sitio web (www.ralphyoung.net).
Por cierto, la adaptación es una habilidad crítica que se está perdiendo a medida que la base
de experiencia se retira y es reemplazada por personas que son autodidactas o cuyos
conocimientos se adquieren sólo a partir de folletos de marketing de software o estándares de la industria.
La adaptación es la aplicación de conocimientos basados en la experiencia para llegar a una
combinación inteligente de elementos de proceso estándar y desafíos situacionales. Recomiendo
encarecidamente la revisión por pares del enfoque de adaptación siempre que sea posible.
11. Establecer un mecanismo para evolucionar los requisitos reales a partir de lo declarado.
requisitos.
Asegurar que cada requisito refleje las necesidades reales de los clientes y usuarios.
Descubrirá que muchos de los requisitos establecidos no son requisitos reales.
Asegurar que cada requisito cumpla con los criterios de un buen requisito. Descubrirá
que este paso requerirá mucho trabajo. Sabiendo que
Machine Translated by Google
Planifique el enfoque 79
Hay razones importantes para cada uno de los criterios, comprenderá que este trabajo es
muy valioso y tiene un gran valor. Si usted
no comprende las razones de uno o más de los criterios, tome algunas
tiempo para estudiar los criterios y asegurarse de que cada criterio es
básico.
Proporcione una justificación para cada requisito (por qué es necesario). Industria
La experiencia es que hasta la mitad de los requisitos establecidos se pueden eliminar
realizando este único paso. Párate a pensar por un minuto en el
trabajo que este paso potencialmente puede salvar el proyecto ("proactivamente
reducir el retrabajo”). Tenga en cuenta también que este esfuerzo bien podría marcar la
diferencia entre el éxito y el fracaso del proyecto. Discuta esto con su gerente y el primer
ministro. Ayuda al proyecto a beneficiarse de un TRABAJO EN EQUIPO
enfoque aplicando enfoques de equipo en sus propias actividades laborales (ver
Capítulo 9 para una discusión sobre el trabajo en equipo).
Mientras realiza este trabajo, concéntrese en los beneficios del producto (requisitos reales necesarios),
no en las características de los productos del trabajo. Podemos proporcionar un montón de funciones,
todo lo cual requiere tiempo y dinero para desarrollarse e incluirse en el sistema,
pero debemos centrarnos en los requisitos mínimos (recuerde: “¡Cualquier cosa más es
demasiado!” [Neal Whitten]).
Garantizar la coherencia;
Incrementar el cumplimiento;
80 Requisitos de reunión
Vale la pena señalar que muchas partes interesadas sólo podrán comunicar los requisitos en términos
generales. Luego, el equipo deberá “traducirlos” en requisitos de diseño utilizables. Mi sugerencia es ser
tolerante al principio del proceso para estimular la comunicación abierta y luego reforzar las expectativas a
medida que el tiempo y el conocimiento del proceso en desarrollo lo permitan.
12. Proporcionar sesiones de capacitación relacionadas con los requisitos para los participantes del proyecto,
incluidos clientes y usuarios, y para los RA.
Aquí tienes un desafío. Es muy probable que sus compañeros del proyecto se resistan a esta formación.
Afirmarán que no lo necesitan y que están muy ocupados con su propio trabajo. En realidad, ninguna de
estas afirmaciones es válida, dadas las prioridades y necesidades generales del proyecto, porque es
importante que todas las partes interesadas comprendan el valor de la inversión en el proceso de requisitos y
la información relacionada. Una lección importante que todos hemos experimentado, pero que
desafortunadamente aún no hemos aprendido, es que el trabajo técnico se inicia antes de que se identifiquen
los requisitos reales, lo que resulta en una gran cantidad de retrabajo con sus costos asociados, cronograma,
calidad y problemas de satisfacción del cliente. Todas las partes interesadas del proyecto necesitan el
beneficio de comprender la experiencia de la industria en relación con los requisitos. Consulte la Tabla 5.4
para ver los temas sugeridos. Visite mi sitio web para ver un ejemplo de “Resumen de requisitos iniciales del
proyecto” [18].
Planifique el enfoque 81
Otro aspecto importante es que los AR que apoyan el proyecto deben recibir la capacitación adecuada.
Consulte la Tabla 5.5 para obtener una lista de temas recomendados. Por ejemplo, es importante que
todos los RA estén de acuerdo sobre cómo redactar buenos requisitos. Deben estar familiarizados con los
tipos de requisitos (ver Capítulo 4) y los esfuerzos a realizar para reducir los errores de requisitos.
Particularmente importante es el enfoque que se utilizará para reducir la repetición del trabajo en el proyecto.
13. Vuelva a escribir los requisitos de software o sistema de alto nivel a medida que avanza en el
pasos iniciales.
Es posible que ya exista una declaración de las necesidades, expectativas y requisitos de alto nivel del
cliente, al menos en forma preliminar, en el contexto histórico.
La importancia de los requisitos para el éxito del proyecto, basada en la experiencia de la industria;
El valor de los buenos requisitos;
Roles, habilidades y características de un AR eficaz;
Tener y utilizar un proceso de requisitos;
El valor de invertir más en el proceso de requisitos (8% a 14% de los costos totales del proyecto);
El proceso de requisitos del proyecto;
Descripción general de los mecanismos, métodos, técnicas y herramientas que se utilizarán:
Tipos de requisitos;
El repositorio de requisitos (y sus numerosos componentes);
Recopilación de requisitos: las técnicas que se utilizarán;
Escribir buenos requisitos:
Asegurar que cada requisito cumpla con los criterios de un buen requisito; Documentar la
justificación de cada requisito; Priorizar los requisitos: no todos
los requisitos son iguales; No inventar requisitos de forma independiente;
No tomar decisiones sobre requisitos; No chapado en
oro.
82 Requisitos de reunión
información que ya has digerido. Por alto nivel me refiero a declaraciones amplias que
describen las capacidades necesarias que buscan los clientes. (En un proyecto que apoyé,
el cliente proporcionó una especificación de requisitos demasiado detallada al comienzo de
nuestro contrato; el cliente había invertido varios añospersona de esfuerzo durante un
período de dos años para desarrollar la especificación. Cuando sugerimos volver a visitar los
requisitos de alto nivel, el cliente indicó que no hiciéramos esto, sino que procediéramos con
el esfuerzo de desarrollo utilizando la especificación detallada. Un año después, después de
una inversión de 40 añospersona de esfuerzo, el cliente decidió rehacer el requisitos de
nivel.) Comience a reescribir los requisitos de alto nivel. Este conjunto debe constar de 50 a
200 requisitos, dependiendo del alcance del sistema. Centrarse en los requisitos de alto
nivel tiene importantes ventajas:
Administre las expectativas culturales para evitar que su primer borrador se convierta
en el documento “construido”.
T. Korson [19] enfatiza la importancia de los niveles de abstracción en la recopilación de
requisitos y cree que existen principios críticos de recopilación de requisitos que deben
observarse. (También cree que un enfoque de requisitos impulsado por casos de uso a
menudo resulta en una falla en la identificación de los requisitos reales). La Tabla 5.6 muestra
cómo existen niveles de abstracción asociados tanto con los tipos de requisitos como con las
actividades de desarrollo.
Comience con los requisitos del sistema de alto nivel y trabaje en niveles más
detallados (tenga en cuenta que esto es diferente de la descomposición funcional,
que implica descomponer una función particular en el sistema).
Planifique el enfoque 83
No derivar el diseño de casos de uso. Korson cree que los casos de uso deberían
detenerse en el límite de la interfaz del sistema. La experiencia de otros es que
los límites del sistema se establecen según el punto de vista y los casos de uso a
menudo también pueden ser excelentes ayudas analíticas a nivel de subsistema.
Deberá determinar sus propios puntos de vista según su experiencia.
14. Iniciar el desarrollo de los requisitos reales en base a los requisitos planteados.
Evolucionar y priorizar [20] los requisitos reales. Recordará esta sugerencia del Capítulo
1. No deje de hacerlo. La “lista de requisitos reales” es un producto de trabajo que
evolucionará durante un período de varias semanas o meses. Asegúrese de utilizar el
control de versiones y el control de cambios, de modo que siempre sepa con precisión
cuál es realmente el producto de trabajo actual y exactamente cómo debe leerse. Si no
está familiarizado con estas técnicas de CM, consulte la discusión sobre CM en el
Capítulo 7. Además, busque a alguien que tenga experiencia con CM y aprenda de él o
ella. No hay presión, pero tenga en cuenta que todo el proyecto depende totalmente de
una declaración exhaustiva, precisa y actual de los requisitos reales. Sin él, el proyecto
está fuera de control y en peligro. Es posible que se encuentre tratando de ponerse al día
con diseñadores que avanzaron mucho en el ciclo de vida mientras se generaban los
requisitos. Este es un problema muy común y una excelente motivación para que la RA
haga llegar los documentos guía a la comunidad lo antes posible.
Este es otro producto del trabajo de requisitos que evolucionará durante un período de
semanas o meses. Asegúrese de rastrear la fuente de cualquier justificación aceptada.
Este es un componente importante del repositorio de requisitos, que se analiza a
continuación. Los estudios comerciales bien realizados no sólo proporcionan una
justificación sólida sobre el camino elegido, sino que también contienen la lógica mediante
la cual se hizo la elección y los supuestos que se utilizaron. Esto hace que sea mucho más
fácil defender la decisión o revisarla si las suposiciones cambian o se demuestra que son
falsas.
84 Requisitos de reunión
nuevos requisitos. La experiencia de la industria verifica que sin tal mecanismo, la mayoría de
los proyectos pronto se saldrán de control y correrán el riesgo de una alta probabilidad de fallar.
Nos referimos a los cambios en los requisitos como “volatilidad de los requisitos”.
La experiencia de la industria es que los proyectos que exceden el 2% de volatilidad de los
requisitos incurren en costos y riesgos de cronograma. Se recomienda un objetivo de volatilidad
de requisitos del 0,5% por mes. “¡Vaya! Dices: "¡Eso no es mucho!" Precisamente.
Ésa es exactamente la razón por la que se necesita un mecanismo para controlar los cambios
en los requisitos y la adición de nuevos requisitos.
Un mecanismo excelente que podría considerar para esto es el equipo conjunto. Tiene
algunos miembros capacitados que pueden hablar en nombre del cliente y del proyecto. Con
suerte, los miembros se han conocido durante el proceso de evolución de los requisitos reales y
están trabajando juntos como un equipo de alto rendimiento. De lo contrario, sugiera un taller de
equipo conjunto para considerar las características de un equipo de alto desempeño (discutido en
la sección titulada “Trabajo en equipo” en el Capítulo 8). Seleccione las características que los
miembros de su equipo conjunto quieren utilizar. Esto debería ayudar a crear un ambiente de
TRABAJO EN EQUIPO.
A menudo vemos proyectos con una volatilidad de requisitos superior al 24% anual. Esto
sugiere que no debemos esperar éxito.
Deberíamos identificar proactivamente formas de mitigar los riesgos6 asociados con
requisitos nuevos y modificados; Por ejemplo:
6. Las AR deberían involucrarse en las actividades de gestión de riesgos del proyecto. Visite el sitio web de la revista Software
Quality Management (www.sqmmagazine.com). Suscribir. Revisar artículos de interés y adquirir competencia en la identificación,
análisis, evaluación, planificación, gestión, mitigación y seguimiento y control de riesgos.
Conviértase en miembro del equipo de gestión de riesgos de su proyecto. Como señaló el experto en riesgos de la industria
David C. Hall, “A pesar del creciente consenso sobre el valor de la gestión de riesgos, la implementación efectiva de procesos
de gestión de riesgos en organizaciones y proyectos está lejos de ser común”. (Consulte www.sqmmagazine.com/issues/
200204/mature.html.) En mi experiencia, incluso cuando existe un proceso de riesgo en un proyecto y se realiza una gestión
de riesgos, las actividades de gestión de riesgos generalmente no son exhaustivas. Las actividades del proyecto relacionadas
con la gestión de riesgos suelen ser una oportunidad para la mejora continua y estas actividades pueden tener un impacto
potencialmente enorme en el éxito o el fracaso del proyecto. Rich Raphael es el propietario del proceso de riesgo de TI DES de
Northrop Grumman y puede brindar asesoramiento experto. Contáctelo en [email protected].
Machine Translated by Google
Planifique el enfoque 85
7. Consulte la discusión sobre los crecientes requisitos de los usuarios y la calidad del software en Jones's Software Quality: Analysis and
Directrices para el éxito [21, págs. 134137]. Tenga en cuenta que realmente se han aprendido muchas lecciones, pero no se han aplicado.
aplicado. Los principales problemas son que (1) nosotros, los profesionales, no leemos lo suficiente, no estudiamos lecciones, no tomamos medidas para aplicar las
lecciones para nuestros procesos y procedimientos, e implementar prácticas mejoradas; y (2) la administración se contenta con
permitirnos salir del paso y no mejorar continuamente. En el contexto de Watts Humphrey, "no practicamos
lo que predicamos”. Consulte www.sei.cmu.edu/publications/articles/practicepreach/practicepreach.html.
Machine Translated by Google
86 Requisitos de reunión
18. Seleccionar las prácticas, métodos y técnicas que se utilizarán para recopilar los
requisitos.
Hay muchas prácticas, métodos y técnicas disponibles. Algunas son más útiles y
efectivas que otras. Su proyecto disfrutará de un alto retorno de la inversión si se toma
algún tiempo para seleccionar los que se van a utilizar. Primero, digiera las discusiones
relacionadas sobre ellos en Prácticas efectivas de requisitos [2]. Al hacer esto, obtendrá
muchos conocimientos de la experiencia en la industria. Asegúrese de que los
miembros de su equipo de proyecto hayan tenido experiencias exitosas con todos los
métodos y técnicas seleccionados. Un proyecto, a menos que sea de investigación y
desarrollo (I+D), no es momento para probar un nuevo método o técnica. Su proyecto
debe seleccionar sólo métodos y técnicas que sean conocidos, familiares para los
desarrolladores y probados. (Una excepción es que usted quiera poner a prueba una
práctica nueva o prometedora para determinar su aplicabilidad a su proyecto. Al utilizar
un mentor experimentado, la prueba piloto podría convertirse en una demostración de
prueba de aplicabilidad).
Amplíe su análisis para considerar las mejores prácticas del proyecto, en función de
los riesgos identificados para ese proyecto. Mantenga a su gerente y al primer ministro
involucrados e informados sobre estas deliberaciones. Todos los involucrados en un
proyecto particular deben utilizar un proceso común, un conjunto de prácticas y
mecanismos, técnicas y métodos, y herramientas automatizadas. Mantenga discusiones
con el equipo del proyecto, seleccione y acuerde un conjunto común y brinde
capacitación formal según sea necesario para garantizar que las personas que se
espera que los utilicen estén empoderadas. Es contraproducente que los individuos
salgan corriendo solos, haciendo lo suyo, no en coordinación con el resto del proyecto.
equipo.
Planifique el enfoque 87
Estas tres tareas son esenciales y se espera que la AR proporcione liderazgo y asuma la
responsabilidad de su desempeño exitoso.
Hay menos de una docena de herramientas de requisitos automatizados sólidas en la industria
que brindan la funcionalidad que necesitan proyectos de diversos tamaños (consulte la Tabla 5.7).
Todos los que han trabajado con sistemas y software durante algún período de tiempo han tenido
experiencias con herramientas de requisitos automatizados (probablemente buenas y malas); todos
tendrán sus propios prejuicios y opiniones sobre herramientas específicas.
Aléjese de todos estos consejos y comentarios, junte sus habilidades analíticas y hágase las siguientes
preguntas:
¿ Cómo ingresaremos datos (por ejemplo, los requisitos reales) en la herramienta? ¿La
herramienta proporciona un enfoque de aportes que respaldará las necesidades del proyecto?
¿ Quién en el proyecto tiene experiencia práctica con qué herramientas? ¿Puede esa persona
estar disponible para ayudar con las actividades iniciales relacionadas con las herramientas?
88 Requisitos de reunión
8. Nuestro agradecimiento al ingeniero de procesos y calidad Earl Hoovler por compartir sus experiencias y conocimientos.
Machine Translated by Google
Planifique el enfoque 89
Seguir un proceso definido en un proyecto de desarrollo de software o sistema suele ser algo
muy bueno. Sin embargo, siempre es necesario tener una
Mente abierta al seguir un proceso: estar alerta a los cambios en lo "real".
requisitos del proceso. Sea flexible y esté preparado para adaptar el proceso según sus necesidades.
usted sigue adelante para que pueda cumplir con esos requisitos. Este estudio de caso
La recopilación de algunas lecciones aprendidas al realizar evaluaciones de alternativas
proporciona ideas importantes.
Mientras trabajaba en una propuesta para un importante programa de implementación de
software de recursos humanos COTS, un analista senior fue responsable de revisar las
herramientas CM automatizadas y hacer una recomendación. Aunque él siguió
En el proceso de estudio comercial estándar de la organización, después de presentar su
recomendación inicial para una herramienta, encontró información de que la herramienta
no funcionaría en el entorno al que serviría. Se dio cuenta de que él
Necesitaba volver a la mesa de dibujo y revisar su recomendación inicial para reflejar los
requisitos del mundo real. Las siguientes lecciones aprendidas
desde su experiencia le puede ayudar en la realización de evaluaciones de COTS
productos, independientemente del tipo de herramienta automatizada necesaria.
1. Tenga siempre en cuenta las preferencias de sus clientes, pero no haga recomendaciones
que simplemente atiendan a esas preferencias, cuando el comercio
El análisis del estudio no lo respalda. Cualquier cliente merece una revisión
equilibrada de las opciones según los criterios seleccionados. El
El propósito de un estudio comercial es explorar los hechos y hacer recomendaciones
basadas en esos hechos. Es bueno ser consciente de una
preferencias del cliente, pero no debe ser la principal ni la única
tenga en cuenta su recomendación final, a menos que los hechos respalden
la preferencia del cliente. Esto es muy difícil de lograr, pero
es un objetivo que vale la pena. En mi experiencia de estudio comercial, el cliente
ya había invertido en un conjunto de herramientas y quería una
recomendación que respaldó esa compra. Necesitábamos
Evite la tentación de aprobar la elección del cliente y
intentó demostrar exactamente por qué su herramienta preferida no funcionaba
trabajar en su entorno de desarrollo. Fuimos capaces de
mostrar que si seleccionáramos su herramienta preferida, el proyecto sería
experimentar más esfuerzo y costo y crear la necesidad de en su mayoría
soluciones manuales (no un enfoque automatizado). Finalmente,
pudimos convencer al cliente de que su herramienta preferida
no era aceptable porque no podía lograr lo necesario
Funciones de identificación y control.
2. Si utiliza criterios de selección previamente definidos para su estudio comercial, tenga en cuenta
Asegúrese de adaptar los criterios para incluir factores y circunstancias apropiados.
En nuestra organización, nuestras Pymes CM previamente reunidas
las funciones y otros criterios que les gustaría ver respaldados
a través de herramientas automatizadas. La mayoría de los equipos probablemente harán una lluvia de ideas
Machine Translated by Google
90 Requisitos de reunión
4. Siempre que sea posible, obtenga una copia de demostración de las herramientas
que está revisando y pruébelas en su entorno. Con demasiada frecuencia, los
proveedores no comprenden bien sus criterios ni los requisitos de sus clientes. A
menudo traen una demostración predefinida de su herramienta con capacidades
limitadas que no está configurada para funcionar en su entorno. También trabajan
para convencerle de que las capacidades que demuestran funcionarán en su
entorno, pero no pueden mostrarle exactamente cómo funcionarán. Esto puede
parecer el mejor uso de su tiempo y supone una carga para el proveedor para
demostrar que puede desempeñarse, pero a menudo obliga a tomar decisiones
basadas en un sentimiento, en lugar de en un hecho. El mejor remedio para esta
situación es solicitar al proveedor que le proporcione una versión por tiempo
limitado de su herramienta actual, pedirle ayuda para configurar la herramienta y
revisar el rendimiento de la herramienta según sus criterios. Por supuesto, deberá
incluir suficiente tiempo en su plan de estudio comercial para realizar estas
demostraciones en la planta. Esto proporcionará a los gerentes y clientes los
datos que necesitan para tomar sus decisiones.
5. Asegúrese de que este sea un proceso iterativo. Generalmente ocurre que cuando
se realiza un estudio comercial, no toda la información que necesita para tomar
decisiones está disponible. Cuando hechos adicionales
(p. ej., requisitos, capacidades de herramientas) superficie, debe estar
Machine Translated by Google
Planifique el enfoque 91
preparado para volver a la mesa de dibujo, revisar sus criterios, actualizar su análisis
y posiblemente cambiar su recomendación. Por supuesto, el tiempo es un factor
importante para hacer esto, pero al menos debe mencionar estos cambios a su
cliente cuando haga su recomendación y dejar que el cliente decida si estos
factores requieren otra revisión.
Earl Hoovler
Ingeniero de Procesos
Otros.
92 Requisitos de reunión
entorno de software de ingeniería (ESE). 9 Sin embargo, la mayoría de las veces, el proyecto
necesitará utilizar el proceso de adquisiciones de la organización. Dependiendo de
situación, esto puede ser rápido y fácil, pero a menudo este paso resulta ser
muy laborioso y complejo. No permita que su proyecto se vea comprometido debido a la
disponibilidad tardía de los requisitos automatizados apropiados.
herramienta. Comenzar temprano. Explique la importancia a su gente de adquisiciones. Facilite
que formen parte de su equipo de requisitos. Haga un seguimiento agresivo.
Involucre a su gerente, al PM y a la alta dirección de la organización.
para garantizar que obtenga el apoyo que necesita para que las cosas sucedan dentro
limitaciones de tiempo razonables.
21. Cargue los requisitos reales iniciales en la herramienta de requisitos seleccionada, etiquete cada uno
requisito de forma única e iniciar la asignación de información de atributos apropiada para
cada requisito.
Mencionamos esta tarea anteriormente en este capítulo. Quizás descubras que esta tarea
resulta ser mucho más trabajo de lo que anticipa. Algunas de las razones para
estos son los siguientes:
Se debe identificar e incluir en la base de datos la fuente, historia, prioridad, estado, autor,
asignación y trazabilidad de cada requisito. Muchos otros atributos de cada requisito
deberán ser
Seguimiento también. Por ejemplo, hay dos tipos de atributos en
PUERTAS, atributos definidos por el usuario y atributos definidos por el sistema. Los
atributos definidos por el usuario se pueden crear a partir de tipos de atributos específicos, como
texto, número entero, fecha, etc., y los usuarios crean instancias para su
propias necesidades. Los atributos definidos por el sistema, sin embargo, están predefinidos por
DOORS y registra automáticamente información esencial y muy útil en segundo plano.
Los atributos le permiten asociar información
con grupos de requisitos individuales o relacionados y a menudo facilitan
9. Algunas organizaciones patrocinan la disponibilidad de un conjunto de herramientas automatizadas que pueden ser utilizadas por los administradores de la organización.
proyectos. En Northrop Grumman IT DES, llamamos a esta biblioteca de herramientas disponibles para prestar el software de ingeniería.
medio ambiente o ESE.
Machine Translated by Google
Planifique el enfoque 93
Consulte la Tabla 5.8 para ver ejemplos de atributos que quizás desee incluir en un
matriz de atributos.
Evite la tentación de utilizar más atributos de los realmente necesarios para
la tarea a mano. Algunos atributos bien elegidos que realmente se ingresan y
gestionados son mucho más útiles que docenas que están mal ejecutadas o
fácilmente confundido.
El inserto 5.3 proporciona algunas ideas sobre el uso de los atributos del sistema
basadas en información proporcionada por Pete Carroll, anteriormente de Telelogic.
Prioridad Medio
Estado Aprobado
Costo Bajo
Dificultad Medio
Estabilidad Medio
94 Requisitos de reunión
Inserto 5.3—Algunas ideas sobre el uso de los atributos del sistema en DOORS
Los atributos en DOORS permiten a los usuarios asociar datos con objetos, tablas
marcadores, celdas de tablas, módulos y proyectos. Hay dos tipos de
atributos, definidos por el usuario y definidos por el sistema. Usuario definido
Los atributos pueden crearse a partir de tipos de atributos específicos, como texto, entero,
fecha y similares, y los usuarios pueden crear instancias para sus propias necesidades.
Los atributos definidos por el sistema, sin embargo, están predefinidos por DOORS y
registra automáticamente una gran cantidad de información esencial y muy útil en segundo
plano.
¿Alguna vez te has preguntado cómo hacer uso de estos sistemas definidos?
atributos proporcionados automáticamente por DOORS? Aprovechar estos “para
Los atributos gratuitos y listos para usar pueden facilitar su trabajo en DOORS.
y más productivo.
Los atributos le permiten asociar información con individuos o
grupos de requisitos relacionados y, a menudo, facilitan el análisis de los datos de
requisitos mediante el filtrado y la clasificación en función de los valores de los atributos.
Los atributos definidos por el sistema también se pueden utilizar para filtrar y ordenar, y mientras
son en su mayor parte de sólo lectura y no modificables por el usuario, realizan una
recopilación de información esencial y automática para nosotros. Los atributos del sistema
de sólo lectura, que existen automáticamente en todos los objetos y
módulos, incluyen lo siguiente:
Última modificación por Nombre del usuario que modificó el objeto por última vez
Planifique el enfoque 95
Inserto 5.3—Algunas ideas sobre el uso de los atributos del sistema en DOORS
(continuado)
Todos los atributos definidos por el sistema anteriores, modificables o no, registran
información automáticamente y pueden usarse tal como los definidos por el usuario.
atributos para mostrar datos esenciales para la gestión de sus requisitos. Utilice atributos
definidos por el sistema siempre que necesite mostrar
información sobre quién, qué, dónde y cuándo, así como información crucial
información sobre modificaciones de requisitos.
En cualquier módulo DOORS, inserte una columna y seleccione de la lista Atributo de
visualización el atributo Creado por definido por el sistema para mostrar
quien creó un requisito. Inserte una segunda columna y use el
atributo Última modificación definido por el sistema para mostrar quién hizo la última
cambiar a un requisito. Inserte una tercera columna utilizando el atributo Última modificación
definido por el sistema para mostrar cuándo se realizó el último cambio.
se hizo. Ahora tienes una vista que refleja la creación original.
¡e información de cambio esencial sobre sus requisitos! Mejor todavía,
seleccione el Asistente de impacto/rastreo en el menú HerramientasImpacto/rastreo,
y en la segunda ventana seleccione mostrar cualquier número de
las opciones disponibles de atributos de enlace y objetos definidos por el sistema. Este
asistente, completo con atributos definidos por el sistema disponibles para su selección,
Crea rápida y fácilmente vistas de análisis de impacto y seguimiento completas con
información esencial, como la creación de objetos (Creado por, Creado el),
fechas de cambios (Última modificación el) y otra información útil,
como el nombre del módulo de enlace en el que se registran los enlaces (Módulo de enlace
Nombre).
En resumen, los atributos definidos por el sistema proporcionan soluciones a algunos
Necesidades de seguimiento de información. Utilice atributos definidos por el sistema para su
ventaja para simplificar los requisitos y la gestión de cambios.
Ian Alexander advierte que, si bien pueden ser necesarios entre 20 y 40 atributos,
a menudo es posible arreglárselas con menos. Ha visto a gerentes técnicos de alto rendimiento
identificar 20 o más atributos, no verificar la necesidad de
y crear mucho trabajo innecesario. Así como somos responsables de
Para identificar los requisitos reales, debemos asegurarnos de que las actividades laborales que
recomendamos y utilizamos sean realmente necesarias. Una buena planificación y un análisis cuidadoso de
“Por qué” las actividades laborales son “requeridas” son componentes importantes de la RA.
role.
Machine Translated by Google
96 Requisitos de reunión
"¡Vaya!" Usted dice: "ya estamos en el paso 22 de este capítulo y recién ahora vamos a hablar sobre
cómo reunir los requisitos". Buen punto. En realidad, hemos estado hablando de pasos relacionados a lo
largo de este capítulo. Cada uno de los pasos anteriores es parte del proceso de recopilación de requisitos.
Le sugiero que descargue el artículo “Prácticas recomendadas de recopilación de requisitos” [27], del
sitio web de CrossTalk (haga clic en la edición de abril de 2002 sobre requisitos riesgosos). Allí, brindo
consejos detallados y discusiones relacionadas con este paso, recomiendo técnicas específicas y sugiero
varias referencias apropiadas que lo ayudarán. (No sienta que tiene que leer y digerir cada referencia;
simplemente obtenga suficiente información para comenzar a trabajar de manera efectiva en su tarea
actual. Siempre puede regresar y leer más o más. En otras palabras, intente utilizar referencias para
informar. , motivarte e inspirarte, en lugar de permitir que te creen un sentimiento de frustración por tu falta
de conocimiento o que sean una barrera que te frene).
Entrevistas;
Análisis de documentos;
Lluvia de ideas;
Creación de prototipos;
Guiones gráficos;
Análisis de interfaces;
Modelado;
Escenarios.
Entre los muchos libros que incluyen tratamientos extensos de los requisitos,
obtención de comentarios, asegúrese de tener lo siguiente en su biblioteca personal:
Carr, et al., Asociación en la construcción: una guía práctica para el éxito del proyecto
Planifique el enfoque 97
Wiley, Requisitos esenciales del sistema: una guía práctica para la gestión basada en eventos.
Métodos
Consulte la página web de Vitech (www.vtcorp.com) para obtener información sobre la herramienta
de requisitos CORE y una versión que se puede descargar para su evaluación. Esta herramienta
proporciona capacidades de modelado de comportamiento. The Engineering Design of Systems:
Models and Methods [28] de Buede describe el uso de esta herramienta para modelar y proporciona
problemas de ejemplo para ayudarlo a familiarizarse con el uso de la herramienta. Rational Rose y
BPwin son otras herramientas que proporcionan modelos de comportamiento. A veces, los diagramas
son extremadamente útiles para transmitir los requisitos esenciales del sistema, para ver cómo un
sistema encaja en sistemas más grandes en su entorno y para comprender cómo encajan entre sí los
componentes de un sistema.
98 Requisitos de reunión
Finalmente, lea “Una forma rápida y precisa de determinar las necesidades del cliente” de
Cristina Afors y Marilyn Zuckerman [29]. Los autores de este artículo creen que los clientes tienden
a decir una cosa durante la obtención de requisitos y luego hacen algo completamente diferente.
Recomiendan una tecnología llamada análisis de huellas que tiene en cuenta las emociones
humanas. Creen que el análisis de huellas puede en realidad predecir el comportamiento humano.
Una de las 10 prácticas de requisitos efectivas que recomiendo en mi libro anterior es "Iterar los
requisitos y la arquitectura repetidamente". La experiencia de la industria ha demostrado que este
es un consejo valioso. Anteriormente recomendé realizar tres o cuatro iteraciones del desarrollo de
requisitos (consulte la experiencia de Ellen Gottesdiener analizada en el paso 6). En varias
situaciones en mi carrera, he tenido la oportunidad de trabajar con un arquitecto o diseñador de
sistemas para iterar los requisitos reales y la arquitectura o diseño previsto para el sistema o
software planificado. Mi experiencia es que cuando dedicamos tiempo y esfuerzo a hacer esto,
desarrollamos mejores requisitos y una arquitectura más sólida. La razón es que los requisitos y la
arquitectura dependen unos de otros. Cuando iteramos uno con el otro, ambos se vuelven mejores,
más fuertes, más robustos y flexibles y son más capaces de adaptarse a cambios futuros y nuevas
tecnologías (porque tenemos una mejor comprensión). Piensa sobre esto. Tiene sentido y es una
de las mejores prácticas comprobadas de la industria.
Mencionamos este paso anteriormente en este capítulo. Resulta que la trazabilidad bidireccional
(desde las necesidades y requisitos reales del cliente y usuario hasta los productos, y viceversa)
de los requisitos es (1) crítica para el éxito del proyecto, y (2) una tarea compleja y difícil que requiere
una experiencia considerable para desempeñarse bien. La trazabilidad de los requisitos es la
capacidad (1) de correlacionar la necesidad del cliente con el requisito; (2) rastrear (identificar y
rastrear) la instanciación de cada requisito en todos los productos de trabajo, desde la especificación
de requisitos hasta el diseño y el desarrollo de componentes del sistema, a través de pruebas y
documentación del sistema; y (3) asignar un requisito principal a un requisito secundario, y
viceversa. Esta capacidad es absolutamente crítica para todos los sistemas. Una pauta clave aquí
es ser coherente: utilizar el mismo tipo de rastreos para todos sus documentos originales. Un RTM
automatizado en la herramienta de requisitos automatizados es el mecanismo que debe utilizarse
para proporcionar esta trazabilidad. Deberías digerir a James D.
Planifique el enfoque 99
Analizar los escenarios y extraer las necesidades comunes de los usuarios (es decir,
los requisitos). Compílelos en una lista numerada de forma única que formará la
base de una especificación de requisitos.
4. Después del taller, organice las necesidades del usuario en una jerarquía utilizando
descripciones breves y resumidas (lo que se conoce como jerarquía de necesidades).
Esto proporciona una estructura lógica inicial para el desarrollo propuesto y crea una
valiosa herramienta para la toma de decisiones al permitir que todos los elementos
del desarrollo se vean en una sola página (o al menos en una pequeña cantidad de
páginas).
5. Comprobar la cordura de los escenarios con personas que tengan un nivel adecuado
de conocimientos, pero que estén fuera del equipo del proyecto.
6. Evaluar en qué medida las partes interesadas valoran las diferentes necesidades
enviando un cuestionario a un grupo selecto. Coteje los resultados y reflejelos en la
jerarquía de necesidades, por ejemplo, resaltando las necesidades en diferentes
colores que reflejen las categorías de valor alto, medio y bajo.
7. Llevar toda esta información a un segundo taller de “scooping” con los siguientes
objetivos:
Los productos finales clave son (1) una serie de escenarios que pueden ser
utilizado para ilustrar la visión de desarrollo, (2) una lista numerada y anotada de
necesidades y requisitos de los usuarios, (3) una jerarquía de necesidades que
muestra tanto la visión amplia como el alcance del desarrollo propuesto,
y (4) un documento que contenga los detalles de la toma de decisiones.
razón fundamental.
SUNA fue desarrollado por primera vez en 1998 por BT como subproducto de un
proyecto paneuropeo que examinó cómo aprendemos y a quién aprendemos.
de. El resultado del proyecto fue un innovador servicio basado en web.
prototipo que influyó en el diseño de productos de aprendizaje establecidos. Positivo
Las relaciones, creadas en ese momento, impulsaron posteriores
colaboraciones.
SUNA ahora se ha utilizado ampliamente en pequeñas colaboraciones.
proyectos de investigación en entornos principalmente comerciales y algunos
académicos. Se ha aplicado en campos que van desde el aprendizaje y la educación
hasta los aspectos técnicos de la gestión de múltiples dispositivos y, en general,
Se ha descubierto que ayuda a promover la claridad, la innovación y las buenas
relaciones. No es probable que SUNA sea relevante para grandes sistemas complejos
y los beneficios del enfoque pueden verse restringidos cuando
Hay una interacción humana limitada y numerosas limitaciones fijas, pero
si hay flexibilidad y deseo de innovación, vale la pena considerarlo. Para obtener más
información, consulte www.essex.ac.uk/chimera/consultancy.html.
25. Identificar los requisitos que se cumplirán en la primera versión o productos iniciales.
(priorizar necesidades reales).
Machine Translated by Google
Implícito en esta declaración está el concepto de tener más de una versión, reconociendo
que rara vez, o nunca, podemos cumplir con todos los requisitos reales en una sola
versión. Si ha trabajado bien y en colaboración con sus clientes y usuarios, ellos habrán
llegado a comprender que el sistema planificado no puede serlo todo para todas las
partes interesadas, probablemente nunca, pero ciertamente no en su entrega inicial,
instalación y conversión de servicios relacionados. y bases de datos necesarias,
implementación, operación, documentación y esfuerzos de capacitación (por favor,
comprenda de esta lista que la entrega o rotación del sistema es un conjunto de
actividades muy complejo; el proyecto puede descarrilarse fácilmente porque existen
muchos riesgos, muchos de los cuales no están bajo el control del proyecto). Trabaje
duro con sus clientes y usuarios para evolucionar e identificar los requisitos reales que
se cumplirán en la primera versión o en los productos iniciales. Una línea base de
requisitos es el conjunto de requisitos asociados con una versión particular de un producto
o sistema. Involucre a su gerente, el PM, los clientes y los usuarios en el desarrollo de un
enfoque de priorización de requisitos que tenga una alta probabilidad de éxito. Mire
detenidamente para identificar, evaluar y mitigar los riesgos (con suerte, todavía es
miembro del equipo de gestión de riesgos del proyecto y el proceso de gestión de
riesgos está bien y activo).
26. Establecer un enfoque para una prueba de concepto, prototipo u otra aproximación de
producto de trabajo.
Este paso (y muchos otros) entra en la categoría de sentido común. A las personas a
menudo les resulta imposible decir lo que quieren hasta que ven algo tangible a lo que
puedan reaccionar. Para cambios menores de diseño, la versión anterior del producto
puede realizar esta función bastante bien. Cuando el diseño es fundamentalmente
nuevo, los prototipos son esenciales para comprender realmente los requisitos. Si se
omite la creación de prototipos en el proceso de diseño, la primera versión se convierte
en realidad en el prototipo y todas sus deficiencias se hacen visibles para el mercado.
Todos somos conscientes de que lograr que los clientes y usuarios revisen prototipos y
pruebas de concepto les permite identificar necesidades y problemas de manera
temprana, antes de que los desarrolladores hayan desarrollado los productos de trabajo
finales. Esto ahorra esfuerzo, tiempo y dinero en nuestro objetivo de que los clientes y
usuarios acepten los productos de trabajo. La experiencia de la industria muestra que los
prototipos son eficaces para reducir el aumento de los requisitos10 y pueden combinarse con otros efica
10. La AR debe tener un conocimiento profundo de la proliferación de requisitos, la fuga de requisitos, las fuentes de
requisitos no oficiales y las formas de controlar estos problemas. Estudie el Capítulo 10 en Prácticas efectivas de
requisitos [2].
Machine Translated by Google
métodos, como talleres de requisitos y JAD [31]. Los prototipos por sí solos pueden reducir el
aumento de los requisitos entre un 10% y un 25% (lea costos y cronogramas reducidos). La
creación de prototipos debe considerarse tanto una técnica de obtención como parte del ciclo de
vida; es una forma especialmente buena de abordar y validar las necesidades tácitas y aclarar
los requisitos reales.
27. Incorporar las mejores prácticas de requisitos y obtener apoyo de gestión para una ingeniería
de requisitos eficaz (incluido un enfoque de calidad integrado).
¡Ahora hay una tarea difícil! Analizaremos las mejores prácticas de requisitos en el siguiente
capítulo. Sin embargo, creo que este tema es tan importante que decidí escribir un libro completo
sobre él (de hecho, dos libros). Estudie las prácticas efectivas de requisitos [2], prestando
especial atención al Capítulo 11. Discuta el uso de las mejores prácticas que considere apropiadas
para su situación en su entorno con su gerente y el PM. Tomar acción. No te reprimas. Descubrirá
que ha prestado un valioso servicio a su proyecto. Tenga en cuenta que es mucho más fácil
iniciar una acción que seguirla y garantizar que, de hecho, la mejor práctica se haya implementado
e implementado efectivamente en un proyecto y se haya institucionalizado en toda la organización.
El despliegue, la implementación efectiva y la institucionalización de cualquier práctica son un
desafío. Es necesario convencer a los demás de que vale la pena dedicar tiempo y esfuerzo a
realizar las prácticas. Siempre que sea posible, “gestionar por hechos”; es decir, recopilar datos
para poder determinar si las cosas han mejorado y, de ser así, en qué medida. Gestionar por
hechos (en lugar de hacerlo por simpleza o por intuición) es un hábito valioso y útil que se debe
desarrollar.
Estudie el Capítulo 8 de este volumen. Un revisor del borrador del índice de este libro me
advirtió que quizás el tema de la calidad esté fuera del alcance de este libro. Luché con esta
retroalimentación y finalmente llegué a la conclusión de que la calidad es inseparable de un
trabajo de requisitos efectivo. Lea el Capítulo 8 y espero que esté de acuerdo.
Antes de completar los requisitos para la versión 1, asegúrese de que exista una base o
fundamento válido para iniciar el trabajo técnico posterior, es decir, la programación, el desarrollo
o la codificación. Tenga en cuenta que la experiencia de la industria es que una vez que se
completan los requisitos, las actividades posteriores, como las inspecciones de diseño,
inspecciones de códigos y pruebas, no son muy efectivas para eliminar los defectos de los
requisitos. De hecho, una vez que los defectos importantes están incluidos en los requisitos,
tienden a ser inmunes a la mayoría de las formas estándar de eliminación de defectos y son
especialmente resistentes a la detección mediante pruebas. Estas lecciones abogan firmemente
por una tesis importante de este libro: es necesario dedicar más tiempo y esfuerzo al proceso
de requisitos y a identificar los requisitos reales. Le sugiero que se familiarice con los materiales
escritos por Capers Jones para ser más consciente de los temas relacionados [32–38].
Resumen
En este capítulo, he sugerido utilizar una lista de verificación de 28 pasos que comprenden un
procedimiento para recopilar requisitos. Esto puede parecer una gran cantidad de pasos,
quizás adecuados sólo para un proyecto grande y maduro. En realidad, los proyectos de todos
los tamaños y todos los niveles de madurez deberán abordar estos pasos. Todos los proyectos
abordarán estos pasos ya sea de manera ordenada o al azar. He enfatizado que cuando el
enfoque de recopilación de requisitos no es efectivo, se crea el escenario para un esfuerzo
técnico desperdiciado durante las actividades de seguimiento del proyecto (léase: el resto del
proyecto), creando la necesidad de retrabajo y poniendo en peligro el éxito del proyecto. Tengo
otra sugerencia para usted: lea “Los hábitos de los analistas eficaces” de Wiegers [39]. En este
artículo, otro experto de la industria11 comparte su opinión. Creo que encontrará mucha
correspondencia entre este capítulo y el consejo de Wiegers. Visite su sitio web y aproveche
sus numerosas sugerencias, escritos, ideas, recetas y "obsequios". Wiegers, Ian Alexander,
Ivy Hooks, Jeff Grady (y yo) brindamos capacitación y consultoría sobre requisitos eficaces.
Caso de estudio
Una vez que se establecieron y acordaron los requisitos, el equipo del proyecto se comprometió
con un cronograma de entrega y un método para controlar los requisitos. Si de repente surgía
un nuevo requisito, por cualquier motivo, el cliente tenía que priorizarlo. Para hacer esto, los
clientes exigieron saber el impacto que tendría (por ejemplo, semanaspersona de esfuerzo).
Para proporcionar esta estimación, el líder del equipo clave y con más conocimientos tuvo que
gastar
11. Fortalezca su hábito de utilizar materiales e ideas desarrollados por otros, incluidos expertos de la industria. Por
ejemplo, Karl Wiegers, Ian Alexander, Ivy Hooks, Charles Markert, Tom Gilb, Jeff Grady y otros me han ayudado
a crecer y aprender. Se han hecho amigos y sus enseñanzas ahora son parte de cómo hago mi trabajo diario.
Machine Translated by Google
Referencias
[1] PorterRoth, B., Solicitud de propuesta: una guía para el desarrollo eficaz de RFP, Boston,
MA: AddisonWesley, 2002.
[2] Young, RR, Prácticas de requisitos eficaces, Boston, MA: AddisonWesley, 2001.
[4] Sharp, H., et al., “Identificación de partes interesadas en el proceso de ingeniería de requisitos”, IEEE
(1999): 387–391.
[5] Gottesdiener, E., Requisitos por colaboración: talleres para definir necesidades, Boston, MA: Addison
Wesley, 2002.
[6] Wiegers, KE, Requisitos de software, 2.ª ed., Redmond, WA: Microsoft Press,
2003.
[7] Weinberg, gerente general, “¡Simplemente diga no! Mejorando el proceso de requisitos”, Programador
estadounidense (10) (1995): 19–23.
[8] Young, RR, Plantilla de plan de requisitos y plan de requisitos de muestra, en www.ralphyoung.net.
[9] Wiegers, KE, Revisiones por pares en software: una guía práctica, Boston, MA: Addison
Wesley, 2002.
[10] Waugh, P., "Materiales de capacitación para participantes en la revisión por pares y moderadores de
la revisión por pares". Northrop Grumman IT DES, 2003. Contáctela en penny.waugh@
ngc.com.
[12] Boehm, B., “Spiral Model of Software Development and Enhancement”, IEEE Computer (mayo de
1988) (también publicado en Barry Boehm, Software Risk Management, IEEE Computer Society
Press, 1989, 26).
[13] Boehm, B. y WJ Hanse, “The Spiral Model As a Tool for Evolutionary Acquisition”, un esfuerzo
conjunto del Centro de Ingeniería de Software de la Universidad del Sur de California y el SEI,
CrossTalk (mayo de 2001) : 4–11 .
[14] Wiegers, KE, “10 Requisitos Trampas a Evitar”, Revista de Ingeniería de Calidad y Pruebas de
Software (enero/febrero de 2000), en www.stqemagazine.com/featured.asp?id=8.
[15] Wiegers, KE, "¿Funcionan sus inspecciones?" StickyMinds.com (24 de junio de 2002), en
www.stickyminds.com.
Machine Translated by Google
[19] Korson, T., “El mal uso de los casos de uso: gestión de requisitos”, en www. korsonmcgregor.com/
publications/korson/Korson9803om.htm.
[20] Wiegers, KE, "Lo primero es lo primero: priorizar los requisitos", Software
Revista Desarrollo 7(9) (septiembre de 1999): 24–30.
[21] Jones, C., Calidad del software: análisis y directrices para el éxito, Londres:
Prensa internacional de computadoras Thomson, 1997.
[22] Grady, JO, Validación y verificación del sistema, Boca Ratón: CRC Press, 1997.
[23] Hooks, IF y KA Farry, Productos centrados en el cliente: creación de productos exitosos a través
de la gestión inteligente de requisitos, Nueva York: AMACOM,
2001.
[24] EPIC, A Systems Engineering Capability Maturity Model, Versión 1.1, noviembre de 1995. SEI,
CarnegieMellon University, Pittsburgh, PA, en www.sei.cmu.edu/pub/documents/95.reports/pdf/
mm003. 95.pdf.
[26] Wiegers, KE, “Automatización de la gestión de requisitos”, Desarrollo de software (julio de 1999).
Disponible en www.processimpact.com.
[27] Young, RR, “Prácticas recomendadas de recopilación de requisitos”, CrossTalk 15(4) (abril de
2002): 9–12, en www.stsc.hill.af.mil/crosstalk/2002/index.html.
[28] Buede, DM, El diseño de ingeniería de sistemas: modelos y métodos, Nueva York: John Wiley &
Sons, Inc., 2000.
[29] Afors, C. y MZ Michaels, “Una forma rápida y precisa de determinar las necesidades del cliente”,
Sociedad Estadounidense para la Calidad, Progreso de la Calidad (julio de 2001): 82–87.
[30] Palmer, JD, “Trazabilidad”, Ingeniería de requisitos de software, RH Thayer y M. Dorfman, eds.,
Los Alamitos, CA: IEEE Computer Society Press, 1997, págs.
[31] Wood, J. y D. Silver, Desarrollo conjunto de aplicaciones, Nueva York: John Wiley &
Hijos, 1995.
[32] Jones, C., Evaluación y control de riesgos de software, Englewood Cliffs, Nueva Jersey: Prentice
Salón, 1994.
[33] Jones, C., Estimación de costos de software, Nueva York: McGraw Hill, 1998.
[34] Jones, C., "Factores positivos y negativos que influyen en la productividad del software",
Burlington: MA, Software Productivity Research, Inc., Versión 2.0, 15 de octubre de 1998.
[35] Jones, C., Evaluaciones de software, puntos de referencia y mejores prácticas, Reading, MA:
AddisonWesley, 2000.
[36] Jones, C., "Calidad del software en 2000: qué funciona y qué no",
Burlington, MA: Software Productivity Research Inc., 18 de enero de 2000.
[37] Jones, C., “Software Project Management in the 21st Century”, American Programmer 11(2)
(febrero de 1998), en http://spr.com/news/articles.htm.
Machine Translated by Google
[38] Jones C., "Qué significa ser 'el mejor en su clase' en software", Burlington, MA,
Software Productivity Research, Inc., versión 5, 10 de febrero de 1998.
[39] Wiegers, KE, “Habits of Effective Analysts”, Desarrollo de software (octubre de 2000), en
www.processimpact.com.
Machine Translated by Google
.
Machine Translated by Google
CAPÍTULO
Caso de estudio
En capítulos anteriores he sugerido que hagas ciertas cosas y no hagas otras.
Referencias
En este capítulo, comparto un conjunto de mejores prácticas para el desarrollo
y la gestión de requisitos. La frase "Mejores prácticas" se utiliza con frecuencia
en la ingeniería de sistemas y software (entre muchas otras profesiones).
Escuchamos y leemos mucho sobre las mejores prácticas. Sin embargo, en
realidad no dedicamos tiempo ni esfuerzo a evaluarlos, analizarlos, ponerlos a
prueba, desplegarlos, implementarlos e institucionalizarlos. La razón es
bastante sencilla: supone mucho trabajo. Requiere lo siguiente:
Evaluar su impacto, tal vez incluso diseñar una forma de medir los resultados
de su uso;
109
Machine Translated by Google
Visto desde esta perspectiva, es más fácil entender por qué las mejores prácticas
Las políticas no se implementan ni institucionalizan.
La Tabla 6.1 proporciona una lista de mejores prácticas para el desarrollo de requisitos.
y gestión.
Algunas de estas mejores prácticas se han discutido con cierta profundidad en otras partes de
este libro, por lo que limitaré mis comentarios sobre ellas en este capítulo.
Mi objetivo es convencerte de que vale la pena el esfuerzo de al menos poner a prueba cada uno de
estas mejores prácticas en su proyecto y haga un esfuerzo serio para evaluar
los resultados del uso de cada mejor práctica.
La tabla 6.1 ha sido elaborada cuidadosamente y me gustaría explicar su estructura.
Primero, las actividades de requisitos en una tarea o proyecto están indisolublemente entrelazadas
con las actividades de gestión de proyectos, así como con otras disciplinas.
como CM, ingeniería de sistemas y control de calidad. El enfoque de requisitos que
se utiliza en una tarea o proyecto no se desarrolla ni se implementa en el vacío
por la RA. Se desarrolla a través de un conjunto de decisiones que necesariamente implican
otras personas clave, incluido el cliente, el PM, el ingeniero de sistemas y otros.
Le recomiendo que comparta la Tabla 6.1 con el equipo de liderazgo de la tarea o proyecto.
(incluido el cliente) y seleccionar conjuntamente las mejores prácticas que ustedes, como equipo,
determinen que deben utilizarse en su tarea o proyecto. Este artefacto está disponible para
descargar en mi sitio web (www.ralphyoung.net).
En segundo lugar, las mejores prácticas recomendadas en la Tabla 6.1 se agrupan en
tres categorías:
1. Desarrollo de requisitos;
2. Gestión de requisitos;
3. Gestión de proyectos.
111
un buen requisito.
3 Identificar e involucrar a todos los stakeholders. X 1, 5, 6
en la tarea o proyecto.
4 Asegurar que los objetivos de la tarea o X 5
proyecto han sido identificados, documentados,
y acordado por las partes interesadas.
5 Utilice talleres de requisitos para lograr un X 5, 6
visión compartida, facilitar el compromiso y
obtener la aceptación de todas las partes interesadas.
6 Proporcionar capacitación sobre requisitos para RA, para X XX 5
miembros del personal del proyecto, y para
partes interesadas.
Las razones para realizar la planificación con respecto a las actividades relacionadas con
los requisitos y los contenidos sugeridos de un plan de requisitos se analizan en
Capítulos 1 y 5.
2. Escribir requisitos que cumplan con los criterios de un buen requisito proporcionado en
Tabla 1.1.
Si no realiza este paso, deténgase aquí. La Tabla 1.1 proporciona una lista de criterios
sugeridos para un buen requisito. Hay mucha información sobre este tema.
disponible: varios autores han proporcionado varias versiones con resultados muy similares.
criterios. Sorprendentemente, estos criterios rara vez se aplican en la práctica. Esto es un
Machine Translated by Google
113
ejemplo flagrante de una situación en la que sabemos cómo hacerlo mejor, pero elegimos no utilizar
nuestro conocimiento y experiencia. Esta es una oportunidad para que usted haga una valiosa
contribución a los proyectos que apoya. Considere incluir estos criterios como una lista de verificación
en su herramienta de requisitos automatizada.
Descubrirá que se ahorrará mucho tiempo y dinero como resultado de la aplicación de los criterios.
Asegúrese de que todas las partes estén identificadas e involucradas en el proceso de desarrollo
de requisitos. Con demasiada frecuencia, no identificamos a todas las partes interesadas que
deberíamos. Omitir a un grupo de partes interesadas puede provocar un estallido más adelante en
el trabajo de desarrollo. Las partes interesadas incluyen el cliente, los usuarios, las organizaciones
de control y gestión de programas, los equipos de desarrollo y arquitectura, el personal jurídico, los
grupos de pruebas, los clientes de interfaz, etc.
En el Capítulo 5 se proporcionan sugerencias y enfoques sobre cómo lograr esto.
4. Asegurar que los objetivos de la tarea o proyecto hayan sido identificados, documentados y
acordados por las partes interesadas.
Esto debe hacerse con antelación y puede lograrse escribiendo un “documento de visión y
alcance” [1]. La disponibilidad de objetivos de proyecto definidos y acordados ayuda al equipo de
desarrollo a mantener el enfoque y proporciona una base común para identificar los requisitos reales
y evaluar sus prioridades. Ayuda a garantizar que todos consideren el sistema o las capacidades de
software necesarias desde la misma perspectiva y también ayuda a quienes proporcionan la
financiación a comprender qué se debe hacer y cómo respalda a la organización.
5. Utilice talleres de requisitos para lograr una visión compartida, facilitar el compromiso y lograr la
aceptación de todas las partes interesadas.
De todos los métodos y técnicas de recopilación de requisitos, los talleres de requisitos parecen
ser los más eficaces. La definición de Ellen Gottesdiener de un taller de requisitos proporciona
información sobre por qué es tan eficaz [2, p. 9]:
6. Proporcionar capacitación en requisitos a los RA, a los miembros del personal del proyecto y a los
partes interesadas.
7. Identificar los requisitos reales. Colaborar con clientes y usuarios en relación con
los requisitos establecidos para identificar los requisitos reales. Mire los requisitos
desde múltiples puntos de vista [3].
Confío en que ya comprenda la diferencia entre los requisitos establecidos y los requisitos
reales. Su principal responsabilidad es colaborar con
clientes y usuarios sobre los requisitos establecidos para identificar los requisitos reales.
Este es el Rol 1 en el contexto de los roles definidos en el Capítulo 2: servir
como facilitador de requisitos para trabajar en colaboración con los clientes,
usuarios, arquitectos y diseñadores de sistemas para identificar los requisitos reales.
Su primer paso será convencer a su PM, cliente y usuarios de que es
Es esencial y vale la pena invertir tiempo y esfuerzo adicionales en el proceso de
requisitos, en este caso, para revisar los requisitos establecidos y evolucionar los requisitos reales.
requisitos utilizando un concepto o mecanismo de equipo conjunto. No te saltes esta crítica
paso: es el problema más importante de la industria en ingeniería de requisitos y al que
casi siempre se le presta atención insuficiente. Aplicar efectivo
técnicas de recopilación de requisitos como las descritas en el Capítulo 5.
Al colaborar con sus clientes y usuarios, adapte la lista de verificación proporcionada en
Tabla 5.1 a las necesidades de su proyecto en su entorno. revisar lo real
requisitos desde una variedad de perspectivas, es decir, las de todas las partes
interesadas del proyecto.
115
Este fue el tema del Capítulo 5. Algunas técnicas de recopilación de requisitos son más efectivas
que otras. Asegúrese de que alguien en su tarea o proyecto haya utilizado previamente las
técnicas seleccionadas con éxito.
Reconocer que la experiencia de la industria muestra que los proyectos que involucran a
clientes y usuarios a lo largo del proceso de desarrollo son exitosos: diseñar y utilizar
mecanismos para mantener involucrados a los clientes y usuarios del proyecto, como el equipo
conjunto, técnicas colaborativas de recopilación de requisitos y un control de configuración
conjunto. (CCB) para gestionar el proyecto.
Por decisiones sobre requisitos me refiero a decisiones sobre lo que es o debería ser un
requisito, incluida su redacción. Una de las formas en que los RA creamos problemas para
nuestros proyectos es tomando decisiones sobre requisitos. Establezca una política personal
para no tomar decisiones sobre requisitos. Las decisiones sobre los requisitos son
responsabilidad del cliente y del usuario dentro del mecanismo del equipo conjunto. Si bien
puede ser más rápido y más fácil decidir algo en lugar de obtener una aclaración, resista esta
tentación porque es peligrosa.
Reflexione sobre lo difícil que es comunicarse eficazmente y cómo las personas interpretan de
manera diferente las cosas que escuchan, leen y ven. Tienes un alto riesgo de tomar una
decisión incorrecta. Además, su decisión podría tener un impacto negativo importante en el
proyecto, aunque no sea intencionado.
El enfoque de no tomar decisiones sobre requisitos debe comunicarse a todo el equipo de
desarrollo, para garantizar que los desarrolladores tampoco tomen decisiones sobre requisitos.
Esto debe aclararse en la capacitación relacionada con los requisitos proporcionada al equipo
del proyecto.
¡No decida que tiene una idea que sabe que al cliente y a los usuarios les encantará! De hecho,
puede que les encante, y puede aumentar el costo y el cronograma, así como el trabajo técnico
que ya se ha completado (léase: provocar reelaboración). Cumplir con los requisitos mínimos
reales. No dorar.
14. Iterar los requisitos y la arquitectura repetidamente para evolucionar mejor los requisitos.
mentos y una arquitectura más robusta.
El punto aquí es que los requisitos y la arquitectura se impactan entre sí. A medida que
modificamos la arquitectura para abordar el cumplimiento de la realidad
Machine Translated by Google
Si mejoramos los requisitos, aprendemos más sobre los requisitos y descubrimos que los cambios en
la arquitectura nos hacen querer cambiar los requisitos, y así seguimos. La iteración repetida de los
requisitos y la arquitectura da como resultado mejores requisitos reales y una arquitectura más
robusta. Este trabajo se puede lograr en conexión con las tres o cuatro iteraciones del proceso de
desarrollo de requisitos previamente recomendado.
Mencioné anteriormente algunas ventajas aportadas a un proyecto por un RA recién asignado, como
tener una nueva perspectiva, libre de las limitaciones y la historia del sistema y los procedimientos
heredados. La otra cara de esto es el valor de involucrar a personas que tengan amplia experiencia y
conocimiento en las áreas funcionales que aborda el sistema. Tienen un profundo conocimiento de por
qué se hacen las cosas de determinada manera y analizan las necesidades del cliente con una
perspectiva experimentada que puede incluir aspectos inimaginables para aquellos con menos
conocimientos o menos experiencia. Involucre a dichas personas en actividades de recopilación de
requisitos, por ejemplo, talleres de requisitos, o utilícelas como asesores.
16. Cuantificar el ROI para seleccionar requisitos mecanismos, prácticas, métodos, tecnologías.
Técnicas y herramientas a utilizar.
Proporciono información detallada sobre esta mejor práctica en Prácticas efectivas de requisitos [5,
págs. 50–52]. Tomar decisiones basadas en datos en lugar de hacerlo espontáneamente o mediante la
intuición es una buena práctica; en nuestra empresa, nos referimos a este hábito como "administrar por
hechos". Su PM debe esperar que se proporcionen datos cuando se soliciten decisiones. Proporcionar
datos sobre el retorno de la inversión en prácticas de requisitos mejoradas es una forma de obtener
apoyo para sus sugerencias y recomendaciones. Realmente no es difícil desarrollar información sobre
el retorno de la inversión (ROI). Utilice la plantilla proporcionada en mi libro anterior.
17. Identificar los requisitos mínimos que satisfagan las necesidades reales.
Algunas personas tienen dificultades con el concepto de identificar los requisitos mínimos. Interpretan
esto como no hacer todo lo posible para satisfacer a los clientes. El punto es que necesitamos estar
asociados con nuestro cliente, comprometidos con el éxito del proyecto, y el proceso de desarrollo de
requisitos debe resultar en un conjunto de requisitos que sean el mínimo requerido para satisfacer las
necesidades reales. Cualquier requisito y característica adicional que vaya más allá de las necesidades
reales complica el proceso de desarrollo, lo encarece, toma tiempo adicional, pone en riesgo la calidad
del producto del trabajo y potencialmente pone en peligro el éxito del proyecto (definido como un
sistema eficaz, completado a tiempo y dentro del presupuesto). , utilizando una relación de asociación
beneficiosa para todos durante todo el ciclo de vida del sistema). El proceso de desarrollo de sistemas
y software es
Machine Translated by Google
117
Es igualmente importante priorizar los requisitos reales de manera temprana y frecuente. Tenga en
cuenta (y ayude a sus clientes y usuarios a comprender) que nunca hay
suficiente tiempo y dinero para hacer todo y que no se cumplan todos los requisitos
de igual prioridad. Utilice su equipo conjunto o un mecanismo similar para llegar a un acuerdo
conjuntamente sobre las prioridades de requisitos. Hay artículos y herramientas disponibles para
ayuda.1 Tómese el tiempo para leerlos y utilizarlos. No dejes de abogar
y aplicar mecanismos, prácticas, métodos, técnicas y herramientas que
mejorará las posibilidades de que su proyecto tenga éxito.
Una vez identificados y priorizados los requisitos reales, el equipo de desarrollo puede estimar
el esfuerzo necesario para proporcionar funciones adicionales.
y el cliente puede evaluar el costo de proporcionarlos y decidir si
valen el dinero y el tiempo adicionales. La clave es garantizar que el
Los productos de trabajo desarrollados serán aceptables para el cliente y los usuarios.
lograr el acuerdo de todas las partes interesadas desde el principio.
19. Proporcionar inspecciones de todos los documentos relacionados con los requisitos.
La justificación para realizar inspecciones de todos los documentos relacionados con los requisitos
se proporciona en el Capítulo 7, tema 11.
20. Limitar los cambios a los requisitos y la adición de nuevos requisitos de manera consistente.
con presupuesto y cronograma adicionales puestos a disposición por el cliente para completar
la tarea, proyecto o sistema.
Esta es la segunda cosa más importante que puede hacer una AR para apoyar un proyecto (después
de establecer un mecanismo y un enfoque de colaboración conjunto para identificar los requisitos
reales). Los cambios de requisitos y los nuevos requisitos son el segundo.
razón principal por la que los proyectos se salen de control. Tu responsabilidad en este ámbito
es familiarizar a su equipo de proyecto, a su cliente y a los usuarios con experiencia en la industria y
ganar compromiso para controlar los cambios y
nuevos requisitos. Por ejemplo, considere el enfoque de tener versiones y lanzamientos posteriores
de productos de trabajo, en lugar de pretender
que el proyecto pueda adaptarse a los cambios mientras está en desarrollo.
1. Véase, por ejemplo, “Lo primero es lo primero: priorizar los requisitos” de Karl E. Wiegers, Revista de desarrollo de software.
7(9) (septiembre de 1999): 24–30. Wiegers proporciona una herramienta de hoja de cálculo fácil de usar que se puede descargar desde su sitio web.
sitio, en www.processimpact.com (consulte el botón "obsequios"). Véase también los requisitos de software de Wiegers, [1].
Machine Translated by Google
21. Utilizar versiones y lanzamientos de productos de trabajo para adaptarse a nuevos requisitos.
requisitos modificados y requisitos de menor prioridad.
22. Utilice una herramienta de requisitos automatizada de potencia industrial. Proporcionar y utilizar
atributos de requisitos.
es demasiado complejo porque el trabajo puede retrasar los esfuerzos del proyecto. Asegúrate de que
Utilice una herramienta de requisitos automatizada comprobada: no puede permitirse el lujo de invertir el dinero.
tiempo y esfuerzo necesarios para escribir software que realice funciones tales como
trazabilidad. Dadas las herramientas comerciales disponibles, no es rentable desarrollar sus propias
capacidades de herramientas de requisitos automatizadas.
Proporcione capacitación formal a quienes utilizarán la herramienta con mayor frecuencia; esta es una
inversión valiosa y no debe pasarse por alto. Determine los atributos de requisitos que se necesitan;
consulte la discusión sobre
atributos en el Capítulo 5. Con demasiada frecuencia, la elección de la herramienta de requisitos
automatizados que se utilizará en un proyecto está dictada por factores fuera del control.
Machine Translated by Google
119
En un tercer proyecto, se seleccionó Rational debido a que el director técnico impartía una
clase sobre casos de uso en una universidad local y estaba
ya está familiarizado con Rational Suite.
Es útil tener (y utilizar) una política organizacional relativa a los requisitos. Todos conocemos
proyectos y organizaciones que tienen políticas,
pero no los uses en la práctica. Estoy hablando de una situación diferente: ¡recomiendo que las
organizaciones y proyectos tengan políticas y las utilicen! El desarrollo de la política organizacional
debe involucrar a la alta dirección.
e incluir su dirección de que los requisitos se utilizarán como base para
actividades de ingeniería y gestión. Las políticas organizativas relativas a los requisitos pueden ser
tan simples como las sugeridas por los dos
áreas de proceso relacionadas con requisitos del CMMI [8], desarrollo de requisitos y RM:
Machine Translated by Google
Con respecto a RM: “Para garantizar que se satisfagan las necesidades de los clientes,
los proyectos: (a) Gestionarán los requisitos y requisitos
cambios, y (b) identificar inconsistencias entre el trabajo del proyecto y
requisitos”.
Porque las actividades relacionadas con los requisitos que se realizan en los proyectos
son fundamentales para el éxito de los proyectos, propongo un proyecto más detallado
política de requisitos, como la proporcionada en Prácticas efectivas de requisitos
[5, págs. 119122] y también disponible en mi sitio web (www.ralphyoung.net).
Este artefacto sirve como plantilla que debes adaptar (modificar) a las necesidades.
de su proyecto en su entorno. Una alternativa a tener un proyecto
La política de requisitos es incorporar los componentes necesarios en el plan del proyecto.
proceso de requisitos.
Desarrollar o adaptar y utilizar un proceso de requisitos documentado. Ver
Consulte el capítulo 8 de este libro para obtener orientación sobre cómo diseñar un proceso.
No es difícil (o al menos no tiene por qué serlo) diseñar o adaptar un proceso. Si
Si no está familiarizado con el diseño y el uso de procesos, es posible que desee
Solicite la ayuda de alguien que esté muy familiarizado con esto para que le sirva como
un facilitador para sus partes interesadas. Es importante para los miembros de la
equipo del proyecto para tener una buena comprensión de los procesos que realiza el equipo.
usando. Tómese el tiempo para informar a todos sobre los procesos y asegúrese de
que haya consenso y que se acepte el enfoque de proceso: los miembros
Los miembros del equipo pueden ofrecer mejoras en función de sus experiencias.
Los datos proporcionados en la Figura 4.1 de Prácticas efectivas de requisitos [5]
proporcionan un caso convincente para invertir del 8% al 14% de los costos del proyecto en la
proceso de requisitos. De la discusión hasta ahora debería resultar evidente
que proporcionar prácticas de requisitos mejoradas es una buena inversión que
produce influencia en el control de costos, por ejemplo, de retrabajo (40% a 50% de
los costos totales del proyecto promedio). Fomentar la inversión en el proceso de requisitos del
proyecto y utilizar prácticas de requisitos efectivas brinda oportunidades para que la RA tenga
un impacto positivo importante en el proyecto.
éxito.
121
organización para describir cómo se tratarán los miembros entre sí; PDCA para determinar cómo
fueron las reuniones o cómo nos está yendo en un momento dado, por ejemplo, al completar un
hito; un Propósito, Agenda y Límite (PAL) proporcionado antes de las reuniones para que las
personas puedan prepararse para la reunión y saber cuánto tiempo planificar para la reunión;
Enfoques: asociación; uso de revisiones por pares y técnicas de prevención de defectos (DP) a lo
largo de la tarea o proyecto; planificación y seguimiento de proyectos; capacitación; CM; control
de calidad; utilizar técnicas para facilitar la comunicación del proyecto; medición; Etcétera;
Técnicas: gestión de riesgos de proyectos, revisiones por pares, DP, “bolsas marrones”;
Puede que le resulte útil aprender y utilizar un nuevo método o técnica; Sin embargo, reconozca que
se necesitará tiempo y esfuerzo para que las personas aprendan nuevos métodos y técnicas para
utilizarlos de manera efectiva y que existe un riesgo al utilizar un método o técnica que no está probado y
no es familiar.
Toma decisiones sobre el uso de nuevos métodos y técnicas con los ojos bien abiertos.
25. Establecer una meta, propósito o misión acordados para la tarea o proyecto. Escriba (e itere) un
documento de visión y alcance de una tarea o proyecto.
Como se señaló al principio de este capítulo, la falta de una meta, un propósito o una misión acordados
para una tarea o proyecto hace que sea difícil lograr algo de valor. Es necesario poder articular el objetivo
y obtener el apoyo de las partes interesadas para lograrlo. Escribir e iterar un documento de visión y
alcance de una tarea o proyecto proporciona una base común para identificar y priorizar objetivos más
específicos e identificar los requisitos reales.
26. Desarrollar, implementar y hacer cumplir reglas de reuniones que describan cómo deben tratarse entre
sí los miembros del personal del proyecto.
Esto implica dos elementos clave: establecer y seguir una agenda (PAL) y seguir reglas de conducta. Cada
uno de estos elementos es un componente clave de las reuniones diseñadas para obtener y adoptar
nuevos requisitos o cambios a los requisitos existentes. La persona que solicita una reunión proporciona
un PAL antes de la reunión para que todos sepan lo que se va a discutir, cada persona pueda prepararse
adecuadamente y todos sepan cuándo terminará la reunión.
Machine Translated by Google
Según mi experiencia, disfruto el trabajo y me siento más eficaz cuando mis compañeros de trabajo
aprecian y apoyan mi contribución al esfuerzo general. He descubierto que tener un conjunto de reglas de
conducta para los esfuerzos laborales en los que estoy involucrado ha sido una forma eficaz de facilitar una
actitud de apoyo mutuo en nuestro entorno laboral. Ejemplos de reglas de conducta que valoro incluyen las
siguientes:
Compartir la responsabilidad;
Cuestionar y participar;
Llegar a tiempo;
Estas reglas están publicadas en las salas de conferencias de nuestra empresa. Las personas son
llamadas a criticar cuando violan una de estas reglas. Me siento capacitado para contribuir con mis mejores
esfuerzos. Sé que mis compañeros de trabajo me respetarán, incluso cuando mis ideas parezcan inusuales.
Intentamos apoyarnos unos a otros en todas las formas posibles. Todos llegan a tiempo a las reuniones y
comenzamos a tiempo.
No se permiten conversaciones secundarias. Se espera concentración. Ahorramos cantidades increíbles de
tiempo. Pero lo más importante es que nos respetamos unos a otros y estamos ahí para ayudarnos.
27. Desarrollar y aplicar un conjunto de pautas para reuniones efectivas y pautas para reuniones efectivas.
correo electrónico activo.
Pasamos mucho tiempo en reuniones y leyendo y escribiendo correos electrónicos. Es lógico que una serie
de directrices para estos devoradores de tiempo les ahorre tiempo y esfuerzo. Anteriormente recomendé un
conjunto de pautas para cada uno: consulte Prácticas efectivas de requisitos [5, págs. 165–167 y págs. 167–
172, respectivamente].
Las pautas específicas son menos importantes que (1) comprometerse a utilizar pautas para estos propósitos,
y (2) que las personas en proyectos y organizaciones se tomen el tiempo para desarrollar pautas que
respetarán y cumplirán.
usar.
En el Capítulo 7, tema 18, se proporciona orientación sobre cómo realizar evaluaciones de riesgos
relacionados con los requisitos.
Hemos visto a lo largo del libro lo importante que es trabajar en colaboración, lograr consenso, lograr la
aceptación de las partes interesadas y lograr
Machine Translated by Google
Resumen 123
Resumen
Este capítulo presenta 30 mejores prácticas para el desarrollo y la gestión de requisitos para su
consideración. No se puede hacer todo, al menos no al mismo tiempo. Desempolva tu plan de
requisitos. Desarrollar un enfoque razonable para implementar, implementar e institucionalizar
aquellas mejores prácticas que considere apropiadas para su proyecto en su entorno durante un
período de tiempo razonable. Colabora con el equipo de tarea o proyecto para priorizar el valor de
las mejores prácticas que decidas implementar. Escriba un plan de acción que permita al proyecto
implementarlos. Para cada buena práctica, defina las acciones y el cronograma necesarios para
implementarla. Haga esto en colaboración con su equipo de proyecto y su cliente. Obtenga su
aceptación y apoyo para las mejores prácticas seleccionadas. Comunique lo que está haciendo
mediante reuniones del personal del proyecto o reuniones de trabajo. Involucre a su equipo de
proyecto y a su cliente en el proceso de toma de decisiones para obtener la aceptación y el apoyo
de los demás. Lo principal es garantizar que el equipo del proyecto avance junto con su cliente, no
tener la mayor cantidad de mejores prácticas. Recuerde, se necesita compromiso para lograr algo
de valor.
Caso de estudio
Hace varios años, me pidieron que ayudara a abogados que trabajaban en un caso legal entre un
contratista de integración de sistemas y el gobierno de Estados Unidos. El gobierno rescindió el
contrato por incumplimiento y luego volvió a adquirir el sistema de otro contratista. El sistema
construido por el nuevo contratista explotó cuando fue expuesto a volúmenes de datos reales. Las
pocas horas de asistencia de consultoría solicitadas originalmente se convirtieron en años de apoyo
en litigios a medida que avanzaba el caso, antes de llegar a un acuerdo cinco años después.
especificaciones de software y realizar un análisis de requisitos para la red de área local (LAN)
de la sede central” y (2) “Revisar y validar la
estudio (previo), frente a los requisitos actuales”.
La primera tarea, “evaluar las especificaciones de hardware y software y
realizar un análisis de requerimientos para la LAN Sede”, se tomó como
Tarea de bajo riesgo para recomendar ordenadores personales (PC) ofimáticos.
Hardware y software para estaciones de trabajo y servidores. fue emprendido
rápidamente, utilizando fondos de fin de año, y tenía como objetivo entregar equipos
a los usuarios en el campo. El contratista consideró que esta tarea era “alcanzable”.
La segunda tarea, “revisar y validar el trabajo previo”, resultó en una
documento que describía áreas donde los requisitos funcionales actuales habían
Cambió e identificó áreas donde era necesario trabajar con requisitos adicionales. El contratista
estaba más preocupado por poder lograr
esto funciona de manera efectiva, debido a los problemas relacionados con los requisitos.
El gobierno encargó una tercera tarea: diseñar una capacidad de transmisión electrónica
para el sistema. La SOW para esta tarea fue extremadamente
detallado y requirió el diseño de numerosas interfaces. Esto sugirió un
cambio importante en la arquitectura. El estudio original había asumido que el
El sistema sería un sistema centralizado basado en mainframe. De repente,
Quedó claro que el cliente tenía un enfoque diferente en mente: una arquitectura clienteservidor.
Al expresar cómo se implementarían los requisitos, el gobierno estaba imponiendo restricciones
detalladas a la solución.
El contratista empezó a tener ansiedad porque había muchas incógnitas,
como el diseño del resto del sistema más allá de su capacidad de transmisión. El trabajo continuó
sin una comunicación efectiva entre el gobierno y el contratista. Las cuestiones abiertas no se
resolvieron.
En una revisión importante del diseño, el contratista y cierto personal del gobierno se
reunieron por primera vez y la luz comenzó a amanecer. El diseñador principal
de la capacidad de transmisión electrónica declaró: "Ahora sé lo que
¡desear!" Todos declararon que la reunión fue un éxito. Un elemento de acción fue
preparar un plan para cuando se complete la capacidad de transmisión.
Cuando se entregó el plan, indicó que la fecha proyectada de finalización del sistema sería
un año más allá de la fecha deseada. Esto impulsó el
gobierno a rescindir el contrato. El gobierno esperó hasta
Se completaron otros entregables del diseño, se los entregó a un nuevo contratista y se puso en
marcha el trabajo para construir rápidamente el sistema.
En las pruebas de aceptación del sistema, el sistema explotó con una corrupción masiva de
datos y estaba claro que simplemente no funcionaría. cual fue el
¿problema?
Algunas de las cuestiones relacionadas con los requisitos fueron las siguientes:
4. Volúmenes de datos identificados en los requisitos de datos realizados por el organismo anterior.
El contratista creció en algunos lugares clave sin ninguna reevaluación de
el impacto general en la arquitectura, hasta que el sistema entregado
no funcionaría.
5. El diseño del sistema por parte del contratista fue considerado por el
gobierno era tan pobre que se rescindió el contrato, pero el gobierno
hecho de que el gobierno ordenó al contratista siguiente que utilizara
esos mismos entregables de diseño para construir el sistema implica la aceptación
de ese diseño. De hecho, eran un conjunto de requisitos del sistema.
para el nuevo contratista.
La principal lección que se puede aprender de este estudio de caso se refiere a los roles
y liderazgo de las tareas de requisitos. Porque el gobierno definió
a través de su asignación de tareas, qué partes de los requisitos requeriría la
contratista asumirá la responsabilidad y de qué partes el gobierno
especificaría en detalle, no existía una estrategia o proceso general de movilización de recursos. Alguno
de los resultados finales de este escenario fueron (1) los requisitos del usuario no eran
cumplió lo previsto tanto por el gobierno como por los contratistas, (2) el contrato original fue
rescindido, (3) el sistema desarrollado por el segundo contratista no funcionó, (4) se desperdició
mucho dinero y tiempo, (5) algunos
personas perdieron sus trabajos debido a problemas que surgieron, (6) algunas familias
se vieron afectados negativamente debido a diversos problemas interpersonales que se
desarrollaron, (7) se gastaron años en litigios costosos, (8) importantes
información sobre ingeniería de sistemas y software y los problemas
de ambas partes fue expuesto en diversas comunicaciones, incluida la
periódicos, y (9) se produjeron muchas acusaciones. En mi experiencia, esto
Machine Translated by Google
Referencias
[1] Wiegers, KE, Requisitos de software, 2.ª ed., Redmond, WA: Microsoft Press,
2003, 77–93.
[2] Gottesdiener, E., Requisitos por colaboración: talleres para definir necesidades.
Boston, MA: AddisonWesley, 2002.
[3] Sommerville, I., P. Sawyer y S. Viller, "Puntos de vista para la obtención de requisitos: un
enfoque práctico". Actas de la Conferencia Internacional sobre Ingeniería de Requisitos de
1998 (ICRE'98), 6 al 10 de abril de 1998, Colorado Springs, CO, Nueva York: IEEE
Computer Society, 1998, 74–81. Véase http://computer.org/procedimientos/icre/
8356/8356toc.htm. Véase también el Capítulo 13 de Ingeniería de requisitos de I.
Sommerville y P. Sawyer : una guía de buenas prácticas, Nueva York: John Wiley & Sons,
1997, y Ingeniería de requisitos de G. Kotonya e I. Sommerville: procesos y técnicas,
Chichester, Reino Unido: John Wiley e hijos, 1998.
[5] Young, RR, Prácticas de requisitos eficaces, Boston, MA: AddisonWesley, 2001.
[6] Whitten, N., “Cumplir con los requisitos mínimos: cualquier cosa más es demasiado”, PM
Network, septiembre de 1998, p. 19.
[9] Scholtes, PR, et al., The Team Handbook, 2ª ed., Madison, WI: Oriel, Inc., 2001.
Machine Translated by Google
CAPÍTULO
7
Contenido
Las habilidades especiales de la RA
Resumen
Los temas de este capítulo cubren un conjunto de habilidades
Caso de estudio
especializadas que le ayudarán a desempeñar sus responsabilidades. Se
Referencias han mencionado algunas habilidades recomendadas en la Tabla 3.1,
Matriz de Habilidades de RA, pero aún no se han discutido en detalle.
Además, hay áreas relativas al trabajo de la AR que merecen mayor
elaboración. La tabla 7.1 proporciona una lista de estos temas. Es posible
que descubras que no los necesitas todos en un momento particular de tu
carrera o en un proyecto específico. Sin embargo, es probable que
necesites conocer la mayoría de estos temas en algún momento de tu
trabajo. Utilice este libro como guía de escritorio cuando surja la necesidad.
También sugeriré otras referencias útiles que proporcionen más
información para ayudar a responder las preguntas enumeradas en la
Tabla 7.1.
Cada uno de estos temas se discutirá por turno.
1. ¿Por qué los errores de requisitos son tan devastadores y cómo pueden ayudar los RA?
¿abordar el problema?
127
Machine Translated by Google
1 ¿Por qué los errores de requisitos son tan devastadores y cómo pueden ayudar los RA a solucionarlos? 127
¿el problema?
4 ¿Qué pasa si estoy apoyando un proyecto pequeño? ¿Algo de esto todavía se aplica? Cómo 139
¿Puedo convencer al primer ministro y a mis compañeros de trabajo para que incorporen cierto grado de disciplina?
y proceso en nuestro enfoque?
6 Noto una “estimación de impacto” en la matriz de habilidades requeridas: ¿qué es? 142
y ¿cómo puedo obtener más información al respecto?
7 Parece sugerir que la RA debería ser líder del proyecto. Por qué yo 143
¿Necesita ser un líder? ¿Cómo puedo ser un líder? ¿Qué debo liderar?
10 Indicas que la estimación es una habilidad importante. ¿Qué aspectos de la estimación 149
son críticos para la RA?
11 Aconseja realizar inspecciones de todos los documentos relacionados con los requisitos. Por qué 150
¿No deberíamos conformarnos con hacerles revisiones por pares? Cómo están
inspecciones diferentes de las revisiones por pares, y ¿por qué tomarse tantas molestias?
¿Qué tipo de inspección es mejor?
13 Parece haber mucha confusión en nuestra industria con respecto a los términos 153
verificación y validación. ¿Puedes explicar por qué esto es así y también aclarar?
¿Usos sugeridos de los dos términos?
14 Los “agilistas” defienden que las metodologías de desarrollo ágiles prometen mayores 154
satisfacción del cliente, menores tasas de defectos, tiempos de desarrollo más rápidos y una
solución a necesidades que cambian rápidamente. ¿Debo recomendar que
¿Considerar métodos de desarrollo ágiles en mi proyecto?
dieciséis
¿Qué pasa si mi PM, el equipo directivo de nuestra organización o nuestro cliente no 154
¿No apoya el concepto de mejora de procesos?
18 ¿Cuál es un buen enfoque para considerar los riesgos de los requisitos? 159
129
“Los errores que se originan en los requisitos tienden a ser los más costosos y
problemático eliminar más tarde. La prevención es más eficaz que la eliminación de defectos”.
Experiencia TRW:
"La mayoría de los errores se encontraron después de las pruebas unitarias, y más del 80% fueron requisitos y
errores de diseño”.
Tom DeMarco:
hecho incorrecto 49
Omisión 31
Inconsecuencia 13
Ambigüedad 5
La Tabla 7.4 proporciona sugerencias aportadas por los profesionales.1 Tenga en cuenta
que varias de estas actividades pueden mitigar el riesgo de errores en múltiples categorías.
Realizar este tipo de actividades tiene un alto retorno del tiempo invertido;
son actividades “altamente apalancadas”.
1. Con un agradecimiento especial a RA Pat Little, quien contribuyó con varias de estas ideas.
Machine Translated by Google
Supuestos:
Aproximadamente entre el 8% y el 14% de los costos totales del proyecto se invertirán en el proceso de requisitos.
Se brindará capacitación formal a los RA para explicar cómo redactar buenos requisitos y cómo abordar los diversos tipos de
errores típicos en los requisitos.
El cliente estará involucrado durante todo el proceso de desarrollo.
Se establecerá y utilizará un glosario del proyecto para garantizar que se acuerden las definiciones y que las palabras se utilicen
de manera consistente en todas las actividades del proyecto.
Tipos de errores de requisitos y sugerencias para abordarlos
Hechos incorrectos:
Proporcione un atributo en la herramienta de requisitos para verificar la base fáctica de cada requisito y realice
investigaciones para validar los hechos. Por ejemplo:
V = verificado;
N = aún no investigado; Q =
cuestionable.
Proporcionar a las partes interesadas revisiones de los productos de trabajo de requisitos.
Requerir un enlace a una fuente autorizada (declaración de misión, documento de política, orientación formal, etc.). Si no se
puede encontrar una fuente autorizada, escriba una justificación detallada del requisito. La referencia a una fuente autorizada es
similar, pero más formal, a la idea de exigir una justificación para cada requisito.
Proporcionar un mecanismo (como una página web o un correo electrónico difundido) o múltiples mecanismos para una revisión
amplia de los requisitos y la retroalimentación por parte de los usuarios, clientes, partes interesadas, etc.
Cree un modelo de datos lógico (LDM) desde una perspectiva empresarial.
Omisión:
Solicitar las necesidades del usuario desde una variedad de puntos de vista diferentes.
Inconsecuencia:
Realizar inspecciones de productos de trabajo relacionados con requisitos por parte de miembros del equipo del proyecto.
Examinar y analizar el RTM para verificar la coherencia y la ubicación adecuada de los requisitos.
Requerir un enlace a una fuente autorizada (declaración de misión, documento de política, orientación formal, etc.). Si no se
puede encontrar una fuente autorizada, escriba una justificación detallada del requisito.
Defina todos los términos y asegúrese de que su uso en las declaraciones de requisitos sea coherente con la definición
formalmente reconocida.
Cree un LDM desde una perspectiva empresarial.
Ambigüedad:
realizar inspecciones de productos de trabajo relacionados con requisitos por parte de miembros del equipo del proyecto.
Requerir un enlace a una fuente autorizada (declaración de misión, documento de política, orientación formal, etc.). Si no se
puede encontrar una fuente autorizada, escriba una justificación detallada del requisito.
Defina todos los términos y asegúrese de que su uso en las declaraciones de requisitos sea coherente con la definición
formalmente reconocida.
Requisito fuera de lugar:
examine y analice el RTM para verificar la coherencia y la ubicación adecuada de los requisitos.
Fuente: Contribuciones de analistas de requisitos que participaron en los tutoriales y talleres del autor.
Machine Translated by Google
131
utilizado por otros equipos de proyecto para controlar la evolución de sus productos de trabajo. En absoluto
veces, la RA necesitará trabajar con las versiones actuales y correctas bajo
Controlar CM y poder dar cuenta de cada cambio y versión de ese trabajo.
producto. Por lo tanto, la AR debe tener conocimiento y experiencia con la
siguiendo las prácticas de CM.
Líneas de base de ingeniería En proyectos de ingeniería, CM trabaja temprano en el ciclo de vida del
proyecto con los otros grupos de proyecto para identificar productos de trabajo (identificados como
elementos de configuración) e incorporarlos en procesos controlados.
líneas de base. Los equipos de ingeniería (incluidos los RA) gestionan estas líneas de base como
se mueven a través de un ciclo de vida de ingeniería establecido. Estas líneas de base
probablemente tendrá identificaciones únicas (al igual que los elementos de configuración individuales)
para que los gerentes, clientes, requisitos, diseño, ingenieros de pruebas, control de calidad,
y CM tienen todos el mismo entendimiento con respecto al estado de referencia y
Contenido, estado del elemento de configuración, versiones y cambios aprobados.
incorporado.
Sistema DOORS RM •
133
CCB
Incorporar Volver a
Desarrollar Sí
cambio
procedimientos de cambio. continuando
aprobado ¿Es el
operativo
cambio adecuado? estado
Actualizar documentación y Eliminar residuos
base de datos. No
Se requiere
rediseño
Figura 7.2 Procedimiento de control de cambios de requisitos. (Fuente: Michael Davis. Usado con autorización).
2. Nuestro agradecimiento al RA Michael Davis por brindarnos las experiencias de su proyecto, como se documenta en las Figuras 7.1 y 7.2.
Machine Translated by Google
135
3. “El uso indebido de casos de uso” y “Construcción de casos de uso útiles” están disponibles en www.korsonmcgregor.com.
Korson también proporciona una plantilla que enumera y describe un conjunto de campos necesarios para un caso de uso bien
escrito. Korson cree que los principales problemas en el desarrollo de sistemas no son técnicos sino que tienen que ver con los
requisitos: "obtener los requisitos correctos y obtener los requisitos correctos".
4. Nuestro agradecimiento a Wayne O'Brien de Raytheon Corporation, quien amablemente accedió a prestarnos su experiencia.
Machine Translated by Google
137
Los casos de uso, con las herramientas automatizadas disponibles para admitir UML,
proporcionan un vínculo semántico activo desde la vista más detallada de un sistema
(por ejemplo, código de software o lógica de hardware, hasta los requisitos de nivel
superior, que se capturan en los casos de uso). Este vínculo activo significa que hay
información para comprender el sistema que está actualizada y accesible en todo
momento para todas las partes interesadas.
Los usuarios interesados incluyen no sólo a los operadores, sino también a los
gerentes, inversores, auditores y otros. Las partes interesadas de los desarrolladores
incluyen cualquier disciplina que sea necesaria para el sistema bajo consideración,
tanto temporal como funcionalmente. Temporalmente, el vínculo semántico activo
respalda las disciplinas del desarrollador durante todo el ciclo de vida de un sistema,
incluidos los RA, los diseñadores y los evaluadores. El enlace activo también admite
disciplinas de desarrollo funcionales, incluidos ingenieros de hardware, software,
comunicaciones y factores humanos.
Este amplio apoyo a las partes interesadas que proporcionan los casos de uso
depende de las características de UML, así como de las herramientas que soportan UML.
Brindar a diversas partes interesadas acceso a información precisa sobre el sistema
de su interés aprovecha el aspecto de vista múltiple de UML (una mejor práctica
descrita por el estándar IEEE 1471). El concepto de caso de uso dentro de UML
captura la semántica de un sistema de una manera que se comunica fácilmente a
personas con una amplia gama de intereses y experiencia, en lugar de solo habilidades
en un solo campo. Es lo suficientemente preciso como para ser útil para construir
sistemas y, sin embargo, fácilmente comprendido por personas que no se ganan la
vida construyendo sistemas. Estas mismas comunicaciones características de los
casos de uso subyacen en el apoyo interdisciplinario temporal y funcional para los
desarrolladores, que se ganan la vida construyendo sistemas.
Wayne O'Brien
Corporación Raytheon
enero de 2003
Los clientes no saben lo que quieren hasta que se lo entregan. Esto aboga por un
enfoque incremental, el valor de la iteración y el enfoque de mostrar productos y
planes de trabajo a los usuarios de forma incremental.
Un enfoque incremental nos permite hacer correcciones a mitad de camino.
Existe una gran brecha entre dónde estamos y dónde debemos estar. Un buen
enfoque es observar “donde duelen las cosas” y atacar los puntos dolorosos.
Machine Translated by Google
Hay modos de falla comunes en extremos opuestos del espectro del proceso: en un
extremo, tenemos sobreingeniería y sobrediseño de sistemas; en el otro extremo, tenemos
la agilidad. (Mantener la magia de un grupo talentoso es difícil porque los desarrolladores
no quieren mantener ni crear otra versión. La magia ocurre cuando hay sinergia entre
ejecutivos y desarrolladores).
La arquitectura es importante y será cada vez más importante, por ejemplo, los portales
que cruzan barreras y silos de información. No existe un diseño perfecto. "Perfecto" es
enemigo de "suficientemente bueno".
2. Subida de andenes. Necesitamos patrones. Lea Patrones de diseño [15] para familiarizarse
con el vocabulario. Podemos construir sistemas rápidamente utilizando patrones y
marcos; aquí es donde las empresas obtienen su ventaja competitiva.
4. Aumento del software de código abierto (Linux no es un buen modelo para desarrollar
sistemas).
5. El proceso de requisitos para el desarrollo basado en componentes (basado en el desarrollo con reutilización) es diferente
para sistemas desarrollados desde cero.
Machine Translated by Google
139
UML es, sin duda, una excelente metodología para derivar requisitos. Sin embargo, en el momento
de escribir este artículo, es relativamente nuevo en el campo del desarrollo de requisitos. Una
metodología que existe desde hace más de quince años es la Definición de integración para el
modelado de funciones (IDEF). Esto comenzó con el método IDEF0 inicial y continúa hasta IDEF5.
Insert 7.2 contiene experiencia del mundo real comparando UML con IDEF0. Estas experiencias
fueron proporcionadas por un RA con más de veinte años de experiencia en desarrollo de software e
ingeniería de requisitos. Es posible que la AR desee familiarizarse con IDEF0 como alternativa al UML.
Excelentes referencias sobre IDEF0 son FIPS PUB 183 [16], el estándar IEEE para lenguaje de
modelado funcional [17] y la Guía práctica para la reingeniería de procesos de negocios utilizando
IDEF0 de Feldmann [18]. También existen algunas herramientas de simulación de flujo de trabajo
IDEF que pueden resultar útiles para derivar requisitos, por ejemplo Business Modeling Workbench.
4. ¿ Qué pasa si apoyo un proyecto pequeño? ¿Algo de esto todavía se aplica? ¿Cómo puedo
convencer al primer ministro y a mis compañeros de trabajo para que incorporen cierto grado de
disciplina y proceso a nuestro enfoque?
¡Buena pregunta! Me han planteado estas preguntas muchas veces y también hay información sobre
ellas en la literatura. Primero, comencemos con una definición de proyecto pequeño. Entendiendo que
no hay acuerdo sobre la definición de proyecto pequeño, mi definición arbitraria es de uno a seis
profesionales trabajando en una sola tarea durante un período de entre tres y seis meses.
Algunos analistas e ingenieros pueden sentir que el CMM (y el más reciente CMMI ) son
aplicables sólo para proyectos medianos y grandes. Mi experiencia sugiere que CMM y CMMI
son escalables a un proyecto de cualquier tamaño: es necesario realizar planificación y seguimiento
de proyectos, desarrollo y gestión de requisitos, CM, control de calidad y otros procesos como DP en
todos los proyectos.
Creo que en lo que respecta al análisis de requisitos, la preferencia del cliente y el nivel
de sofisticación deberían desempeñar un papel importante a la hora de seleccionar qué
metodología de modelado utilizar. UML es precisamente el enfoque favorito que se utiliza
actualmente en el tema general del modelado. Un analista con el mismo nivel de
comprensión de IDEF0/IDEF1X que de UML sería casi igual de eficaz con cualquiera de
los dos. Ambos brindan información sobre el espacio del problema, ayudan al analista a
saber qué preguntas hacer y brindan una imagen de la funcionalidad del sistema para
respaldar el texto de requisitos. (Creo que el análisis de puntos de función (FPA) también
lo lleva allí por medios diferentes y menos gráficos).
IDEF es más fácil de comprender que UML. En dos grandes proyectos que apoyé,
comenzamos creando requisitos en UML. En ambos casos, alguien se echó atrás al final
y decidió que algún grupo importante de partes interesadas del lado del cliente nunca
entendería la presentación UML de los requisitos, y volvimos a presentar los requisitos
como texto plano. Irónicamente, en ambos casos los clientes ya estaban familiarizados
con los modelos IDEF.
Terry L. Bartolomé
REAL ACADEMIA DE BELLAS ARTES
utilizarse para reducir la escala y aplicar prácticas clave para apoyar proyectos pequeños.
La CMM personalizada LOGOS de Brodman y Johnson para pequeñas empresas, pequeñas
organizaciones y pequeños proyectos [21] también puede resultar útil.
Machine Translated by Google
141
otra cosa, es decir, determinar cuáles deberían ser los requisitos del sistema.
Recomiendo que se evite la frase “especificar los requisitos” para
reducir la confusión. Una mejor descripción sería definir o documentar
los requisitos del sistema.
Soluciones
nóicaulaatvreiebR
a
reotnDI
etcneelraeig
d
y
ocirtémotuA
uS
P
odaciflienvailN
p
nóicpoivrcihscleerD
d
a
siS
d
u
zetsuboR
nóicaivseD
oC.repxE=ateuqitE
lato%
T
ño
ue
,ad.vaelarb
dadiocirlpam
.ozinaifm
Requisitos
El marketing cuesta 1 millón de dólares al año. 5 10 20 10 5 15 65 –35 Por debajo del presupuesto
Decisión Mejor No No No No No
solución mejor mejor mejor mejor mejor
Figura 7.3 Un ejemplo de uso de la técnica IE para evaluar requisitos. (Fuente: Tom Gilb.
Reimpreso con autorización).
Machine Translated by Google
143
Analizar riesgos.
Gilb reconoce que IE está “lleno de posibilidades de errores” (porque el analista proporciona
las estimaciones basándose en un enfoque de mejor estimación).
Él cree que estos errores son inevitables y que la técnica IE debería usarse para calcular el “orden
de magnitud aproximadamente correcto” [22, p. 184]. Si necesita utilizar esta técnica, le sugiero
que estudie el capítulo 11 del libro de Gilb y lea más sobre la técnica en el sitio web de Gilb,
www.gilb.com.
7. Parece sugerir que la AR debería ser líder del proyecto. ¿Por qué necesito
¿Sé un lider? ¿Cómo puedo ser un líder? ¿Qué debo liderar?
Tabla 7.5 Algunas de las formas en que las AR pueden ayudar a liderar
Instar a tomar medidas proactivas para mejorar la comunicación del proyecto, como presentaciones periódicas
de cada grupo de trabajo (para todos los demás en el proyecto) sobre las actividades de trabajo
actuales;
Estas son sólo algunas de las formas en que un RA puede ayudar a liderar: las
posibilidades son infinitas. Todos los días surgen oportunidades para que cada uno de nosotros
lidere. Dé el ejemplo y ayude a fomentar formas ganadoras en su proyecto.
Algunas personas sienten que no todo el mundo está hecho para ser líder y que el RA no
necesita ser un líder, sino más bien un buen jugador de equipo, dispuesto a compartir sus
conocimientos y habilidades para resolver problemas.
Mi consejo para usted con respecto a esto es "simplemente hágalo". He descubierto que
cuantas más presentaciones hago durante mi carrera, más fácil se vuelve hacerlas. Todavía
me pongo nervioso antes de una presentación, pero está bien. Utilizo esa energía nerviosa
para prepararme para la presentación y estar un poco animado durante la presentación.
Ninguno de nosotros es más feliz durante una presentación aburrida. Ser optimista, entusiasta,
moverse entre la audiencia, invitar a la participación, reconocer los buenos comentarios y
contribuciones: todo esto tiene el efecto de involucrar a los participantes y, en mi experiencia,
resultan en presentaciones que son bien recibidas. Cuando realmente te paras a pensar en
hacer una presentación, ¿a qué temer? ¿Qué es lo peor que puede pasar?
Es posible que algunas personas en la audiencia no tengan una buena opinión de sus
comentarios, pero este es el caso incluso cuando oradores experimentados suben al podio: no
todos se identificarán con las opiniones y presentaciones de cada orador. He dado cientos de
presentaciones y nunca ha habido una en la que al menos una persona del público no haya
hecho algún comentario amable y expresión de interés.
Forma equipo con alguien que consideres más competente y experimentado en hacer
presentaciones o facilitar talleres para estar frente a una audiencia y mejorar tus
habilidades y confianza.
Haga arreglos para que lo graben en video cuando haga una presentación. Ver la
cinta. Quizás te sorprenda lo que veas. Mi experiencia, después de haber hecho esto
varias veces, es que soy bastante diferente de lo que pensé que sería.
Buscar oportunidades para dar charlas. Por ejemplo, las secciones locales de
asociaciones profesionales siempre están buscando oradores para almuerzos,
reuniones nocturnas y tutorías los sábados. Además, considere hacer una presentación
en reuniones y conferencias anuales. Creo que descubrirás que cuantas más
presentaciones hagas, más fácil te resultará hacerlo. Incluso podrías organizar sesiones
informales en tu oficina y dar algunas de las charlas tú mismo.
Machine Translated by Google
145
9. Ha enfatizado que tener un proceso de PD es aconsejable para todos los proyectos, tal vez
necesario. ¿Puede proporcionarme un proceso de DP que pueda implementar fácilmente?
Un proceso de DP La Figura 7.4 proporciona un proceso de DP sencillo con el que puede comenzar
y luego agregar características adicionales según lo considere necesario, por ejemplo, métricas
para evaluar la efectividad del proceso, un plan de DP, un repositorio de DP, etc. [Tenga en cuenta
que a DP se le ha dado otro nombre en el CMMI : “Análisis y resolución causal” (CAR).]
6. DP es un proceso de alta madurez en el CMM . Esto sugiere al observador casual que no deberíamos preocuparnos
hasta que hayamos abordado todos los procesos en los niveles 1 a 4 de los modelos CMM /CMMI . Mi experiencia
es que DP debería usarse en la mayoría de los proyectos, sin importar el nivel de madurez. La razón es la misma que
mi sugerencia anterior de utilizar revisiones por pares en todos los proyectos: estas actividades identifican problemas y
defectos en una etapa más temprana del proceso de desarrollo de lo que sería el caso si no usáramos estas técnicas.
Como resultado, se ahorra tiempo y dinero, y la calidad de los productos del trabajo es mejor de lo que habría sido si no
los usáramos.
Machine Translated by Google
Propósito: Identificar sistemáticamente las causas fundamentales de los defectos y abordarlas para evitar que ocurran en el futuro.
Departamento/persona
Líder del
Cliente equipo de PD equipo de DP Artefactos
Identificar un punto
Paso 1 de dolor
Paso 2
organizar un taller
repositorio de DP
Analizar defectos y
Paso 3
determinar categorías.
sistema RC
Local
Etapa 4 Realizar análisis de causa raíz proceso
CR
saePit
o/pom
Plan de
Paso 5 Identificar contramedidas mejora de
procesos
Base
Capacitación
necesita
Evaluar la efectividad de las contramedidas implementadas. base de datos
Paso 7
Agenda
de inicio
Continuar el ciclo de mejora hasta estar satisfecho.
Paso 8 de [DP] actualizada
Leyenda
147
4. Seleccione algunas métricas para realizar un seguimiento del progreso y proporcionar informes visibles periódicamente.
5. Desarrollar un plan de acción (PA) para la implementación del proceso de ingeniería de requisitos.
7. Tomar medidas para tener mejores reuniones en las que realmente logremos y hagamos las cosas.
8. Implementar un sistema de seguimiento de acciones que se caracterice por criterios de cierre de la acción.
elementos.
15. Seleccione un método de desarrollo que sea apropiado para el nivel de comprensión de las necesidades del cliente.
requisitos.
18. Tomar algunas medidas para fomentar y fomentar un apoyo adicional visible y vocal de la alta dirección.
Combine esto con una iniciativa de reducción de costos.
19. Proporcionar el nivel adecuado de detalle con respecto a los requisitos para diferentes grupos de partes interesadas, por ejemplo, un
mayor nivel de detalle para los clientes que capture la esencia de lo que necesitan, y un nivel mucho más definido y detallado para los
desarrolladores que están a cargo de codificar. el requerimiento.
20. A través de discusiones, desarrollar un conjunto acordado de prácticas, enfoques, métodos y herramientas que se utilizarán en el
proyecto.
21. Fomentar el compromiso de seguir el conjunto de prácticas, enfoques, métodos y herramientas que se han
acepto que.
22. Proporcionar trazabilidad de los requisitos desde la necesidad del cliente hasta la definición del requisito.
ya todos los pasos del proceso de desarrollo (por ejemplo, el diseño, el código, el caso de prueba y la verificación de que se ha
cumplido el requisito, hasta la inclusión en la documentación del usuario).
24. Registrar los requisitos para que exista un entendimiento común y resolver las discrepancias en los
comprensión de cada requisito.
25. Reunirse con los usuarios para lograr un significado común de los requisitos del usuario.
28. Lograr consenso sobre el proceso de desarrollo de requisitos entre todas las partes interesadas.
29. Involucrar a todas las partes interesadas a lo largo del ciclo de vida del desarrollo del sistema.
34. Garantizar una mayor conciencia sobre los requisitos dentro de todos los grupos de proyectos.
35. Proporcionar mecanismos de retroalimentación.
Tabla 7.6 Algunas ideas sobre cómo mejorar un proceso de requisitos (continuación)
La Tabla 7.6 tiene dos propósitos: primero, ofrecer algunas ideas sobre cómo su proyecto
podría mejorar su proceso de requisitos, y segundo, proporcionar temas que podrían
considerarse en su taller; por ejemplo, los participantes del taller podrían votar múltiples veces.
para seleccionar entre estas ideas algunas áreas que podrían justificar contramedidas en su
entorno.
El paso 2 es organizar un taller del PD. En un taller de DP, el objetivo (Paso 3) es analizar
defectos o problemas para identificar las categorías de problemas o defectos que existen. Es
mejor si tiene algunos datos y puede dividir los defectos para determinar distintas categorías de
problemas. Pero incluso si no tiene datos, las personas que estén familiarizadas con el proceso
podrán identificar cuáles creen que son las causas principales de los problemas. Una vez que
hayamos identificado las categorías de problemas, debemos ordenarlas en orden descendente,
con la categoría que causa más problemas primero, seguida de la categoría con el siguiente
número más grande, y así sucesivamente. Esto se llama análisis de Pareto y es una poderosa
técnica de mejora de la calidad.
10
80%
8
60%
6
efúeN
soortecm d
40%
4
2 20%
0 0%
Diseño Código Requisitos Prueba Campo
149
10. Indicas que la estimación es una habilidad importante. ¿Qué aspectos de la estimación son?
¿Crítico para la RA?
Planificar y estimar con precisión proyectos de software es una función de gestión de software
extremadamente difícil. Pocas organizaciones han establecido
procesos formales de estimación, a pesar de la evidencia que sugiere que las organizaciones
sin una estimación formal tienen cuatro veces más probabilidades de sufrir retrasos
o proyectos cancelados. Un recurso valioso, en caso de que usted participe
En los esfuerzos de su proyecto por mejorar la estimación, está la productividad del software.
Research (SPR), Inc. Resuma la información en el sitio web de SPR [24] y no
extensas lecturas e investigaciones. Hay mucha información disponible. Quizás el 20% sea
realmente útil. Antes de hacer sugerencias, asegúrese de
Han digerido la experiencia de la industria.
Machine Translated by Google
Existen herramientas, métodos y técnicas que se pueden aplicar para apoyar el desarrollo de
estimaciones, como MS Project, modelos de estimación como Constructive Cost Model (COCOMO) y
SLIM que utilizan líneas de código, y Knowledge PLAN y COCOMO II que utilizan puntos de función
(FP). Se puede invertir mucho esfuerzo en la estimación. La cuestión es que la base de las estimaciones
(BOE) debe ser lo más válida posible, o de lo contrario todo el trabajo aplicado al proceso de estimación
se desperdicia. La experiencia de la industria es que los requisitos de mayor calidad al inicio de un
proyecto contribuyen significativamente a la estimación.
La compañía de Capers Jones, SPR, ha estado recopilando datos sobre el desarrollo de software
desde 1984. Jones recomienda encarecidamente el uso de FP y enfatiza el valor de utilizarlos en relación
con los requisitos; consulte el Inserto 7.3 para obtener ideas y fuentes de información adicional.
Como se sugirió al comienzo de este capítulo, considere leer y estudiar dos libros que brindan
información sobre la estimación: Introducción al proceso de software personal [28] e Introducción al
proceso de software en equipo [29], ambos de Watts Humphrey. Proporciona información basada en la
experiencia sobre la estimación y lo que hace que los equipos trabajen de forma eficaz. Estos libros
ofrecen enfoques que cualquier proyecto y todo PM debería considerar.
11. Aconseja hacer “inspecciones” de todos los documentos relacionados con los requisitos. ¿Por qué
no deberíamos conformarnos con realizar revisiones por pares de ellos? ¿En qué se diferencian
las inspecciones de las revisiones por pares y por qué tomarse tantas molestias? ¿Qué tipo de
inspección es mejor?
Primero, algunos antecedentes sobre las inspecciones: las inspecciones agregan el proceso de detección
de defectos al proceso de DP discutido anteriormente en este capítulo. El proceso de detección de
defectos tiene que ver con la calidad del documento, particularmente identificar y medir defectos en la
documentación y utilizar esta información para decidir cuál es la mejor manera de proceder en
consecuencia. Un defecto importante es aquel que probablemente tendrá un orden de magnitud o un
impacto mayor en los costos si no se descubre en la etapa de requisitos o diseño de un esfuerzo de
desarrollo. Según los datos de Tom Gilb [30], en promedio, el costo de encontrar y reparar defectos
importantes es de una hora de trabajo en sentido ascendente, ¡pero nueve horas en sentido descendente!
¡Estos son datos poderosos! Ellos (y quizás algunas lecturas y estudios adicionales) deberían convencerlo
de recomendar el uso de inspecciones para todos los documentos relacionados con los requisitos de su
proyecto.
La experiencia de Gilb es que, con el apoyo de la gestión, una organización puede mejorar de 20 o más
defectos importantes por página a entre cero y dos defectos importantes por página en un año [30].7 Él
cree que el retorno de la inversión al incorporar el proceso de inspección en un El esfuerzo de desarrollo
es de 10:1.
(¡Estos son datos más poderosos que lo ayudarán a convencerlo de recomendar que se utilicen
inspecciones en su proyecto!) Otros beneficios incluyen una reducción del retrabajo
7. En realidad, el libro trata sobre inspecciones de cualquier producto de trabajo, no solo de software. El enfoque de los
autores es muy riguroso y, por lo tanto, requiere más capacitación y su realización es más costosa que otros tipos de
inspecciones. Gilb ahora aboga por otra forma que él llama “inspección extrema”. Consulte su sitio web para obtener
más información.
Machine Translated by Google
151
Inserto 7.3—FP y requisitos (Agradecemos a Capers Jones por los datos proporcionados a
continuación)
Varios proveedores subcontratados están utilizando los PF como base para los contratos.
Algunos utilizan una escala móvil, como que los requisitos iniciales cuestan $500 por FP; los
cambios durante los primeros tres meses después de completar los requisitos iniciales cuestan
$600 por FP; y los cambios posteriores cuestan $1,000 por FP. Esta escala móvil fomenta el
análisis temprano y completo de los requisitos y resuelve algunas áreas difíciles en los
contratos de subcontratación.
Fuentes de información adicional:
costos, mayor previsibilidad, mayor productividad y mejor calidad de los documentos.8 Los expertos
de la industria tienen diferentes puntos de vista sobre cómo se debe realizar el proceso de inspección
y la cantidad de capacitación que se requiere para implementar un programa de inspecciones
efectivo. Rob Sabourin ofrece una opción económica
8. Gilb, Tom, “Planificación para aprovechar al máximo la inspección”, en Conceptos fundamentales para el software de Daughtrey.
Ingeniero de Calidad, [31, pág. 178}.
Machine Translated by Google
12. Has puesto mucho énfasis en la calidad. ¿Cómo puede la RA ayudar a aplicar principios de calidad
en proyectos de desarrollo de sistemas y software?
El astuto RA estudiará los principios de calidad y se esforzará constantemente por lograr una alta
calidad. Taz Daughtrey proporciona un buen resumen de las formas de hacer esto en Conceptos
fundamentales para el ingeniero de calidad de software [31], una colección de trabajos recopilados de
32 autores con una gran experiencia en calidad. Los trabajos son informes de prácticas basados en
experiencias que han demostrado ser efectivas en una variedad de industrias, aplicaciones y
organizaciones. El estudio de estos artículos le proporcionará conocimientos, crecimiento profesional y
mejora de sus habilidades. Varios de ellos ofrecen más información sobre los temas tratados en este
libro:
Gestión de riesgos;
Reducción de defectos;
Justificar la mejora de los procesos ante los gerentes (ver tema 16, a continuación);
Utilizar el control estadístico de procesos (SPC) para medir la capacidad del proceso;
Seleccionar herramientas;
Esfuércese por asegurarse de tener un control de calidad proactivo en su proyecto. Por control
de calidad proactivo me refiero a especialistas en garantía de calidad que participan en el desarrollo y
aplicación de procesos y esfuerzos de prevención de defectos que incorporan calidad a los productos
de trabajo. La experiencia nos ha demostrado que no es posible eliminar la mala calidad de los
productos de trabajo. Por ejemplo, aunque las pruebas son importantes, la experiencia de la industria
muestra que las pruebas encuentran menos del 50% de los defectos en un producto de software.9 Se
debe tener software de calidad en el proceso de prueba para obtener resultados de calidad aún mejor.
9. Watts Humphrey, tutorial de PSP en Northrop Grumman IT DES el 20 de febrero de 2003. Humphrey enfatizó que la práctica actual de
desarrollo de software que se utiliza en la industria actual se preocupa por eliminar defectos.
Su experiencia es que muchas organizaciones gastan el 40% del esfuerzo y los costos del proyecto en pruebas, mientras que las
organizaciones con procesos más maduros pueden reducir los costos de las pruebas al 10%.
Machine Translated by Google
153
de las actividades de prueba. Los especialistas en control de calidad pueden y deben tener un
enorme impacto positivo en un proyecto de desarrollo de software o sistema. Ellos (como el
resto de nosotros) deben estar facultados por la dirección para realizar una contribución valiosa
[33].
Me gustaría analizar un método adicional antes de dejar este tema: Implementación de
funciones de calidad (QFD). QFD comenzó a mediados de la década de 1960 en Japón como
un sistema de calidad enfocado en desarrollar productos y servicios que satisfagan a los
clientes. Jones proporciona una descripción de QFD y un informe de estado sobre su uso en su
libro Calidad del software: análisis y directrices para el éxito [34]. Señala que QFD es una
actividad grupal estructurada que involucra a clientes y personal de desarrollo de productos. A
QFD a veces se le llama “la casa de la calidad” porque uno de los principales tipos de matrices
de planificación se asemeja al techo puntiagudo de una casa. En Developing Products in Half
the Time, 2.ª ed., Smith y Reinertsen analizan “Blitz QFD” [35, págs. 102103]. La hoja de ruta
hacia el éxito repetible: uso de QFD para implementar el cambio [36] de Bicknell y Bicknell
proporciona una revisión integral de QFD y muestra cómo se puede utilizar en todos los niveles
de una organización. Ramaswami de Global Technology Operations en India ha utilizado QFD
en varios proyectos (consulte su sitio web en www.gemedicalsystems.com). Mark Paulk informa
que nueve organizaciones en la base de datos de SEI de nivel 4 y 5 utilizan QFD, cinco en India
y cuatro en Estados Unidos.
Zultner advierte que el uso del software QFD está aumentando. Zultner ha realizado
presentaciones sobre software QFD en la conferencia QAI en Bangalore, en la conferencia de
la Organización Europea para la Calidad en Budapest y en el Segundo Congreso Mundial para
la Calidad del Software en Yokohama. Informa que algunas empresas estadounidenses (como
Andersen Consulting) llevan años utilizando el software QFD a nivel mundial. Él advierte que
la mejor manera de comenzar con QFD para software es Blitz QFD. Zultner cree que ninguna
otra herramienta, técnica o método se acerca siquiera al QFD para abordar la “frontal confusa
de la definición de requisitos”. La experiencia de Capers Jones es que QFD funciona mejor en
empresas que tienen departamentos de control de calidad bastante sofisticados. En resumen,
en lo que respecta a QFD, desde mi punto de vista, la conclusión es que primero hay que
descubrir y desarrollar los requisitos reales para que el método sea eficaz.
13. Parece haber mucha confusión en nuestra industria con respecto a los términos verificación
y validación. ¿Puede explicar por qué esto es así y también aclarar los usos sugeridos de
los dos términos?
Sí. Como señala Jeff Grady en sus materiales de capacitación, libros y presentaciones, la
gente de software y de ingeniería de sistemas tiende a usar las dos palabras a la inversa, y
esto causa una tremenda confusión [37]. Lo más importante a este respecto es aclarar cómo
se utilizarán las dos palabras en su proyecto.
Aquí están las definiciones que sugiero:
Debe aclarar estas dos palabras para ayudar a que su proyecto evite interminables y frustrantes
discusiones sobre lo que estas palabras "realmente significan" y quién tiene "razón".
14. Los “agilistas” defienden que las metodologías de desarrollo ágiles prometen una mayor
satisfacción del cliente, menores tasas de defectos, tiempos de desarrollo más rápidos y una
solución a requisitos que cambian rápidamente. ¿Debería recomendar que consideremos
métodos de desarrollo ágiles en mi proyecto?
Creo que hay algo que decir a favor de los enfoques tanto disciplinados como ágiles. Me preocupa
cuando leo y escucho opiniones que se inclinan fuertemente hacia un lado o hacia el otro,
especialmente cuando uno critica al otro.
Ambos enfoques tienen deficiencias que, si no se toman en cuenta, pueden llevar al fracaso del
proyecto. Cada enfoque tiene un “terreno de partida” donde es preferible al otro; consulte la Tabla
7.7.
Mi sugerencia aquí es que lea y digiera “Observaciones sobre el equilibrio entre disciplina y
agilidad” [38] de Barry Boehm y Richard Turner. Creen que están surgiendo estrategias para integrar
los dos enfoques de una manera que aproveche sus fortalezas y evite sus debilidades.
Mientras escribía este libro, el consultor y experto en ingeniería de requisitos de la industria, Ian
Alexander [39], fue un asesor valioso y, como resultado, se convirtió en un buen amigo. Ian
compartió conmigo una idea sobre el conocimiento práctico:10
16. ¿Qué pasa si mi PM, y/o el equipo directivo de nuestra organización, o nuestro cliente?
¿No apoya el concepto de mejora de procesos?
10. Comunicación personal por correo electrónico con el autor, 25 de enero de 2003.
Machine Translated by Google
155
Solicitud:
Metas primarias Valor rápido; respondiendo al cambio Previsibilidad, estabilidad, alta
garantía
Desarrolladores Al menos 30% del nivel Cockburn a tiempo completo 50% Cockburn Nivel 3 temprano; 10%
2 y 3 peritos; sin nivel 0 o –1 a lo largo de; 30% de Nivel 0 viable;
personal sin nivel –1s**
Cultura: Consuelo y empoderamiento a través de muchos Comodidad y empoderamiento a través de
grados de libertad marco de políticas y procedimientos
presentado usando esas palabras. Las causas fundamentales de este comportamiento son una
misterio para mí. Una posible causa simple es que los PM estén demasiado ocupados para
considerar seriamente las oportunidades de mejora. Otra posibilidad
es que sus creencias van en contra de la idea. Una tercera explicación posible es
que los PM pueden ser reacios a recomendar iniciativas a menos que sean sugeridas, o al
menos respaldadas, por el cliente, y muchos clientes no lo están.
conscientes del poder y el valor de la mejora de procesos. Otra posibilidad
es que la cultura organizacional del proyecto no está comprometida con la continuidad
mejora. Otra posible explicación es que los gerentes no han
Tenía una manera de determinar cuánta mejora se debe al proceso versus
otros factores. La conclusión desde la perspectiva de la RA es que probablemente puedas
tener mucho más impacto si te alineas en un entorno que
apoya la mejora continua del proceso. Mi creencia es que tú también lo harás
Machine Translated by Google
disfrute de mucha más satisfacción laboral y diviértase más en el trabajo haciendo esto.
Véase “Efectos de la madurez del proceso en el esfuerzo de desarrollo” de Bradford Clark
[40] para obtener información valiosa. Su estudio, utilizando una muestra de 112 proyectos,
concluyó que un cambio en un nivel de madurez del proceso usando el marco CMM®
resultó en una reducción del esfuerzo de desarrollo del 10 al 32 por ciento. Esto es
fenomenal y merece la atención de cada proyecto. Véase también (1) el estudio de Brod
man y Johnson sobre el retorno de la inversión del SPI medido por la industria
estadounidense [41]; (2) “Los beneficios económicos de SPI” de Butler [42]; (3) Dion,
“Mejora de procesos y balance corporativo” [43]; (4) “Beneficios del SPI basado en CMM:
resultados iniciales” de Herbsleb et al. [44]; (5) “SPI en Hughes Aircraft [45] de Humphrey
et al.; (6) "Un caso de negocio para la mejora de procesos de software revisado: Medición
del retorno de la inversión desde la ingeniería y gestión de software" de McGibbon. [46]; y
(7) Informes técnicos del DACS [47]. No estoy de acuerdo con Grady Booch en que “CMM
es ortogonal al éxito del proyecto y no lo suficientemente ágil para el éxito económico”.
Esto es contrario a mi experiencia personal. Le pedí a Booch que explicara su perspectiva
al respecto; aclaró que, según su experiencia, algunos proyectos con “proceso maduro” no
tienen éxito porque el equipo del proyecto está tan absorto en el proceso que descuidan la
importancia de ser ágiles en el mercado.11 Booch Estaba aclarando que el CMM mide
la madurez del proceso, mientras que el éxito en los negocios se mide por el ROI.
11. Comunicación personal por correo electrónico con el autor, 12 de marzo de 2003.
Machine Translated by Google
157
Con un calendario en la mano, todo está bien. Su proyecto está planificado y el éxito está
asegurado. Incluso puede utilizar herramientas de planificación de proyectos sofisticadas y
económicas para imprimir gráficos de barras muy grandes e impresionantes que detallan
hasta el último día exactamente en que se realizará todo el trabajo.
Serán los productos y qué tareas serán necesarias para construirlos. Luego está
el problema de que una vez organizada la EDT, existe una gran reticencia a
cambiarla. Como ha señalado Noel Harroff, “una vez que se elabora la EDT,
puede ser una “trabajo difícil de deshacer” [49].
Desafortunadamente, muchos proyectos fracasan porque están trabajando
según un cronograma, basado en una EDT que no proporciona una hoja de ruta
realista para realizar el trabajo. Lo que parecía bueno sobre el papel no es del
todo factible en el mundo real. ¿Hay algo que pueda ayudar?
La metodología de gestión de proyectos PRINCE2 desarrollada para el
gobierno británico ofrece algunas ideas que pueden ayudar. La planificación
basada en productos es una característica clave de PRINCE2. Se centra en los
productos a entregar y su calidad. Un paso clave en la planificación de proyectos
es el desarrollo de una estructura de desglose de productos (PBS). En el método
PRINCE2, la planificación se realiza en tres pasos: (1) desarrollar un PBS, (2)
documentar las descripciones de los productos y (3) producir un diagrama de flujo
del producto que dé como resultado una red de actividades laborales. Max
Wideman [50] proporciona una excelente comparación de los enfoques PRINCE2
y PMBOK para la gestión de proyectos. La metodología PRINCE2 también
considera la planificación como una actividad continua que ocurre durante todo el
ciclo de vida del proyecto. De esa manera, a medida que se obtiene nueva
información sobre los requisitos o la posible solución, el proyecto tiene un proceso
para reincorporar esta información al plan del proyecto.
No es necesario cambiar a toda la metodología PRINCE2 para beneficiarse
de algunos de sus conceptos, especialmente la idea de un PBS. Una ventaja clave
de desarrollar un PBS es que puede centrar la atención en los resultados al nivel
práctico más pequeño, en lo que se necesita para definir los productos finales.
Este proceso necesariamente identificará los subcomponentes y componentes
intermedios necesarios para producir el producto final.
Este enfoque en el producto en lugar del trabajo necesario para producirlo puede
ayudar a despejar el camino e identificar áreas que no se comprenden bien y
necesitan aclaración. Esto puede resultar en el reconocimiento de áreas que
necesitan estudios de viabilidad o investigaciones adicionales.
¿En qué momento se detiene la PBS y comienza el trabajo, identificado en
una red de actividades laborales o una WBS? Por ejemplo, un enfoque común en
proyectos de TI es desarrollar un sistema como una serie de compilaciones.
Utilizando el enfoque PBS, cada compilación sería un producto entregable al
cliente y el flujo de trabajo resultante reflejaría esto en el nivel superior de la jerarquía.
Sin embargo, al comienzo de la planificación del proyecto, es posible que ni
siquiera se considere el concepto de construcciones separadas. La distinción entre
producto y trabajo no es tan crítica como el reconocimiento de que la planificación
es un proceso creativo para descubrir los componentes, las actividades y las
relaciones entre ellos. Lo que comienza como el PBS inicial, que necesariamente
se centrará estrictamente en los entregables inmediatos al cliente, evolucionará a
medida que la planificación identifique actividades de reducción de riesgos, que podrían ser
Machine Translated by Google
Resumen 159
Juan E. Moore
18. ¿Cuál es un buen enfoque para considerar los riesgos de los requisitos?
Algunas organizaciones utilizan el Cuestionario basado en taxonomía (TBQ) del SEI como
una herramienta para la identificación de riesgos. Varias de las preguntas TBQ fueron diseñadas
para obtener riesgos relacionados con los requisitos; estos se proporcionan en la Tabla 7.8. Aquellos
descritos en la Sección A.1 se relacionan con la calidad de los propios requisitos. Los descritos en
la Sección A.2 son riesgos relacionados con los requisitos asociados con el diseño, y los descritos
en la Sección A.4 están asociados con
integración y prueba. Los descritos en el apartado A.5 son riesgos asociados a
las especialidades de ingeniería. Los descritos en la Sección B se relacionan con el proceso de
desarrollo. Estas preguntas proporcionan una buena base para evaluar
riesgos relacionados con los requisitos asociados con su tarea o proyecto.
Ian Sommerville ofrece una buena visión general de la gestión de riesgos.
fuentes, probabilidades y efectos de procesos y riesgos en Ingeniería de Software, 6to
ed. [52, págs. 84–90]. Barry Boehm proporciona ideas pioneras sobre economía de la ingeniería de
software [53, págs. 279–288, 297–300 y 588–590].
Resumen
Este capítulo proporciona una discusión sobre habilidades adicionales e información útil.
a la RA. Es probable que no necesites la información relativa a todos
estos temas ya sea inmediatamente o en cualquier momento determinado. También es probable
que necesitarás conocer sobre la mayoría de estas áreas en algún momento de tu
trabajar. Podría considerar probar técnicas como DP e inspecciones.
si (1) no los ha utilizado, o (2) su proyecto no se aplica actualmente
a ellos. Los enfoques y técnicas discutidos en muchos de estos temas.
debe usarse continuamente en todos los proyectos, por ejemplo, reduciendo errores de requisitos,
CM, comprensión de V&V e inspecciones de productos de trabajo relacionados con requisitos.
Otros están más en la categoría “es bueno tenerlos pero son muy importantes”, como la estimación,
la mejora y el refinamiento de su facilitación.
habilidades, ser líder en su proyecto y buscar la mejora continua. Otros más, como la IE y el uso de
FP, son aplicables a situaciones especiales. Por ejemplo, considere usar IE cuando sea necesario
estimar
requisitos cuantitativamente para tomar decisiones de diseño. Los PF pueden ayudar cuando
medir los totales de FP en diferentes puntos del proyecto ayudará a planificar
Machine Translated by Google
Resumen 161
[13.a] En caso negativo: ¿Ha hecho algo de este tamaño y complejidad antes?
[14] ¿El tamaño requiere una organización mayor a la habitual en su empresa?
A.2 Diseño: ¿Existen riesgos que puedan surgir del diseño que el proyecto ha elegido cumplir?
sus requisitos?
A.2.a Diseño—Funcionalidad
¿Existe algún problema potencial al cumplir con los requisitos de funcionalidad?
[15] ¿Existe algún algoritmo específico que pueda no satisfacer los requisitos?
[15.a] En caso negativo: ¿Alguno de los algoritmos o diseños es marginal con respecto al cumplimiento
requisitos?
[dieciséis] ¿Cómo se determina la viabilidad de algoritmos y diseños?
Creación de prototipos/modelado/análisis/simulaciones
[18] ¿Existen requisitos o funciones que sean difíciles de diseñar?
[18.a] En caso negativo: ¿Tienen soluciones para todos los requisitos?
[18.b] En caso afirmativo: ¿Cuáles son los requisitos? ¿Por qué son difíciles?
A.2.d Diseño—Rendimiento
¿Existen requisitos estrictos de tiempo de respuesta o rendimiento?
[22] ¿Hay algún problema con el rendimiento?
Rendimiento Programación asincrónica
eventos en tiempo real
Respuesta en tiempo real
Tiempo de respuesta
Respuesta, contención o acceso a la base de datos
Cronogramas de recuperación
Funcionalidad Disponibilidad
A.4 Integración y prueba: ¿Existen riesgos que puedan surgir de la forma en que el proyecto elige
¿Reunir las piezas y demostrar que funcionan en conjunto?
¿La definición de la interfaz es inadecuada? ¿Las instalaciones son inadecuadas? ¿El tiempo es insuficiente?
Machine Translated by Google
[50] ¿Se han acordado criterios de aceptación para todos los requisitos?
[55] COTS: ¿Se aceptarán los datos del proveedor en la verificación de los requisitos asignados a COTS?
productos?
A.5 Especialidades de ingeniería: ¿Existen riesgos que puedan surgir por atributos especiales de la
¿producto?
[65.a] En caso afirmativo: ¿Hay algún problema con los plazos de recuperación?
[66.a] En caso afirmativo: ¿Ve alguna dificultad para cumplir con los requisitos de seguridad?
¿Son los requisitos de seguridad más estrictos que el estado actual de la práctica o
experiencia en el programa?
[78] ¿Existen planes formales y controlados para todas las actividades de desarrollo?
Código CM
Integración y prueba
[78.b] En caso afirmativo: ¿Están los desarrolladores familiarizados con los planes?
[85] ¿Existe un mecanismo de trazabilidad de requisitos que rastree los requisitos del
¿Especificación de fuente a través de casos de prueba?
[86] ¿Se utiliza el mecanismo de trazabilidad para evaluar el análisis de impacto del cambio de requisitos?
[87.a] En caso afirmativo: ¿Cubre todos los cambios en los requisitos básicos, el diseño, el código y
¿documentación?
B.2 Sistema de desarrollo: ¿Existen riesgos que puedan surgir de las herramientas de hardware y software que el
proyecto ha elegido para controlar y facilitar su proceso de desarrollo?
Caso de estudio
Un artículo del Washington Post12 informó sobre una situación que involucra a
desarrolladores e integradores de sistemas. Una junta federal despidió al contratista
que contrató en 1997 para crear un nuevo sistema informático para realizar un
seguimiento de 100 mil millones de dólares en ahorros para la jubilación, citando
repetidas demoras y software que contenía muchos defectos. La junta declaró que el
contratista era “incapaz de cumplir sus compromisos” y presentó una demanda por 350
millones de dólares en daños y perjuicios. La demanda alegaba que el sistema requería
40 horas para registrar transacciones, en lugar del requisito de 11 horas, y que no
podía distinguir entre un participante que vivía en Delaware y uno que vivía en
Alemania, lo que requeriría toda la correspondencia. abordarse manualmente, en lugar
de hacerlo por computadora.
La rescisión del contrato y la demanda “sorprendieron a los funcionarios contratistas”.
cials”, quien explicó que su cliente solicitó repetidamente cambios de diseño, lo que
hizo que los cronogramas de entrega del nuevo sistema fueran un objetivo cambiante.
“Después de más de tres años, la junta aún no ha determinado cuáles serán sus sistemas.
las necesidades son. Hemos desarrollado más de 1,2 millones de líneas de código de software
(cinco veces la estimación original) y más del 70 por ciento del software se ha completado y
probado en su totalidad”.
Originalmente estaba previsto que el nuevo sistema informático estuviera en funcionamiento
Mayo de 2000. La fecha de entrega se pospuso varias veces.
Se contrató a otro contratista para hacerse cargo del proyecto, pero no estaba claro cuándo
podría entrar en funcionamiento el nuevo sistema.
Este ejemplo de requisitos que salieron mal puso en peligro la reputación de la empresa
contratista, desperdició millones de dólares, afectó negativamente la misión y las operaciones del
cliente e impactó negativamente las vidas de muchas personas y familias involucradas en ambos
lados del conflicto.
contrato.
¿Qué se podría haber hecho para evitar este desastre? Lo más fundamental era crear,
desarrollar y mantener una relación de asociación que estableciera el éxito del proyecto como
objetivo. El cliente y el contratista de desarrollo deberían haber implementado al comienzo del
contrato un conjunto de mecanismos para mantener el tren en las vías en lugar de arriesgarse a
permitir que las cosas salgan mal. Específicamente, se podría hacer lo siguiente para evitar un
desastre similar:
Referencias
[1] Hooks, IF y KA Farry, Productos centrados en el cliente: creación de productos exitosos a través de
una gestión inteligente de requisitos, Nueva York: AMACOM, 2001, p. 6.
Machine Translated by Google
[3] León, AA, Guía para la gestión de la configuración de software, Norwood, MA: Artech
Casa, 2000.
[5] Fowler, M., UML Distilled: Aplicación del lenguaje de modelado de objetos estándar.
Lectura, MA: AddisonWesley, 1997.
[7] Dios mío, “Especificación del lenguaje de modelado unificado OMG”, versión 1.4, septiembre de
2001, en www.omg.org/technology/documents/formal/mof.htm.
[8] Gottesdiener, E., “Diez formas principales en que los equipos de proyecto hacen un mal uso de los
casos de uso y cómo corregirlos”, en www.therationaledge.com/content/jun_02/
t_misuseUseCases_eg.jsp.
[9] Comité de Estándares de Ingeniería de Software del IEEE, Estándar IEEE 1233a1998, “Guía IEEE
para el desarrollo de especificaciones de requisitos del sistema”, IEEE Computer Society, 8 de
diciembre de 1998.
[10] Comité de Estándares de Ingeniería de Software del IEEE, Estándar IEEE 830, “Práctica recomendada
del IEEE para especificaciones de requisitos de software”, IEEE Computer Society, 2 de diciembre
de 1993.
[12] Kulak, D. y E. Guiney, Casos de uso: requisitos en contexto, Nueva York: ACM
Prensa, 2000.
[13] Cockburn, A., Redacción de casos de uso eficaces, Boston, MA: AddisonWesley, 2001.
[14] Korson, T., “The Misuse of Use Cases: Management Requisitos”, documento técnico, copyright
KorsonMcGregor, 2000, en www.korsonmcgregor.com/publications/korson/Korson9803om.htm.
[15] Gamma, E., et al., Patrones de diseño, Reading, MA: AddisonWesley, 1995.
[16] Publicaciones de estándares federales de procesamiento de información (FIPS PUBS) 183, “Definición
de integración para el modelado de funciones (IDEF0)”. Este estándar describe el lenguaje de
modelado IDEF0 (semántica y sintaxis) y las reglas y técnicas asociadas para desarrollar
representaciones gráficas estructuradas de un sistema o empresa. El uso de este estándar permite
la construcción de modelos que comprenden funciones del sistema (actividades, acciones,
procesos, operaciones), relaciones funcionales y datos (información u objetos) que respaldan la
integración de sistemas. Disponible en www.itl.nist.gov/fipspubs/idef02.doc.
[17] IEEE, IEEE 1320.1. "Estándar IEEE para lenguaje de modelado funcional: sintaxis y semántica para
IDEF0". Sociedad de Computación IEEE, 1998.
[18] Feldmann, CG, La guía práctica para la reingeniería de procesos de negocios utilizando IDEF0,
Nueva York: Dorset House, 1998.
[19] Paulk, MC, “Using the Software CMM with Good Judgment”, Software Quality Professional 1(3)
(1999), en www.sei.cmu.edu/publications/articles/paulk/judgment.html.
Machine Translated by Google
[20] Hadden, R., "¿Cuán escalables son las prácticas clave de CMM?" CrossTalk (abril de 1998): 18–23.
Véase también www.ppc.com.
[21] Brodman, JG y DL Johnson, The LOGOS Tailored CMM for Small Businesses, Small Organizations
and Small Projects, LOGOS International, Inc., en www.tiac. net/usuarios/johnsond.
[22] Gilb, T., Principios de gestión de ingeniería de software, Harlow, Reino Unido: Addison
Wesley, 1988.
[23] Gilb, T., “Impact Estimation Tables: Understanding Complex Technology Quantitatively”, documento
técnico, noviembre de 1997, en www.gilb.com.
[25] Garmus, D. y D. Herron, Análisis de puntos de función: prácticas de medición para proyectos de
software exitosos. Boston, MA: AddisonWesley, 2001.
[27] Jones, C., Evaluaciones de software, puntos de referencia y mejores prácticas. Boston, Massachusetts:
AddisonWesley, 2000.
[33] Walton, M., El método de gestión de Deming, Nueva York: The Putnam Publishing
Grupo, 1986.
[34] Jones, C., Calidad del software: análisis y directrices para el éxito, Londres:
Prensa internacional de computadoras Thomson, 1997.
[36] Bicknell, BA y KD Bicknell, La hoja de ruta hacia el éxito repetible: uso de QFD para implementar el
cambio, Boca Raton: CRC Press, 1995.
[37] Grady, JO, Validación y verificación del sistema, Boca Ratón: CRC Press, 1997.
[42] Butler, K., "Los beneficios económicos de la mejora de procesos de software", CrossTalk (1995): 28–35.
Machine Translated by Google
[43] Dion, R., “Mejora de procesos y balance corporativo”, IEEE Software (octubre de 1993): 28–35.
[44] Herbsleb, J., et al., Beneficios de la mejora de procesos de software basado en CMM: resultados
iniciales. Informe Técnico CMU/SEI94TR013. Pittsburgh, PA: Instituto de Ingeniería de Software,
agosto de 1994.
[46] McGibbon, T., “Un caso de negocio para la mejora de procesos de software revisado: medición del
retorno de la inversión desde la ingeniería y la gestión de software”, número de contrato
SP0700984000, Centro de análisis y datos para software (DACS), ITT Industries, División de
Ciencias e Ingeniería Avanzada, Roma, Nueva York, 30 de septiembre de 1999, en
www.dacs.dtic.mil/techs/roispi2.
[48] Project Management Institute, Guía de los conocimientos sobre gestión de proyectos (PMBOK), 1996.
[50] Wideman, Max, “Comparing PRINCE with PMBOK”, AEW Services, Vancouver BC, Canadá, en
www.pmforum.org/library/papers/Prince2vsGuide3.htm, 2002.
[51] SEI, “Identificación de riesgos basada en taxonomía”, Informe Técnico CMU/SEI93TR6. Pittsburgh,
PA: SEI, junio de 1993, en www.sei.cmu.edu/pub/documents/93.reports/pdf/tr06.93.pdf.
[53] Boehm, BW, Economía de la ingeniería de software, Englewood Cliffs, Nueva Jersey: Prentice
Salón, 1981.
Machine Translated by Google
.
Machine Translated by Google
CAPÍTULO
8
Contenido
Un enfoque de calidad integrado
Impulsores empresariales para la calidad
169
Machine Translated by Google
y una expectativa de gestión (a través de sus valores y principios declarados) que respalda el trabajo del
analista. Una advertencia es que no importa cuán comprometidos estén las personas o los equipos con la
calidad y con el uso efectivo de técnicas de mejora de la calidad, es posible que no tengan éxito si otros
equipos, miembros de su propio equipo y la gerencia no comparten ese compromiso.
Reducción de costos;
Rendimiento mejorado;
Eliminación de defectos;
Eficiencia;
Soluciones innovadoras.
Es importante que los proyectos y las organizaciones consideren estas necesidades de los clientes.
El papel de la gerencia
En las organizaciones de alto rendimiento, los objetivos estratégicos y los impulsores comerciales están
vinculados a los objetivos y actividades de mejora de procesos. Los valores y principios rectores se
documentan y comunican, y la alta dirección establece sus expectativas de que todos los niveles de la
organización respeten estos principios en sus hábitos de trabajo diarios. En relación con la calidad y la
mejora de procesos, el papel de la dirección es hacer lo siguiente:
Determinar las áreas que (a) son más importantes para los clientes y (b) necesitan
cambios;
Ser receptivo;
Ser competente.
Principios rectores
En cualquier organización, un conjunto de principios rectores establece valores sobre cómo se
deben hacer las cosas. Estos principios pueden o no estar articulados. En algunas
organizaciones, el valor rector es que simplemente llevarse bien está bien. En otros, existe un
conjunto de valores que sirven para proporcionar estándares elevados y eficaces sobre cómo
se deben hacer las cosas, por ejemplo:
Contamos con un conjunto de reglas de conducta utilizadas por las personas de nuestra
organización que reflejan respeto por las personas.
Gestión de prioridades
El proceso utilizado por la dirección para decidir lo que quiere lograr se muestra en la
Figura 8.1. Tenga en cuenta que el proceso utiliza equipos de QI para abordar actividades
o problemas prioritarios y desarrollar planes y recomendaciones para su revisión y
aprobación por parte de los ejecutivos responsables. Este enfoque aprovecha la
experiencia, los conocimientos y el compromiso de los empleados.
Crear/revisar visión
Analizar metas y Definir las
y misión
objetivos. actividades
Desarrollar planes y
Establecer objetivos innovadores recomendaciones.
Patrocinar, defender y
comunicar objetivos.
Fomentar un enfoque
de mejora continua
Determina la
visión,
misión y Proporcionar Evalúa de forma
independiente
actividades necesidades y requisitos.
prioritarias. políticas,
procesos y
resultados
de trabajo y
Desarrollar
conjuntamente los requisitos reales proporciona
retroalimentación a
gestión
Realiza el
trabajo
Evaluar los
resultados del trabajo.
Proporcionar
datos de
satisfacción del
cliente.
Evalúa la
retroalimentación
e inicia la
mejora continua.
Figura 8.2 Cómo funcionan juntos los componentes de un enfoque integrado de calidad.
Un aspecto crítico es el uso del equipo conjunto para desarrollar los requisitos reales, como se
analiza en el Capítulo 1.
Los datos de satisfacción de los empleados son otra forma de retroalimentación proporcionada a
gestión que ayuda a guiar la organización.
Compromiso
de la dirección con Selección de
un estándar
un enfoque
Deseo de
mejora Evaluación de la
situación actual.
continua
Ciclo anual
recomendado
Evaluación de resultados
y oportunidades para
Recomendaciones y
futuras mejoras
planes de acción.
Actividades de
mejora
Equipos de MC que utilizan la historia de MC: aunque siempre conscientes del fondo
En esta línea, las grandes empresas tienen más margen de maniobra en términos de recursos para
personal y financiar equipos de QI. Debido a que tienen menos personal y presupuestos más
pequeños, los proyectos o empresas pequeñas y medianas deben ser juiciosos.
en el establecimiento de equipos. Al mismo tiempo, porque deben
operar sus negocios y responder a las demandas de los clientes y tratar
con problemas crónicos de calidad, deberían establecer equipos de QI para atacar
Sólo los que los altos directivos consideran los problemas más críticos de la empresa. En
otras palabras, las organizaciones más pequeñas deberían establecer equipos para
abordar aquellos problemas que obstaculizan su capacidad para hacer negocios o
satisfacer las demandas de los clientes. (Consulte a continuación para obtener más información sobre el QI
proceso de historia que puede ser utilizado por los equipos de QI para fomentar la continuidad
mejora.)
Encuestas de satisfacción del cliente (p. ej., por teléfono): considere proporcionar una
mecanismo para abordar inmediatamente la insatisfacción del cliente, como
“procedimientos de alerta roja” para escalar inquietudes, abordarlas y brindar retroalimentación
al cliente. Grandes proyectos o empresas han establecido mecanismos y herramientas para
rastrear y gestionar la satisfacción del cliente.
asuntos. Los administradores pueden aprovechar los recursos existentes para recopilar y
Analizar la información y utilizarla para mejorar o conseguir nuevos negocios.
Aunque es posible que no tengan la ventaja de un enfoque corporativo
Machine Translated by Google
o infraestructura, las empresas más pequeñas también tienen una ventaja. Porque
pueden trabajar con un grupo más pequeño de clientes, es más fácil tomar la
enfoque personal y discutir problemas uno a uno con los clientes y para
desarrollar acciones correctivas inmediatas. Independientemente del tamaño de la organización,
si los gerentes no realizan un seguimiento o control de la satisfacción de sus clientes
problemas, pagarán su precio en financiación reducida, contratos cancelados,
o premios a los competidores.
Encuestas de satisfacción de los empleados: conocer las inquietudes de los empleados a través de
datos objetivos y actuar sobre los resultados genera lealtad de los empleados y
mejora la retención. Al igual que con las encuestas de satisfacción del cliente, mayores
Las empresas utilizan recursos considerables para abordar los problemas de los empleados y
para retener su fuerza laboral. Saben que estos recursos tienen pies y
Puede salir en cualquier momento para encontrar un mejor ambiente de trabajo u oportunidades
de avance. Esto también es válido para las empresas más pequeñas, pero
pueden ser más críticos para su negocio si unos pocos trabajadores calificados
El núcleo de su experiencia en cualquier área dada se une a la competencia. Los gerentes de
pequeñas empresas harían bien en desarrollar un informe breve y
Encuesta de 20 preguntas para saber qué piensa su personal, para
determinar qué funciona bien en la empresa y qué no, y
identificar áreas de mejora. No es necesario que una encuesta de este tipo sea científica, sino
que sirva de base para las decisiones de gestión.
Control de calidad: en la mayoría de las grandes empresas, tener una visión objetiva independiente
sobre el cumplimiento y uso de políticas y procesos en la organización
Proporciona comentarios valiosos sobre la mejora de la calidad y el proceso.
esfuerzos de mejora o señala otros problemas que podrían no haber sido
su atención inmediata. Esto hace posible tener un control de calidad capacitado.
personal disponible para apoyar proyectos o equipos de cualquier tamaño como una función
matricial. Es posible que las organizaciones más pequeñas no tengan el personal capacitado o
presupuesto para apoyar a un personal de control de calidad a tiempo completo o una organización matricial desde
a los que pueden asignar control de calidad. En esos casos, se recomienda que el
Todo el equipo del proyecto adopta una estrategia de equipo de calidad, donde todos los miembros
del equipo son responsables de la calidad del trabajo que realizan.
y los productos y servicios que ofrecen. En este entorno, cada
Un miembro del personal debe realizar revisiones o auditorías del producto o servicio de trabajo
de otro miembro del equipo y del proceso utilizado. Este enfoque
Requiere que cada miembro del equipo esté capacitado para su función de control de calidad y
que exista un sistema de acciones correctivas que rastree el estado de los problemas encontrados
en las revisiones de control de calidad y mantenga informada a la gerencia. Gerentes
debe tener especial cuidado para garantizar que los revisores puedan demostrar su objetividad
en su rol como QA (un requisito principal del CMMI ) y que
no están directamente involucrados en el proceso o producto que están revisando.
Diseño, gestión y mejora de procesos: Un proceso es un conjunto de actividades que dan como
resultado la realización de una tarea o el logro de
un resultado. Las organizaciones de cualquier tamaño deberían utilizar el proceso como uno de los
Machine Translated by Google
pilares fundamentales de su labor. Los proyectos más grandes y complejos requieren más
detalles en sus procesos documentados y muestran los roles y responsabilidades de todos
los grupos que participan en el proceso. Por razones obvias, lograr que grandes grupos de
personas trabajen juntas para alcanzar objetivos compartidos puede ser un desafío mayor.
Por otro lado, los equipos de proyectos más pequeños tienen una ventaja, ya que pueden
depender de menos detalles en su proceso documentado. Por ejemplo, pueden utilizar listas
de verificación o diagramas de flujo de procesos simples. Tener menos personas en el equipo
del proyecto hace que sea más fácil determinar cuál es el resultado deseado del proceso,
qué entradas y salidas se requieren y los pasos específicos del proceso que deben seguirse.
Tener equipos pequeños también facilita la capacitación y la realización de los cambios
deseados.
Monitorear el desempeño a través de métricas: los gerentes deben tomar decisiones basadas
en datos. A veces estos datos pueden ser cualitativos o cuantitativos. Para que una
organización de cualquier tamaño mejore, debe tener datos cuantitativos en los que basar
sus mejoras. Es un gerente imprudente el que decide gastar recursos para implementar una
mejora de la calidad cuando no sabe si dicha mejora es necesaria. Para mejorar la calidad y
los procesos, los gerentes deben establecer objetivos razonables (que tengan buenas
posibilidades de lograr) e identificar medidas que puedan utilizar para determinar si han
cumplido o no esa meta. Ejemplos de métricas potencialmente útiles incluyen tasas de éxito
empresarial, índices de satisfacción del cliente y un índice de fidelidad del cliente.
Esto último puede generarse de forma tan sencilla como formular tres preguntas: (1)
¿Cómo califica nuestra calidad? (2) ¿Cuál es la probabilidad de que su negocio continúe?
(3) ¿Cuál es la probabilidad de que nos recomiende a un nuevo cliente?
Técnicas de MC: Las técnicas de MC como la lluvia de ideas, la votación múltiple, el análisis
de Pareto, el análisis de barreras y ayudas, los planes de acción, el análisis de causa y
efecto, las listas de verificación, la historia de la MC y el PDCA (que se analiza a continuación)
son fáciles de aprender y de un valor incalculable en un organización con visión de futuro.1
Estas técnicas pueden funcionar bien en proyectos u organizaciones de cualquier tamaño,
siempre y cuando el grupo esté capacitado para utilizar la técnica y los resultados del ejercicio.
Historia de QI: La historia de QI, desarrollada por Qualtec Quality Services (ahora parte de
Six Sigma Qualtec), proporciona una estructura para abordar actividades y problemas
prioritarios. Como se mencionó anteriormente, debido a que tienen menos
1. Una guía excelente y económica para utilizar estas técnicas es QI Story: Herramientas y técnicas, una guía para la
resolución de problemas de Six Sigma Qualtec, [1]. Otro recurso para materiales de mejora organizacional es GOAL/
QPC, disponible en goalqpc.com o llamando al (800) 6434316.
Machine Translated by Google
los recursos, los proyectos más pequeños o las empresas deben ser prudentes en el uso de la
historia de la MC para resolver problemas; deben identificar los problemas que serán más
rentables de resolver. Un conjunto modificado de pasos es el siguiente:
Recopilar datos.
3. Realizar análisis.
la aprobación de la dirección.
puede cambiar para garantizar que el problema no vuelva a ocurrir (por ejemplo, una política,
un procedimiento, un proceso de trabajo, una norma o una capacitación nuevos o revisados)?
El ciclo PDCA
Un paradigma popular y útil utilizado para la mejora de la calidad es el ciclo
PDCA [2] mencionado en el Capítulo 3 en relación con la evaluación del valor
y la utilidad de las reuniones. La idea es planificar el enfoque, implementarlo
(“hacerlo”), verificar cómo funcionan las cosas, actuar sobre los resultados de
esa verificación y continuar el ciclo. El ciclo PDCA se muestra en la Figura 8.4.
Involucrar y
Identificar los
motivar a la
procesos Evaluar:
fuerza laboral.
de máxima prioridad • Comentarios
sistema • Comentarios
de gestión de de los
calidad. empleados • Resultados
del proyecto • Negocio Reevaluar las
Documentar los objetivos metas estratégicas
procesos
y los objetivos
de máxima prioridad comerciales.
Identificación de requisitos;
Requisitos derivados;
Requisitos de partición;
Asignación de requisitos;
Requisitos de seguimiento;
Gestión de requisitos;
Validación de requisitos.
Involucran a las partes interesadas (aquellos que tienen interés) en decidir cómo
se deben hacer las cosas, obteniendo así su aceptación para la implementación,
el uso y la mejora continua del proceso.
Permiten que un proyecto u organización sea cada vez más competente. Una
vez que un proceso está documentado, todos pueden entenderlo y se puede
realizar repetidamente de la misma manera con los mismos resultados. Además,
se pueden sugerir, discutir e incorporar mejoras.
Departamento o
Desarrollo
personas Clientes Equipo conjunto Proyecto CCB CM control de calidad
involucradas: de software
Pasos en el
proceso
Identificar
una necesidad
Evolucionar
los
requisitos reales Evolucionar
los
requisitos reales
Determinar Determina el
recursos ¿Continuar?
recursos
requerido
requerido
Y
Desarrollar ¿Proceder? Desarrollar
productos productos
Mantener el
Mantener el
control de
control de
referencia
referencia
Proporcionar Proporcionar
revisiones independientes
revisiones independientes
Entregar Productos
productos entregados
Figura 8.5 Plantilla de diagrama de flujo de diseño de procesos con proceso de desarrollo de productos simplificado.
proceso como punto de partida para la mejora. Una vez que se hayan identificado
la mayoría de las actividades, haga una verificación final para asegurarse de que
estén ensambladas en el orden en que deben realizarse y asignadas a la
organización o persona que debe realizarlas. Más adelante, utilice símbolos de
diagrama de flujo estándar para conectarlos. He proporcionado un proceso de
desarrollo de producto simplificado en la plantilla para ayudarle a comprender el
concepto. Descubrirá que algunas de las actividades del proceso requerirán una
definición más detallada; en este caso, considere diseñar subprocesos para
capturar y documentar comprensiones más detalladas del enfoque del “debería ser”.
Como se enfatiza en el Capítulo 3, la AR debe ser competente en el diseño y
desarrollo de un proceso. Aprovecha ahora, mientras lo piensas, para diseñar un
proceso. Seleccione una actividad importante relacionada con sus responsabilidades
laborales actuales que aún no esté documentada. Invite de tres a seis compañeros
de trabajo que tengan mucho conocimiento sobre la actividad o que sean partes
interesadas a participar con usted en un taller de diseño de procesos. Transcriba
la plantilla proporcionada en la Figura 8.5 (sin el diagrama de flujo y sus pasos
asociados) en una pizarra. En una libreta grande a un lado, acuerden el nombre
del proceso. Luego, piense detenidamente en los objetivos del proceso: ¿qué se
supone que debe lograr el proceso? Será útil visualizar los resultados del proceso.
Documentar (anotar) los objetivos del proceso. Luego, enumere las partes
interesadas del proceso (cualquiera que tenga interés en el proceso o
responsabilidades relacionadas con la finalización del proceso).
Usando notas Postit® de 3 × 5 pulgadas , escriba los nombres de los grupos de
partes interesadas y de los grupos de proyectos involucrados en el proceso a
documentar (un grupo por nota Postit®) y colóquelos en la parte superior de la pizarra.
Nuestra costumbre es colocar al cliente del proceso en el lado izquierdo (dejar
espacio para una columna vertical que será un conjunto de los números sucesivos
de los pasos del proceso (empezando por “1”) o nombres especificando estos
pasos. Normalmente, los nombres de los grupos que están más involucrados en
el proceso se colocan después de los de los clientes, y los nombres de los grupos
menos involucrados en el proceso hacia o en el lado derecho. Luego, invite a los
participantes a su taller de diseño de procesos para sugerir las tareas que deben
realizarse para realizar el proceso. Inicialmente, simplemente enumere cada tarea
en una nota Postit® separada y colóquelas en la pizarra (en cualquier lugar). A
medida que avanza con la identificación de tareas , comience a organizar los
pasos de acuerdo con cómo se debe realizar el proceso. [Un enfoque alternativo
es desarrollar el diagrama de flujo del proceso basándose en la forma existente
en que se realiza el proceso (el “proceso tal como está”).] No se preocupe Aún no
se han comprometido a conectar los pasos del proceso con líneas o a determinar
puntos de decisión; estos refinamientos pueden realizarse fuera de línea, después
del taller, por la persona que tiene la responsabilidad principal de ese proceso (nos
referimos a esta persona como el proceso). dueño). Una vez que esté satisfecho
de haber identificado la mayoría o todas las tareas que deben realizarse en el
proceso, refine su organización de las tareas en un flujo lógico (el diagrama de
flujo del proceso). Es posible que descubra que es necesario definir una o más
tareas con más detalle; puede optar por abordar este subproceso en un taller
posterior o puede decidir que es tan importante que debe definirse primero, antes de completar e
Machine Translated by Google
flujo que comenzó inicialmente. Sea muy flexible. ¡Divertirse! Disfruten unos de otros.
Aprendamos unos de otros. Considere invitar a otras partes interesadas a unirse a su
agrupar o crear subgrupos para definir subprocesos (a veces denominados
microprocesos del macroproceso). Otro enfoque, si usted o alguien
otra persona está muy familiarizada con el proceso, es que esa persona diseñe un borrador de
el proceso fluye de forma independiente y llevar ese borrador del producto de trabajo a la
Taller de diseño de procesos para su refinamiento por parte del grupo con el fin de alcanzar
consenso.
Para ver un ejemplo de un diagrama de flujo de proceso de requisitos completo, consulte
Prácticas de requisitos eficaces [3, págs. 110124]. Escribe un PD narrativo para
acompañan cada diagrama de flujo (macro y micro). Consulte la Tabla 8.1 para obtener una
plantilla de PD. Los PD para los diagramas de flujo referenciados del proceso de requisitos son
disponible en mi sitio web (www.ralphyoung.net). El propietario del proceso debe
Desarrollar el PD fuera de línea. Pienso que un proceso definido incluye tanto el
diagrama de flujo del proceso y el PD narrativo, porque la información proporcionada
Ambos documentos son necesarios para comprender el proceso.
Tenga en cuenta que tener un proceso definido y documentado proporciona una base para
la mejora continua. A medida que el proceso se realiza o “ejecuta”, se pueden identificar y
proporcionar al proceso sugerencias para mejorarlo.
dueño. El propietario del proceso debe recopilar estas sugerencias y periódicamente
Invitar a las partes interesadas a participar en un taller de perfeccionamiento de procesos para
considerar sugerencias. Si se decide cambiar (“actualizar”) el diagrama de flujo del proceso
o PD, el propietario del proceso debe documentar los cambios y publicar un nuevo
versión del proceso. Una convención de nomenclatura sugerida es utilizar la Versión 1.1,
1.2, 1.3, etc., para actualizaciones menores y la versión 2.0, 3.0, 4.0, etc.
adelante, para actualizaciones importantes. Esto es importante para que todas las partes
interesadas puedan identificar y utilizar la versión actual. Se debe enviar un correo electrónico siguiendo el
lanzamiento de cada nueva versión para que todas las partes interesadas sean conscientes de
lanzamiento actual.
Habiendo asumido la responsabilidad de facilitar un taller de diseño o desarrollo de procesos
y de crear un diagrama de flujo de proceso y PD, usted es un RA o ingeniero mejor calificado. (A
veces, este tipo de trabajo y actividades relacionadas se denominan ingeniería de procesos).
Además, encontrará
que el trabajo en equipo se fortalece con estas actividades, porque los compañeros de trabajo
Se vuelven cada vez más conscientes de que dependen de otros para trabajar.
actividades y para ideas y sugerencias de mejora. Es más, la gente
aprenderá mucho sobre cómo se debe realizar el trabajo.
La literatura de la industria informa un retorno de la inversión de 7:1 de las actividades de ingeniería
de procesos. Véase [4–8] para varios informes excelentes. Consulte [1, 9] para obtener materiales de ayuda.
Introducir y utilizar técnicas de MC. He experimentado este retorno y otros
beneficios en la unidad de negocios IT DES de Northrop Grumman, y esto ha
fortaleció mi compromiso con la ingeniería de procesos y con el logro
madurez del proceso en los últimos doce años [10].
Habiendo facilitado exitosamente el taller de diseño de procesos, sígalo
ideamos otro lugar: un almuerzo informal en el que
Presenta información sobre varias técnicas de MC simples pero poderosas.
(estos se describen en [1]):
Machine Translated by Google
información general
Identificacion de proceso Identificador de proceso único
Meta Proporcione una breve descripción del propósito y objetivo de la actividad.
Estándares Identificar los estándares de procesos y productos aplicables, incluidos
referencias del modelo de madurez.
Procesos relacionados Identificar los procesos que están relacionados con este proceso, especialmente si este proceso
forma parte de un conjunto que normalmente se considera como un todo. Enumere los procesos que
producir insumos o consumir productos de este proceso.
Número de versión Incluir historial de versiones. Para cada versión, incluya el número de versión,
fecha de aprobación y un resumen de los cambios. Por ejemplo, las versiones para
esto SÍ siguió:
1.1 razones agregadas por las cuales las metas y mediciones de la organización o proyecto
podría cambiar
Proceso actualizado 1.0 basado en la revisión por pares del 7.1.99 (7.12.99)
Cliente Identificar las partes interesadas internas y externas que se benefician directamente
(recibir productos/servicios) a partir de los resultados (outputs) de este proceso.
Requisitos Enumere cada uno de los requisitos legítimos que se han negociado y
acordado con el identificado. Estos requisitos deben seguir las
Criterios de RUMBA en el sentido de que deben ser razonables, comprensibles,
mensurables, creíbles y alcanzables.
Descripción de la interfaz
Criterios de entrada Identificar los criterios que deben cumplirse antes de que la actividad pueda realizarse.
iniciado. Los criterios podrían decir cómo saber cuándo se puede iniciar un proceso,
por ejemplo, al concluir otra actividad o proceso.
Entradas Identificar los productos de trabajo que se utilizan en cualquier punto del proceso.
Utilice verbos de acción para describir las tareas. Referencia por ID de proceso todas las tareas
que se describen con más detalle en otra parte. Tenga en cuenta cualquier procedimiento particular,
prácticas o métodos que se emplean en cualquier paso.
Herramientas Describa las herramientas sugeridas u obligatorias utilizadas durante cualquier paso del proceso.
Recursos Describa los recursos necesarios para implementar el proceso.
Machine Translated by Google
Descripción de la medida
Indicadores de calidad Enumere y describa brevemente aquellas mediciones que se utilizarán para rastrear el
desempeño (o resultado) de este proceso en términos del producto o servicio
entregado al cliente interno o externo. Estos indicadores deben estar estrechamente
vinculados a los requisitos válidos del cliente y deben usarse para monitorear el desempeño
de todo el proceso. Estas medidas deben ser mensurables, verificables y rentables.
Indicadores de proceso Enumere y describa brevemente aquellas mediciones que se tomarán en puntos
críticos durante el proceso y se utilizarán para rastrear y evaluar la efectividad del
proceso en sí. Estas medidas durante el proceso también deben ser mensurables,
verificables y rentables.
Nota: En los procesos estándar organizacionales, los indicadores de calidad y de proceso se sugieren, pero no son obligatorios.
Nota: Los proyectos determinan las mediciones del proceso durante la planificación del proyecto y los esfuerzos de mejora del proceso. Para reducir los gastos generales,
un proyecto puede designar indicadores de proceso como opcionales, que se recopilarán si se requiere un diagnóstico de problemas.
(Fuente: Craig Hollenbach, miembro de varios de los equipos de desarrollo de productos CMMI que contribuyeron enormemente al desarrollo de los productos
CMMI ).
Lluvia de ideas;
Votación múltiple;
Diagramas de Pareto;
PDCA;
Normas de conducta;
Prevención de defectos;
Inspecciones
Planes de acción.
Northrop Grumman IT ha utilizado este mecanismo durante siete años y ha demostrado ser invaluable.
Es posible que las empresas más pequeñas no tengan suficientes proyectos o AR para formar un
RWG. En cualquier caso, las empresas deberían considerar trabajar con la SEI, colegios o
universidades locales o consorcios de calidad para compartir las mejores prácticas de requisitos
locales (por ejemplo, herramientas, técnicas, ideas) entre los miembros y servir como un foro de
networking.
Inicialmente, unos pocos participantes activos (aproximadamente 6 a 8 de los 15 a 20 miembros
del RWG, dependiendo de la reunión en particular) diseñaron un proceso de requisitos (RE) actualizado
durante un período de aproximadamente cuatro meses. Usamos la abreviatura RE para distinguir el
proceso actualizado de la versión anterior, que era un proceso RM (queríamos que el proceso
actualizado abordara el ciclo de vida completo del sistema, en lugar de solo la parte del software).
Posteriormente, el RWG recibió a varios proveedores durante un período de cuatro meses, quienes
brindaron demostraciones de las populares herramientas de requisitos automatizados, incluidos
DOORS (de Telelogic), RequisitePro (“ReqPro”) de IBM (anteriormente Rational) Corporation, Calibre
RM de Technology Builders (TBI) [ahora Requisitos del sistema Star Team de Starbase], CORE (de
VITECH Corporation), RTM Workshop (de Integrated Chipware) y Vital Link (de Compliance
Automation). Como se enfatizó anteriormente, la AR debe familiarizarse y tener experiencia en el uso
de una herramienta automatizada de requisitos sólida en la industria. (Por fortaleza de la industria, me
refiero a una herramienta de requisitos que proporciona las capacidades necesarias para desarrollar
sistemas y software). La participación en estas demostraciones proporcionó a los miembros de
nuestro RWG conocimientos adicionales sobre el uso y el valor del soporte de herramientas
automatizadas para actividades relacionadas con los requisitos. Tenga en cuenta que a menudo
puede descargar versiones de prueba de muchas herramientas desde los sitios web de los
proveedores. Asegúrese de estar dispuesto a dedicar algo de tiempo a experimentar con la herramienta
antes de descargarla; en mi experiencia, el período de evaluación de prueba pasa muy rápido, dadas
sus otras responsabilidades.
nuevas asignaciones, etc. El mecanismo del GTR sigue siendo invaluable en muchos sentidos.
Un informe que presenté en una conferencia de la industria sobre nuestro RWG está disponible
en mi sitio web [8].
Trabajo en equipo
El trabajo en equipo evoluciona (o no) en función de una variedad de factores. Estos son
algunos de los factores más importantes, según mi experiencia:
1. Existe un sentimiento de confianza. Sé que mi jefe cree que mis intenciones son buenas,
incluso cuando cometo errores.
2. Los compañeros de trabajo se apoyan unos a otros. Se tratan unos a otros como clientes.
Una pregunta de un compañero de trabajo no es una interrupción; más bien, es una
de las razones por las que estoy allí y una oportunidad de ayudar a alguien que es
muy importante para mí.
4. Los miembros del equipo se dan cuenta de que cada persona tiene un papel único en el
equipo y tiene habilidades especiales (considérelas como dones) que aporta al
esfuerzo del equipo.
5. Los miembros del equipo se respetan unos a otros. Se tienen en alta estima. Hablan muy
bien unos de otros con los demás.
6. Se lleva a cabo una reunión inicial para proporcionar un inicio oficial a los esfuerzos del
equipo y para ayudar a informar a otros que el esfuerzo del equipo está en marcha.
7. El equipo desarrolla un plan de acción para sus esfuerzos, que define tareas específicas,
fechas de finalización planificadas y quién tiene el liderazgo (la responsabilidad) de
cada tarea.
10. El equipo acuerda un conjunto de reglas de conducta sobre cómo se tratarán entre sí
(consulte Prácticas de requisitos efectivos [3, p. 41] para obtener un ejemplo de
conjunto de reglas de conducta).
Machine Translated by Google
15. Los miembros del equipo utilizan técnicas comprobadas de QI como forma de
ellos hacen su trabajo (ver la discusión sobre técnicas de MC anteriormente en este
capítulo).
16. Se llevan a cabo celebraciones especiales cuando el equipo logra un hito importante,
por ejemplo, una recepción de final de día, un almuerzo o una cena.
reconocimiento del equipo en una reunión de alta dirección y cartas
de agradecimiento o elogio por parte de los gerentes o altos directivos.
Confío en que a partir de este debate usted tenga la idea de que contar con políticas efectivas
El trabajo en equipo en un proyecto y en una organización es poderoso. Realmente empodera al
equipo, al proyecto y a la organización. Un equipo de alto rendimiento
(en mi experiencia) logrará objetivos aparentemente imposibles. Además,
Es un placer ser miembro de un equipo de alto desempeño por la satisfacción y plenitud que uno
obtiene.
La gerencia puede y debe preparar el escenario para permitir que sus equipos sean efectivos.
Estas son algunas de las formas en que la administración hace esto:
Resumen 189
La dirección se comunica de forma concertada con representantes de otras áreas, como marketing
o ingeniería de sistemas, por ejemplo, enviando conjuntamente un correo electrónico a toda la
organización. Esto expresa un enfoque que podría explicar o comunicar más claramente un tema
de una manera que supere las agendas percibidas de los departamentos individuales.
Cuando la dirección decide no ayudar de estas y otras formas relacionadas, la probabilidad de que los
equipos de proyecto de la organización tengan un alto rendimiento se reduce considerablemente, como
todos sabemos por nuestra propia experiencia. Pensamos: si a mi jefe no le importa y no reconoce lo que
intento hacer, ¿por qué molestarse?
Como RA, puede trabajar para fomentar el trabajo en equipo eficaz en los diversos roles descritos en
el Capítulo 2. El trabajo en equipo es una de las formas en que se implementa un enfoque de calidad
integrado.
Resumen
Es necesario un proceso de requisitos eficaz para tener un enfoque de calidad integrado, y se requiere un
enfoque de calidad integrado para que el proceso de requisitos (o cualquier otro) funcione mejor. La
implementación de un enfoque de calidad integrado implica:
El enfoque podría haber sido que la empresa matriz emitiera un conjunto de planes
de mejora de procesos y principios generales por etapas. Las primeras versiones
podrían haber fomentado actividades de mejora de procesos simples y efectivas,
con planes más detallados publicados más adelante. Entonces, la empresa podría
haber monitoreado estos primeros pasos y alentado a los niveles inferiores de la
división a adoptar la solución como su idea, en lugar de algo que fue impuesto
desde arriba. La empresa también podría haber utilizado la retroalimentación
generada al monitorear de cerca los resultados de estos pasos iniciales para guiar
el desarrollo posterior e identificar barreras técnicas o culturales específicas que
deben superarse dentro de la división.
El diseño de su proceso y su enfoque de mejora se volverán más detallados a
medida que madure su experiencia con él. ¡Genial! Lo importante es que los
procesos esenciales del proyecto u organización sean diseñados, documentados
y mejorados continuamente por sus partes interesadas. Al tener un proceso
organizacional estándar para las actividades necesarias, como requisitos,
planificación de proyectos, seguimiento de proyectos, revisiones por pares, CM,
QA, DP, gestión de cambios tecnológicos y otros procesos necesarios, los proyectos
pueden reutilizarlo y adaptarlo según sea necesario. Tener los procesos (diagramas
de flujo, PD narrativos y artefactos relacionados, como plantillas para planes)
disponibles en una biblioteca electrónica automatizada facilita lograr la repetibilidad
en una organización. El uso del control de versiones facilita la mejora continua de los artefactos
Referencias
[1] Six Sigma Qualtec, Historia de QI: Herramientas y técnicas, una guía para la resolución de
problemas, 3ª ed., 1999. Llame al (480) 5862600 para obtener información. Véase también
www.ssqi.com/homepage.asp.
[2] Walton, M., The Deming Management Method, Nueva York: The Putnam Publishing Group, 1986.
El ciclo PDCA a menudo se atribuye a Deming porque lo introdujo en Japón. Walter A. Shewhart
lo concibió originalmente. Véanse las págs. 86–88.
[3] Young, RR, Prácticas de requisitos eficaces, Boston, MA: AddisonWesley, 2001.
[4] Clark, BK, “Efectos de la madurez del proceso en el esfuerzo de desarrollo”, Centro de Ingeniería
de Software, Universidad del Sur de California, 1999, en www. ralphyoung.net.
[5] Northrop Grumman IT DES, “The Road to CMM(I) Level 3”, informe técnico, disponible en
[email protected].
[6] Wiegers, KE, Creación de una cultura de ingeniería de software, Nueva York: Dorset House
Publishing, 1996.
[7] Young, RR, “La importancia y el valor de la mejora de procesos”, en www. ralphyoung.net.
[8] Young, RR, “El valor de un grupo de trabajo organizacional”, en www. ralphyoung.net.
[10] Comunicado de prensa de Northrop Grumman IT DES sobre CMMI Nivel 5, en www.irconnect.com/
noc/pages/news_releases.mhtml?d=35405.
Machine Translated by Google
.
Machine Translated by Google
CAPÍTULO
desarrolladores?
193
Machine Translated by Google
195
Tabla 9.1 Algunas oportunidades para que los RA e ingenieros mejoren las tasas de éxito
de los proyectos
Reconocer que un ambiente de trabajo productivo significa apoyar a las personas, lograr un trabajo en
equipo efectivo y establecer un valor de mejora continua. Tome medidas para crear un entorno de
trabajo más productivo para que el trabajo relacionado con los requisitos sea eficaz.
Los proyectos (de desarrollo) deben gestionarse (se necesita una supervisión continua para
garantizar que se estén haciendo las cosas correctas, adecuada y correctamente). Debemos gestionar
mejor los proyectos y, al hacerlo, reducir los defectos relacionados con los requisitos.
Formar y utilizar especialistas en ingeniería de requisitos.
Tener y utilizar un proceso de requisitos que aborde las actividades relacionadas
con los requisitos del ciclo de vida completo. Invertir del 8% al 14% del costo total del esfuerzo de
desarrollo del proyecto en actividades relacionadas con los requisitos durante todo el ciclo de vida del
proyecto.
Invierta más tiempo en identificar los requisitos reales.
Utilice prácticas de requisitos efectivas.
Utilice una herramienta de requisitos automatizada para respaldar el esfuerzo de desarrollo.
Proporcionar un proceso y mecanismo eficaz para gestionar los cambios en los requisitos.
Actúe cuando las cosas no funcionen. Sabemos cuando las cosas no funcionan.
Asegúrese de que los esfuerzos relacionados con los requisitos sean efectivos.
Este no es un trabajo para el miembro más joven del equipo ni para el miembro menos
talentoso del grupo. Requiere la combinación de excelentes habilidades técnicas con
conocimiento del dominio, buena gente y habilidades de comunicación.
Los siguientes son algunos de los desafíos que enfrentamos para mejorar los requisitos.
ingeniería de elementos:
1. Una buena referencia es Karl E. Wiegers, Creando una cultura de ingeniería de software (Nueva York: Dorset House Publishing,
1996). Véase también Rita Hadden, Liderando el cambio cultural en su organización de software (Viena, VA: Management
Concepts, 2003).
Machine Translated by Google
Planes y
problemas
estratégicos del cliente.
Cliente
Desarrollo real
requerido Problemas específicos
del proyecto centrado en el cliente
Ganancia;
Gerente
estado
de proyecto
Dirección
Desarrolladores
Recursos ejecutiva
Autoridad;
ambiente de trabajo efectivo
Figura 9.1 Los desafíos del PM. (Fuente: Richard Raphael. Usado con autorización).
2. Véase Frank Carr et al., Partnering in Construction: A Practical Guide to Project Success (Chicago: American Bar
Association, 1999) para un tratamiento exhaustivo del proceso de asociación. Visite www.facilitationcenter.com para
obtener una referencia de un profesional con experiencia en implementar el proceso de asociación de manera efectiva.
Machine Translated by Google
3. Por empoderado me refiero a que los empleados se sientan responsables no sólo de hacer un buen trabajo, sino también de hacer
que toda la organización funcione mejor. Los equipos trabajan juntos para mejorar su desempeño continuamente, logrando mayores
niveles de productividad. Las organizaciones están estructuradas de tal manera que las personas sienten que son capaces de
lograr los resultados que desean, que pueden hacer lo que hay que hacer, no sólo lo que se les exige. Véase Empowerment: A
Practical Guide for Success, de Cynthia Scott y Dennis Jaffe (Menlo Park, CA: Crisp Publications, 1991).
4. Como se documenta en Prácticas efectivas de requisitos (p. 79), el 80% de todos los defectos del producto se insertan en las
actividades de definición de requisitos. Los costos de retrabajo se estiman en un 45% de los costos totales. Al tomar el 80% del
45%, aprendemos que el 36% (más de un tercio) de los costos totales del proyecto (según datos de la industria) pueden
potencialmente evitarse eliminando los errores de requisitos de los productos de trabajo.
Machine Translated by Google
pueden redirigirse para pagar las mejoras necesarias en los procesos y prácticas. Necesitamos
mostrarles cómo realizar un seguimiento del retorno de la inversión (ROI) de mejoras específicas,
para que tengan los datos necesarios para tomar buenas decisiones (“administrar con base en
hechos”).
Los proyectos deben priorizar los requisitos. Como hemos comentado, no todos los requisitos
son iguales: algunos son más importantes que otros. Davis proporciona tres estudios de casos y
ofrece 14 recomendaciones en su artículo “El arte de la clasificación de requisitos” [9].
Los proyectos necesitan un proceso y mecanismo eficaz para gestionar los cambios en los
requisitos. Sabemos por experiencia que aquí es donde perdemos el control de muchos esfuerzos
técnicos. Tomemos medidas para que esto no vuelva a suceder. Por ejemplo, será útil utilizar un
equipo conjunto de cliente/proveedor para mantener la responsabilidad de los requisitos durante
todo el esfuerzo de desarrollo y hacer que todas las solicitudes de cambio pasen a través de un
solo canal. Otro mecanismo es controlar las fuentes de requisitos no oficiales [10]. Documentar la
justificación de cada requisito también reducirá el número de requisitos (hasta en un 50%, según
la experta de la industria Ivy Hooks) [8].
5. El Departamento de Defensa ha comenzado a utilizar el término gestión integrada de equipos en lugar de IPT debido a la preocupación de que los IPT sean
no funciona tan bien como se necesita.
Machine Translated by Google
Resumen 199
significa que es trabajo de la gerencia proporcionar un ambiente de trabajo que maximice la efectividad.
La conclusión es que el éxito depende de las personas. Nosotros
debe proporcionar un entorno en el que las personas puedan ser eficaces y sentirse realizadas, donde
puedan crecer y donde sean apreciadas y valoradas.
La gerencia debe preocuparse profundamente y demostrarlo.
Otras formas en las que podemos ayudar a los desarrolladores son poner en práctica
procesos y prácticas vigentes (y esperar que se apliquen; consulte la siguiente
párrafo), trabajar para reducir el retrabajo, crear un entorno de mejora continua y trabajar para lograr
una calidad cada vez mejor en los productos de trabajo. Si no hacemos esto, corremos el riesgo de
que la gente se sienta frustrada y abandone el
organización y proyectos.
Otra cosa importante que debemos hacer es dejar claro a los desarrolladores
que esperamos que utilicen políticas, procesos y políticas mejorados y probados.
mecanismos, métodos, técnicas y herramientas que son los estándares en el
organización y en el proyecto. “¿Por qué no practican?” de Watts Humphrey
Lo que predicamos” 6
detalla algunas razones por las que los desarrolladores no utilizan técnicas
mejoradas, incluso cuando se les proporciona evidencia de que logran mejores resultados.
resultados. Debemos dejar claro que no es aceptable que la gente retroceda
sobre sus viejas formas de hacer las cosas. Deberíamos proporcionar modelos a seguir que
demuestren consistentemente hábitos y disciplinas de trabajo efectivos.7 Einstein comentó que la
única manera racional de educar es con el ejemplo.
Quienquiera que esté en el proyecto abordando los problemas de requisitos necesita apoyo.
Además de una herramienta de requisitos automatizada eficaz, los ingenieros de requisitos necesitan
formación en ingeniería de requisitos. ¿Qué es un buen requisito? ¿Por qué los RA no deben tomar
decisiones sobre requisitos? ¿Por qué no debería
placa de oro (agregar características y capacidades que no son necesarias)? Deberíamos
crear un conjunto de expectativas para el personal del proyecto sobre cómo deben
trabajo y lo que deben hacer en diferentes situaciones. La mejor manera de lograr esto es mediante
una capacitación adaptada al entorno de un proyecto en particular y
necesidades y presentadas por personas que realmente pueden ayudar. La formación y el asesoramiento.
al personal debe presentarse de una manera que respete a las personas: todos tenemos
egos, y si el mío está herido, me resulta difícil esforzarme al máximo.
Resumen
Hay muchas cosas que podemos hacer para crear un camino para abordar los problemas relacionados
con los requisitos. No pretendo que esto sea fácil o que pueda serlo.
logrado rápidamente. Sin embargo, lograr la visión definida para la ingeniería de requisitos requiere
que hagamos las cosas de manera diferente. espero que tú
se comprometerá a realizar algunos cambios que le ayudarán.
6. Disponible en www.sei.cmu.edu/publications/articles/practicepreach/practicepreach.html.
7. Después de la fiebre del oro: creación de una verdadera profesión de ingeniería de software, de Steve McConnell (Redmond, WA: Microsoft
Press, 1999) está lleno de ideas y sugerencias para ayudar con esta situación. McConnell señala en su epílogo que
Los problemas comunes de desarrollo no se podrán evitar sin nuestro apoyo.
Machine Translated by Google
Caso de estudio
Existe una percepción errónea común de que los sitios web son simples, se pueden construir rápidamente
y no requieren la planificación y gestión de recursos humanos que requieren los sistemas reales o las
aplicaciones de software. Esta es una trampa para los propietarios y desarrolladores de sistemas poco
sofisticados, y todavía hay muchos de ellos por ahí.
Se llamó a un consultor de ingeniería de requisitos para investigar por qué un sitio web para una
agencia gubernamental no se estaba completando a tiempo.
El trabajo se estaba realizando a través de un titular de horario de la Administración de Servicios Generales
(GSA), pero había sido subcontratado a otra empresa que había comercializado el negocio. El contratista
principal no había revisado detenidamente la propuesta ni el trabajo inicial porque no tenía experiencia
interna en desarrollo de aplicaciones web. El trabajo tenía un precio fijo, las relaciones con los usuarios ya
eran tensas y el gobierno había emitido una “causa de demostración” y amenazaba con congelar el
cronograma GSA del contratista.
Al revisar los materiales contractuales, el consultor descubrió que la solución era simplemente colocar
una base de datos de Microsoft Access existente en la Web, probarla y escribir una guía de usuario y
documentación del sistema. Originalmente había una tarea para hacer un análisis de la base de datos, pero
todas las partes acordaron una modificación para reducir el costo del proyecto eliminando esta tarea. No
era necesario desarrollar un documento de requisitos. Quizás los usuarios de la agencia pensaron que eso
habría supuesto un coste y un retraso innecesarios.
Después de todo, tenían un sistema de trabajo que representaba sus necesidades. ¿O lo hicieron?
Una selección de menú diferente solicitó una contraseña y luego proporcionó una
una larga serie de formularios de entrada de datos para permitir al usuario introducir o actualizar los datos.
Los desarrolladores consideraron que el proyecto estaba esencialmente terminado, y el único trabajo
restante era (1) crear una forma de imprimir los informes y (2) corregir los tiempos de espera y otros errores
que el usuario señaló durante las pruebas.
La base de datos existente estaba en la Web y proporcionaba una forma de ingresar datos y una capacidad
flexible de generación de informes que podía generar cualquier informe que el usuario quisiera.
Desafortunadamente, lo que el usuario quería era una forma de automatizar el proceso previamente
manual de recopilación de datos de sus oficinas en el campo. El proceso actual consistía en que las
oficinas rellenaran formularios o enviaran hojas de cálculo a la sede, y otro contratista introduciría los datos
en la base de datos de Access. Los desarrolladores del nuevo sistema no se habían dado cuenta de que el
propietario del sistema había asumido que poner la base de datos en la Web les daría la posibilidad de que
las oficinas de campo ingresaran directamente los datos a través del
Machine Translated by Google
Web. Esto requeriría un sistema más sofisticado que una única contraseña de usuario y un
conjunto de pantallas de entrada de datos. De hecho, resultó que el proceso existente
incorporaba flujo de trabajo y aprobación antes de que los datos aparecieran en la sede, y
la sede podía tener preguntas o incluso devolverlos para reelaborarlos antes de que pasaran
a formar parte de la base de datos “oficial” disponible para el público.
Para colmo, muchos de los “errores” de los que se quejaban los usuarios estaban
relacionados con problemas de datos. La década de datos existentes estuvo plagada de
datos inconsistentes, faltantes y erróneos. El usuario ejecutaría informes en el sistema
existente para compararlos con el sistema basado en Web, pero cualquier cambio menor en
la consulta podría arrojar resultados diferentes. Resultó que la base de datos de Access se
había utilizado tal como existía, sin cambios, y que alguien sin experiencia en bases de datos
la había desarrollado. No se había realizado ningún diseño de base de datos real. Existían
numerosas tablas de datos similares. Los elementos de datos tenían nombres similares. Para
las claves se utilizaron campos de texto con ortografía inconsistente. Los datos fueron
realmente una pesadilla. Sin embargo, los informes generados a partir de él se han presentado
al Congreso cada año, y los usuarios deberían poder duplicarlos cuando consultan el sitio
Web.
Después de un largo proceso de reuniones y negociaciones con el gobierno, el contratista
principal acordó construir los aspectos de control de acceso y flujo de trabajo del sistema y
gestionar el control de calidad y las pruebas, mientras que el desarrollador continuó mejorando
los aspectos de recuperación e ingreso de datos del sistema. sistema. Se aplicaron recursos
de programación adicionales. Se implementó el control del código fuente. El sistema fue
codificado, probado, documentado y finalmente aceptado. El gobierno apreció la inversión y
el esfuerzo adicionales realizados por el contratista principal, que no fue despedido. Se
restableció el horario de GSA.
Aceptar omitir el análisis de datos, asumiendo que los datos heredados estaban limpios
y bien estructurado;
La principal lección que se puede aprender de este caso es que los propietarios de
sistemas básicamente exigen que un sistema satisfaga la necesidad empresarial prevista,
no que cumpla al pie de la letra los requisitos contractuales. Diseñar para la Web no es
diferente. Si el sistema no satisface las necesidades del negocio, será un fracaso.
Si los desarrolladores no comprenden completamente la necesidad empresarial, no pueden
inferirla a partir de un sistema heredado, porque los procesos empresariales que rodean al
sistema heredado no están documentados en el sistema. En este caso, podrían haber
adivinado que existía un requisito de flujo de trabajo y aprobación multinivel de los datos
presentados, pero tal vez no hubieran adivinado que existía un requisito de replicar ciertos
resultados de informes existentes para evitar contradecir presentaciones anteriores del
Congreso.
Una lección secundaria es que siempre se debe asumir que los datos heredados están
“sucios” al menos hasta cierto punto. Es extremadamente arriesgado suponer que las bases
de datos existentes se pueden reutilizar sin rediseñarlas. En este caso, omitir el análisis de
datos fue muy costoso para todas las partes y provocó la eventual falla del sistema.
Aunque a algunas empresas y oficinas gubernamentales se les ha hecho creer que se
pueden crear prototipos y construir sitios web en “tiempo de Internet”, todavía es necesario
pensar detenidamente los requisitos. Debido a que este trabajo fue contratado, y
particularmente porque tenía un precio fijo, los requisitos deberían haberse elaborado y
documentado de manera más explícita. Una forma de evitar este tipo de sorpresas es dividir
los requisitos y los análisis de datos en una tarea con un precio separado, cuyos resultados
sirvan de base para el diseño y desarrollo posteriores.
Referencias
[1] Paulk, MC, et al., Capability Maturity Model for Software, Versión 1.1, febrero de 1993. SEI,
CarnegieMellon University, Pittsburgh, PA, 1993, en www.sei.cmu. edu/publications/
documents/93.reports/93.tr.024.html.
[2] Equipo de producto CMMI, Integración del modelo de madurez de capacidad, versión 1.1,
diciembre de 2001. SEI, Universidad CarnegieMellon, Pittsburgh, PA, 1993, en www.sei.cum.
educación/cmmi.
[3] Eckes, G., Cómo hacer que Six Sigma dure: gestionar el equilibrio entre el cambio cultural y
técnico, Nueva York: John Wiley & Sons, Inc., 2001.
[4] Deming, WE, Fuera de la crisis, Boston: Centro de Ingeniería Avanzada del MIT
Estudio, 1986.
[5] The Standish Group, CHAOS Chronicle 2003 Report, West Yarmouth, MA: The Standish Group
International, 2002, en www.standishgroup.com.
Machine Translated by Google
[6] McGibbon, T., "Un caso de negocio para la mejora de procesos de software revisado",
Roma, Nueva York: Centro de análisis y datos para software, 30 de septiembre de 1999, en
www.dacs.dtic.mil/techs/roispi2.
[8] Hooks, IF y KA Farry, Productos centrados en el cliente: creación de productos exitosos a través de
una gestión inteligente de requisitos, Nueva York: AMACOM, 2001.
[9] Davis, AM, “El arte de la clasificación de requisitos”, IEEE Computer (marzo de 2003):
42–49.
[10] Weinberg, gerente general, “¡Simplemente diga no! Mejorando el proceso de requisitos”, American
Programador 8(10) (octubre de 1995): 19–23.
[11] Equipo de productos integrados del Cuerpo de Ingenieros del Ejército de EE. UU., página web, en
www.usace.army.mil/ci/lcmis/lcmipt.html.
[12] Una buena referencia sobre el trabajo en equipo es The Team Handbook de PR Scholtes et al. , 2ª
ed. (Madison, Wisconsin: Oriel Inc., 2001). La tesis de los autores es que para tener éxito en el
entorno actual, se deben reunir los conocimientos, las habilidades, la experiencia y las perspectivas
de una amplia gama de personas.
Machine Translated by Google
.
Machine Translated by Google
CAPÍTULO
10 Avanzando: Conocible
Contenido Requisitos, manejables
A dónde ir desde aquí Riesgo
Avanzando
Un mandala de requisitos
En este libro hemos abordado temas que son de gran importancia para la
Resumen RA:
Caso de estudio
205
Machine Translated by Google
Todos los proyectos, con la posible excepción de los proyectos “pequeños”, requieren una
herramienta de requisitos automatizada de potencia industrial (Capítulos 2 y 5).
Inicie el proceso de selección de la herramienta de su elección temprano en la fase de
planificación del proyecto, guiado por un estudio comercial para garantizar que la herramienta
seleccionada respalde el proceso de su proyecto y las necesidades de su cliente. Invierta en
capacitación formal para las personas que más utilizarán la herramienta.
Se describieron las habilidades y características que necesita un AR eficaz (Capítulo 3). Una
“matriz de habilidades de RA” le ayudará a guiar su desarrollo profesional. Continuar su
educación puede ayudarlo a adquirir conocimientos expertos en ingeniería de requisitos y
utilizar prácticas de requisitos efectivas.
Se proporcionaron varios estudios de casos que ayudan a ilustrar cómo las tareas de requisitos
pueden salir mal (todos los capítulos). El desarrollo y la gestión de requisitos son difíciles.
Aplicar procesos, métodos, técnicas y herramientas en el mundo real con diversos clientes y
usuarios es particularmente desafiante.
1. Una de las mejores prácticas de la industria que podría sugerir a su organización es el Proceso de software personal (PSP) y
el Proceso de software de equipo (TSP). Watts Humphrey ha demostrado que los datos y la planificación son muy poderosos
a nivel de desarrollador individual y para equipos de desarrolladores.
Machine Translated by Google
Su proyecto debe adoptar un conjunto de mejores prácticas para las AR (Capítulo 6).
Se habla y se escribe mucho sobre las mejores prácticas, pero no hay suficiente
implementación e institucionalización real de su uso. De hecho, un problema endémico en
informática, ingeniería de sistemas y software es que no practicamos lo que predicamos:
necesitamos hacer esfuerzos concertados para utilizar (no sólo reconocer) buenas prácticas,
procesos, mecanismos, métodos, técnicas y herramientas. a nivel individual, de proyecto y
organizacional. La razón por la que no hacemos esto es que requiere mucho trabajo. La
cuestión es que debemos esforzarnos por hacer que nuestro trabajo sea eficiente y eficaz,
de modo que podamos apoyar mejor los objetivos empresariales y organizacionales.
Se necesita un enfoque de calidad integrado para que los procesos (incluido el proceso de
requisitos) funcionen de manera más efectiva (Capítulo 8). Los RA se encuentran en una
posición estratégica para ayudar a proyectos y organizaciones.
Identificar
requisitos reales
Control de cambios
de requisitos
Priorizar
requisitos
Entrenamiento formal
Proceso de
asociación
Justificación
Revisiones
del documento
hechas por colegas
Figura 10.1 Hay buenas herramientas disponibles para ayudar. (Fuente: Richard Raphael.
Usado con permiso.)
2. Reflexione sobre las habilidades que posee y las características que exhibe
en el contexto del Capítulo 3. Quizás en colaboración con su gerente,
desarrolle un plan de desarrollo profesional personal que le permita
adquirir habilidades adicionales que considere deseables. Considere
tomar medidas para fortalecer las características que le permitirán ser un
mejor compañero de trabajo ante los ojos de sus compañeros.
3. En muchos proyectos existe confusión respecto a los tipos de requisitos. Si
su proyecto presenta esta confusión, ¿qué pasos podría sugerir para
aclararla?
4. ¿Utiliza un proceso de requisitos documentado en su tarea o proyecto?
¿Su grupo de trabajo ha aprovechado algún tiempo juntos para considerar
posibles mejoras que se pueden hacer al proceso?
¿Podría ser esta una oportunidad para iniciar o reforzar un hábito de
mejora continua?
5. ¿Son efectivos los métodos y técnicas de recopilación de requisitos que se
utilizan? ¿Se podrían realizar algunas mejoras basadas en la experiencia
de la industria con métodos y técnicas de recopilación de requisitos?
Machine Translated by Google
Avanzando 209
¿Sería útil una formación adicional sobre uno o más métodos o técnicas?
7. ¿Es aconsejable invertir algún esfuerzo en fortalecer alguna de las especialidades de las AR?
habilidades especiales descritas en el Capítulo 7?
Avanzando
Es posible que descubras (como yo) que la lectura estimula tus pensamientos sobre
cómo seguir adelante. Leer no requiere necesariamente digerir cuidadosamente cada
oración. Puede captar la esencia de un trabajo (libro, artículo, sitio web, presentación en
una conferencia, etc.) mediante una revisión superficial, capturando algunas de las ideas
principales y reflexionando sobre ellas a través del lente de su propia experiencia y
creencias.
Recomiendo no intentar cambiar todo de una vez. Más bien, seleccione de tres a seis
prácticas o áreas para su propia lista de compromiso personal. Estas son prácticas que
estás dispuesto a aplicar en tus hábitos de trabajo diarios para cambiar de manera
comprometida cómo haces las cosas en tu proyecto y entorno organizacional. Pueden
referirse a áreas donde su proyecto u organización está recibiendo comentarios de un
cliente sobre las necesidades de mejora, o áreas donde su proyecto u organización está
teniendo algunos problemas (a veces se los denomina "puntos problemáticos").
6. Iniciar revisiones por pares utilizando participantes capacitados en la revisión por pares y
moderadores de revisión por pares. Considere realizar inspecciones de todos los
documentos relacionados con los requisitos.
2. Una técnica para lograr consenso es la votación múltiple. Vea la historia de QI de Six Sigma Qualtec: herramientas y técnicas, una guía
a la resolución de problemas, [3, págs. 47–48].
Machine Translated by Google
Avanzando 211
entre los participantes sobre la prioridad de cada idea sugerida. Implementar de una a
seis ideas principales (el número de ideas a implementar está determinado por el
grado de compromiso de la gerencia con las ideas y los recursos disponibles).3
14. Lograr consenso sobre un conjunto de “reglas de conducta” que los miembros de
su tarea o proyecto acepta apoyar. Documente y publique sus reglas de conducta.
Proporcionar carteles en cada sala de reuniones. Hacernos responsables unos a otros
ante ellos.
15. Desarrolle un plan de requisitos para su proyecto. Revisión por pares del borrador del
plan de requisitos. Entrenar el plan, estando abierto a sugerencias de mejora por
parte de los participantes. Implementar e implementar el plan.
Recopilar datos e información sobre los resultados observados durante su despliegue
e implementación. Evaluar el impacto de crear e implementar un plan de requisitos y
considerar iniciar una política o procedimiento organizacional que requiera o fomente
el desarrollo de un plan de requisitos para todos los nuevos proyectos o esfuerzos
mayores que un número determinado de mesespersona de esfuerzo.
18. Adquiera el hábito de “hacer PDCA” al final de cada reunión y al alcanzar los hitos.
Documentar las ideas y sugerencias ofrecidas.
Dar seguimiento a las ideas y sugerencias seleccionadas.
19. Fortalecer aún más el reconocimiento de las personas por los aportes realizados a la
tarea, proyecto u organización. Establecer un mecanismo para celebrar las
contribuciones del equipo o del proyecto. Formar el hábito de
3. Un enfoque de implementación sugerido es pedirle a un defensor de la idea que escriba un plan de acción y dirija un equipo de MC a través
de la historia de la MC. Consulte la historia de QI de Six Sigma Qualtec : herramientas y técnicas, una guía para la resolución de problemas,
[3, págs. 94–96 y 23–41].
4. La lluvia de ideas es una valiosa herramienta de mejora de la calidad para recopilar sugerencias. Vea la historia de QI de Six Sigma Qualtec :
Herramientas y técnicas, una guía para la resolución de problemas, [3, págs. 43–46].
Machine Translated by Google
21. Revisar los motivos de los errores de requisitos. Determinar las causas fundamentales.
Haga una lluvia de ideas y sugerencias (“contramedidas”) para abordar las causas
fundamentales. Seleccione algunas contramedidas para implementar y realice un
seguimiento de los resultados.
22. Examine si cree que las reuniones de su proyecto son tan efectivas como pueden ser.
Considere ideas para aprovechar mejor el tiempo de las reuniones.
23. Revisar cada seis meses el estado de tu programa de estudio personal y del programa de
mejora de tu proyecto u organización. Pregunte: ¿Cómo estoy (o cómo estamos)?
¿Necesitamos volver a comprometernos y comprometernos? ¿Necesitamos cambiar
nuestro enfoque? ¿Necesitamos involucrar al proyecto o a la alta dirección y solicitar un
patrocinio más fuerte u otras acciones? Realice PDCA sobre el estado y obtenga cierto
consenso sobre hacia dónde ir a partir de ahí. Actúe según sus hallazgos.
Un mandala de requisitos
Un “mandala” es un diagrama: un círculo dividido en cuatro cuadrantes, cada uno con una simbología.
Proporciona un mapa que resume dónde se encuentra un individuo u organización y hacia dónde se
dirige.
La figura 10.2 proporciona un mandala relacionado con la ingeniería de requisitos.
El mandala de requisitos puede ayudarte a visualizar algunos de los próximos pasos que querrás
dar. A propósito no he proporcionado listas de candidatos de cosas para incluir en cada cuadrante;
esta debería ser su propia creación. En el cuadrante este, enumere algunas prácticas de requisitos
que haya utilizado en el pasado o que se hayan aplicado en su proyecto o en su organización. En el
cuadrante sur, enumere algunas fuentes de una situación mejorada: ideas sobre mejores
Machine Translated by Google
Resumen 213
Estado
final deseado
Objetivos Prácticas de
requisitos
Alimenta una
situación
mejorada
prácticas que podrían aplicarse. En el cuadrante oeste, enumere los objetivos que desea
alcanzar mediante la aplicación de prácticas más efectivas. En el cuadrante norte, enumere
las características del estado final deseado: metas personales, objetivos de proyecto,
metas organizacionales u objetivos comerciales que desea lograr o apoyar.
Resumen Los RA
y los ingenieros se encuentran en una posición estratégica para mejorar los resultados del
proyecto y las tasas de éxito. Los requisitos son la base de todo el trabajo posterior que se
realiza en proyectos de ingeniería de software y sistemas. Mejorar las prácticas de
requisitos que se utilizan puede tener enormes beneficios. Sea audaz al ofrecer su
experiencia, energía y conocimientos.
Caso de estudio
Este estudio de caso es un ejemplo de cómo un proceso de RM eficaz y su cumplimiento
pueden hacer que la resolución de problemas de interpretación de requisitos se realice sin
problemas, incluso cuando los requisitos cambian durante el esfuerzo de desarrollo.
Un cliente cuestionó la implementación de un requisito de software por no cumplir con
la intención del requisito del sistema de nivel superior durante una revisión del diseño de
un proyecto. El cliente cuestionó el requisito de software por ser deficiente en comparación
con el requisito del sistema principal, pero
Machine Translated by Google
reconoció que el diseño cumplía con los requisitos del software. Los requisitos de
software para el sistema ya habían pasado por la revisión de requisitos de software
y fueron aprobados por el cliente siguiendo el proceso de RM del proyecto. El cliente
abrió un elemento de acción en la revisión del diseño como mecanismo para
documentar formalmente el problema de interpretación de los requisitos del software.
En esta etapa del proceso de diseño, sabíamos más sobre el entorno del cliente y
acordamos (extraoficialmente) que tenía una preocupación válida. Estábamos
demasiado avanzados en el proceso de desarrollo para realizar los cambios de
diseño necesarios para abordar este elemento de acción en esta versión del producto,
ya que los requisitos de software ya habían sido aprobados. Nuestro proceso de RM
dictaminó que se presentara una mejora según el requisito de software aprobado que
se abordará en una versión futura del producto. Esto permite que el proyecto continúe
con el costo y el cronograma actuales.
Siguiendo nuestro proceso de ingeniería de sistemas, documentamos varias
soluciones para abordar el problema. Las soluciones incluyeron modificar el diseño
para abordar la nueva interpretación y proponer un proceso manual superpuesto con
el diseño existente para abordar el problema abierto por el cliente. Se establecieron
estimaciones de costos y cronogramas para cada una de las soluciones. Se informó
a la alta dirección de ingeniería sobre el problema, los requisitos originales y las
soluciones propuestas. La gerencia estuvo de acuerdo en que no podíamos afectar
el cronograma y el presupuesto aprobados dado que el diseño cumplía con los
requisitos de software aprobados. Nuestro equipo de gestión se había metido en
problemas en un contrato anterior por intentar ser demasiado receptivos a la solicitud
del cliente, lo que provocó retrasos en la entrega y sobrecostos. La dirección estaba
decidida a no repetir ese error.
Llevamos la solución propuesta al elemento de acción al cliente en la reunión de
cierre de la revisión del diseño. Señalamos mediante informes de seguimiento que
habíamos descompuesto formalmente los requisitos del sistema en requisitos de
software. Los requisitos descompuestos cumplieron con la intención según nuestro
leal saber y entender en el momento de la aprobación. Los requisitos de software
fueron aprobados como parte de la revisión de requisitos de software existentes.
Presentamos la página de firma formal como prueba de esta aprobación.
Ahora habíamos establecido que el cliente era propietario de este problema.
Cuando vieron las opciones propuestas, seleccionaron la que tenía la menor cantidad
de cronograma e impacto en costos: el proceso manual superpuesto. La acción se
cerró con una recomendación de proponer el cambio de diseño cuando se licitara la
fase de mejora del producto planificada previamente del contrato. Reconocimos que
el requisito no abordaba el problema del cliente planteado durante la revisión del
diseño, pero el problema no se había planteado durante la revisión del requisito.
cronograma y costo. Si hubiera sido un requisito crítico, habríamos pedido la aprobación del
cliente para una nueva planificación de costos y cronograma, ya que se planteaba un nuevo
requisito después de la aprobación de los requisitos.
don joven
ingeniero de requisitos
Corporación Telelógica
Referencias
[3] Six Sigma Qualtec, QI Story: Tools and Techniques, A Guidebook to Problem Solving, 3.ª ed., 1999.
Se pueden solicitar copias llamando al (480) 5862600.
Machine Translated by Google
.
Machine Translated by Google
Glosario
Asignación Asignar cada requisito a un componente del sistema donde se implementará.
Línea base Una especificación o producto que ha sido revisado y acordado formalmente y
posteriormente sirve como base para un mayor desarrollo.
Se modifica únicamente mediante procedimientos formales de control de cambios.
Escenario empresarial Técnica que se puede utilizar para comprender una empresa u
organización. Un escenario empresarial describe el proceso empresarial, la aplicación o el
conjunto de aplicaciones, el entorno empresarial y tecnológico, las personas y los
componentes informáticos que ejecutan el escenario y el resultado deseado de una
ejecución adecuada.
217
Machine Translated by Google
218 Glosario
Cliente La(s) persona(s) con los fondos para pagar el proyecto o su producto final. El
cliente no es necesariamente el usuario.
Necesidad del cliente Conjunto de requisitos deseados por un cliente.
Descomposición Separar los atributos de una necesidad del cliente (los requisitos de
un sistema) para poder abordarlos.
Defecto Una variación de un atributo de producto deseado.
Prevención de defectos Tecnologías y técnicas (p. ej., SPC) que minimizan el riesgo
de cometer errores en los entregables.
Eliminación de defectos Actividades que encuentran y corrigen defectos en los entregables.
Glosario 219
220 Glosario
Medidas de efectividad Indicadores de alto nivel de qué tan bien el sistema realiza
sus funciones, definidos en los términos y con la misma dimensión del documento
de requisitos. Por ejemplo, si estamos tratando
con el sistema de metro de una ciudad, podemos especificar que un usuario típico durante las horas pico
hora no debe esperar más de un período de tiempo, en promedio, para
el próximo tren.
Glosario 221
Diagrama de flujo del proceso Un diagrama que muestra una serie paso a paso de
acciones a través de un procedimiento que utiliza líneas de conexión y un conjunto de estándares
Símbolos adoptados por una organización.
Modelo de proceso Un marco para identificar, definir y organizar
las estrategias funcionales, reglas y procesos necesarios para gestionar y respaldar la
forma en que una organización hace o quiere hacer negocios. El proceso
El modelo proporciona un marco gráfico y textual para organizar los datos.
y procesos en grupos manejables para facilitar su uso compartido y
control en toda la organización.
Proyecto Un emprendimiento enfocado al desarrollo o mantenimiento de un producto.
Normalmente un proyecto tiene su propia financiación, contabilidad y ejecución.
cronograma.
Campeón del proyecto Un defensor que está muy familiarizado con el conjunto de
Necesidades reales del cliente de un sistema que proporcione un papel activo en el
esfuerzo de desarrollo, facilitando las tareas del equipo de desarrollo.
Gerente de proyecto o programa El rol con responsabilidad comercial total para un proyecto,
responsable en última instancia ante un cliente.
Cultura de calidad Presencia de una actitud de mejora continua y satisfacción del cliente en
toda una organización.
222 Glosario
Proceso de requisitos Un conjunto de acciones del ciclo de vida completo del sistema
relacionadas con los atributos necesarios de los sistemas. El proceso de requisitos implica
Comprender las necesidades y expectativas del cliente (obtención de requisitos), análisis y
especificación de requisitos, priorización de requisitos, derivación, partición y asignación de
requisitos, requisitos.
seguimiento, gestión de requisitos, verificación de requisitos y
validación de requisitos.
Machine Translated by Google
Glosario 223
Reutilizar Reutilizar tiene dos significados: (1) tomar el objeto X (por ejemplo, un objeto,
subrutina o software COTS) que fue realizado por Y y usarlo directamente en otro
proyecto; y (2) adaptar un producto de trabajo desarrollado (una especificación, un
plan o proceso, por ejemplo).
Rol Conjunto de responsabilidades definidas que pueden ser asumidas por uno o más
individuos.
Alta dirección Un rol suficientemente alto en la organización como para que su enfoque
principal sea la vitalidad a largo plazo de la organización.
Calidad del software Software que combina las características de bajas tasas de
defectos y alta satisfacción del usuario.
224 Glosario
Glosario 225
Caso de uso Imagen de las acciones que realiza un sistema y que representa a los actores.
Modelo de casos de uso Una descripción del comportamiento funcional de un sistema que
incluye todos los actores y todos los casos de uso a través de los cuales los actores
interactúan con el sistema.
Perspectiva del usuario Mantener la visión de lo que el usuario quiere, necesita, prefiere,
con lo que está contento y puede utilizar.
Satisfacción del usuario Calidad de los clientes satisfechos con los productos, niveles de
calidad, facilidad de uso y soporte de un proveedor.
Verificación Un proceso para asegurar que la solución de diseño satisface los requisitos.
.
Machine Translated by Google
Lista de acrónimos
AI elemento de acción
AP plan de ACCION
BT Telecomunicaciones británicas
CM gestión de configuración
CR solicitud de cambio
227
Machine Translated by Google
FD documento funcional
FP punto de función
jt equipo conjunto
MQ cuestionario de madurez
Pi la mejora de procesos
PEPITA plan de mejora de procesos
PM director de programa, director de proyecto
PMP plan de gestión del programa, plan de gestión del proyecto
PÁGINAS
planificación de proyecto o plan de programa
relaciones públicas
revisión por pares
QI mejora de calidad
Solicitud de cotización
solicitud de presupuesto
RM gestión de requerimientos
retorno de la inversión
Retorno de la inversión
PR plan de requisitos
SE Ingeniería de Sistemas
Especificaciones
especificación
ETS estándar
SUDOESTE
software
ZF marco de zachman
Machine Translated by Google
.
Machine Translated by Google
Bibliografía
ABT Corporation, “Core Competencies for Project Managers”, Libro Blanco, 2000. Véase
www.tsepm.com/may00/art5.htm.
Adams, James L., Blockbusting conceptual: una guía para mejores ideas (3.ª ed.), Reading, MA:
Perseus Books, 1986.
Afors, Cristina y Marilyn Zuckermann Michaels, “A Quick Accurate Way to Determine Customer
Needs”, Sociedad Estadounidense para la Calidad: Quality Progress, julio de 2001, págs. 82–87.
Alexander, Ian F. y Richard Stevens, Writing Better Terms, Londres, Reino Unido: Addison
Wesley, 2002.
Alexander, Ian y Andrew Farncombe, John Boardman Associates (JBA), Plantilla de análisis de
partes interesadas, Curso básico de ingeniería de sistemas, 2003.
Andriole, Stephen J., Gestión de requisitos del sistema: métodos, herramientas y casos, Nueva
York: McGraw Hill, 1996.
Bach, James, “James Bach on RiskBased Testing: How to Conduct Heuristic Risk Analysis”,
Revista Software Testing and Quality Engineering (STQE), noviembre/diciembre de 1999, págs.
Bachmann, Felix, Len Bass, Gary Chastek, Patrick Donohoe y Fabio Peruzzi, The Architecture
Based Design Method, Instituto de Ingeniería de Software, Informe técnico CMU/SEI2000TR001,
ESCTR2000001, 2000.
Bass, Len, Paul Clements y Rick Kazman, Arquitectura de software en la práctica, Reading, MA:
AddisonWesley, 1998.
Bennis, Warren y Patricia Ward Biederman, Genio: los secretos de la colaboración creativa,
Reading, MA: Perseus Books, 1997.
233
Machine Translated by Google
234 Bibliografía
Bicknell, Barbara A y Kris D., Bicknell, La hoja de ruta hacia el éxito repetible: uso de
QFD para implementar el cambio, Boca Raton, FL: CRC Press, 1995.
Boehm, Barry W., WinWin Spiral Model & Groupware Support System, Universidad del
Sur de California, 1998. Disponible en sunset.usc.edu/research/WINWIN/index.html.
Boehm, Barry, Alexander Egyed, Julie Kwan, Dan Port, Archita Shah y Ray Madachy,
“Using the WinWin Spiral Model: A Case Study”, IEEE Computer, julio de 1998, págs.
33–44.
Boehm, Barry y Wilfred J. Hansen, “The Spiral Model as a Tool for Evolutionary
Acquisition”, un esfuerzo conjunto del Centro de Ingeniería de Software de la Universidad
del Sur de California y el Instituto de Ingeniería de Software (SEI), CrossTalk, mayo de
2001, págs . 4–11.
Buede, Dennis M., El diseño de ingeniería de sistemas: modelos y métodos, Nueva York:
John Wiley & Sons, 2000.
Bibliografía 235
Carr, Frank et al, Asociación en la construcción: una guía práctica para el éxito del
proyecto, Chicago, IL: American Bar Association Publishing, 1999.
Davis, Alan M., Gestión de requisitos suficientes (Redmond, WA: Microsoft Press, de
próxima aparición).
Davis, Alan M., “El arte de la clasificación de requisitos”, IEEE Computer, IEEE Computer
Society Press, vol. 36, núm. 3, marzo de 2003, págs. 42–49.
Davis, Alan M., Requisitos de software: objetos, funciones y estados, Upper Saddle River,
Nueva Jersey: Prentice Hall PTR, 1993.
Dion, R., “Process Improvement and the Corporate Balance Sheet”, IEEE Software,
octubre de 1993, págs. 28–35.
Eckes, George, Hacer que Six Sigma dure: gestionar el equilibrio entre el cambio cultural
y técnico, Nueva York: John Wiley & Sons, Inc., 2001.
Electronic Industries Alliance (EIA), Procesos estándar 632 de la EIA para diseñar un
sistema, Arlington, VA, 1998.
236 Bibliografía
Fowler, Martin, UML destilado: aplicación del lenguaje estándar de modelado de objetos,
Reading, MA: Addison Wesley, 1997.
Garmus, David y David Herron, Análisis de puntos funcionales: prácticas de medición para
proyectos de software exitosos, Reading, MA: AddisonWesley, 2001.
Gilb, Tom y Dorothy Graham, Inspección de software, Boston, MA: AddisonWesley, 1993.
Gottesdiener, Ellen, “Diez formas principales en que los equipos de proyectos hacen mal
uso de los casos de uso y cómo corregirlos”, disponible en www.therationaledge.com/
content/jun_02/t_misuseUseCases_eg.jsp.
Gottesdiener, Ellen y Jim Bruce, “El valor de la estandarización de las reglas comerciales”,
disponible en www.ebgconsulting.com/BusRulesObjectMagsHTML. HTML.
Gottesdiener, Ellen, “Turning Rules Into Requests”, Application Development Trends, julio
de 1999. Disponible en www.adtmag.com/print.asp?id= 3806.
Grady, Jeffrey O., Validación y verificación del sistema, Boca Raton, FL: CRC Press, 1997.
Grady, Jeffrey O., Análisis de requisitos de sistemas, Nueva York: McGrawHill, 1993.
Hadden, Rita, "¿Cuán escalables son las prácticas clave de CMM?" CROSSTALK, abril de
1998, págs. 1823. Véase también www.ppc.com.
Machine Translated by Google
Bibliografía 237
Hall, David C., “Mejores prácticas: uso de un modelo de nivel de madurez de gestión de riesgos”,
Revista de calidad de software, vol. 2, No. 4, octubre de 2002, disponible en
www.sqmmagazine.com/issues/200204/maturity.html.
Harmon, Paul y Mark Watson, Comprensión de UML: la guía para desarrolladores, San
Francisco, CA: Morgan Kaufman Publishers, Inc, 1997.
Hay, David C., Patrones de modelos de datos: convenciones de pensamiento, Nueva York:
Dorset House, 1996.
Hay, David C., Análisis de requisitos: de la visión empresarial a la arquitectura, Upper Saddle
River, Nueva Jersey: Prentice Hall PTR, 2003.
Hay, John, Análisis de requisitos: desde la visión empresarial hasta la arquitectura, Englewood
Cliffs, Nueva Jersey: Prentice Hall, 2002.
Herbsleb, James, Anita Carlton, James Rozum, Jane Siegel y David Zubrow, Beneficios de la
mejora de procesos de software basados en CMM: resultados iniciales, Informe técnico CMU/
SEI94TR013, Pittsburgh, PA: Instituto de Ingeniería de Software, agosto 1994.
Higgins, Stewart A., et al, “Gestión de requisitos para productos de tecnología de información
médica”, IEEE Software 2003: 20(1), 26–33. Consulte www.computer.org/software.
Hooks, Ivy, “Escribir buenos requisitos: un tutorial de un día”, patrocinado por el capítulo del
Área Metropolitana de Washington (WMA) del Consejo Internacional de Ingeniería de Sistemas
(INCOSE), McLean, VA: Compliance Automation, Inc., junio de 1997.
Humphrey, Watts S., Introducción al proceso de software personal, Reading, MA: Addison
Wesley, 1997.
Humphrey, Watts S., Introducción al proceso de software en equipo, Reading, MA: Addison
Wesley, 2000.
Instituto de Ingenieros Eléctricos y Electrónicos (IEEE), IEEE 1220, Guía IEEE para Tecnología
de la InformaciónDefinición de SistemasConcepto de Operaciones (ConOps)
Documento, IEEE, Nueva York, 1998.
Machine Translated by Google
238 Bibliografía
Instituto de Ingenieros Eléctricos y Electrónicos (IEEE), IEEE 1320.1, Estándar IEEE para
lenguaje de modelado funcional: sintaxis y semántica para IDEF0, IEEE Computer Society,
1998.
Estándar 12207 del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE), Procesos del ciclo
de vida del software, Nueva York: IEEE, 1998.
Sitio web del Grupo Internacional de Usuarios de Puntos de Función (IFPUG): www.ifpug.org.
Jones, Capers, Evaluación y control de riesgos de software, Englewood Cliffs, Nueva Jersey:
Prentice Hall, 1994.
Jones, Capers, Estimación de costos de software, Nueva York: McGraw Hill, 1998.
Jones, Capers, “Factores positivos y negativos que influyen en la productividad del software”,
Burlington, MA: Software Productivity Research, Inc., versión 2.0, 15 de octubre de 1998.
Jones, Capers, “Gestión de proyectos de software en el siglo XXI”, American Programmer, vol.
11, No. 2, febrero de 1998. También disponible en spr.com/news/articles.htm.
Jones, Capers, Calidad del software: análisis y directrices para el éxito, Londres: International
Thomson Computer Press, 1997.
Machine Translated by Google
Bibliografía 239
Jones, Capers, Calidad del software en 2000: qué funciona y qué no, 18 de enero de
2000.
Jones Capers, “Qué significa ser 'el mejor en su clase' en software”, Burlington, MA:
Software Productivity Research (SPR), Inc., versión 5, 10 de febrero de 1998.
Korson, Timothy, "El uso indebido de los casos de uso: gestión de requisitos",
Disponible en www.korsonmcgregor.com/publications/korson/Korson9803om.htm.
Kulak, Daryl y Eamonn Guiney, Casos de uso: requisitos en contexto, Nueva York: ACM
Press, 2000.
McGibbon, T., “Un caso de negocio para la mejora de procesos de software revisado:
medición del retorno de la inversión a partir de la ingeniería y la gestión de software”,
número de contrato SP0700984000, Centro de análisis y datos para software (DACS),
ITT Industries, ingeniería avanzada y División de Ciencias, Roma, NY, 30 de septiembre
de 1999. Disponible en www.dacs.dtic. mil/techs/roispi2/.
240 Bibliografía
Paulk, MC, “Uso del software CMM con buen criterio”, ASQ Software Quality Professional vol. 1,
núm. 3, junio de 1999, págs. 19–29. Disponible en www.sei.cmu.edu/publications/articles/paulk/
judgment.html.
Paulk, Mark C., “Using the Software CMM with Good Judgment: Small Projects & Small
Organizations”, Presentación en el Capítulo de Washington, DC, Mesa redonda de la Sociedad
para la Calidad del Software (SSQ) 1998, 26 de enero de 1998.
Paulk, Mark C., Bill Curtis, Mary Beth Chrissis y Charles V. Weber, Capability Maturity Model for
Software, versión 1.1, febrero de 1993, Software Engineering Institute (SEI), CarnegieMellon
University, Pittsburgh, PA, 1993. Véase www.sei.cmu.edu/publications/documents/93.reports/
93.tr.024. HTML.
PorterRoth, Bud, Solicitud de propuesta: una guía para el desarrollo eficaz de RFP, Boston, MA:
AddisonWesley, 2002.
Grupo de especialistas en ingeniería de requisitos (RESG) (en el Reino Unido) Sitio web:
www.resg.org.uk/.
Rogers, Everett M., Difusión de innovaciones (4ª ed.), Nueva York: The Free Press, 1995.
Ross, Jeanne W. y Peter Weill, “Seis decisiones de TI que su personal de TI no debería tomar”,
Harvard Business Review, noviembre de 2002, págs. 85–91.
Scholtes, P., B. Joiner y B. Streibel, The Team Handbook (2.ª ed.), Madison, WI: Oriel Inc., 2001.
Six Sigma Qualtec, Historia de QI: Herramientas y técnicas, Guía para la resolución de problemas,
tercera edición, 1999. Llame al 4805862600 para obtener información. Véase también www.ssqi.
es/homepage.asp.
Smith, Preston G. y Donald G. Reinertsen, Desarrollo de productos en la mitad del tiempo (2.ª
ed.), Nueva York: John Wiley & Sons, Inc., 1998.
Bibliografía 241
Sommerville, Ian, Ingeniería de software (6ª ed.), Reading, MA: AddisonWesley, 2001.
Sommerville, Ian y Pete Sawyer, Ingeniería de requisitos: una guía de buenas prácticas,
Nueva York: John Wiley & Sons, 1997.
Thayer, Richard H. y Merlin Dorfman (eds.), Ingeniería de requisitos de software (2.ª ed.
revisada), Los Alamitos, CA: IEEE Computer Society Press, 2000.
The Standish Group International, Inc., CHAOS Chronicles 2003Report, West Yarmouth, MA:
The Standish Group International, Inc., 2002. Véase www.standishgroup.com.
The Standish Group International, Inc, ¿cuáles son sus requisitos? 2003, West Yarmouth,
MA: The Standish Group International, Inc., 2002.
Página web del equipo de productos integrados del Cuerpo de Ingenieros del Ejército de EE.
UU. Véase www.usace.army.mil/ci/lcmis/lcmipt.html.
Walton, Mary, El método de gestión de Deming, Nueva York: The Putnam Publishing Group,
1986.
Webster Bruce F., Errores del desarrollo orientado a objetos, M&T Books, 1995.
Whitten, Neal, "Cumplir con los requisitos mínimos: cualquier cosa más es demasiado", PM
Network, septiembre de 1998.
Wiegers, Karl E., Requisitos de software (2ª ed.), Redmond, WA: Microsoft Press, 2003.
Machine Translated by Google
242 Bibliografía
Wiegers, Karl E., "¿Funcionan sus inspecciones?" StickyMinds.com, 24 de junio de 2002. Véase
www.stickyminds.com.
Wiegers, Karl E., Revisiones por pares en software: una guía práctica, Boston, MA: Addison
Wesley, 2002.
Wiegers, Karl E., “Hábitos de los analistas eficaces”, Revista de desarrollo de software, vol. 8,
núm. 10 (octubre de 2000), págs.
Wiegers, Karl, “10 Requisitos Trampas a Evitar”, Revista de Ingeniería de Calidad y Pruebas de
Software, enero/febrero de 2000. Consulte www.stqemagazine.com/featured.asp?id=8.
Wiegers, Karl E., “Lo primero es lo primero: priorizar los requisitos”, Revista de desarrollo de
software, vol. 7, núm. 9, septiembre de 1999, págs. 24–30.
Wiegers, Karl E., Creación de una cultura de ingeniería de software, Nueva York: Dorset House
Publishing, 1996.
Wiley, Bill, Requisitos esenciales del sistema: una guía práctica para métodos basados en
eventos, Reading, MA: AddisonWesley, 2000.
Wood, Jane y Denise Silver, Desarrollo conjunto de aplicaciones, Nueva York: John Wiley &
Sons, 1995.
Young Ralph R., “Resumen de requisitos iniciales del proyecto”, sitio web: www. ralphyoung.net.
Young, Ralph R., Prácticas de requisitos eficaces, Boston, MA: AddisonWesley, 2001.
Young, Ralph R., Plantilla de plan de requisitos y plan de requisitos de muestra. Véase
www.ralphyoung.net.
Young, Ralph R., “Estudio sobre el comercio de herramientas y requisitos”, disponible en www.
ralphyoung.net/publications/Requirements_Tools_Trade_Study1.doc.
Sobre el Autor
243
Machine Translated by Google
244
Martin Marietta Corporation, TRW, PRC, Inc., Litton PRC y Northrop Grumman Information
Technology.
Él y su esposa, Judy, han estado casados durante 37 años. Judy es ejecutiva de una
asociación y líder en deportes y actividad física, por lo que Ralph sale a caminar temprano
todos los días. Ralph disfruta de las actividades familiares con hijos y nietos, la música, el
canto, la naturaleza, el aire libre y la naturaleza. Una prioridad en su vida es la participación
activa en las comunidades de fe de las iglesias locales. Después de jubilarse, Judy y Ralph
sueñan con vivir a bordo de un barco pesquero y viajar mucho.
Machine Translated by Google
Índice
245
Machine Translated by Google
246 Índice
de proceso, 156 Integración del modelo de plan, 3, 70, 131 políticas, 131
RA y, 12935
madurez de capacidad (CMMI ), 6, 139, 193
Coordinación RM, 131
Análisis y resolución casual
Pymes, 89
(CAR), 145 cliente, producto, requisitos de componentes
del producto, 48 análisis de requisitos, 48 sitio web, técnicas, 83
herramientas, 131
13, 60 Carr, Frank, 96,
196 Carroll, Pete, 93, 95 Estudios Contabilidad del estado de configuración, 134
NÚCLEO, 186
de casos del cliente
priorización de requisitos, Contramedidas, 149
Índice 247
248 Índice
j
Jackson, Michael, 20, 26 John Necesidades
Boardman Associates (JBA), 65 Johnson, DL, definidas, 45 cumplimiento de requisitos mínimos, 116
140, 156, 166 Requisitos negociables, 55
Machine Translated by Google
Índice 249
250 Índice
5 asignación, 5 59 reales, 2
análisis, 4 reformulados, 4
Índice 251
252 Índice
Índice 253
254 Índice
Requisitos verificados, 53 Joven, RR, 13, 25, 44, 55, 60, 97, 105, 106, 191