Sunteți pe pagina 1din 98

OPEN UP FASE DE ELABORACIN

ITERACIN: ELABORAR ITERACIN [1..N]


La mayora de las actividades durante una iteracin tpica en la fase de
elaboracin suceden en paralelo.
En esencia, los principales objetivos de Elaboracin estn
relacionados con una mejor comprensin de los requisitos, la creacin
y el establecimiento de una lnea de base de la arquitectura para el
sistema, y mitigar los riesgos de alta prioridad.
La siguiente tabla resume los objetivos de la fase de elaboracin y qu
actividades aborda cada objetivo:

ITERACIN: ELABORAR ITERACIN [1..N]


La siguiente tabla resume los objetivos de la fase de elaboracin y qu
actividades aborda cada objetivo:
OBJETIVOS DE FASE

ACTIVIDADES QUE ABORDA CADA


OBJETIVO

Obtener una comprensin


ms detallada de los
requisitos

Identificar y Refine Requisitos

Disear, implementar,
validar, y definir la lnea
base de la arquitectura

Desarrollar la Arquitectura
Desarrollar Incremento de la Solucin
Solucin de Prueba

Mitigar los riesgos


esenciales, y producir
horas exactas y costo
estimado

Planificar y gestionar iteracin

ESTRUCTURA DE LA DIVISIN DEL TRABAJO


Esta plantilla iteracin define las actividades (y los roles asociados y
productos de trabajo) realizadas en una iteracin tpica en la fase de
elaboracin.

ESTRUCTURA DE LA DIVISIN DEL TRABAJO


Flujo de Trabajo

ACTIVIDAD: PLANEAR Y MANEJAR LA ITERACIN


Inicia la iteracin y permiten a los miembros del equipo enrolarse a las
tareas de desarrollo.
Monitorear y comunicar el estado del proyecto a los interesados
externos.
Identificar y manejar excepciones y problemas.

ACTIVIDAD: PLANEAR Y MANEJAR LA ITERACIN


DESCRIPCIN
Esta actividad se lleva a cabo durante todo el ciclo de vida del
proyecto.
El objetivo de esta actividad es identificar riesgos y problemas lo
suficientemente temprano para que pueden ser mitigados, establecer
las metas para la iteracin, y para apoyar al equipo de desarrollo para
alcanzar estos objetivos.
El director del proyecto y el equipo lanzan la iteracin. La priorizacin
de trabajo para una iteracin dada toma lugar. El director del proyecto,
las partes interesadas y los miembros del equipo estn de acuerdo en
lo que se supone sera desarrollado durante esa iteracin.

ACTIVIDAD: PLANEAR Y MANEJAR LA ITERACIN


DESCRIPCIN
Los miembros del equipo se asignan a los elementos de trabajo que
van a desarrollar en esa iteracin.
Cada miembro del equipo descompone los elementos de trabajo en
tareas de desarrollo y estima el esfuerzo.
Esto proporciona una estimacin ms precisa de la cantidad de tiempo
que se utilizara, y de lo que puede lograrse de manera realista, en una
iteracin dada.

ACTIVIDAD: PLANEAR Y MANEJAR LA ITERACIN


DESCRIPCIN
Conforme la iteracin se ejecuta, el equipo se rene regularmente para
informar del estado del trabajo realizado, el trabajo a hacer a continuacin,
y problemas que bloquean el progreso.
En algunos proyectos, esta comprobacin de estado se produce en las
reuniones diarias, lo que permite una comprensin ms precisa de cmo
el trabajo en la iteracin est progresando.
Si es necesario, el equipo hace correcciones para lograr lo que se haba
previsto.
La idea general es que los riesgos y los problemas son identificados y
gestionados a travs de la iteracin, y todo el mundo conoce el estado del
proyecto en tiempo y forma.

ACTIVIDAD: PLANEAR Y MANEJAR LA ITERACIN


DESCRIPCIN
Durante las evaluaciones de la iteracin, el criterio clave para el xito
es demostrar que la funcionalidad planeada se ha implementado.
Las lecciones aprendidas son capturadas con el fin de modificar el
proyecto o mejorar el proceso.
Si el final de iteracin coincide con el final de fase, comprobar que se
han cumplido los objetivos para esa fase.

ACTIVIDAD: PLANEAR Y MANEJAR LA ITERACIN


ESTRUCTURA DE LA DIVISIN DE TRABAJO
Planear la Iteracin.

Preparar el Entorno.

Manejar la Iteracin.

Esquema de Plan de Despliegue.

Evaluar Resultados.

TAREA: PLAN DE ITERACIN


Planificar el alcance y las responsabilidades de una sola iteracin.
PROPSITO
El propsito de esta tarea es identificar el siguiente incremento de
capacidad del sistema, y crear un plan detallador para lograr esa
capacidad dentro de una sola iteracin.

TAREA: PLAN DE ITERACIN


DESCRIPCIN
Durante la planificacin del proyecto, se identifican las iteraciones, pero las
estimaciones tienen una incertidumbre aceptable debido a la falta de
detalle en el inicio del proyecto.
Esta tarea se repite para cada iteracin dentro de una liberacin (relase).
Esto permite al equipo aumentar la precisin de las estimaciones para una
iteracin, a medida que se conoce ms detalle a lo largo del proyecto.
Asegrese de que el equipo se compromete en una cantidad razonable de
trabajo para la iteracin, con base en el desempeo del equipo de
iteraciones anteriores.

