Documentos de Académico
Documentos de Profesional
Documentos de Cultura
pe
DESARROLLO DE SOFTWARE
SEMESTRE IV
Ingeniería de Software
Semana 7
Prof. Moisés García
www.senati.edu.pe
OBJETIVOS:
• Brindar a los participantes los conocimientos y experiencias
necesarias relacionadas a la ingeniería de software.
www.senati.edu.pe
Definiciones previas
www.senati.edu.pe
Sistema de Información:
• Organismo que recolecta, procesa, almacena y distribuye
información (Laudon y Laudon)
www.senati.edu.pe
Elementos: Equipos
Datos Personas
Sistema de
Información
Procedimi
Programas
entos
www.senati.edu.pe
Importancia:
• Son indispensables para ayudar a los gerentes a mantener
ordenada su compañía, a analizar todo lo que por ella pasa y a
crear nuevos productos que coloquen en un buen lugar a la
organización.
www.senati.edu.pe
Ciclo de Vida del Desarrollo de SI
Kendall y Kendall
www.senati.edu.pe
Ciclo de Vida del Software
ISO 12207:
Estándar para los procesos de ciclo de vida de software
www.senati.edu.pe
Ciclo de Vida del Software
• ISO 12207 PROCESOS PRINCIPALES PROCESOS DE APOYO
PROCESOS
ORGANIZATIVOS
• Adquisición • Documentación • Gestión
Especifica las
• Suministro • Gestión de la • Infraestructura
actividades que se • Desarrollo configuración • Mejora
pueden realizar. • Operación • Aseguramiento de • Recursos Humanos
• Mantenimiento calidad
• Destrucción • Verificación
No especifica • Validación
ningún modelo en • Revisión conjunta
concreto. • Auditoría
• Resolución de
problema
www.senati.edu.pe
Modelos: Ciclo de Vida en Cascada
www.senati.edu.pe
¿Porque Ingeniería de Software?
• En los inicios del desarrollo del software (60’), crear un
software era una tarea artesanal.
Exceso de costos Mantenimiento casi imposible
Retrasos de entrega Modificaciones prohibitivas
Prestaciones inadecuadas Falta de fiabilidad
www.senati.edu.pe
¿Porque Ingeniería de Software?
• Frente a la inexistencia de técnicas establecidas para el desarrollo
de software y un rápido crecimiento de la demanda, surge:
www.senati.edu.pe
¿Porque Ingeniería de Software?
Utilizado, pero luego de cambios Utilizado, tal como se entrego
3% 1%
www.senati.edu.pe
¿Porque Ingeniería de Software?
56% 55%
52%
49% 50%
31%
29% 28% 29%
27%
22%
19% 19%
17% 17%
31% 32%
26%
24%
21%
17% 17% 17% 16%
Exitoso
11%
Con Cambios 9%
7% 6%
Fallado 2%
www.senati.edu.pe
Ingeniería de Software
www.senati.edu.pe
Ingeniería de Software
• A raíz de la “crisis del software” surge la necesidad de aplicar
una disciplina ingenieril que ofrezca:
www.senati.edu.pe
Ingeniería de Software
• Aspectos que considera: El proceso
La
El control
administración
Proyecto
La
El seguimiento
planificación
www.senati.edu.pe
Ingeniería de Software
• La alternancia:
Controla
Proceso de Proceso de
Gestión Producción
Retroalimenta
Explota Explota
Tecnología de Tecnología de
Gestión Proporciona Proporciona
Producción
Entorno Justifica
Cumplimiento de estándares
www.senati.edu.pe
Ingeniería de Software
• Semejanzas con otras ingenierías:
www.senati.edu.pe
Ingeniería de Software
• Diferencias con otras ingenierías:
www.senati.edu.pe
Ingeniería de Software
• A. Davis. “Aplicación de principios científicos para: la
transformación ordenada de una problema en una solución
software y el mantenimiento del mismo durante toda su vida útil.”
• R. Pressman. “Disciplina que integra métodos, herramientas y
procedimientos para el desarrollo de software de computador.”
• I. Sommerville. “Disciplina ingenieril que abarca todos los
aspectos de la producción de software.”
www.senati.edu.pe
Ingeniería de Software
• La Ingeniería del Software es aquella que ofrece métodos y
técnicas para desarrollar y mantener software de calidad.
www.senati.edu.pe
Ingeniería de Software
• Participantes en el desarrollo del software.
DIRECTIVOS USUARIOS
(Patrocinan el Proyecto) (Usan el sistema)
Tiene
Proporciona necesidades
financiamiento
Tiene obligaciones
contractuales
Proporciona sistema
de software
DESARROLLADOR
(Construye el Sistema)
www.senati.edu.pe
Requisitos / Requerimientos
www.senati.edu.pe
Requisitos/Requerimientos del Sistema
• Los requisitos expresan lo que el sistema debe hacer
para satisfacer las necesidades de sus clientes o
usuarios.
• Es algo que el sistema debe ser capaz de hacer (o una
restricción que debe cumplir) para que pueda cumplir
su propósito y satisfacer a sus usuarios.
• Los requerimientos se concentran en el cliente y el
problema a resolver.
www.senati.edu.pe
Requisitos/Requerimientos del Sistema
• Se estima que un alto porcentaje de proyectos de
desarrollo de software fallan por:
Requisitos incompletos
Falta de participación del usuario
Expectativas poco realistas
Cambios en los requisitos y las especificaciones
El sistema dejó de ser necesario
www.senati.edu.pe
Requisitos/Requerimientos del Sistema
• El costo por el cambio de requisitos:
www.senati.edu.pe
Requisitos/Requerimientos del Sistema
• Factores de éxito en el desarrollo de un sistema:
Factores
1 Usuarios involucrados con el proyecto 15,90%
Standish Group Report
2 Soporte de los Ejecutivos 13,90%
3 Requerimientos Claros 13,00% Encuesta realizada a
4 Planificación Adecuada 9,60% Gerentes Ejecutivos del área
5 Expectativas Realistas 8,20% de Desarrollo de Software y
TICs
6 Hitos pequeños y poco espaciados en el tiempo 7,70%
7 Personal competente 7,20%
8 Control sobre el proyecto por parte del personal 5,30%
9 Visión clara y objetivos 2,90%
10 Trabajo duro, personal enfocado y comprometido 2,40%
11 Otras 13,90%
www.senati.edu.pe
Requisitos/Requerimientos del Sistema
• Factores que amenazaron el Proyecto:
Factores
1 Falta de información de los usuarios 12,80%
Standish Group Report
2 Especificación de requerimientos incompleta 12,30%
3 Requerimientos y especificación compleja 11,80% Encuesta realizada a
4 Falta de soporte ejecutivo 7,50% Gerentes Ejecutivos del área
5 Mala tecnología, mal uso de la tecnología 7,00% de Desarrollo de Software y
TICs
6 Falta de recursos 6,40%
7 Expectativas poco realistas 5,90%
8 Objetivos poco claros 5,30%
9 Tiempos de desarrollo poco realistas (planificación) 4,30%
10 Tecnología nueva (desconocimiento) 3,70%
11 Otras 23,00%
www.senati.edu.pe
Requisitos/Requerimientos del Sistema
• Factores que acabaron/cancelaron el Proyecto:
Factores
1 Falta de información de los usuarios 13,10%
Standish Group Report
2 Especificación de requerimientos incompleta 12,40%
3 Falta de recursos 10,60% Encuesta realizada a
4 Expectativas poco realistas 9,90% Gerentes Ejecutivos del área
5 Falta de soporte ejecutivo 9,30% de Desarrollo de Software y
TICs
6 Requerimientos cambiantes 8,70%
7 Falta de planificación 8,10%
8 El proyecto no se necesitó más 7,50%
9 Falta de gestión adecuada de IT 6,20%
10 Problemas tecnológicos 4,30%
11 Otras 9,90%
www.senati.edu.pe
Requisitos/Requerimientos del Sistema
• Definen (o deberían definir):
www.senati.edu.pe
Requisitos/Requerimientos del Sistema
• ¡Los requisitos se
concentran en “qué”
debe hacer el sistema,
… y no en “cómo” debe
hacerlo!
www.senati.edu.pe
¿Qué definen los requisitos?
Aplicación Los datos que debe capturar y
almacenar
Las funciones que debe
ejecutar
La información que debe
producir
www.senati.edu.pe
¿Qué definen los requisitos?
Funcionales No Funcionales
De Usuario De Sistema
www.senati.edu.pe
Requisitos Funcionales
• Describe la funcionalidad o los servicios que se espera
que el sistema de software proveerá.
• La interacción entre el sistema de software y su
ambiente o contexto.
• Como el sistema deberá actuar bajo ciertos estímulos o
eventos.
www.senati.edu.pe
Requisitos Funcionales: Ejemplos
R-024:
El sistema debe permitir el registro de nuevos usuarios en el
foro, los nuevos usuarios deben ser aprobados o rechazados
por un moderador antes de poder publicar mensajes
R-101:
Los usuarios deben poder intercambiar mensajes y
comunicarse por medio del foro, toda la comunicación debe
estar moderada para evitar conductas inapropiadas por parte
de los usuarios, mensajes basura y publicidad no deseada
www.senati.edu.pe
Requisitos No Funcionales
• No se refieren directamente a las propiedades
funcionales del sistema, sino a sus propiedades
emergentes o a restricciones adicionales en el sistema o
en el proyecto de desarrollo de software.
www.senati.edu.pe
Requisitos No Funcionales
• Definen restricciones adicionales al sistema, tales como:
o La plataforma de operación del sistema
o La tecnología de información que debe usar
o Las interfaces con otros sistemas
o Interacción Usuario / Sistema
o Atributos de Calidad
www.senati.edu.pe
Requisitos No Funcionales
R-401:
El sistema debe ser utilizable por medio de una interfaz WEB
R-517:
Se debe utilizar RUP como proceso de desarrollo del software
R-581:
El tiempo de respuesta del sistema al solicitar un reporte
nunca debe ser mayor a 10 segundos
www.senati.edu.pe
Requisitos de Usuario
• Son aquellos que están dirigidos a los usuarios y clientes
(interesados en general) del sistema. Se redactan
usando lenguaje natural (generalmente) de forma “no
técnica” con el objetivo de que el personal no técnico
los pueda entender.
www.senati.edu.pe
Requisitos de Sistema
• Son aquellos dirigidos a personal técnico: analistas,
programadores, arquitectos, ingenieros, etcétera.
• Generalmente están escritos en un lenguaje mucho más
técnico pero mucho más preciso que los requerimientos
de usuario.
www.senati.edu.pe
¿ Y cómo se obtienen ?
www.senati.edu.pe
Ingeniería de Requisitos
• Es el proceso de establecer los servicios que debe
proporcionar un sistema, así como de las restricciones
sobre las cuales debe operar.
www.senati.edu.pe
Procesos de la Ingeniería de Requisitos
• Proceso de establecimiento de los servicios que debe
proporcionar un sistema, así como de las restricciones
sobre las cuales debe operar.
www.senati.edu.pe
Procesos de la Ingeniería de Requisitos
Captura Análisis Especificación Validación
¡Si los requerimientos no están por escrito (de alguna manera), entonces NO SIRVEN!
www.senati.edu.pe
Procesos de la Ingeniería de Requisitos
Captura Análisis Especificación Validación
www.senati.edu.pe
Documentando requisitos
• Descripciones en Lenguaje Natural.
Se desea desarrollar un sistema de software para la comisaría de Los Olivos.
Entre los requerimientos, hay un proceso que consiste en la gestión de las armas y municiones de la armería
de la policía. El proceso contempla la entrega de armas a los agentes policiales, la devolución de las armas al
parque, las pruebas y validaciones de ley que se realizan a las armas después de la entrega y finalmente,
cualquier proceso de investigación posterior en caso de que el armamento haya sido disparado.
Después de conversar con el comisario sobre el funcionamiento del proceso en discusión, se puede resumir
la conversación de la siguiente forma: Es necesario un proceso que sirva para gestionar la entrega de
armamento del parque de armas a los “Agentes Policiales”. En general, los Agentes se presentan al
“Encargado del Parque de Armas” y solicitan cierto armamento. El Encargado del Parque busca el
armamento solicitado en el inventario y si éste se encuentra disponible se lo entrega al Agente. Si el
armamento no se encuentra disponible el proceso termina. La entrega ocurre sólo luego de que el Agente
llene y firme una “Planilla de Retiro de Armamento”. La planilla tiene información sobre la fecha en que se
entrega el arma al Agente, el serial del arma y la cantidad y tipo de munición entregada. Luego de llenar la
planilla, el Encargado entrega el arma y las municiones al Agente, quien debe revisarlas y poner en la
planilla cualquier observación o desacuerdo que corresponda al estado de las mismas en caso de ser
necesario.
www.senati.edu.pe
Documentando requisitos
• Plantilla VOLERE.
www.senati.edu.pe
Nº Req: RF-38 Tipo: Funcional Caso de Uso: CU-13
Descripción:
Los usuarios deben poder intercambiar mensajes y comunicarse por medio del foro, toda la comunicación debe estar moderada para
evitar conductas inapropiadas por parte de los usuarios, mensajes basura y publicidad no deseada.
www.senati.edu.pe
Modelos Ágiles: Historias de Usuario
Alta de nuevos usuarios
www.senati.edu.pe
Recuerde siempre:
• Que los requerimientos se pueden “priorizar”, es decir,
algunos requerimientos siempre serán mas importantes
para el cliente o más críticos para el negocio que otros.
• En función de estas prioridades se puede decidir cuales
requerimientos entregar, cuales no y así jugar con los
costos y los tiempos de desarrollo (afectando lo menos
posible la satisfacción del cliente / usuario).
www.senati.edu.pe
Cuadro Resumen de Requerimientos
www.senati.edu.pe
Documento ERS
www.senati.edu.pe
El estándar IEEE 830
• El estándar IEEE 830 define las características de una
buena Especificación de Requisitos de Software (ERS).
www.senati.edu.pe
Utilidad del estándar IEEE 830:
• Un cliente describa claramente lo que quiere.
• Un proveedor entienda claramente lo que el cliente
quiere.
• Se establezcan bases para un contrato de desarrollo.
• Se reduzca el esfuerzo de análisis, diseño, y
programación, evitando re-procesos.
www.senati.edu.pe
El estándar IEEE 830: es útil para
• Se tenga una base o referencia para validar o probar el
software solicitado
• Se facilite el traspaso del software a otros
clientes/usuarios
• Se le puedan hacer mejoras (o innovaciones) a ese
software.
www.senati.edu.pe
Prácticas recomendadas para una
buena ERS
• Completa. Todos los requerimientos deben estar
reflejados en ella y todas las referencias deben
estar definidas.
• Consistente. Debe ser coherente con los propios
requerimientos y también con otros
documentos de especificación.
www.senati.edu.pe
Prácticas recomendadas para una
buena ERS
• Inequívoca. La redacción debe ser clara de modo que no
se pueda mal interpretar.
• Correcta. El software debe cumplir con los requisitos de
la especificación.
www.senati.edu.pe
Prácticas recomendadas para una
buena ERS
• Trazable. Se refiere a la posibilidad de verificar la
historia, ubicación o aplicación de un ítem a través
de su identificación almacenada y documentada.
• Priorizable. Los requisitos deben poder
organizarse jerárquicamente según su relevancia
para el negocio y clasificándolos en esenciales,
condicionales y opcionales.
www.senati.edu.pe
Prácticas recomendadas para una
buena ERS
• Modificable. Aunque todo requerimiento es
modificable, se refiere a que debe ser fácilmente
modificable
• Verificable. Debe existir un método para poder probarlo
www.senati.edu.pe
Estructura Documento ERS (IEEE 830)
Introducción
Descripción General
Requisitos Específicos
Apéndices
www.senati.edu.pe
Introducción
• En esta sección se proporcionará una introducción a todo el
documento de Especificación de Requisitos Software(ERS).
Consta de las siguientes subsecciones:
www.senati.edu.pe
Descripción General
• En esta sección se describen todos aquellos factores que
afectan al producto y a sus requisitos. No se describe todo el
requisitos, sino su contexto.
• Esto permitirá definir con detalle los requisitos en la sección 3,
haciendo que sean más fáciles de entender.
• Esta sección consta de las siguientes subsecciones:
Perspectiva del producto, funciones del producto, características
de los usuarios, restricciones, factores que se asumen y futuros
requisitos.
www.senati.edu.pe
Requisitos Específicos
• Esta sección contiene los requisitos a un nivel de detalle
suficiente como para permitir a los diseñadores diseñar un
sistema que satisfaga estos requisitos, y que permita al equipo
de pruebas planificar y realizar las pruebas que demuestren si
el sistema satisface, o no, los requisitos. Todo requisito aquí
especificado describirá comportamientos externos del sistema,
perceptibles por parte de los usuarios, operadores y otros
sistemas. Esta es la sección más larga e importante de la ERS.
www.senati.edu.pe
Apéndices
• Pueden contener todo tipo de información relevante para la
ERS pero que, propiamente, no forme parte de la ERS.
www.senati.edu.pe
METODOLOGIAS
www.senati.edu.pe
www.senati.edu.pe
Proceso Racional Unificado
• Es un proceso de Ingeniería de Software que proporciona un
enfoque disciplinado para la asignación de tareas y
responsabilidades dentro de una organización de desarrollo.
www.senati.edu.pe
Proceso Racional Unificado
• Se tiene 2 dimensiones:
• Un eje horizontal que representa el tiempo (“n” iteraciones) y
muestra los aspectos del ciclo de vida del proceso (4 fases)
• Un eje vertical que representa las 9 disciplinas (flujos de
trabajo), las cuales agrupan actividades de una manera lógica
de acuerdo a su naturaleza.
www.senati.edu.pe
RUP - FASES
• FASES del desarrollo de un software:
FASE OBJETIVO Punto de Control
www.senati.edu.pe
FASE DE INICIO
• Durante la fase inicial, se establece el modelo de negocio para el sistema y
delimitar el alcance del proyecto.
• Se debe identificar todas las entidades externas con las que el sistema va a
interactuar (actores) y definir la naturaleza de esta interacción a un alto
nivel.
• Esto implica identificar todos los casos de uso y la descripción de unos
pocos significativos.
• El modelo de negocio incluye criterios de éxito, evaluación de riesgos y
estimación de los recursos necesarios, y un plan de fases que muestra las
fechas de los hitos más importantes.
www.senati.edu.pe
Entregables en Fase de Inicio
• Un documento de visión: una visión general de los requisitos del proyecto básico, las
funciones principales y las limitaciones principales.
• Un modelo de casos de uso inicial (10% -20%) completa.
• Un glosario proyecto inicial.
• Un caso de negocio inicial: contexto empresarial, criterios de éxito (proyección de ingresos,
el reconocimiento del mercado, y así sucesivamente), y el pronóstico financiero.
• Una evaluación inicial de riesgos.
• Un plan del proyecto: que muestra fases e iteraciones.
• Un modelo de negocio (si es necesario).
• Uno o varios prototipos.
www.senati.edu.pe
FASE DE ELABORACION
• Analizar el dominio del problema, establecer una base arquitectónica
sólida, desarrollar el plan del proyecto, y eliminar los elementos de más
riesgo del proyecto.
• Las decisiones arquitectónicas deben tomarse teniendo en cuenta todo el
sistema: su alcance, funcionalidad principal y requisitos no funcionales,
como los requisitos de rendimiento.
• Esta es la fase más critica de las 4 fases.
• Se toma la decisión de comprometerse o no con las fases de construcción y
transición
www.senati.edu.pe
Entregables en la Fase de Elaboración
• Un modelado de casos de uso (por lo menos 80% completa): todos los casos de
uso y actores han sido identificados, y las descripciones de casos uso se han desarrollado.
• Captura de requisitos suplementarios, requisitos no funcionales y requisitos
que no están asociados con un caso de uso específico
• Descripción de la Arquitectura de Software.
• Un prototipo arquitectónico ejecutable
• Una lista revisada de riesgos y un modelo de negocio revisado.
• Un plan de desarrollo de todo el proyecto, mostrando iteraciones y criterios
de evaluación para cada iteración.
• Un caso de desarrollo actualizado especificando el proceso que se utilizará.
• Un manual de usuario preliminar (opcional).
www.senati.edu.pe
FASE DE CONSTRUCCION
• Se desarrollan todos los componentes y características restantes de la
aplicación y se integran en el producto.
• Todas las características se prueban exhaustivamente.
• Esta fase, en cierto sentido, es un proceso de fabricación
• Aquí se hace gestión de los recursos y el control de las operaciones para
optimizar los costes, los horarios y la calidad.
• En muchos casos se puedan generar actividades paralelas. Estas pueden
acelerar significativamente la disponibilidad de lanzamientos desplegables.
(A costa de la complejidad de la gestión de recursos y la sincronización del flujo de trabajo)
www.senati.edu.pe
Entregables en la Fase de Construcción
• El producto de software integrado en las plataformas adecuadas listo para ser
utilizado por los usuarios finales.
• Los manuales de usuario.
• Una descripción de la versión actual
www.senati.edu.pe
FASE DE TRANSISION
• El propósito de esta fase es hacer la transición del producto de software a
la comunidad de usuarios.
• Una vez que el producto ha sido entregado al usuario final, generalmente
surgen problemas por lo que se requiere el desarrollo de nuevas versiones,
corregir algunos problemas o finalizar las funciones que se pospusieron.
• Se ingresa a la fase de transición cuando una línea de base es lo
suficientemente madura como para desplegarse.
• Esto requiere que alguna parte del sistema, se haya completado a un nivel
aceptable de calidad y que la documentación del usuario esté disponible.
• Incluye varias iteraciones que incluyen versiones beta, así como versiones
de reparación de errores y mejoras.
www.senati.edu.pe
Entregables en la Fase de Transición
• “Versión beta" para ser validado por el usuario
• Operación en paralelo con el sistema heredado, que se está reemplazando.
• Conversión de las bases de datos en operación.
• Entrenamiento de usuarios finales y usuarios de mantenimiento.
• Lanzar el producto a los equipos de marketing, distribución y ventas de ser el
caso.
www.senati.edu.pe
ITERACIONES DE UNA FASE
• Cada fase en RUP se puede dividir en iteraciones.
• Una iteración es un ciclo de desarrollo completo que da algún resultado, y que
crece de manera gradual de iteración a iteración, hasta convertirse en el
sistema final.
• Beneficios de un enfoque iterativo
• Los riesgos se mitigan antes
• El cambio es más manejable
• Mayor nivel de reutilización
• El equipo del proyecto puede aprender a lo largo del camino
• Mejora de la calidad en general
www.senati.edu.pe
ESTRUCTURA ESTATICA DEL
PROCESO
• El RUP se representa utilizando cuatro elementos de
modelado:
• Trabajadores, el 'quién'
• Actividades, el 'cómo'
• Artefactos, el 'qué'
• Flujos de trabajo, el 'cuándo'
www.senati.edu.pe
Trabajadores, Actividades y Artefactos
Actividades
Trabajador
Responsable de
Artefacto
www.senati.edu.pe
Personas y Trabajadores
www.senati.edu.pe
Flujo de Trabajo
www.senati.edu.pe
Flujo de Trabajo (Disciplinas)
• En RUP hay 09 flujos de trabajo de procesos centrales:
DISCIPLINAS
• Representan una particionamiento de todos los
trabajadores y actividades en agrupaciones lógicas.
www.senati.edu.pe
Flujo de Trabajo (Disciplinas)
• Principales: • De apoyo:
• Modelado de • Gestión de proyectos
negocio • Configuración y gestión de
• Requisitos cambios
• Análisis y diseño • Entorno.
• Implementación
• Prueba
• Despliegue
www.senati.edu.pe
RUP
• El esfuerzo varía
en cada
disciplina y
según la fase.
www.senati.edu.pe
SCRUM
www.senati.edu.pe
Agilidad
En marzo de 2001, 17 profesionales del software, críticos de los modelos de producción
basados en procesos, se reunieron y postularon el:
www.senati.edu.pe
Métodos Ágiles
• Se denominan así a aquellos métodos que surgen como
alternativa a las metodologías formales, considerados
excesivamente “pesados” y rígidos por su carácter normativo y
fuerte dependencia de planificaciones detalladas, previas al
desarrollo.
www.senati.edu.pe
Scrum
• Es un modelo de desarrollo ágil caracterizado por:
• Adoptar una estrategia de desarrollo incremental, en lugar de
la planificación y ejecución completa del producto.
• Basar la calidad del resultado más en el conocimiento tácito de
las personas en equipos autoorganizados, que en la calidad de
los procesos empleados.
• Solapamiento de las diferentes fases del desarrollo, en lugar de
realizarlas una tras otra en un ciclo secuencial o de cascada.
www.senati.edu.pe
El Sprint
• Se denomina sprint a cada ciclo o iteración de trabajo que
produce una parte del producto terminado y funcionalmente
operativo.
www.senati.edu.pe
Iteraciones
1
Product Iteración 1
Backlog Sprint Entregable
Backlog (v1)
2
Iteración 2
Sprint Entregable
Backlog (v2)
3
Iteración 3
Sprint Entregable
... Backlog (v3)
www.senati.edu.pe
Roles de Scrum
www.senati.edu.pe
Product Owner
• Representa la voz del cliente y aporta la visión de negocio. Se
encarga de escribir las historias de usuario, les da prioridad y las
ubica en la lista de requisitos del producto (product backlog).
• Se encarga de decidir que va y que no va en el product backlog,
así como definir las prioridades de las distintas historias de
usuario
www.senati.edu.pe
Historias de Usuario
Alta de nuevos usuarios
www.senati.edu.pe
Nº Req: RF-38 Tipo: Funcional Caso de Uso: CU-13
Descripción:
Los usuarios deben poder intercambiar mensajes y comunicarse por medio del foro, toda la comunicación debe estar moderada para
evitar conductas inapropiadas por parte de los usuarios, mensajes basura y publicidad no deseada.
www.senati.edu.pe
Development Team
• Está compuesto por los roles tradicionales:
• Desarrolladores
• Funcionales
• ….
www.senati.edu.pe
Evento: Sprint Planning
• Es la planificación del Sprint. Este plan se crea mediante el
trabajo colaborativo del Equipo Scrum completo.
• La Planificación de Sprint tiene un máximo de duración de ocho
horas para un Sprint de un mes.
• Responde a:
• ¿Qué puede entregarse en el siguiente Sprint?
• ¿Cómo se conseguirá hacer el trabajo necesario para
entregar el incremento?
www.senati.edu.pe
Evento: Sprint Planning
Los requisitos del product backlog se
priorizan y se asignan al sprint backlog.
Product
Backlog
Sprint
Backlog
www.senati.edu.pe
Evento: Sprint Review
• Es la reunión que se realiza al finalizar el sprint y tiene una
duración máxima de 4 horas.
• Asiste todo el Equipo Scrum y los interesados clave, invitados por
el Product Owner.
• Si es necesario se agregan nuevos requerimientos al Product
Backlog y/o cambiar las prioridades y/o refinar los
requerimientos existentes.
www.senati.edu.pe
Evento: Sprint Review
• El Product Owner explica qué elementos del Product Backlog se
han “Terminado” y cuales no. Proyecta objetivos probables y
fechas de entrega en el tiempo.
• El Equipo de Desarrollo habla acerca de qué estuvo bien durante
el Sprint, qué problemas aparecieron y cómo fueron resueltos
esos problemas.
• El Equipo de Desarrollo hace una demostración del trabajo que
ha “Terminado” y responde preguntas.
www.senati.edu.pe
Evento: Sprint Retrospective
• Es una reunión posterior al Sprint Review de 3 horas como
máximo.
• Inspeccionar cómo fue el último Sprint en cuanto a personas,
relaciones, procesos y herramientas
• Identificar y ordenar los elementos más importantes que salieron
bien y las posibles mejoras
• Crear un plan para implementar las mejoras a la forma en la que
el Equipo Scrum desempeña su trabajo.
www.senati.edu.pe
Artefacto: Product Backlog
• El Product Backlog es una lista ordenada de todos los
requerimientos.
• El Product Owner es el responsable del Product Backlog,
incluyendo su contenido, disponibilidad y orden.
• El Product Backlog nunca está completo. La versión inicial solo
refleja los requisitos conocidos y mejor entendidos al principio.
• Ésta evoluciona a medida de que el producto y el entorno en el
que se usará, también lo hacen.
www.senati.edu.pe
Artefacto: Sprint Backlog
• Es el conjunto de elementos del Product Backlog, que se han
seleccionado para el Sprint.
• Es una predicción hecha por el Equipo de Desarrollo acerca de
qué funcionalidad formará parte del próximo Incremento
www.senati.edu.pe
Scrum
Scrum
www.senati.edu.pe
Herramienta CASE
(Computer Aided Software Engineering)
Ingeniería de Software Asistida por Computadora
www.senati.edu.pe
Herramienta CASE
• Son diversas aplicaciones informáticas o programas informáticos
destinadas a aumentar la productividad en el desarrollo de
software reduciendo el costo de las mismas en términos de
tiempo y de dinero.
• Upper CASE (U-CASE), herramientas que ayudan en las fases de
planificación, análisis de requisitos y estrategia del desarrollo,
usando, entre otros diagramas UML.
• Middle CASE (M-CASE), herramientas para automatizar tareas en
el análisis y diseño de la aplicación.
www.senati.edu.pe
Herramienta CASE
• Lower CASE (L-CASE), herramientas que semi-automatizan la
generación de código, crean programas de detección de errores,
soportan la depuración de programas y pruebas. Además
automatizan la documentación completa de la aplicación. Aquí
pueden incluirse las herramientas de desarrollo rápido de
aplicaciones.
• Algunos ejemplos: Erwin, Easy Case, Oracle Designer, Power
Designer
www.senati.edu.pe
www.senati.edu.pe