SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
www.i2e.com.es




                 Jose Luis Ramirez Terry
                    Emilio Bravo Garcia
www.i2e.com.es




                 Quienes somos
                 ¿Como trabajamos?

                 ¿Qué utilizamos?
                 Preguntas
www.i2e.com.es




                 Empresa desarrollo de Software
www.i2e.com.es




                    I2e es una empresa que desarrolla software a medida,
                     gracias a la experiencia acumulada estamos trabajando
                     en 2 productos que esperamos ofrecer en breve.
                    Fundada el año 2007 (desde 2005 como autónomos)
                     por nosotros 2
                    José Luís Ramírez
                    Emilio Bravo
                    Fuimos alumnos del especialista en la 3ª edición (curso
                     04-05)
                    Actualmente trabajamos 4 personas
                    Más información en http://www.i2e.com.es/
                    Blog: http://www.i2e.com.es/blog/
                    Twitter: http://twitter.com/i2e_es
                                    © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                                                           i2e

                                   Jose Luis Ramirez                      Emilio Bravo
                                         CEO                                 CTO




                     Juan Manuel       Juan Manuel
                       Sabater            Raez



                 También Buscamos la colaboración con otras empresas y profesionales


                                         © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                    Sobre todo utilizamos las siguientes tecnologías
                        GWT • realización de RIA (Rich Internet Applications)
                         utilizando Java, GWT compila el código Java a Javascript.
                        Eclipse RCP • para aplicaciones de escritorio.
                        Spring • limpieza de código, control de transacciones,
                         inyección de dependencias, no obliga a la utilización de
                         un servidor de aplicaciones completo.
                        Hibernate • implementación de JPA más extendida,
                         actualmente es el framework ORM más completo.
                        Lucene • indexación de grandes volúmenes de texto (la
                         mayoría de la información ahí fuera no esta
                         estructurada).
                        Alguna tecnología para dispositivos móviles, Java ME?,
                         Android?.

                                        © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                 Utilizamos Scrum + AUP