TAREA: PLAN DE ITERACIN


PASOS:
Priorizar la Lista de Items de Trabajo.
Definir los objetivos de la iteracin.
Identificar y revisar los riesgos
Comprometer trabajo para la iteracin.
Definir criterios de evaluacin
Refinar la definicin del proyecto y el alcance

ACTIVIDAD: IDENTIFIAR Y REFINAR REQUERIMIENTOS


Detalla un conjunto de requisitos (uno o ms casos de uso,
requerimientos de escenarios o de todo el sistema).

ACTIVIDAD: IDENTIFIAR Y REFINAR REQUERIMIENTOS


DESCRIPCIN
Esta actividad describe las tareas que se realizan para obtener,
especificar, analizar y validar un subconjunto de los requisitos del
sistema antes de la implementacin y verificacin.
Esto no implica que todos los requisitos se detallan antes de comenzar
la implementacin. Ms bien, esta actividad se realiza a lo largo del
ciclo de vida con las partes interesadas y con todo el equipo de
desarrollo;
colaborando para asegurar que un conjunto claro,
consistente, correcto, verificable y viable de los requisitos est
disponible, segn sea necesario, para manejar la implementacin y
verificacin.

ACTIVIDAD: IDENTIFIAR Y REFINAR REQUERIMIENTOS


DESCRIPCIN
Durante el Inicio, la atencin se centra en la obtencin de un acuerdo
sobre el problema a resolver, la recopilacin de las necesidades de las
partes interesadas, y la captura de las caractersticas de alto nivel del
sistema.

ACTIVIDAD: IDENTIFIAR Y REFINAR REQUERIMIENTOS


DESCRIPCIN
Durante la Elaboracin, el foco se desplaza a la definicin de la solucin.
Esta consiste en la bsqueda de esos requerimientos que tienen el mayor valor
para las partes interesadas, que son particularmente desafiantes o de riesgo, o
que son de gran importancia arquitectnica.
A continuacin se describen los requisitos (que se priorizan, a travs de la lista
de elementos de trabajo, para su implementacin en las iteraciones iniciales)
con el suficiente detalle para validar el entendimiento de los requerimientos por
parte del equipo de desarrollo, para asegurar la concurrencia con las partes
interesadas, y para permitir el comienzo del desarrollo de software.
Para cada uno de estos requisitos, definir los casos de prueba asociados para
garantizar que los requerimientos son verificables, y proporcionar la orientacin
necesaria para la verificacin y validacin.

ACTIVIDAD: IDENTIFIAR Y REFINAR REQUERIMIENTOS


DESCRIPCIN
Durante la Construccin, el foco se
perfeccionamiento de la definicin del sistema.

desplaza

hacia

el

Esto consiste en detallar los requisitos restantes y casos de prueba


asociados como sea necesario para manejar la implementacin y
verificacin, y la gestin de cambio de requerimientos.

ACTIVIDAD: IDENTIFIAR Y REFINAR REQUERIMIENTOS


ESTRUCTURA DE LA DIVISIN DE TRABAJO

Identificar y Delinear Requerimientos.

Detallar Escenarios de Casos de Uso

Detallar Requerimientos que abarcan todo el Sistema

Crear Casos de Prueba

TAREA: IDENTIFICAR Y DELINEAR REQUERIMIENTOS


Esta tarea describe cmo identificar y delinear los requisitos para el sistema
de modo que el alcance del trabajo se puede determinar.
PROPSITO
El propsito de esta tarea es identificar y capturar los requisitos funcionales
y no funcionales para el sistema.
Estos requisitos constituyen la base de la comunicacin y el acuerdo entre
las partes interesadas y el equipo de desarrollo en lo que el sistema debe
hacer para satisfacer las necesidades de las partes interesadas.
El objetivo es comprender los requisitos en un alto nivel de modo que el
mbito de trabajo inicial se puede determinar. Futuros anlisis sern llevados
a cabo para detallar estos requerimientos antes de su implementacin.

TAREA: IDENTIFICAR Y DELINEAR REQUERIMIENTOS

TAREA: IDENTIFICAR Y DELINEAR REQUERIMIENTOS


PASOS
Obtener informacin.
Identificar y capturar trminos del dominio.
Identificar los tipos de requerimientos relevantes al sistema.
Identificar y capturar casos de uso y escenarios.
Identificar y capturar requerimientos que abarcan todo el sistema.
Lograr la concurrencia.
Identificar y capturar Casos de Uso y Actores en un Modelo de
Casos de Uso.

TAREA: DETALLA ESCENARIOS DE CASOS DE USO


Esta tarea describe como detallar escenarios de casos de uso para el
sistema.
PROPSITO
El propsito de esta tarea es describir escenarios de casos de uso en
suficiente detalle para validar la comprensin de los requerimientos,
para garantizar la concurrencia con las expectativas de las partes
interesadas, y para permitir el comienzo del desarrollo de software.

TAREA: DETALLA ESCENARIOS DE CASOS DE USO

