¿Funciona? Más ejemplos: Facebook, Amazon, Netflix, Etsy…

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

Ingeniería de Software II
Caso de Éxito: Team System, CMMI, Metodologías Ágiles
Control Interno Informático. Concepto
Lecciones sobre ingeniería de software desde el Software Libre
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
DIAGNÓSTICO DE CALIDAD AMS
2010 Enterprise Unified Process (EUP)
Soporte GO-LIVE Crear y seguir tareas, escenarios, requerimientos Asignar trabajo al equipo Uso de workflow para hacer cumplir el proceso.
Sistema de Gestión de la Calidad
12.4 Seguridad de los archivos del sistema
TENDENCIAS Y ESCENARIOS DE LAS TIC
Pierre Sergei Zuppa Azúa Administración de sistemas versus administración de servicios.
TRADUCTOR DE UN PROGRAMA
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
Gestión de la Configuración (SCM)
 Tema del proyecto  Integrantes y roles del equipo  Objetivos del proyecto  Alcance.
Prueba de concepto Entrega de respuestas a sus preguntas de implementación de Windows® 7 y Microsoft® Office 2010 Prueba de concepto Entrega de respuestas.
El Ciclo de Vida del Proyecto
DISEÑO DE SOFTWARE 1ª. Parte
Ciclo de Vida del Software Paradigmas de Desarrollo
Mantenimiento del Software
Ciclo de vida de la administración de servicios de TI
SISTEMAS OPERATIVOS.
Administración Proyectos Jorge Baracaldo Robin Ochoa.
PREPARACIÓN DE PRUEBAS EQUIPO DE TRABAJO: ISABEL MARTÍNEZ MARTÍNEZ Y ERIKA HERRERA HERRERA.
agile-tester-foundation- chapter-2-fundamental-agile-testing- principles-practices-and-processes-1-of-3-
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería de Software
Gestión de la Configuración
INGENIERÍA DE SOFTWARE
Retroalimentación de los Estudiantes Gerencia de Elaboradoras de Alimentos Mayo 2012.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Especialización en Desarrollo de Software
El rol de SQA en PIS.
Alexander Aristizabal Ángelo flores herrera
Verificación y Validación del Software
Grupo 10 – 2008 Proyecto de Ingeniería de Software
Roles de Open UP.
CICLO DE VIDA DEL DESARROLLO DE SISTEMAS.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Elaborado por: Mayoral Cruz Matilde Morales Espinoza Anllhins
Introducción al proceso de verificación y validación.
PROCESOS DE DESARROLLO DE SOFTWARE
Actividades en el Proceso de desarrollo de Software
Alumno: Israel Espinosa Jiménez Matricula: Licenciatura: TIC Asignatura: Análisis y Diseño de Sistemas Cuatrimestre: 3 Página 1 de 6.
Edwin Oliveros.  El diseño de sistemas consiste en la transformación del modelo de diseño, que toma en cuenta los requerimientos no funcionales y las.
problemas de la calidad del software
Estructurar tus ideas para hacerlas realidad
REVISION Y AUDITORIA.
Ciclo de Vida del Software
Notificándote ¿Qué hicimos? -Mayor descripción de las pruebas de aceptación -Restricciones -Profundizar posibles soluciones -grafico de riesgos ¿Qué estamos.
Notificándote ¿Qué hicimos?
De Informaciòn Gerencial Lcda. Oly Mata.
DESARROLLO DE SOFTWARE Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su.
ADMINISTRACIÓN DE REDES Planes de Migración. Migración En tecnología de información y comunicación, la migración es el proceso de la transferencia desde.
Proceso de desarrollo de Software
INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE ALUMNO MILLER ANDRES GALINDO DUCUARA (412088)
Elementos de un documento de plan informático Hasta el momento no existe un modelo único como para representar un plan informático; no obstante presentamos.
Evaluación de la Fase de Construcción Grupo 4. Riesgos ocurridos Atrasos en la planificación Priorización de tareas Problemas de funcionamiento de la.
EI, Profesor Ramón Castro Liceaga IV. AREAS DE EVALUACIÓN DE LA AUDITORIA EN INFORMÁTICA. UNIVERSIDAD LATINA (UNILA)
UNIVERSIDAD LATINA (UNILA) III.- PLAN DE IMPLEMENTACIÓN
Taller de investigación 1
Autor: Reinozo Cuesta Christian Marcelo
Aseguramiento de la Calidad. (Software Quality Assurance, SQA) Por. Ing. Ernesto Soto Roca.
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
Entregables del Proyecto
Poka Yoke UNIVERSIDAD POLITÉCNICA DE EL SALVADOR
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Transcripción de la presentación:

¿Funciona? Más ejemplos: Facebook, Amazon, Netflix, Etsy…

¡Liberar frecuentemente, puede incrementar la estabilidad!

¿Te sientes identificado? Tengo cambios que funcionan perfectamente en un sistema pero fallan en otro. Una vez que se termina de desarrollar una funcionalidad, se tardan dos semanas en poder tenerla lista en un entorno de producción o similar. Los programadores y los testers juegan al ping-pong. Aunque tengo las herramientas adecuadas, sigue siendo difícil obtener feedback. El proceso de desplegar en producción es muy complejo y nunca se hace de la misma forma.

