Sei sulla pagina 1di 50

EXTREME PROGRAMMING APLICADA AL

DESARROLLO DE UN PROTOTIPO DE SISTEMA


PARA LA GESTIÓN DE TRABAJOS DE CONTRATISTAS
Patrocinante: Ing. Renato Arturo Boegeholz Castillo
Co-patrocinante: Prof. Jorge Mauricio Ruiz-Tagle Molina
Informante: Prof. Tania Denisse Letelier Santibáñez
C o n te n id o s
1.Introducción
2.Objetivos
3.Revisión de sistemas existentes
4.Marco teórico
5.Diseño y planificación iniciales
6.Prácticas y métricas
7.Resultado
8.Evaluación y conclusiones
C o n te n id o s
1 . Introducción
2.Objetivos
3.Revisión de sistemas existentes
4.Marco teórico
5.Diseño y planificación iniciales
6.Prácticas y métricas
7.Resultado
8.Evaluación y conclusiones
Introducción

Metodología

TIE PHOTO

In tro d u cció n
Metodologías ágiles
In tro d u cció n
P Y M E co n tra tista s e n
C h ile
• Tiempo transcurrido entre el
término y la facturación.
• Software para la gestión de
proyectos.
C o n te n id o s
1. In tro d u cció n
2 . Objetivos
3.Revisión de sistemas existentes
4.Marco teórico
5.Diseño y planificación iniciales
6.Prácticas y métricas
7.Resultado
8.Evaluación y conclusiones
O b je tiv o s

Objetivo General

 Aplicar eXtreme Programming al


desarrollo de un sistema prototipo
para la gestión de trabajos de PYME
contratistas.
O b je tiv o s

Objetivos específicos

• Describir y explicar la problemática de la gestión de


proyectos en PYME, en particular, la de trabajos
de empresas contratistas.
• Identificar y comparar software existente
relacionado con la problemática.
• Describir los valores, principios y prácticas de
eXtreme Programming.
• Desarrollar un prototipo de gestor de trabajos para
contratistas adaptando prácticas de eXtreme
Programming.
• Evaluar la adopción de la metodología y su impacto
en el producto obtenido.
C o n te n id o s
1. In tro d u cció n
2. O b je tivo s
3. R e visió n d e siste m a s
e xiste n te s
4. M a rco te ó rico
5. D ise ñ o y p la n ifica ció n in icia le s
6. P rá ctica s y m é trica s
7. R e su lta d o
8. E va lu a ció n y co n clu sio n e s
Revisión de sistemas
existentes
Software de apoyo a la
gestión de proyecto
existentes
Revisión de

Propuesta
sistemas
existentes

• Gestión documental
• Colaborativo
• Manejo de inventarios
• Personalización
• Notificaciones vía e-mail
• Interfaz en español
Contenidos
1.Introducción
2.Objetivos
3.Revisión de sistemas existentes
4.Marco teórico
5.Diseño y planificación iniciales
6.Prácticas y métricas
7.Resultado
8.Evaluación y
Marco teórico

eXtreme Programming
M a rco
te ó rico

XP incluye
M a rco
te ó rico
Prin cip io s S O LID

• Single responsability principle


• Open/closed principle
• Liskov substitution principle
• Interface segregation principle
• Dependency inversion principle
C o n te n id o s
1. In tro d u cció n
2. O b je tivo s
3. R e visió n d e siste m a s
e xiste n te s
4. M a rco te ó rico
5. D ise ñ o y p la n ifica ció n in icia le s
6. P rá ctica s y m é trica s
7. R e su lta d o
8. E va lu a ció n y co n clu sio n e s
Diseño y planificación
iniciales

• Restricciones
• Historias iniciales de usuario
• Arquitectura iniciales
D ise ñ o y p la n ifica ció n
in icia le s

Restricciones

•T ie m p o d e d e sa rro llo
•P e rso n a s in vo lu cra d a s
•T e cn o lo g ía s a se r u tiliza d a s
D ise ñ o y
p la n ifica ció n
H isto ria s d e u su a rio
in icia le s in icia le s
Un usuario puede:

• Crear una orden de trabajo.


• Valorizar órdenes de trabajo.
• Planificar órdenes de trabajo.
• Ingresar el estado de una orden
de trabajo en ejecución.
• Cerrar una orden de trabajo.
• Mantener un inventario de
existencias.
D ise ñ o y
p la n ifica ció n
Entendiendo las historias
in icia le s de usuario iniciales
• Wireframes



Diseño y
planificació
Entendiendo las historias
n iniciales de usuario iniciales
Modelo de dominio


Contrato Valorización
PuntoDeControl
*
1 Actividad
1

 1 1
1 1
Trabajo
*

Mandante Ot * 1
1
1 * 1
EspecificacionTecnica
Planificación
1 *

Bodega Recurso Herramienta


* *

Material
Diseño y planificación
iniciales
Historias de usuario
iniciales

Índice Historia Tiempo estimado


A Un usuario puede crear una orden de trabajo 4 semanas
B Un usuario puede valorizar órdenes de trabajo 4 semanas
C Un usuario puede planificar órdenes de trabajo 7 semanas

Un usuario
D puede ingresar el estado de una orden de trabajo en ejecución
3 semanas

E Un usuario puede cerrar una orden de trabajo 2 semanas


F Un usuario puede mantener un inventario de existencias 6 semanas
Diseño y planificación
iniciales
Historias de usuario
iniciales