TAREA: DETALLA ESCENARIOS DE CASOS DE USO


PASOS
Detallar casos de uso y escenarios
Detallar el glosario de trminos.
Lograr la concurrencia.
Actualizar el Modelo de Casos de Uso.

CONSIDERACIONES CLAVES
Para evitar el re trabajo innecesario, slo los escenarios de casos de
uso que estn programados para su implementacin en el corto plazo
(en la siguiente iteracin o dos) deben ser detalladas.
No todos los escenarios de casos de uso requieren detalle.

TAREA: DETALLAR REQUERIMIENTOS QUE ABARCAN TODA LA APLICACIN

Esta tarea detalla uno o ms requerimientos que no se aplican a un


caso de uso especfico.
PROPSITO
El propsito de esta tarea es describir uno o ms requisitos de todo el
sistema con suficiente detalle para validar la comprensin de los
requerimientos, para garantizar la concurrencia con las expectativas
de las partes interesadas, y para permitir el inicio del desarrollo del
software.

TAREA: DETALLAR REQUERIMIENTOS QUE ABARCAN TODA LA APLICACIN

TAREA: DETALLAR REQUERIMIENTOS QUE ABARCAN TODA LA APLICACIN

PASOS:
Detalllar requerimientso que abarcan todo el sistema.
Detallara glosario de trminos
Lograr concurrencia.
CONSIDERACIONES CLAVES
Para evitar re trabajo innecesario, slo aquellos requerimientos que
estn programados para su implementacin en el corto plazo (en la
siguiente iteracin o dos) deben ser detallados.

TAREA: CREAR CASOS DE PRUEBA


Desarrollar casos de prueba y datos de prueba para testear los
requerimientos.
PROPSITO
Para lograr un entendimiento compartido de las condiciones
especficas que la solucin debe cumplir.

TAREA: CREAR CASOS DE PRUEBA

TAREA: CREAR CASOS DE PRUEBA


PASOS
Revisar los requerimientos a ser testeados.
Identificar Casos de Prueba relevantes.
Delinear los Casos de Prueba.
Identificar las necesidades de datos de prueba
Compartir y evaluar los Casos de Prueba.

TAREA: CREAR CASOS DE PRUEBA


CONSIDERACIONES CLAVE
Desarrollar casos de prueba en paralelo con los requerimientos para
que los analistas y los stakeholders pueden ponerse de acuerdo con
las condiciones especficas de satisfaccin para cada requerimiento.
Los casos de prueba actan como criterios de aceptacin mediante la
ampliacin de la intencin del sistema a travs de escenarios reales de
uso. (The test cases act as acceptance criteria by expanding on the
intent of the system through actual scenarios of use)
Esto permite a los miembros del equipo medir el progreso en trminos
de pasar casos de prueba.

DESARROLLAR LA ARQUITECTURA
Desarrollar los requisitos de
priorizados para esta iteracin.

gran

importancia

arquitectnica

DESARROLLAR LA ARQUITECTURA
DESCRIPCIN
Esta actividad refina la arquitectura inicial de alto nivel en el software de trabajo.
El objetivo es producir software estable que aborde adecuadamente los riesgos
tcnicos en su alcance.
El arquitecto y desarrolladores trabajan juntos para:
Refinar el boceto inicial de la arquitectura en los elementos de diseo
concretos.
Asegurar que las decisiones de arquitectura son capturadas y comunicadas
adecuadamente
Asegurar que el equipo tiene suficiente informacin para hacer posible el
software a desarrollar
Asegurar que los requisitos que fueron priorizados para la presente iteracin
se abordan adecuadamente en el software

DESARROLLAR LA ARQUITECTURA
DESCRIPCIN
En un proyecto iterativo, el equipo no debe tratar de desarrollar la
arquitectura de todo el proyecto en una sola pasada.
Ms bien, deben centrarse en el cumplimiento de los requisitos en
mbito para la iteracin actual, mientras se toma de decisiones en el
contexto del proyecto ms amplio.

DESARROLLAR LA ARQUITECTURA
DESGLOSE DE ELEMENTOS

Desarrollar Solucin Incremental.

Refinar la Arquitectura.

ACTIVIDAD: DESARROLLAR SOLUCIN INCREMENTAL


Disear, implementar, probar e integrar la solucin para un
requerimiento dentro de un contexto dado.
PROPSITO
Para los desarrolladores: Para crear una solucin para el elemento
de trabajo para los que son responsables

Para los administradores de proyectos: Para tener una forma de dar


seguimiento al estado del proyecto basada en metas.

ACTIVIDAD: DESARROLLAR SOLUCIN INCREMENTAL


DESCRIPCIN
Introduccin
Ejecute esta actividad como una forma de llevar a cabo la planificacin
y ejecucin basada en objetivos.
El trabajo es asumido por los desarrolladores, y al progreso del trabajo
se realiza un seguimiento basado en las metas alcanzadas usando el
cdigo fuente diseado, testeado en desarrollo, e integrado.

ACTIVIDAD: DESARROLLAR SOLUCIN INCREMENTAL