www.i2e.com.es




                    Se trata de una metodología ágil para la Gestión de
                     Proyectos, centrada en entregar en cada momento la
                     funcionalidad con más valor para el cliente.
                    El desarrollo se realiza de forma iterativa e incremental
                     (en Sprints).
                        Al final de cada iteración/sprint se entrega una versión
                         funcional del software a partir de la cual el usuario y el
                         equipo obtienen el feedback necesario.

                    http://es.wikipedia.org/wiki/Scrum




                                        © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                    Product Owner
                    El Product Owner representa la voz del cliente. Se asegura de
                     que el equipo Scrum trabaja de forma adecuada desde la
                     perspectiva del negocio. El Product Owner escribe historias de
                     usuario, las prioriza, y las coloca en el Product Backlog.
                    ScrumMaster (o Facilitador)
                    El Scrum es facilitado por un ScrumMaster, cuyo trabajo
                     primario es eliminar los obstáculos que impiden que el equipo
                     alcance el objetivo del sprint. El ScrumMaster se asegura de que
                     el proceso Scrum se utiliza como es debido. El ScrumMaster es
                     el que hace que las reglas se cumplan.
                    Equipo
                    El equipo tiene la responsabilidad de entregar el producto. Un
                     pequeño equipo de 5 a 9 personas con las habilidades
                     transversales necesarias para realizar el trabajo (diseñador,
                     desarrollador, etc).

                                       © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                    Usuarios
                        Es el destinatario final del producto.

                    Stakeholders (Clientes, Proveedores, Inversores)
                        Se refiere a la gente que hace posible el proyecto y para
                         quienes el proyecto producirá el beneficio acordado que lo
                         justifica. Sólo participan directamente durante las revisiones
                         del sprint.

                    Managers
                        Es la gente que establece el ambiente para el desarrollo del
                         producto.


                                          © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                    Daily Scrum
                        Cada día de un sprint, se realiza la
                         reunión sobre el estado de un
                         proyecto. La reunión comienza
                         puntualmente a su hora.
                    Reunión de Planificación del Sprint
                     (Sprint Planning Meeting)
                      Al inicio del ciclo Sprint (cada 15 o 30
                       días), una “Reunión de Planificación
                       del Sprint” se lleva a cabo.
                      Seleccionar qué trabajo se hará.
                      Preparar, con el equipo completo, el
                       Sprint Backlog que detalla el tiempo
                       que tomará hacer el trabajo.
                      Identificar y comunicar cuánto del
                       trabajo es probable que se realice
                       durante el actual Sprint.
                      Ocho horas como límite.




                                             © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                    Reunión de Revisión del Sprint (Sprint Review Meeting)
                        Revisar el trabajo que fue completado y no completado.
                        Presentar el trabajo completado a los interesados (alias
                         “demo”).
                        El trabajo incompleto no puede ser demostrado.
                        Cuatro horas como límite.

                    Retrospectiva del Sprint (Sprint Retrospective)
                        Después de cada sprint, se lleva a cabo una retrospectiva del
                         sprint, en la cual todos los miembros del equipo dejan sus
                         impresiones sobre el sprint recién superado. El propósito de la
                         retrospectiva es realizar una mejora continua del proceso. Esta
                         reunión tiene un tiempo fijo de cuatro horas.


                                         © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                    Product backlog
                        Contiene descripciones genéricas de
                         todos los requerimientos,
                         funcionalidades deseables, etc.
                         priorizadas según su retorno sobre la
                         inversión (ROI) . Es el qué va a ser
                         construido. Esta estimación ayuda al
                         product owner a ajustar la línea
                         temporal y, de manera limitada, la
                         prioridad de las diferentes tareas.
                    Sprint backlog
                        El sprint backlog es un documento
                         detallado donde se describe el cómo
                         el equipo va a implementar los
                         requisitos durante el siguiente
                         sprint. Las tareas se dividen en horas
                         con ninguna tarea de duración
                         superior a 16 horas.



                                           © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                    Burn down
                        La burn down chart es una gráfica mostrada públicamente
                         que mide la cantidad de requisitos en el Backlog del
                         proyecto pendientes al comienzo de cada Sprint. Dibujando
                         una línea que conecte los puntos de todos los Sprints
                         completados, podremos ver el progreso del proyecto.




                                        © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                 © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                  Es una versión simplificada de RUP
                  Aplica técnicas ágiles:
                   Desarrollo Dirigido por las Pruebas (TDD)
                   Modelado Ágil (AM)
                   Gestión del Cambio Ágil (ACM)
                  Como proceso de desarrollo base utilizamos Scrum.




                              © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                 • De AUP nos quedamos con las disciplinas, algunos de los
                   roles y si fuera necesario algún artefacto para la
                   documentación del proyecto.




                                   © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                    Utilizamos como proceso de desarrollo Scrum +
                     AUP.
                    Iteraciones de 3 semanas en cada proyecto.
                    Intentamos que todos los integrantes del equipo
                     intervienen en cada decisión del proyecto.




                                © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                 1. Estimar: se estiman las pilas de producto y extraer nuevas
                    pilas.
                 2. Planificar: se planifica el sprint en función del tamaño y la
                    velocidad (recursos disponibles), se decide cuantos items
                    del producto se puede realizar.
                 3. Modelar: se realiza una sesión de modelado.
                 4. Desarrollar: Desarrollo del producto según lo planificado.
                 5. Demostrar: al final de la iteración se realiza una demo con
                    todo lo que se ha realizado.
                 6. Realimentar: se obtiene el feedback de la demo para
                    realizar un nuevo sprint.


                                   © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                                                                                   Scrum of Scrum
                 Stakeholders




                                            Product Backlog
                                Product Owner                                      Scrum Master
                    Usuarios

                                                                Sprint Backlog




                    Helpdesk    Product Owner Product Backlog                      Scrum Master


                                                                Sprint Backlog



                     ..etc..
                                                                                    Scrum Master
                                             Product Backlog
                                Product Owner
                                                                  Sprint Backlog


                                                   © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                 Ecosistema de Software