Índice Historia Tiempo estimado


A Un usuario puede crear una orden de trabajo 4 semanas
B Un usuario puede valorizar órdenes de trabajo 4 semanas
C Un usuario puede planificar órdenes de trabajo 7 semanas

ario Dpuede ingresar el estado de una orden de trabajo en


3 semanas
ejecución

E Un usuario puede cerrar una orden de trabajo 2 semanas


F Un usuario puede mantener un inventario de existencias 6 semanas
Diseño y
planificació
n iniciales
Arquitectura inicial
MVC


CakePHP



Contenidos
1.Introducción
2.Objetivos
3.Revisión de sistemas existentes
4.Marco teórico
5.Diseño y planificación iniciales
6.Prácticas y métricas
7.Resultado
8.Evaluación y conclusiones
P rá ctica s y
m é trica s

Trabajo energético

•E m p la za m ie n to

•H o ra rio

•S in h o ra s e xtra s
P rá ctica s y
m é trica s
H isto ria s d e
u su a rio
Planificar un punto de Crear modelo
control:
Crear controlador
Es posible crear un nuevo
Crear formularios para crear
punto de control
asignando una fecha tope, uno nuevo y modificar
objetivo, responsable y Dividir en Listar puntos de control
tipo de supervisión tareas
Guardar/modificar
Validar
Estimado: 11 horas
Validar que la fecha del punto de
control no exceda por más de1 día
la finalización de la actividad a la
Al reverso
que pertenece.

Estimado: 3 horas

Tiempo real: Al reverso


15 horas

-Es válido si su fecha esta entre el


inicio y termino de la actividad.
-Es válido si su fecha esta entre el
termino de la actividad +1 día.
-Es inválido si su fecha es anterior
al inicio de la actividad.
-Es inválido si su fecha es
posterior al termino de la actividad
+ 1 día.
Tiempo real: 4 horas
P rá ctica s y
m é trica s
Espacio
informativo
Por empezar Terminadas
Prácticas y
métricas

Ciclo semanal
Iteration
planning
meeting

Elegir una
historia de
usuario

Elegir una
tarea
específica

Desarrollo
guiado por
pruebas

Entrega
(Deployment)
Prácticas y
métricas
Integración continua
Prácticas y
métricas Desarrollo guiado por
pruebas
Prácticas y
métricas
Refactorización
El IDE netbeans con la extensión PHP
Prácticas y
métricas
Reuniones stand-up
Prácticas y
métricas
Métricas
Contenidos
1.Introducción
2.Objetivos
3.Revisión de sistemas existentes
4.Marco teórico
5.Diseño y planificación iniciales
6.Prácticas y métricas
7.Resultado
8.Evaluación y conclusiones
R e su lta d o

Iteraciones
R e su lta d o

Prototipo
R e su lta d o

Velocidad
R e su lta d o

Precisión en la estimación
R e su lta d o
Cobertura de
código
Componente Cobertura de código
Modelo Actividad 100,00%
Modelo Ot 100,00%
Modelo OtAceptada 100,00%
Modelo Permiso 100,00%
Modelo PuntoDeControl 100,00%
Controlador Actividades 100,00%
Controlador Main 100,00%
Controlador OtsAceptadas 94,39%
Controlador Permisos 100,00%
Controlador PlanificacionHerramientas 100,00%
Controlador PlanificacionMateriales 100,00%
Controlador PuntosDeControl 100,00%
C o n te n id o s
1. In tro d u cció n
2. O b je tivo s
3. R e visió n d e siste m a s
e xiste n te s
4. M a rco te ó rico
5. D ise ñ o y p la n ifica ció n in icia le s
6. P rá ctica s y m é trica s
7. R e su lta d o
8. E va lu a ció n y co n clu sio n e s
Evaluación y
conclusiones

Alcance

Índice Historia Tiempo estimado Terminado


A Un usuario puede crear una orden de trabajo 4 semanas No
B Un usuario puede valorizar órdenes de trabajo 4 semanas No

Un Cusuario puede planificar órdenes de trabajo


7 semanas Sí

puedeD ingresar el estado de una orden de trabajo


3 semanas
en ejecuciónNo

E Un usuario puede cerrar una orden de trabajo 2 semanas No

Un usuario
F puede mantener un inventario de existencias
6 semanas No
E v a lu a ció n y
co n clu sio n e s

Calidad

•C a lid a d in te rn a



•C a lid a d e xte rn a
Conclusiones
• La filosofía detrás de eXtreme
Programming guió la puesta en
marcha de las prácticas
• Las prácticas de eXtreme
Programming ayudaron a
disminuir el riesgo
• Los principios SOLID ayudaron a
mejorar la adaptabilidad del
proyecto
• La medición constante de algunos
aspectos del desarrollo permitió
su mejora.
Conclusiones
• Las personas y sus interacciones
fueron los factores más
influyentes en el éxito de este
proyecto de software.
• eXtreme Programming es una
disciplina para el desarrollo de
software enfocada en las
personas, que logra eficazmente
adaptarse a los cambios en el
entorno y cuyas prácticas
ingenieriles permiten lograr una
alta calidad.
Trabajo a futuro

• Concluir aquellas historias de


usuario que no se completaron
durante este proyecto.
• Lean Thinking adaptado al desarrollo
de software.
Muchas gracias
¿Preguntas?

Potrebbero piacerti anche