DESCRIPCIN
Contexto de lo que se est desarrollando
Un contexto se puede especificar cuando se asigna un requerimiento a
desarrollar, especificando la amplitud del requerimiento a desarrollar
en una iteracin.
El desarrollo puede enfocarse en una capa (como la interfaz de
usuario, la lgica de negocio, o el acceso de base de datos), en un
componente, y as sucesivamente.

ACTIVIDAD: DESARROLLAR SOLUCIN INCREMENTAL


DESCRIPCIN
Contexto de lo que se est desarrollando
Si se especifica un contexto o no, la responsabilidad de los
desarrolladores es crear un diseo y la implementacin para este
requerimiento.
El desarrollador tambin escribe y realiza pruebas de desarrollo contra
la implementacin para asegurarse de que funciona como est
diseada, tanto como una unidad as como integran en el cdigo base.

ACTIVIDAD: DESARROLLAR SOLUCIN INCREMENTAL


DESCRIPCIN
Visin general de flujo de trabajo
Los cambios tpicos requieren un poco de esfuerzo en el diseo de la
solucin antes de pasar a la implementacin, incluso si es slo un
ejercicio mental que resulta en ningn producto de trabajo a largo
plazo.
El diseo de los cambios triviales para la implementacin
existente(para, por ejemplo, soportar algn requerimiento) podra ser
evidente en el contexto de la arquitectura y el diseo existente.

ACTIVIDAD: DESARROLLAR SOLUCIN INCREMENTAL


DESCRIPCIN
Visin general de flujo de trabajo
Una vez que la organizacin de la solucin tcnica es claro, definir
pruebas para desarrolladores que comprobar la aplicacin.
Este enfoque basado en pruebas asegura que las consideraciones de
diseo han hecho ocurrido antes de que se codifica la solucin.
Las pruebas se realizan en la delantera y, si no, definir claramente los
criterios para determinar si la aplicacin funciona como est previsto.

ACTIVIDAD: DESARROLLAR SOLUCIN INCREMENTAL


DESCRIPCIN
Visin general de flujo de trabajo
Una vez que la organizacin de la solucin tcnica es clara, definir
pruebas de desarrollo que comprueben la implementacin.
Este enfoque basado en pruebas asegura que las consideraciones de
diseo efectivamente han tomado lugar antes de que se codifique la
solucin.
Las pruebas se realizan adelante, y si fallan, se deben definir
claramente los criterios para determinar si la implementacin funciona
como est previsto.

ACTIVIDAD: DESARROLLAR SOLUCIN INCREMENTAL


DESCRIPCIN
Visin general de flujo de trabajo
Las pruebas fallidas conducen a una implementacin de la solucin, al
trmino de los cuales se ejecuta las pruebas de nuevo.
Este bucle ms interno de implementacin y pruebas de desarrollo se repite
hasta que pasen las pruebas.
Pasar las pruebas no significa necesariamente que la solucin es adecuada
y de alta calidad. Es adecuada para revisar el diseo en este punto.
Ese camino vuelve de nuevo a travs del proceso, ya que cualquier cambio
en el diseo podran afectar las pruebas de desarrollo y la implementacin.

ACTIVIDAD: DESARROLLAR SOLUCIN INCREMENTAL


DESCRIPCIN
Visin general de flujo de trabajo
Una vez que las pruebas pasan y el diseo de la solucin es apropiado, hay un
posible loopback adicional.
Lo mejor es mantener los bucles internos de diseo evolutivo, basado en pruebas,
lo ms ajustado posible.
Empezar con una solucin de diseo a pequea escala para una parte del
elemento de trabajo, definir una o dos pruebas para la implementacin de esta
parte de la solucin, pasar la prueba, verificar la calidad, y luego continuar en una
prueba de primera manera hasta que la parte del diseo est trabajando.
Luego, en el bucle ms externo de la actividad, volver al elemento de trabajo y
disear otro pedazo para acercarse a su finalizacin.

ACTIVIDAD: DESARROLLAR SOLUCIN INCREMENTAL


FLUJO DE TRABAJO

ACTIVIDAD: DESARROLLAR SOLUCIN INCREMENTAL


DIVISIN DEL TRABAJO

Disear la solucin
Implementar Pruebas de Desarrollo
Implementar la Solucin
Ejecutar Pruebas de Desarrollo
Integrar y Construir la Aplicacin (Create Build).

TAREA: DISEAR LA SOLUCIN


Identificar los elementos y disear las interacciones, el
comportamiento, las relaciones, y los datos necesarios para realizar
algunas funcionalidad.
Reproducir el diseo visualmente para ayudar a resolver el problema y
comunicar la solucin.
PROPSITO
El propsito de esta tarea es describir los elementos del sistema para
que soporte el comportamiento requerido, son de alta calidad y se
acoplan dentro de la arquitectura.

TAREA: DISEAR LA SOLUCIN

TAREA: DISEAR LA SOLUCIN


DESCRIPCIN PRINCIPAL
Esta tarea es sobre disear parte del sistema, no todo el sistema.
Se debe aplicar sobre la base de un pequeo subconjunto de
requerimientos.
Los requisitos que conducen el diseo podran ser requerimientos
funcionales basados en escenarios, requerimientos no funcionales, o
una combinacin.

TAREA: DISEAR LA SOLUCIN