¿Te suena? Aunque automatice parte del despliegue, la gente de operaciones se niega a usar las automatizaciones. No está claro cómo volver a una versión estable si un despliegue va mal. Cuando hay que liberar una versión, me puedo despedir del fin de semana. No es posible preparar una demo rápida para un cliente de algo que tengo en desarrollo.

¿Te ha pasado alguna vez? Me es imposible entregar un pequeño cambio o una corrección de un pequeño error, en un corto espacio de tiempo. Se ha caído todo el sistema y sólo había tocado una tontería. Se ha caído todo el sistema y no tengo ni idea de qué se había tocado. Se ha caído todo el sistema, ¡y no habíamos tocado nada!

tiempo. (Del lat. tempus). 1. m. Duración de las cosas sujetas a mudanza. 2. m. Magnitud física que permite ordenar la secuencia de los sucesos, estableciendo un pasado, un presente y un futuro. Su unidad en el Sistema Internacional es el segundo PO_BUS=3&LEMA=tiempo

tiempo. (Del lat. tempus). 1. m. Magnitud imposible de predecir, que transcurre entre que termino de desarrollar una funcionalidad y ésta es liberada en producción.

Las entregas van a ir guiadas por las necesidades de negocio, no por las restricciones operacionales.

Deployment Pipeline Cualquier build es release candidate

Crea un proceso repetible y confiable para liberar software Liberar software debería ser fácil, porque todo el proceso habrá sido verificado cientos de veces. Pasos de un despliegue: Preparar entornos Instalar la versión correspondiente de la aplicación Configurar el despliegue ¡Todo esto (excepto quizá el hardware) es automatizable!

Automatiza prácticamente todo Construcción, despliegue, pruebas de aceptación, actualizaciones de la base de datos, configuraciones de entornos… Hay cosas que no se pueden automatizar: testeo exploratorio, demos al cliente, auditorías…

Trabajando para la automatización

Testing

Mantén todo bajo control de versiones Documentación de requisitos, scripts de pruebas, casos de prueba automatizados, scripts de configuración de red, scripts de despliegue, creación y mantenimiento de bases de datos, ficheros de configuración de la aplicación, configuraciones de herramientas, documentación técnica… Se debería poder reproducir el entorno de ejecución en una máquina limpia, pulsando un botón. Lo mismo para el entorno de desarrollo.

Si duele, hazlo más frecuentemente, y anticípate al dolor Encuentra lo que más te cuesta hacer, y hazlo más frecuentemente: testing, despliegue, documentación… lo que sea.

Construye con calidad Lean: build quality in Los defectos son más baratos de corregir cuanto antes se encuentren. Las pruebas no son una fase, ni van después del desarrollo. Todo el equipo es responsable de la calidad.

Hecho significa entregado Done vs. Done Done. ¿Qué significa hecho para ti? No existe 80% hecho. La condición de hecho es binaria. Es un esfuerzo del equipo al completo.

Todo el mundo es responsable del proceso de entrega No nos pasamos la pelota de unos a otros. Puede haber barreras organizacionales. Movimiento DevOps.

Mejora continua La entrega continua no es algo que se implemente y se deje funcionando. Requiere atención continuada del equipo completo. Las retrospectivas ayudan.

Gestión de la configuración ¿Qué versión particular del software estoy usando? Etiquetas, Ramas ¿Quién hizo un determinado cambio? Histórico ¿Por qué se hizo un cambio? Comentarios del checkin, asociar a WI ¿Cómo gestiono las dependencias? Mapeo de workspaces, ramas, servidor de NuGet ¿Cómo gestiono las distintas configuraciones entre entornos? Transformaciones de ficheros de configuración, gestión de cambios desde las construcciones automatizadas ¿Cómo gestiono los entornos? Virtualización, Lab Management

Integración continua ¿Cómo fomentar que se haga checkin frecuente? ¿Cómo puedo tener una batería de pruebas que se ejecute rápido? Pruebas sencillas, que se hagan en un servidor, entorno dedicado, tareas atómicas, análisis de impacto ¿Cómo escalar mi servidor de integración continua? Máquinas de build, TFS Service, ¿Cómo puedo asegurarme de que no se pasen por alto construcciones automatizadas rotas, o que no pasen todas las pruebas? Políticas de checkin ¿Cómo puedo asegurarme un mecanismo de vuelta atrás? Lab

Testing

¿Cómo hago pruebas del cuadrante 1? ¿Cómo hago pruebas del cuadrante 2? ¿Cómo hago pruebas del cuadrante 3? ¿Cómo hago pruebas del cuadrante 4?

Deployment Pipeline ¿Qué herramientas tengo para soportar el Commit Stage? ¿Qué herramientas tengo para soportar el Acceptance Testing Stage? ¿Qué herramientas tengo para soportar el Manual Testing Stage? ¿Qué herramientas tengo para soportar el Performance Testing Stage? ¿Qué herramientas tengo para soportar el Release Stage?