Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Implantación de una metodología de desarrollo en una fábrica de software

Este trabajo describe la metodología de desarrollo de software que se ha estado implantado al interior de una empresa.
by

Abel Carvajal

on 30 November 2010

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Implantación de una metodología de desarrollo en una fábrica de software

Pilares de la
metodología Equipo Cliente Proceso Aprendizaje Principios Manifiesto
ágil Producto
Exitoso Proyectos
Similares Equipo de
Excelencia Comunicación
Cara a Cara Proceso
Equilibrado Feedback
Cliente Reutilizar en
el dominio Técnico Organización Personal Valor Dominio Manifiesto por el Desarrollo Ágil de Software

Individuos e interacciones sobre procesos y herramientas
Software funcionando sobre documentación extensiva
Colaboración con el cliente sobre negociación contractual
Respuesta ante el cambio sobre seguir un plan

12 Principios Equipo Auto
Organizado Roles Capas Redundancia Product
Manager Consultor Manager Quality
Manager Desarrollador Implantación de una metodología de desarrollo en una fábrica de Software Abel H. Carvajal Tapia Navix S.A. Problemas Memoria para optar al título de:
Ingeniero Civil Informático

Departamento de Informática
Universidad Técnica Federico Santa María

Valparaíso, 30 de Noviembre de 2010 Ventajas
Competitivas Mercado Metodología Área de
Desarrollo
de Software Metodología Contexto y
conceptos Condiciones
Iniciales Herramientas y Procesos Conceptos
Claves Valores
Organizacionales Objetivo Equipo Tipo de
productos Arquitectura Necesidad
de Cambio Aportar Valor
Innovar
Ser excelentes
Bienestar Común Consultoría Propios Capas Tecnologías Gestión de la
Configuración Repositorio
deLibrerías Project
Management Estandarización Proceso de
Desarrollo Fábrica de
Software Metodología
ágil: Scrum Ventajas Línea de
Productos Desventajas Esquema y Plantilla Reducción de Costos
Aumento en calidad del producto
Aumento en la productividad
Mejor control de desviaciones Alta inversión inicial
Lento retorno de la inversión (ROI)
Adaptación al cambio
Introducción
Contexto
Conceptos
Metodología
Validación
Conclusiones Area de Servicios
Inversión 8-9% Consultoría en área minera
Know How
Temario Plazos incumplidos
Costos elevados
Baja calidad
Relaciones
Perfeccionamiento
Repetible
Ventaja competitiva Introducción "Liberar software de calidad
en el menor tiempo y
costo posible" Pequeño (7)
Especialistas servicios a medida
herramientas
específicos
producto es parte
de un proyecto soluciones
herramientas
genéricos
producto
masivo (*) Cuando esta necesidad de cambio se reconoce (37signals, 2006), surgen las oportunidades de mejora necesarias que permiten aprovecharlas y desarrollar una manera de hacer el trabajo mejor que antes y mejor que la competencia Trabajo en equipo
Reducir las confusiones causadas por la interacción
Itemes a controlar
SVN, proceso actual Build basado en ant, pero librerías comunes en versiones diferentes
MAVEN dependencias
Archiva repositorio
Facilita el deployment Planificación Control
de avance Control
de Cambios atTask cronograma Gantt
gestión de equipo
asignación de tareas Registro de horas
Cambio de estado
Resumen avance Gestión de Issues
Clasificación
Asignación
re-trabajo Proceso
Documentación
Codificación
Existe un vínculo estrecho entre la calidad del proceso de desarrollo de software y la calidad final del producto desarrollado con dicho proceso (Somerville 2005) Ciclo de vida Levantamiento de requerimientos
Análisis y diseño
Planificación y control
Desarrollo
Pruebas (validación, aseguramiento de calidad)
Instalación (implantación)
Mantenimiento y soporte Clases de Proceso Procesos informales
Procesos gestionados
Proceso metodológicos
Proceso de mejora CMM “una línea de productos de software que configura herramientas, procesos y contenidos usando una plantilla de fábrica basada en un esquema para automatizar el desarrollo y mantención de las variantes de un producto mediante la adaptación, ensamblado y configuración de componentes basados en un framework” (GreenFiled, 2003) Comparten funcionalides
Pertenecen a un Dominio Definición de lo que la fábrica construye y cómo, las piezas bases y herramientas a utilizar Paquete de herramientas, framework y documentos que implementan el esquema Reutilización Jeff Sutherland, Ken Schwaber y Mike Beedle a finales de los 90s. Es más que un método de desarrollo, es un conjunto de buenas prácticas y patrones que al seguirlas permite hacer las cosas rápido, con alta calidad y retribuyendo una buena experiencia para los participantes. (Sutherland, 2010) Equipo auto-organizado
Requerimientos flexibles
Objetivos claros y alineados con el cliente
Entregables funcionando en corto plazo Características Adopción Componentes Backlog
Cliente
Product Owner
Scrum Master
Sprint
Daily meeting
Burn-down chart
Retrospectivas Proceso interacciones, feedback reutilización producto aprende Proceso Requerimientos Product Statement (Consultor,Product Manager)
problema
alcances del producto
funcionalidades esperadas
requerimientos no funcionales Modelado Product Specification (Manager)
detalla las funcionalidades
define módulos
define componentes
identifica componentes desde librerías
identifica reutilización
Revisado y aceptado Arquitectura Product Architecture (Manager)
lenguajes
herramientas
tecnología
Se selecciona el esquema de la fábrica Plan Inicial (Manager con apoyo)
cronograma en atTask
módulos y funcionalidades
tareas de management
fechas estimadas
línea base
project charter Consultoría No seguir Cliente Plan de Q&A (Quality Manager)
recursos y actividades
tipos de pruebas
cobertura
criterios de aceptación
flujo de resolución de issues encontrados
aprendizaje Plan detallado (Manager)
adaptativa, predictibilidad
versionOne
backlog del producto
stories
releases
sprints