www.i2e.com.es




                     MagicDraw
                      Para la realización de los diagramas UML.
                      AndroMDA para la generación de codigo.

                     Eclipse + plugins
                      Para el desarrollo de código.

                     Jira + GreenHopper y Confluence
                      Para la gestión y documentación de los proyectos.

                     Hudson
                      Integración Continua.

                     Subversion
                      Control de versiones

                                  © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es   Especialista Universitario Java Enterprise




                         Herramienta que facilita la gestión de proyectos siguiendo
                        una metodología scrum




                                                 © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                 © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                 SVN

                       © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                  Cobertura de los Test
                   Utilizamos la herramienta Cobertura
                    (http://cobertura.sourceforge.net/) para obtener el
                    % de código cubierto por los test automáticos.
                   Con los informes obtenidos podemos observar que
                    partes del código están sin probar.
                  Análisis Estático del Código
                   Utilizamos Herramientas como FindBugs
                    (http://findbugs.sourceforge.net/) o PDM para
                    realizar un análisis estático del código y encontrar
                    errores de implementación que reducen la calidad
                    del código.


                              © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es




                    Con la integración continua automatizamos:
                        la compilación de la aplicación
                        los test
                        el análisis estático del código
                        la generación del desplegable.

                    También controlamos la evolución de la aplicación de una
                     forma automatizada.

                    Utilizamos Hudson (https://hudson.dev.java.net/) como
                     servidor de integración. Lo utilizamos por su versatibilidad
                     y la integración con Jira
                     (http://www.atlassian.com/software/jira/).


                                           © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es   Especialista Universitario Java Enterprise




                 Las Herramientas del ecosistema nos ayudan a
                 controlar el desarrollo y a ser mas productivos. Un
                 buen ecosistema no tiene precio.




                                                 © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es   Especialista Universitario Java Enterprise




                       Bibliografía
                        Scrum y XP desde las trincheras.
                        Flexibilidad con Scrum.
                        Continuous Integration Improving Software Quality
                         and Reducing Risk.
                        Beyond Software Architecture: Creating and
                         Sustaining Winning Solutions.
                      Enlaces
                        http://www.navegapolis.net/
                        http://www.presionblogosferica.com/
                        http://www.mountaingoatsoftware.com/
                        http://www.andromda.org/


                                                 © 2010-2011 Depto. Ciencia de la Computación e IA
www.i2e.com.es
www.i2e.com.es




                    http://www.i2e.es
                    Twitter: i2e_es
                    joseluis@i2e.es
                    emilio@i2e.es
                    i2e@i2e.es

Contenu connexe

Tendances

Analisis procesos ligeros vs pesados resumido
Analisis procesos ligeros vs pesados resumidoAnalisis procesos ligeros vs pesados resumido
Analisis procesos ligeros vs pesados resumido
Oscar Limachi
 
Garantizando el éxito de las implementaciones de K2B
Garantizando el éxito de las implementaciones de K2BGarantizando el éxito de las implementaciones de K2B
Garantizando el éxito de las implementaciones de K2B
GeneXus
 

Tendances (13)

Unidad ii iv1
Unidad ii iv1Unidad ii iv1
Unidad ii iv1
 
Guia de ingenieria_del_software
Guia de ingenieria_del_softwareGuia de ingenieria_del_software
Guia de ingenieria_del_software
 
1. curso unal cap1
1. curso unal cap11. curso unal cap1
1. curso unal cap1
 
Operación de robot
Operación de robot Operación de robot
Operación de robot
 
Rational Comes to You 2008, Presentation by Walter Ariel Risi
Rational Comes to You 2008, Presentation by Walter Ariel RisiRational Comes to You 2008, Presentation by Walter Ariel Risi
Rational Comes to You 2008, Presentation by Walter Ariel Risi
 
Proceso MDA y Scrum v2
Proceso MDA y Scrum v2Proceso MDA y Scrum v2
Proceso MDA y Scrum v2
 
Analisis procesos ligeros vs pesados resumido
Analisis procesos ligeros vs pesados resumidoAnalisis procesos ligeros vs pesados resumido
Analisis procesos ligeros vs pesados resumido
 
Garantizando el éxito de las implementaciones de K2B
Garantizando el éxito de las implementaciones de K2BGarantizando el éxito de las implementaciones de K2B
Garantizando el éxito de las implementaciones de K2B
 
Watch
WatchWatch
Watch
 
Disertación Scrum en Jornadas Rosarinas del PMI, octubre 2009
Disertación Scrum en Jornadas Rosarinas del PMI, octubre 2009Disertación Scrum en Jornadas Rosarinas del PMI, octubre 2009
Disertación Scrum en Jornadas Rosarinas del PMI, octubre 2009
 
Scrum bad practices
Scrum bad practicesScrum bad practices
Scrum bad practices
 
Clase4
Clase4Clase4
Clase4
 
Informe Eval Software
Informe Eval SoftwareInforme Eval Software
Informe Eval Software
 

Similaire à Scrum y ecosistema software en i2e

Seleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de softwareSeleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de software
Ingris Argueta
 
SCRUM Desarrollo ágil
SCRUM Desarrollo ágilSCRUM Desarrollo ágil
SCRUM Desarrollo ágil
ricardoroldan
 
Tecnicas en ing.de software
Tecnicas en ing.de softwareTecnicas en ing.de software
Tecnicas en ing.de software
stephanierivas
 

Similaire à Scrum y ecosistema software en i2e (20)

Metodologías de desarrollo ágiles: Scrum, XP
Metodologías de desarrollo ágiles: Scrum, XPMetodologías de desarrollo ágiles: Scrum, XP
Metodologías de desarrollo ágiles: Scrum, XP
 
Capgemini charla agile_uv
Capgemini charla agile_uvCapgemini charla agile_uv
Capgemini charla agile_uv
 
Scrum
ScrumScrum
Scrum
 
metodologia scrum.pptx
metodologia scrum.pptxmetodologia scrum.pptx
metodologia scrum.pptx
 
Informe trabajo de software
Informe trabajo de softwareInforme trabajo de software
Informe trabajo de software
 
Procesos Ágiles.pdf
Procesos Ágiles.pdfProcesos Ágiles.pdf
Procesos Ágiles.pdf
 
Trabajo metodologia scrum
Trabajo metodologia scrumTrabajo metodologia scrum
Trabajo metodologia scrum
 
Spanish Redistributable Intro To Scrum
Spanish Redistributable Intro To ScrumSpanish Redistributable Intro To Scrum
Spanish Redistributable Intro To Scrum
 
s05 - paradigma de construcción de soluciones basado en desarrollo de código
s05 - paradigma de construcción de soluciones basado en desarrollo de códigos05 - paradigma de construcción de soluciones basado en desarrollo de código
s05 - paradigma de construcción de soluciones basado en desarrollo de código
 
Scrum
ScrumScrum
Scrum
 
Introducción a scrum - Rodrigo Corral (Plain Concepts)
Introducción a scrum - Rodrigo Corral (Plain Concepts)Introducción a scrum - Rodrigo Corral (Plain Concepts)
Introducción a scrum - Rodrigo Corral (Plain Concepts)
 
Scrum
ScrumScrum
Scrum
 
Seleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de softwareSeleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de software
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Es scrumprimer20
Es scrumprimer20Es scrumprimer20
Es scrumprimer20
 
Scrum
ScrumScrum
Scrum
 
Curso scrum 2017
Curso scrum 2017Curso scrum 2017
Curso scrum 2017
 
SCRUM Desarrollo ágil
SCRUM Desarrollo ágilSCRUM Desarrollo ágil
SCRUM Desarrollo ágil
 
Metodologia scrum presentacion
Metodologia scrum   presentacionMetodologia scrum   presentacion
Metodologia scrum presentacion
 
Tecnicas en ing.de software
Tecnicas en ing.de softwareTecnicas en ing.de software
Tecnicas en ing.de software
 

Plus de Ingenieria Informatica Empresarial

Plus de Ingenieria Informatica Empresarial (10)

Presentacion practicas externas I2E
Presentacion practicas externas I2EPresentacion practicas externas I2E
Presentacion practicas externas I2E
 
Desarrollo de aplicaciones AJAX con GWT
Desarrollo de aplicaciones AJAX con GWTDesarrollo de aplicaciones AJAX con GWT
Desarrollo de aplicaciones AJAX con GWT
 
Desarrollo de aplicaciones web con Google Web Toolkit
Desarrollo de aplicaciones web con Google Web ToolkitDesarrollo de aplicaciones web con Google Web Toolkit
Desarrollo de aplicaciones web con Google Web Toolkit
 
Nuestra experiencia Emprendiendo
Nuestra experiencia EmprendiendoNuestra experiencia Emprendiendo
Nuestra experiencia Emprendiendo
 
Desarrollo de aplicaciones Web 2.0 Google Web Toolkit
Desarrollo de aplicaciones Web 2.0 Google Web ToolkitDesarrollo de aplicaciones Web 2.0 Google Web Toolkit
Desarrollo de aplicaciones Web 2.0 Google Web Toolkit
 
Desarrollo de Aplicaciones Web 2.0 con GWT
Desarrollo de Aplicaciones Web 2.0 con GWTDesarrollo de Aplicaciones Web 2.0 con GWT
Desarrollo de Aplicaciones Web 2.0 con GWT
 
Presentacion Google Web Toolkit
Presentacion Google Web ToolkitPresentacion Google Web Toolkit
Presentacion Google Web Toolkit
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Presentación Tecnológica del ERP-I2E
Presentación Tecnológica del ERP-I2EPresentación Tecnológica del ERP-I2E
Presentación Tecnológica del ERP-I2E
 
Web 2.0 y Redes Sociales
Web 2.0 y Redes SocialesWeb 2.0 y Redes Sociales
Web 2.0 y Redes Sociales
 

Dernier

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Dernier (15)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Scrum y ecosistema software en i2e

  • 1. www.i2e.com.es Jose Luis Ramirez Terry Emilio Bravo Garcia
  • 2. www.i2e.com.es Quienes somos ¿Como trabajamos? ¿Qué utilizamos? Preguntas
  • 3. www.i2e.com.es Empresa desarrollo de Software
  • 4. www.i2e.com.es  I2e es una empresa que desarrolla software a medida, gracias a la experiencia acumulada estamos trabajando en 2 productos que esperamos ofrecer en breve.  Fundada el año 2007 (desde 2005 como autónomos) por nosotros 2  José Luís Ramírez  Emilio Bravo  Fuimos alumnos del especialista en la 3ª edición (curso 04-05)  Actualmente trabajamos 4 personas  Más información en http://www.i2e.com.es/  Blog: http://www.i2e.com.es/blog/  Twitter: http://twitter.com/i2e_es © 2010-2011 Depto. Ciencia de la Computación e IA
  • 5. www.i2e.com.es i2e Jose Luis Ramirez Emilio Bravo CEO CTO Juan Manuel Juan Manuel Sabater Raez También Buscamos la colaboración con otras empresas y profesionales © 2010-2011 Depto. Ciencia de la Computación e IA
  • 6. www.i2e.com.es  Sobre todo utilizamos las siguientes tecnologías  GWT • realización de RIA (Rich Internet Applications) utilizando Java, GWT compila el código Java a Javascript.  Eclipse RCP • para aplicaciones de escritorio.  Spring • limpieza de código, control de transacciones, inyección de dependencias, no obliga a la utilización de un servidor de aplicaciones completo.  Hibernate • implementación de JPA más extendida, actualmente es el framework ORM más completo.  Lucene • indexación de grandes volúmenes de texto (la mayoría de la información ahí fuera no esta estructurada).  Alguna tecnología para dispositivos móviles, Java ME?, Android?. © 2010-2011 Depto. Ciencia de la Computación e IA
  • 7. www.i2e.com.es Utilizamos Scrum + AUP
  • 8. www.i2e.com.es  Se trata de una metodología ágil para la Gestión de Proyectos, centrada en entregar en cada momento la funcionalidad con más valor para el cliente.  El desarrollo se realiza de forma iterativa e incremental (en Sprints).  Al final de cada iteración/sprint se entrega una versión funcional del software a partir de la cual el usuario y el equipo obtienen el feedback necesario.  http://es.wikipedia.org/wiki/Scrum © 2010-2011 Depto. Ciencia de la Computación e IA
  • 9. www.i2e.com.es  Product Owner  El Product Owner representa la voz del cliente. Se asegura de que el equipo Scrum trabaja de forma adecuada desde la perspectiva del negocio. El Product Owner escribe historias de usuario, las prioriza, y las coloca en el Product Backlog.  ScrumMaster (o Facilitador)  El Scrum es facilitado por un ScrumMaster, cuyo trabajo primario es eliminar los obstáculos que impiden que el equipo alcance el objetivo del sprint. El ScrumMaster se asegura de que el proceso Scrum se utiliza como es debido. El ScrumMaster es el que hace que las reglas se cumplan.  Equipo  El equipo tiene la responsabilidad de entregar el producto. Un pequeño equipo de 5 a 9 personas con las habilidades transversales necesarias para realizar el trabajo (diseñador, desarrollador, etc). © 2010-2011 Depto. Ciencia de la Computación e IA
  • 10. www.i2e.com.es  Usuarios  Es el destinatario final del producto.  Stakeholders (Clientes, Proveedores, Inversores)  Se refiere a la gente que hace posible el proyecto y para quienes el proyecto producirá el beneficio acordado que lo justifica. Sólo participan directamente durante las revisiones del sprint.  Managers  Es la gente que establece el ambiente para el desarrollo del producto. © 2010-2011 Depto. Ciencia de la Computación e IA
  • 11. www.i2e.com.es  Daily Scrum  Cada día de un sprint, se realiza la reunión sobre el estado de un proyecto. La reunión comienza puntualmente a su hora.  Reunión de Planificación del Sprint (Sprint Planning Meeting)  Al inicio del ciclo Sprint (cada 15 o 30 días), una “Reunión de Planificación del Sprint” se lleva a cabo.  Seleccionar qué trabajo se hará.  Preparar, con el equipo completo, el Sprint Backlog que detalla el tiempo que tomará hacer el trabajo.  Identificar y comunicar cuánto del trabajo es probable que se realice durante el actual Sprint.  Ocho horas como límite. © 2010-2011 Depto. Ciencia de la Computación e IA
  • 12. www.i2e.com.es  Reunión de Revisión del Sprint (Sprint Review Meeting)  Revisar el trabajo que fue completado y no completado.  Presentar el trabajo completado a los interesados (alias “demo”).  El trabajo incompleto no puede ser demostrado.  Cuatro horas como límite.  Retrospectiva del Sprint (Sprint Retrospective)  Después de cada sprint, se lleva a cabo una retrospectiva del sprint, en la cual todos los miembros del equipo dejan sus impresiones sobre el sprint recién superado. El propósito de la retrospectiva es realizar una mejora continua del proceso. Esta reunión tiene un tiempo fijo de cuatro horas. © 2010-2011 Depto. Ciencia de la Computación e IA
  • 13. www.i2e.com.es  Product backlog  Contiene descripciones genéricas de todos los requerimientos, funcionalidades deseables, etc. priorizadas según su retorno sobre la inversión (ROI) . Es el qué va a ser construido. Esta estimación ayuda al product owner a ajustar la línea temporal y, de manera limitada, la prioridad de las diferentes tareas.  Sprint backlog  El sprint backlog es un documento detallado donde se describe el cómo el equipo va a implementar los requisitos durante el siguiente sprint. Las tareas se dividen en horas con ninguna tarea de duración superior a 16 horas. © 2010-2011 Depto. Ciencia de la Computación e IA
  • 14. www.i2e.com.es  Burn down  La burn down chart es una gráfica mostrada públicamente que mide la cantidad de requisitos en el Backlog del proyecto pendientes al comienzo de cada Sprint. Dibujando una línea que conecte los puntos de todos los Sprints completados, podremos ver el progreso del proyecto. © 2010-2011 Depto. Ciencia de la Computación e IA
  • 15. www.i2e.com.es © 2010-2011 Depto. Ciencia de la Computación e IA
  • 16. www.i2e.com.es  Es una versión simplificada de RUP  Aplica técnicas ágiles:  Desarrollo Dirigido por las Pruebas (TDD)  Modelado Ágil (AM)  Gestión del Cambio Ágil (ACM)  Como proceso de desarrollo base utilizamos Scrum. © 2010-2011 Depto. Ciencia de la Computación e IA
  • 17. www.i2e.com.es • De AUP nos quedamos con las disciplinas, algunos de los roles y si fuera necesario algún artefacto para la documentación del proyecto. © 2010-2011 Depto. Ciencia de la Computación e IA
  • 18. www.i2e.com.es  Utilizamos como proceso de desarrollo Scrum + AUP.  Iteraciones de 3 semanas en cada proyecto.  Intentamos que todos los integrantes del equipo intervienen en cada decisión del proyecto. © 2010-2011 Depto. Ciencia de la Computación e IA
  • 19. www.i2e.com.es 1. Estimar: se estiman las pilas de producto y extraer nuevas pilas. 2. Planificar: se planifica el sprint en función del tamaño y la velocidad (recursos disponibles), se decide cuantos items del producto se puede realizar. 3. Modelar: se realiza una sesión de modelado. 4. Desarrollar: Desarrollo del producto según lo planificado. 5. Demostrar: al final de la iteración se realiza una demo con todo lo que se ha realizado. 6. Realimentar: se obtiene el feedback de la demo para realizar un nuevo sprint. © 2010-2011 Depto. Ciencia de la Computación e IA
  • 20. www.i2e.com.es Scrum of Scrum Stakeholders Product Backlog Product Owner Scrum Master Usuarios Sprint Backlog Helpdesk Product Owner Product Backlog Scrum Master Sprint Backlog ..etc.. Scrum Master Product Backlog Product Owner Sprint Backlog © 2010-2011 Depto. Ciencia de la Computación e IA
  • 21. www.i2e.com.es Ecosistema de Software
  • 22. www.i2e.com.es  MagicDraw  Para la realización de los diagramas UML.  AndroMDA para la generación de codigo.  Eclipse + plugins  Para el desarrollo de código.  Jira + GreenHopper y Confluence  Para la gestión y documentación de los proyectos.  Hudson  Integración Continua.  Subversion  Control de versiones © 2010-2011 Depto. Ciencia de la Computación e IA
  • 23. www.i2e.com.es Especialista Universitario Java Enterprise  Herramienta que facilita la gestión de proyectos siguiendo una metodología scrum © 2010-2011 Depto. Ciencia de la Computación e IA
  • 24. www.i2e.com.es © 2010-2011 Depto. Ciencia de la Computación e IA
  • 25. www.i2e.com.es SVN © 2010-2011 Depto. Ciencia de la Computación e IA
  • 26. www.i2e.com.es  Cobertura de los Test  Utilizamos la herramienta Cobertura (http://cobertura.sourceforge.net/) para obtener el % de código cubierto por los test automáticos.  Con los informes obtenidos podemos observar que partes del código están sin probar.  Análisis Estático del Código  Utilizamos Herramientas como FindBugs (http://findbugs.sourceforge.net/) o PDM para realizar un análisis estático del código y encontrar errores de implementación que reducen la calidad del código. © 2010-2011 Depto. Ciencia de la Computación e IA
  • 27. www.i2e.com.es  Con la integración continua automatizamos:  la compilación de la aplicación  los test  el análisis estático del código  la generación del desplegable.  También controlamos la evolución de la aplicación de una forma automatizada.  Utilizamos Hudson (https://hudson.dev.java.net/) como servidor de integración. Lo utilizamos por su versatibilidad y la integración con Jira (http://www.atlassian.com/software/jira/). © 2010-2011 Depto. Ciencia de la Computación e IA
  • 28. www.i2e.com.es Especialista Universitario Java Enterprise Las Herramientas del ecosistema nos ayudan a controlar el desarrollo y a ser mas productivos. Un buen ecosistema no tiene precio. © 2010-2011 Depto. Ciencia de la Computación e IA
  • 29. www.i2e.com.es Especialista Universitario Java Enterprise  Bibliografía  Scrum y XP desde las trincheras.  Flexibilidad con Scrum.  Continuous Integration Improving Software Quality and Reducing Risk.  Beyond Software Architecture: Creating and Sustaining Winning Solutions.  Enlaces  http://www.navegapolis.net/  http://www.presionblogosferica.com/  http://www.mountaingoatsoftware.com/  http://www.andromda.org/ © 2010-2011 Depto. Ciencia de la Computación e IA
  • 31. www.i2e.com.es  http://www.i2e.es  Twitter: i2e_es  joseluis@i2e.es  emilio@i2e.es  i2e@i2e.es