DESCRIPCIN PRINCIPAL
Esta tarea se puede aplicar en un contexto especfico, como los elementos
de acceso de base de datos requeridos por algn escenario.
En este caso la tarea se podra aplicar de nuevo ms adelante para hacer
frente a un contexto diferente en los mismos requerimientos.
Tenga en cuenta que para construir en realidad alguna funcionalidad de
valor para los usuarios, todos los contextos tpicamente necesitan ser
diseados e implementados.
Por ejemplo, para utilizar realmente cierta capacidad del sistema, tendrn
que haber sido diseados e implementados todos su contextos como la
interfaz de usuario, reglas de negocio, acceso a base de datos, etc.

TAREA: DISEAR LA SOLUCIN


DESCRIPCIN PRINCIPAL
Por cohesin y completitud, esta tarea se describe como un paso de
extremo a extremo de diseo de un escenario de uso del sistema.
En la prctica, esta tarea ser revisada tantas veces cuando el diseo
se consider por primera vez, las porciones son implementadas, ms
diseo se realiza en base a lo aprendido, etc.
La aplicacin ms saludable de esta tarea es que est estrechamente
aproximada a la implementacin.

TAREA: DISEAR LA SOLUCIN


DESCRIPCIN PRINCIPAL
Si esta tarea se est realizando en un elemento arquitectnico
significativo los resultados de este diseo deben ser referenciados por
la Arquitectura Tcnica.

TAREA: DISEAR LA SOLUCIN


PASOS

Entender los detalles del requerimiento


Entender la arquitectura
Identificar elementos de diseo
Determinar como los elementos colaboran para realizar el
escenario
Refinar decisiones de diseo.
Diseo interno (para elementos grandes o complejos)
Comunicar el diseo
Evaluar el diseo

TAREA: DISEAR LA SOLUCIN


CONSIDERACIONES CLAVES
Cada paso en esta tarea puede causar la revisin de todos los pasos
anteriores a la luz de la nueva informacin y decisiones.
Por ejemplo, mientras se determina cmo los elementos colaboran se
podra encontrar un hueco en los requerimientos que hace volver al
principio despus de colaborar con el analista, o al evaluar el diseo el
que lo revisa podra sealar que un elemento reutilizable que se est
utilizando no funciona como se esperaba lo que podra causar la
identificacin nuevos elementos para tomar su lugar.

TAREA: DISEAR LA SOLUCIN


CONSIDERACIONES CLAVES
Considere la arquitectura mientras se ejecuta esta tarea.
Todo el trabajo de diseo se debe con respecto a la arquitectura dentro
de la cual existe el diseo.
Por otra parte, ciertos elementos de diseo sern considerados de
gran importancia arquitectnica; estos elementos requerirn
actualizaciones en la arquitectura.
Esta tarea se aplicara en numerosas ocasiones. El diseo se realiza
mejor en pequeos trozos.

TAREA: DISEAR LA SOLUCIN


CONSIDERACIONES CLAVES
Incluso cuando se inicia el diseo para un proyecto particular, se
espera que habr frameworks existentes y elementos reutilizables.
Cada paso de esta tarea debe prestar atencin al diseo ya existente y
a la implementacin existente, utilizando elementos existentes cuando
sea posible y emulando o mejorando los elementos existentes como
sea apropiado mientras se disea esta parte de la solucin.
Aplicar patrones a lo largo de esta tarea. Patrones representan
diseos probados y su uso promueve la calidad y consistencia a travs
del diseo.

TAREA: IMPLEMENTAR TESTS DE DESARROLLO


Implementar una o ms pruebas que permitan la validacin elementos
de implementacin individuales a travs de la ejecucin.
PROPSITO
Prepararse para validar un elemento de implemetnacion (por ejemplo,
una operacin, una clase, un procedimiento almacenado) a travs de
pruebas unitarias.
El resultado es una o mas pruebas de desarrollo nuevas.

TAREA: IMPLEMENTAR TESTS DE DESARROLLO

TAREA: IMPLEMENTAR TESTS DE DESARROLLO


DESCRPCIN PRINCIPAL
Las pruebas de desarrollo son diferentes de otras formas de pruebas en
que se basan en el comportamiento esperado de unidades de cdigo en
lugar de basarse directamente en los requisitos del sistema.
Es mejor hacer esto en una escala pequea, mucho ms pequea que el
cdigo base completo a ser escrito por un desarrollador en el transcurso
de una iteracin.
Esto se puede hacer para una sola operacin, un campo aadido a una
interfaz de usuario, un procedimiento almacenado, etc.
A medida que el cdigo base se construye de forma incremental, nuevas
pruebas sern escritas y las pruebas existentes podran revisarse para
probar el comportamiento adicional.

TAREA: IMPLEMENTAR TESTS DE DESARROLLO


PASOS
Refinar el alcance e identificar el test(s)
Escribir la configuracin de la prueba(setup test)
Definir los resultados esperados
Escribir la lgica del test.
Definir la respuesta del test.
Escribir el cdigo de limpieza.
Probar el test.

TAREA: IMPLEMENTAR TESTS DE DESARROLLO