Configuración Repositorio del producto
Ambiente de desarrollo (plantilla de la fábrica)
Deployments (dev, qa, prod)
Kick-off Desarrollo
Iterativo Planificación Stories
Tareas (estimar )
Casos de prueba (Xqa<->atTask) Diseño Feature Specification (Gdocs)
Mockups


Diagrama de proceso (BPMN)
Flujo de datos
Modelo de datos
Modelo de clases
Contratos de servicios (XML) Codificación Weekly & Daily Meeting
Seguimiento


Control de versiones Pruebas Manejo de Issues
Deploy Features disponibles
Etiquetado de versión,release, cadidate Sprint Review
Sprint Retrospective Final Documentos
guía de usuario
guía de instalación
notas del producto Finales
Aceptación
Etiquetado final Soporte Mantención Issues de cambios, mejora, nuevos
Parches Aprendizaje y Mejora Validación Criterios Comparación de dos proyectos Usa la metodología
Tipo Consultoría
Extensión de Sistema
Modulo Benchmark


Proyecto A Proyecto B No usa la metodología
Tipo Consultoría
Extensión de Sistema
Modulo Export
Arquitectura
Tecnologías
Tamaño del equipo
Funcionalidades a implementar
Duración del proyecto estimada y real
Esfuerzo total estimado y real
Esfuerzo en Project Management
Esfuerzo en desarrollo
Esfuerzo en resolución de issues
Porcentaje de re-trabajo
Satisfacción del cliente Resultados Conclusiones Grandes avances hacia objetivos propuestos
Metodología aún inmadura
Incorporar herramientas
Mejora continua Preguntas ? Gracias ... [CUTOMER_CODE]_[PRODUCT_CODE]_R[RELEASE]_S[SPRINT]_C[CANDIDATE]
Full transcript