Eugenia Parodi Juan Achucarro Lázaro Ruiz Díaz Sebastián Castellanos

Post on 31-Dec-2015

52 views 4 download

description

Sistema de Gestión Ganadera Defensa Final. Eugenia Parodi Juan Achucarro Lázaro Ruiz Díaz Sebastián Castellanos. AGENDA. Presentación de Cliente y Proyecto El Equipo del Proyecto Objetivos Productos del Proyecto Ciclo de Vida y Proceso Requerimientos Diseño y Desarrollo - PowerPoint PPT Presentation

Transcript of Eugenia Parodi Juan Achucarro Lázaro Ruiz Díaz Sebastián Castellanos

Eugenia ParodiJuan AchucarroLázaro Ruiz Díaz

Sebastián Castellanos

Sistema de Gestión GanaderaDefensa Final

1

• Presentación de Cliente y Proyecto• El Equipo del Proyecto• Objetivos• Productos del Proyecto• Ciclo de Vida y Proceso• Requerimientos• Diseño y Desarrollo• Procesos de Apoyo: Gerencia, SQA, SCM• Estado Actual del Proyecto• Lecciones Aprendidas

AGENDA2

Nuestro Cliente

Mauricio Abelar

Presentia Corp.

Empresa uruguaya especializada en la prestación de servicios de desarrollo e integración de software

Contacto Principal

3

Diseñar y construir una herramienta para facilitar el registro de información y análisis de gestión de la empresa ganadera .

SimplicidadFlexibilidadGestión Toma de decisiones.

Proceso versátil y estable

Problema del Cliente4

Administradores de campo / Escritorio rural/Dueño de Campo

Empresa 1

Establecimiento 1 (Gestión) Dicose 1

Establecimiento 2 (Gestión) Dicose 2

Establecimiento n (Gestión) Dicose 3

Empresa N

Establecimiento 1 (Gestión) Dicose 4

Establecimiento 2 (Gestión) Dicose 5

Establecimiento n (Gestión) Dicose 6

Nicho identificado

* DICOSE = División Contralor de Semovientes

5

Nuestros Productos

PRODUCTOS

DE SOFTW

ARE

• Prueba de conceptos de un sistema de gestión ganadera

• Documentación técnica

PROCESO DE

SOFTWARE• Proc

eso definido, para la construcción del Producto.

6

PRODUCTOS

DE SOFTW

ARE

• Prototipos funcionales.

• ESRE.• ESDI

– Arquitectónico y Detallado, Integración de sistemas.

• Documento de reportes: especificación, cubos, descripción.

PROCESO DE

SOFTWARE

• Proceso para desarrollar las funcionalidades pendientes.

• Estrategias de desarrollo, diseño, relevamiento, etc.

Nuestros Entregables7

Sistema Web

PDA

1 año = Cimientos [Proyecto]

1 año = Construcción [Post-Proyecto]

Alcance del Software8

Alcance

Presentación

Negocio

Persistencia

Documentación

50%

25%

25%

9

Administrador de Campo

HACIENDA

REPORTES ESTADÍSTICOS

PLANIFICACIÓN

Funcionalidades y Usuarios

Escritorio Rural

Dueño de Campo

CONFIGURACIÓN

10

Gestión de Animales Importación de datos Historial del AnimalSeguimiento de actividades realizadas

Manejo de indicadores y cubosGeneración e impresión de informes

Generación de planes de trabajo Cargar Planificación a PDAManejo de alarmas y recordatorios

Empresas, Usuarios Establecimientos, Potreros,

Clientes, Proveedores, otros

• Entregar exitosamente Producto + Proceso • Surgimiento de nuevos requerimientos críticos.

• Entendimiento e investigación del negocio.

• Apoyar la Estrategia de Marketing.

• Curva de aprendizaje de tecnologías Struts 2 , Spring y Hibernate

AndroMDA PDAs

Integración Java y .NETJasper Reports

• Trabajo grupal de integrantes

Desafíos del Proyecto11

Valor Agregado

Software as a Service