CONSIDERACIONES CLAVE
1. Automatizar las pruebas a travs de una herramienta de regresin
unidad de prueba (por ejemplo, xUnit) de manera que las pruebas
puedan ser ejecutadas por los desarrolladores cada vez que se
hacen cambios en el cdigo.
2. Probar en base al riesgo del elemento de implementacin. Por
ejemplo, mientras mas critico un elemento, ms importante es para
probarlo a fondo.
3. Trabajar en pares con los miembros del equipo con habilidades de
testing en todas las etapas de esta tarea para ganar penetracin en
consideraciones de prueba y de calidad.
El [Trabajo del Proyecto (Project Work)] se utiliza implcitamente en las
tareas de implementacin para manejar que requerimientos o
requerimientos de cambio van a ser realizado en este cdigo.

TAREA: IMPLEMENTAR TESTS DE DESARROLLO


ALTERNATIVAS
Contar con pruebas de aceptacin para validar el software.
Esto probablemente consumir mucho tiempo, ser tarde, y no es tan
eficaz como las pruebas de desarrollo en la identificacin de los
errores (bugs) y encontrar su ubicacin en el cdigo.

TAREA: IMPLEMENTAR LA SOLUCIN


Implementar cdigo fuente para proporcionar nueva funcionalidad o
corregir errores.
PROPSITO
El propsito de esta tarea es producir una implementacin para parte
de la solucin (tal como una clase o componente), o para fijar uno o
ms defectos.
El resultado es tpicamente cdigo fuente nuevo o modificado, el cual
hace referencia a la aplicacin.

TAREA: IMPLEMENTAR LA SOLUCIN

TAREA: IMPLEMENTAR LA SOLUCIN


DESCRIPCIN PRINCIPAL
Usualmente, esta tarea se enfoca en un elemento de implementacin
especfico, tal como una clase o componente, pero no necesariamente
tiene que serlo.
Una porcin del diseo se implementa mediante la realizacin de esta
tarea.

TAREA: IMPLEMENTAR LA SOLUCIN


DESCRIPCIN PRINCIPAL
Esta tarea se puede llevar a cabo cualquier nmero de veces durante
una iteracin.
De hecho, es mejor hacer esta tarea con el menor alcance posible
para estrechar el lazo entre ella y las tareas relacionadas involucrando
pruebas de desarrollo y consideraciones de diseo.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
DETERMINAR UNA ESTRATEGIA
Determinar una estrategia basada en el diseo de software y pruebas
de desarrollador para saber cmo se va a implementar la solucin.
Las opciones fundamentales son:
1. Aplicar codigo (assets) existente, reutilizable.
2. Modelar el diseo en detalle y generar el cdigo fuente (por la
transformacin del modelo).
3. Escribe el cdigo fuente.
4. Cualquier combinacin de las anteriores.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
IDENTIFICAR OPORTUNIDADES PARA LA REUTILIZACIN
Identificar cdigo existente u otros elementos de implementacin que
pueden ser reutilizados en la porcin de implementacin que se est
creando o cambiando.
Una comprensin integral del diseo general es til, porque lo mejor es
aprovechar las oportunidades de reutilizacin cuando se tiene un
conocimiento profundo de la solucin propuesta.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
TRANSFORMAR EL DISEO EN IMPLEMENTACIN
Si se est utilizando herramientas sofisticadas de modelado, se debe
ser capaz de generar una parte del cdigo fuente requerido desde el
modelo. Tenga en cuenta que la programacin es comnmente
necesaria para completar la implementacin despus que el modelo
de diseo se ha transformado en cdigo.
Incluso sin herramientas, por lo general hay una cierta cantidad de
cdigo que puede ser creado por rutina mediante el examen de las
pruebas de diseo y desarrollo.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
ESCRIBIR CODIGO FUENTE
Escribir el cdigo fuente para que la implementacin se ajuste al
diseo y comportamiento esperado.
Se debe tratar de reutilizar y/o generar cdigo siempre que sea
posible, pero todava se tendr que hacer un poco de programacin.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
ESCRIBIR CODIGO FUENTE
Para ello, tenga en cuenta lo siguiente:
Examinar los requerimientos tcnicos. Debido a que algunos
requerimientos de informacin no se traducen directamente al
diseo, se debe examinar el requerimiento(s) para asegurarse
de que se realicen plenamente en la implementacin.
Refactorizar el cdigo para mejorar su diseo. La refactorizacin
es una tcnica donde se mejora la calidad del cdigo a travs
de cambios pequeos y seguros.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
ESCRIBIR CODIGO FUENTE
Afinar los resultados de la implementacin existente para
mejorar el rendimiento, la interfaz de usuario, la seguridad y
otras reas no funcionales.
Agregar detalles que faltan, como completar la lgica de las
operaciones o agregar clases de soporte y estructuras de datos
Manejar las condiciones del entorno.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
ESCRIBIR CODIGO FUENTE
Hacer frente a circunstancias inusuales o estados de error.
Restringir el comportamiento (evitando que los usuarios o
cdigo de cliente ejecute flujos ilegales, escenarios, o
combinaciones de opciones).
Aadir secciones crticas de cdigo multi-hilo o re-entrante.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
ESCRIBIR CODIGO FUENTE
Aunque muchas consideraciones diferentes se enumeran aqu, hay
una manera clara de saber cundo el cdigo fuente ha terminado.
La solucin ha sido implementada cuando pasa las pruebas de
desarrollo.
Algunas otras consideraciones pueden ser atendidas en un paso de
refactorizacin sobre el cdigo para mejorarlo una vez que est
completo y correcto.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
EVALUAR LA IMPLEMENTACIN
Comprobar que la implementacin es apta para su propsito.
Examinar el cdigo de su idoneidad para llevar a cabo su funcin.
Este es un paso de control de calidad que se realiza adems de las
pruebas que se describe en otras tareas.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
EVALUAR LA IMPLEMENTACIN
Considere las siguientes estrategias:

La programacin en parejas. Emparejando para implementar el cdigo


en primer lugar, el cdigo se evala efectivamente conforme se escribe.

Leer a travs del cdigo para encontrar errores comunes. Considerar la


posibilidad de mantener una lista de los errores comunes que se hacen,
como referencia de recordatorio.

Utilizar herramientas para comprobar los errores de implementacin y


cdigo inapropiado. Por ejemplo, utilice un corrector esttico de reglas
de cdigo o establecer al compilador al nivel de mensajes ms detallado.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
EVALUAR LA IMPLEMENTACIN
Utilizar herramientas que pueden visualizar el cdigo.
Visualizacin de cdigo, como las visualizaciones UML en el
IDE Eclipse, ayudan a los desarrolladores a identificar
problemas tales como acoplamiento excesivo o dependencias
circulares.
Realizar inspecciones de cdigo informales, dirigidas. Pregunte
a sus colegas para revisar pequeas secciones crticas de
cdigo y el cdigo con rotacin significativa. Evite revisar
grandes secciones de cdigo.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
EVALUAR LA IMPLEMENTACIN
Usar un tester para garantizar que la implementaciones
comprobable y comprensible a los recursos de prueba.

Mejorar la aplicacin sobre la base de los resultados de estas


evaluaciones.

es

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
COMUNICAR DECISIONES SIGNIFICATIVAS
Comunicar el impacto de los cambios inesperados en el diseo y los
requerimientos.
Los problemas y restricciones que se descubren al implementar el
sistema deben ser comunicados al equipo.
El impacto de los problemas detectados durante la implementacin
deben ser incorporado en las decisiones futuras.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
COMUNICAR DECISIONES SIGNIFICATIVAS
Si es apropiado, utilizar el proceso de gestin de cambios para reflejar
las ambigedades que se identifican y resuelven en la implementacin
para que puedan someterse a pruebas y se puede manejar las
expectativas de los stakeholders de manera apropiada.
Del mismo modo, aprovechar el proceso de diseo para actualizar el
diseo para reflejar las nuevas restricciones y los problemas
detectados durante la implementacin para asegurar de que la nueva
informacin se comunica a otros desarrolladores.

TAREA: IMPLEMENTAR LA SOLUCIN


PASOS
COMUNICAR DECISIONES SIGNIFICATIVAS
Por lo general, no hay necesidad de una solicitud de cambio si el
cambio requerido es pequeo y la misma persona esta diseando e
implementando el elemento de cdigo.
Esa persona puede hacer el cambio de diseo directamente.
Si el cambio requerido tiene un amplio impacto, puede ser necesario
comunicar este cambio a los otros miembros del equipo a travs de un
requerimiento de cambio.

TAREA: IMPLEMENTAR LA SOLUCIN


CONSIDERACIONES CLAVE
Es mejor cuando los test de desarrollo ya existen por lo que hay una
definicin inequvoca de lo que se considera un comportamiento
correcto. La aplicacin debe ser probada de inmediato.
El [Project Work] se utiliza implcitamente en las tareas de
implementacin para gestionar que requerimientos o solicitudes de
cambio se est realizando en el cdigo.

TAREA: EJECUTAR TEST DE DESARROLLO


Ejecutar pruebas contra los elementos individuales de implementacion
para verificar que sus estructuras internas funcionan segn lo
especificado.
PROPSITO
Para comprobar que la implementacin funciona como se especifica.

TAREA: EJECUTAR TEST DE DESARROLLO


Relationships

TAREA: EJECUTAR TEST DE DESARROLLO


PASOS
EJECUTAR PRUEBAS DE DESARROLLO
Ejecutar las pruebas de desarrollo. El procedimiento puede variar,
dependiendo de si la prueba es manual o automatizada y si los
componentes de prueba adicionales son necesarias, como controladores o
stubs.
Para ejecutar las pruebas, es necesario asegurarse de que se ha
inicializado el entorno de prueba con todos los elementos necesarios, tales
como software, hardware, herramientas, datos, y as sucesivamente.
Las pruebas automatizadas suelen actualizar los resultados de las pruebas
que se pueden evaluar para determinar si las pruebas salieron mal.

TAREA: EJECUTAR TEST DE DESARROLLO


PASOS
EVALUAR LA EJECUCIN DEL TEST
Evaluar la ejecucin de la prueba mediante el anlisis del funcionamiento de la
prueba.
La prueba se completar ya sea normal o anormal. Para las pruebas realizadas
correctamente, una finalizacin normal representa una prueba pasada, aunque
podra justificar un examen adicional del log de los resultados de la prueba para
asegurar que la prueba se ejecut como se esperaba.
Una terminacin anormal podra ser la terminacin prematura o simplemente
una prueba que no se completa de forma prevista.
.