Único producto que nuclea dichas funcionalidades y es Web

Facilidad para ingreso de datos

Integración con PDA

Integración con SNIG

Indicadores para toma de decisiones

Red Social (Comunidad Ganadera)

12

• Presentación del Cliente y Proyecto• El Equipo del Proyecto• Objetivos• Productos del Proyecto• Ciclo de Vida y Proceso• Requerimientos• Diseño y Desarrollo• Procesos de Apoyo: Gerencia, SQA, SCM• Estado Actual del Proyecto• Lecciones Aprendidas

AGENDA13

ROL RESPONSABLE SUPLENTES

Arquitecto Sebastián Castellanos Lázaro Ruiz Díaz

Ingeniero de Procesos Juan Achucarro Eugenia Parodi

Gerente Eugenia Parodi Lázaro Ruiz Díaz

Ingeniero de Requerimientos Lázaro Ruiz Díaz Eugenia Parodi

SCM Juan Achucarro Lázaro Ruiz Díaz

SQA Juan Achucarro Lázaro Ruiz Díaz

EQUIPOEquipo14

• Presentación del Cliente y Proyecto • El Equipo del Proyecto• Objetivos• Productos del Proyecto• Ciclo de Vida y Proceso• Requerimientos• Diseño y Desarrollo• Procesos de Apoyo: Gerencia, SQA, SCM• Estado Actual del Proyecto• Lecciones Aprendidas

AGENDA15

OBJETIVOSAcad

émico

s

• Aprobar el proyecto (90-95)

• Aprender nuevas tecnologías (haciendo +80% de 1 CU medio/alto independientemente)

Producto

• Conformidad del producto por parte del cliente; reutilizable +85%.

• Conformidad de proceso, y estimaciones entregadas (criterio de aceptación sobre la marcha)

Proceso

• Proceso eficiente

• No hay mas de un 20 % de horas de re trabajo

• Especificar 5 CU x sprint

• Construir 2 CU complejos, ó

• 3 CU medios, ó

• 5 CU simples

Pers

onale

s

• Buena química de trabajo (Encuesta de Satisfacción)

• Continuar la relación con el cliente

Objetivos

Precondiciones: Sprint de 15 días Esfuerzo de 120 horas Cierto nivel de habilidad (skill)

16

• Presentación del Cliente y Proyecto• El Equipo del Proyecto• Objetivos• Productos del Proyecto• Ciclo de Vida y Proceso• Requerimientos• Diseño y Desarrollo• Procesos de Apoyo: Gerencia, SQA, SCM• Estado Actual del Proyecto• Lecciones Aprendidas

AGENDA17

Sistema Web

PDA

Productos: Demos18

Proceso

• Presentación del Cliente y Proyecto• El Equipo del Proyecto• Objetivos• Productos del Proyecto• Ciclo de Vida y Proceso• Requerimientos• Diseño y Desarrollo• Procesos de Apoyo: Gerencia, SQA, SCM• Estado Actual del Proyecto• Lecciones Aprendidas

AGENDA19

Metodología Ágil

Equipos Pequeños (4 integrantes)

“Sprints” Cortos (Fijos de 15 días)

Preparados para afrontar cambios durante el proyecto

Planificación adaptativa: Entregas frecuentes + colaboración del cliente

Metodología Tradicional

Utilización de ESRE, ESDI, etc

El cliente interactúa con el equipo de desarrollo mediante

reuniones

Basadas en estándares.

Metodología De Trabajo: Híbrida20

Planificación

Requerimientos

Prueba

Evaluación

Desarrollo

Diseño

Planificación

Requerimientos

Prueba

Evaluación

Desarrollo

Diseño

Planificación

Requerimientos

Prueba

Evaluación

Desarrollo

Diseño

Ciclo De Vida: Evolutivo21

Proceso Funcional

Planificación

Requerimientos

Diseño

Desarrollo

Diseño Prueba

Prueba

Evaluación

SQA

SCM

Ing. Procesos

Coordinación

22

Proceso Organizacional

Planificación

Requerimientos

Diseño