TAREA: EJECUTAR TEST DE DESARROLLO


PASOS
EVALUAR LA EJECUCIN DEL TEST
Revise el registro(log) de prueba para entender las fallas reportadas,
advertencias o resultados inesperados.
La causa del problema(s) podra ser que el elemento de
implementacin que se est probando es defectuoso, un problema con
las pruebas de desarrollo, o un problema con el entorno.

TAREA: EJECUTAR TEST DE DESARROLLO


PASOS
RESPONDER A LOS RESULTADOS DE LAS PRUEBAS
Determinar la accin correctiva apropiada para recuperarse de la ejecucin de
una prueba de desarrollo "fallida".
Si el elemento de aplicacin bajo prueba est defectuoso, solucionar el
problema, si es posible y vuelva a ejecutar las pruebas.
Si el problema es grave y no puede abordarse de inmediato, reportar el defecto.
Si la prueba de desarrollo es defectuosa fijar la prueba y vuelva a ejecutar las
pruebas.
Si hay un problema con el entorno, resolverlo y vuelva a ejecutar las pruebas.

TAREA: EJECUTAR TEST DE DESARROLLO


PASOS
PROMOVER CAMBIOS PARA PRUEBAS DE INTEGRACIN
Cuando las pruebas de desarrollo pasan y ms trabajo no es
necesario para completar el conjunto de cambios, promover los
cambios para la prueba de integracin.
Si el paso de estas pruebas representa la finalizacin de un
requerimiento, actualizar el estado del elemento de trabajo .

TAREA: EJECUTAR TEST DE DESARROLLO


CONSIDERACIONES CLAVE
Es comn requerir que el cdigo pase todas las pruebas desarrollo
antes de que pueda ser entregado en un repositorio de cdigo fuente
integrado.
Emparejar con expertos en pruebas para obtener una visin sobre las
consideraciones de prueba y de calidad.
El [Project Work] se utiliza implcitamente en las tareas implementacin
para gestionar que requerimientos o solicitudes de cambio se estn
realizando en el cdigo.

TAREA: INTEGRAR Y CREAR BUILD


Esta tarea describe cmo integrar todos los cambios realizados por los
desarrolladores en el cdigo base y realizar las pruebas mnimas para
validar la construccin (build).
PROPSITO
El propsito de esta tarea es la integracin de todos los cambios
realizados por todos los desarrolladores en el cdigo base y realizar las
pruebas mnimas sobre el incremento del sistema con el fin de validar la
construccin.
El objetivo es identificar los problemas de integracin tan pronto como
sea posible, por lo que se puede corregir fcilmente por la persona
adecuada, en el momento adecuado.

TAREA: INTEGRAR Y CREAR BUILD


RELACIONES

TAREA: INTEGRAR Y CREAR BUILD


PASOS
Integrar los elementos implementados
En el espacio de trabajo relevante, combinar todos los Conjuntos de
Cambios terminados que no estn en la ltima lnea base.
Resolver los conflictos de versiones de los artefactos ya sea
eliminando uno de los conjuntos de cambios que crearon el conflicto o
mediante la creacin de un nuevo conjunto de cambios que incluye
versiones fusionadas de los artefactos en conflicto.

TAREA: INTEGRAR Y CREAR BUILD


PASOS
Crear la construccin (build).
Los detalles de este paso dependen del lenguaje de implementacin y el
entorno de desarrollo y pueden implicar compilar y enlazar (en el caso de
lenguajes compilados) y/ o otros procesos que resultan en un incremento
ejecutable del sistema.
Ejemplos de estos pasos incluyen:
1.
2.
3.
4.

Compilar y vincular los artefactos de codigo para crear un ejecutable


Cargar objetos binarios en una plataforma de pruebas o simulador
Ejecucin de un script para cargar/actualizar los esquemas de bases
de datos
Empaquetado y despliegue de aplicaciones web

TAREA: INTEGRAR Y CREAR BUILD


PASOS
Probar elementos integrados
Vuelva a ejecutar las pruebas de desarrollo contra los elementos
integrados para verificar que se comportan de la misma manera como
lo hicieron en aislamiento.
Asegrese de que el alcance de estas pruebas es tan amplio como
sea posible, lo que asegura que los ltimos conjuntos de cambios no
causaron fallas en las pruebas de desarrollo en otras reas del
sistema.

TAREA: INTEGRAR Y CREAR BUILD


PASOS
Ejecutar "Pruebas de humo"
Varios builds se crear en cada iteracin. Para cada build, este paso slo
se realiza cuando el conjuntos de cambios ha sido entregado para
satisfacer los requisitos de esa construccin.
Ejecutar un sub-conjunto de las pruebas del sistema para asegurar que la
construccin es adecuada antes de comprometer recursos para el alcance
completo de las pruebas del sistema.
Si bien el nivel de las pruebas variar, se centran en ganar la confianza de
que el incremento es de calidad suficiente para establecer una lnea de
base para las pruebas del sistema.

S-ar putea să vă placă și