Desarrollo

Diseño Prueba

Prueba

Evaluación

SQA

SCM

Ing. Procesos

GerenteGerente

Ingeniero

de Requerimientos

Ingeniero

de Requerimientos

TesterTesterDesarrolladorDesarrollador

ArquitectoArquitecto

Equipo de ProyectoEquipo de Proyecto

LSQA / LSCMLSQA / LSCM

Ingeniero de Procesos

Ingeniero de Procesos

Equipo de ProyectoEquipo de Proyecto

Coordinación

23

Proceso Resultados

Planificación

Requerimientos

Diseño

Desarrollo

Diseño Prueba

Prueba

Evaluación

SQA

SCM

Ing. Procesos

PLANPROY

ESRE/ Prototipo Desechable

SQA

SCM

PROCESO

PRUEBA / Resultados

ESDI

EVAL

Prototipo Evolutivo

Coordinación

24

• Presentación del Cliente y Proyecto• El Equipo del Proyecto• Objetivos• Productos del Proyecto• Ciclo de Vida y Proceso• Requerimientos• Diseño y Desarrollo• Procesos de Apoyo: Gerencia, SQA, SCM• Estado Actual del Proyecto• Lecciones Aprendidas

AGENDA25

Estrategia de Relevamiento

- Benchmarking - Reuniones con

Interesados

Lista de Requerimientos

preliminares

Prototipo Desechable (HTML)

ESRE

Prototipo Evolutivo

Requerimientos26

• Presentación del Cliente y Proyecto• El Equipo del Proyecto• Objetivos• Productos del Proyecto• Ciclo de Vida y Proceso• Requerimientos• Diseño y Desarrollo• Procesos de Apoyo: Gerencia, SQA, SCM• Estado Actual del Proyecto• Lecciones Aprendidas

AGENDA27

Estrategia de Diseño

Requerimientos y Marketing

Investigación & Selección de tecnologías

Arquitectura

Diseño Arquitectónico y

Detallado

Diseño

Capacitación

28

Características del Producto

•Sistema extensibleExtensibilidad

•Interfaz amigable y simple•Brindar ayuda al usuario•Facilidad de ingreso de datos

Usabilidad

•Autorización de usuarios (Acegi)•Autenticación de usuariosSeguridad

Arquitectura: Web29

• Interoperable con PDAInteroperabilidad

• Sistema modificable• Contenido modificable

Modificabilidad

• Sistema escalable Escalabi

lidad

Características del Producto

Arquitectura: Web30

Arquitectura: WebCapa Presentación

JSP, Struts 2, YUIComponentes VisualesProcesamiento Visual

Spring 2.5Servicios

Capa Negocio

HibernateAcceso a Datos

Capa Acceso a Datos

MySQL, DB2, Oracle

Base de Datos

Autenticación+

Autorización

Acegi Security

Spring WS, JAXB

Value Objects(VO)

Value Objects&

Entities

Registros BD

31

Arquitectura: Web<<jsp>>

formulario

<<ActionController>>MiEntidad

<<Archivo>>MiEntidad-validation.xml

<<Archivo>>MiEntidad.properties

web

<<Interface>>ServicioMiEntidad

ServicioMiEntidadBase

<<Exception>>ServicioMiEntidadException

servicio

ServicioMiEntidadImpl

<<Interface>>MiEntidadDao

MiEntidadDaoBase

<<Archivo>MiEntidad.hbm.xml

dominio

MiEntidadDaoImpl MiEntidadImpl

MiEntidad

MiEntidadVO

vo

- Escalabilidad

- Usabilidad

- Extensibilidad

- Modificabilidad

32

Características del Producto

• Patrones de UsabilidadUsabilidad

• Extensible a futuroExtensibilidad

• Interoperable con Sistema WebInteroperabilidad

Arquitectura: PDA33

Arquitectura: PDACapa Presentación

System.WinformsSystem.Drawing

Design, Component ModelDrawing2D, Printing…

Business LogicEntidades de Negocio

Capa Negocio

System.DataSystem.Xml

SqlClient, SqlClientCe

Capa Acceso a Datos

SQL Compact

Base de Datos Local

Autenticación

WindowsSecurity

WebServices (WCF)

Code-Behind

Entidades

Data Sources

XmlDocument, Serialization…

34

Arquitectura: PDA

JSP, Struts 2, YUI

Spring 2.5

Hibernate

MySQL, DB2, Oracle

AcegiSecurity

System.Winforms, System.Drawing

Business Logic

System.Data, System.XML

SQL Compact

Windows Security

Aplicación WebApache TomCat (Servlet Container)

Aplicación PDA

<<Interface>>ISincronizador

WCF-WS

Spring-WS

35

MDA

MDA (Model Driven Architecture).

PIM

PSM

Código Generado

CIM

36

Estrategia de Desarrollo

Desarrollo: Web

PIM

AndroMDA

Código Generado

Desarrollador

Arquitecto

Requerimientos

Se necesita cambio?

37

MDA

Separación de responsabilidades.

Mejora de la calidad de los modelos y procesos mediante su análisis.

Diseño actualizado.

Independencia de plataforma: arquitectura.

Generación automática de código basada en buenas practicas.

Por que utilizar MDA?

38

• Presentación del Cliente y Proyecto• El Equipo del Proyecto• Objetivos• Productos del Proyecto• Ciclo de Vida y Proceso• Requerimientos• Diseño y Desarrollo• Procesos de Apoyo: Gerencia, SQA, SCM• Estado Actual del Proyecto• Lecciones Aprendidas

AGENDA39

Plan

DoEval

Antes de cada Sprint, se planifican las tareas a

llevar a cabo.

Al terminar cada Sprint, se evalúan los resultados

obtenidos.

Gerencia: Estrategia40

• Métricas:• Eficacia de Sprint• Distribución de esfuerzo• Esfuerzo realizado Vs. Esfuerzo estimado

• Costos:• Costos de Prevención• Costos de re trabajo• Evolución de IR, Desarrollo y Capacitación• Evolución de definición del proceso

Gerencia: Métricas Y Costos41

Eficacia de Sprint

• Se categorizan las tareas según prioridad:• A+ = 100%• A >= 86%• M >= 70% • B >= 50%

• En base a esos rangos, se determina el desempeño del Sprint.

• Nos permite controlar que las tareas A+, se hayan completado.

• Podemos realizar un seguimiento de las tareas criticas de cada Sprint.

42

Tareas Estimadas

Tareas Realizadas

18 14

5 3

11 10

5 1

Tareas Estimadas

Tareas Realizadas

18 18

9 7

11 10

5 5

Eficacia de Sprint43

Distribución del Esfuerzo44

Esfuerzo Estimado Vs Esfuerzo Real45

Costo de retrabajo46

Evolución de IR, Desarrollo y Capacitación47

Evolución de la Definición del Proceso

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 160

5

10

15

20

25

30

35

40

Ingeniería de Procesos

IP

48

Riesgos Principales49

• Presentación del Cliente y Proyecto• El Equipo del Proyecto• Objetivos• Productos del Proyecto• Ciclo de Vida y Proceso• Requerimientos• Diseño y Desarrollo• Procesos de Apoyo: Gerencia, SQA, SCM• Estado Actual del Proyecto• Lecciones Aprendidas

AGENDA50

Estrategia de SQA

Investigación Definición de planillas Revisiones

SQA

Estándares

Métricas

51

DEFECTOS PRUEBAS FUNCIONALES DISEÑADASAD = (Total de CP que se ejecutaron correctamente) / (Total CP) * 100

USABILIDAD PRUEBAS DE USABILIDAD DISEÑADAS Y EJECUTADASU = Usabilidad = (Cantidad reglas cumplidas) / (Cantidad reglas cumplidas + Cantidad reglas no cumplidas) * 100.

SQA: MétricasDefectos y Usabilidad

52

NOI =Nº de Interfaces por Paquete

(promedio / máximo por fragmento de

paquete) Indica bajo acoplamiento

LOCM = Carencia de Cohesión de Métodos (promedio / máximo

por tipo) Mayor cohesividad

de clases

WMC = Métodos Ponderados por Clase (promedio / máximo

por tipo) Mayor reutilización

SQA: MétricasOrientadas a Objetos (Java)

53

• Presentación del Cliente y Proyecto• El Equipo del Proyecto• Objetivos• Productos del Proyecto• Ciclo de Vida y Proceso• Requerimientos• Diseño y Desarrollo• Procesos de Apoyo: Gerencia, SQA, SCM• Estado Actual del Proyecto• Lecciones Aprendidas

AGENDA54

Estrategia de SCM

InvestigaciónConfiguración Base Inspecciones

SCM

Ajustes

55

SCM: RepositorioProventus

00- Material de Apoyo

01 - Ingenieria de Requerimientos

02 - Diseño

04 - Prueba

05 - Gerencia

06 - SQA

07 - SCM

08 - Ingenieria de Procesos

09 - Revisiones

03 - Desarrollo(PDA)

(Web)

SCM: Herramientas

SVN Controlar versiones e historia de los proyectos software: - Project Hosting - Google Code - Hosting Privado – Presentia (sólo Sistema Web)

Tortoise SVN Cliente (software libre) SVN.

Subclipse Integrado al IDE.

57

• Presentación del Cliente y Proyecto• El Equipo del Proyecto• Objetivos• Productos del Proyecto• Ciclo de Vida y Proceso• Requerimientos• Diseño y Desarrollo• Procesos de Apoyo: Gerencia, SQA, SCM• Estado Actual del Proyecto• Lecciones Aprendidas

AGENDA58

Alcance Vs. Estado Actual

Presentación - 100%

Negocio – 60 %

Persistencia – 80%

Documentación – 100%

50%

25%

25%

59

• Presentación del Cliente y Proyecto• El Equipo del Proyecto• Objetivos• Productos del Proyecto• Ciclo de Vida y Proceso• Requerimientos• Diseño y Desarrollo• Procesos de Apoyo: Gerencia, SQA, SCM• Estado Actual del Proyecto• Lecciones Aprendidas

AGENDA60

Objetivos PlanteadosAcad

émico

s

• Aprobar el proyecto (90-95)

• Aprender nuevas tecnologías (haciendo +80% de 1 CU medio/alto independientemente)

Producto

• Conformidad del producto por parte del cliente; reutilizable +85%.

• Conformidad de proceso, y estimaciones entregadas (criterio de aceptación sobre la marcha)

Proceso

• Proceso eficiente

• No hay mas de un 20 % de horas de re trabajo

• Especificar 5 CU x sprint

• Construir 2 CU complejos, ó

• 3 CU medios, ó

• 5 CU simples

Pers

onale

s

• Buena química de trabajo (encuestas de satisfacción)

• Continuar la relación con el cliente

61

Siguiendo nuestra metodología de trabajo se necesitaron 14 Sprints de ~120 hs para relevar ~40 Requerimientos

“Piense que el ciclo de vida va a cambiar”

Lecciones Aprendidas62

“Tenga suplentes y este preparado para afrontar cambios de roles”.

“Se pudo comprobar en la practica que el cliente no siempre sabe lo que quiere”

“No versione todo, solamente lo indispensable”

Lecciones Aprendidas63

“Utilice las herramientas mas simples”

“Dividir tareas según habilidades y preferencias (Optimizamos producto y proceso)”

“Reserve periodo de tiempo para imprevistos y retrabajo pero no confunda imprevistos con retrabajo”

CONCLUSIONES & LECCIONES APRENDIDASLecciones Aprendidas64

www.proventus.com.uyAgradecimientos65

• A nuestros familiares y amigos• A nuestros revisores• A los tutores de area (Gastón Mousqués, Leonardo

Scafarelli, Amalia Alvarez)• A presentia y en particular a Mauricio Abelar• A Raul Bertoche, Pablo Dutra• A nuestro tutor Álvaro Ortas

www.proventus.com.uyPreguntas?66