SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Herramientas Ágiles

 2do. Agile Open - 7 de Setiembre de 2012
                Alejandro Gallegos | alejandro.gallegos@lemondata.com.ar
Objetivos

  Porqué utilizar herramientas ágiles
  Cómo se relacionan con la metodología
  Consideraciones para implementarlas
  Ventajas y desventajas




www.lemondata.com.ar
Prácticas del desarrollo ágil


  Revisiones continuas
  Refactoring
  Diseño simple
  Pruebas de integración continuas
  Estándares de codificación
  Propiedad colectiva
  Retroalimentación del cliente
  Pequeños releases




www.lemondata.com.ar
Nuestra primera herramienta



            ¿Cuál es nuestra primera Herramienta?

                       EL IDE o Entorno de desarrollo




www.lemondata.com.ar
Desarrollo

  Nuestro trabajo se centra en el código fuente y por ende
  en el entorno de desarrollo.

  Elección de un IDE adecuado al proyecto :
    Posibilidad de navegación rápida
    Generación automática de código
    Realizar Refactoring fácilmente
    Mantener los estándares de programación
    Automatizar tareas: análisis estático de código,
    formateo de código, compilación automática, versionado
    de código, etc.

www.lemondata.com.ar
Trabajo en equipo Ágil

  ¿Cómo hago para compartir con el equipo el código
  fuente?
  ¿Cómo mantengo un historial de cambios sobre el código?




www.lemondata.com.ar
Versionado de código

  Una versión, revisión o edición de un producto, es el
  estado en el que se encuentra dicho producto en un
  momento dado de su desarrollo o modificación.

  Características:
    Mecanismo de almacenamiento
    Posibilidad de realizar cambios a lo almacenado
    Registro histórico de cambios realizados
    Posibilidad de volver a versiones anteriores
    Generación de informes con cambios entre versiones



www.lemondata.com.ar
Versionado de código: clasificación
        Centralizados:
          Repositorio centralizado con todo el código
          Único usuario responsable (o conjunto de ellos)
          Administración vs Flexibilidad
          Ejemplos: CVS y Subversion.

        Distribuidos:
          Cada usuario tiene su propio repositorio
          Los distintos repositorios pueden intercambiar y
          mezclar revisiones entre ellos
          Es frecuente el uso de un repositorio, que está
          normalmente disponible
          Ejemplos: Git y Mercurial.
www.lemondata.com.ar
Versionado de código: opciones


       CVS                  SVN                   GIT                  MERCURIAL
       Cada archivo tiene   Todo el repositorio   Desarrollo no        Desarrollo
       su número de         tiene un único        lineal. Rapidez en   completamente
       revisión             número                la gestión de        distribuido.
       independiente        de versión que        ramas y mezclado
                            identifica un         de diferentes
                            estado                versiones.
                            común de todos
                            los
                            archivos.




www.lemondata.com.ar
Pruebas
  ¿Cómo mejoramos el nivel de las pruebas?
  ¿Cómo evitamos realizar pruebas manuales?
  ¿Cómo reutilizar las pruebas anteriores?
  ¿Cómo minimizar o acotar los posibles errores en el
  software?




www.lemondata.com.ar
Control de calidad: Pruebas

  Necesidad de mantener pruebas unitarias e integradoras
  Fomentan el cambio
  Simplifican la integración
  Documentan el código
  Errores acotados y mas fáciles de localizar
  La herramienta debería permitir tener pruebas:
        Automatizables
        Completas
        Repetibles
        Independientes
        Profesionales



www.lemondata.com.ar
JUnit

  Es un conjunto de clases (framework) que permite realizar
  la ejecución de clases Java de manera controlada, para
  poder evaluar si el funcionamiento de cada uno de los
  métodos de la clase se comporta como se espera.

  Es también un medio de controlar las pruebas de
  regresión, necesarias cuando una parte del código ha sido
  modificado y se desea ver que el nuevo código cumple con
  los requerimientos anteriores.

  Este framework se encuentra actualmente en la versión
  4.6, con grandes mejoras.
www.lemondata.com.ar
JUnit: como funciona

   En función de algún valor de entrada se evalúa el valor
    de retorno esperado.

   Si la clase cumple con la especificación, entonces JUnit
  devolverá que el método de la clase pasó exitosamente la
  prueba.

   En caso de que el valor esperado sea diferente al que
  regresó el método durante la ejecución, JUnit devolverá un
  fallo en el método correspondiente.



www.lemondata.com.ar
JUnit: como funciona




www.lemondata.com.ar
Buenas prácticas de codificación
 ¿Cómo fomento en el equipo las buenas prácticas de
 programación?

  ¿Cómo hago mi código más entendible?

  ¿Cómo prever posible problemas de rendimiento,
  seguridad y complejidad?




www.lemondata.com.ar
Control de calidad: análisis estático

  El análisis estático del código es el proceso de evaluar el
  software sin ejecutarlo.
  La verificación de código estática se basa en un conjunto
  de reglas que representan buenas practicas a la hora de
  codificar.
  La idea es obtener información del código que nos
  permita mejorarlo, manteniendo la semántica original.




www.lemondata.com.ar
PMD

  Analizador de código estático
  Se basa en un conjunto de reglas configurables
  Busca errores potenciales:
        Posibles errores: sentencias try/catch/finally/switch vacías
        Código muerto: variables, parámetros y métodos no usados
        Expresiones complejas: if innecesarios, bucles for que pueden
        ser while
        Código no óptimo
        Código duplicado




www.lemondata.com.ar
PMD




www.lemondata.com.ar
PMD




www.lemondata.com.ar
Entrega de releases

  ¿Cómo tengo seguridad para hacer cambios?

  ¿Cómo disminuir el tiempo de integración?

  ¿Cómo hago versiones estables y entregables fácilmente?




www.lemondata.com.ar
Integración continua

  El sistema se compila varias veces por día de forma
  automática.
  Se obtiene el código fuente desde el repositorio con los
  últimos cambios.
  Se corren las pruebas unitarias en cada build.
  Fomenta :
      pruebas de integración continuas
      propiedad colectiva del código
      pequeños releases con entrega frecuente de valor
  Anticipa futuros conflictos.



www.lemondata.com.ar
Integración continua: Hudson




www.lemondata.com.ar
Integración continua: Hudson




www.lemondata.com.ar
Integración continua: Hudson




www.lemondata.com.ar
Administración Ágil

  ¿Cómo puedo administrar el Product Backlog
  eficazmente?
  ¿Cómo automatizar las métricas y visualizar el avance del
  proyecto?
  ¿Qué velocidad en la entrega de valor tiene el equipo?
  ¿Cómo reduzco los tiempos administrativos del proyecto?




www.lemondata.com.ar
Administración de proyectos ágiles

  Factores que ameritan herramientas colaborativas:
        Equipos distribuidos geográficamente
        Necesidad de mantener históricos de las iteraciones
        Mayor control con respecto a tiempos de trabajo
        Necesidad de reducir tiempos de administración del proyecto
        Métricas automáticas




www.lemondata.com.ar
Kunagi

  Herramienta web para administración de proyectos ágiles
  Administración y colaboración basada en Scrum
  Buenas prácticas ágiles
  Información Scrum
    Product Backlog, Sprint Backlog, Impediments list.
  Datos adicionales del proyecto
    Requerimientos no funcionales
    Riesgos
    Archivos
    Issues y bugs
  Otras características
    Dashboard, Whiteboard y Planning Poker


www.lemondata.com.ar
Kunagi




www.lemondata.com.ar
Kunagi




www.lemondata.com.ar
Kunagi




www.lemondata.com.ar
Sprint y Herramientas
   Sprint Planning/ Sprint Review/ Retrospectiva: Kunagi

   Diariamente:
     Eclipse para el desarrollo
     JUnit para realizar las pruebas
     PMD para comprobar su código
     SVN para compartir su código
     Hudson para comprobar la integración de los cambios
     Kunagi para tareas, cargar impedimentos, etc.

   Al final del Sprint: Kunagi y Hudson: tests fallidos,
   warnings PMD, demo al cliente.
www.lemondata.com.ar
Otras herramientas

                       Java              .Net             Php                 Phyton
     IDE                   Eclipse,      Visual Studio,       Eclipse,          Vim, Emacs,
                          Netbeans,      Sharp Develop    ZendStudio, Open       Gedit, Kate,
                       Jdeveloper, BlueJ                    Komodo, PDT,        PyDev, Open
                                                              Aptana            Komodo, Eric
     Versionado                                 SVN/CVS/GIT/Mercurial
     Pruebas           Junit, TestNG     NUnit            PHPUnit             PyUnit
     Análisis          PMD,              FxCop, Code      PHP Analyzer, RIPS Emacs flymake,
     Estático          Checkstyles,      Analysis,                           Pyflakes, PyLint
                       Findbugs          StyleCop
     Integración       Hudson, Jenkins   CruiseControl. Xinc, Jenkins,        Hudson.
     Continua                            Net            phpUnderControl       Jenkins
     Gestión              Kunagi, Xplanner, DotProject, Jira, GreenHopper, Mantis, Bugzilla,
                         TargetProcess, WebCollab, Rally, Version One, Agile Zen, Scrumwise



www.lemondata.com.ar
Consideraciones

  El equilibrio es fundamental. Las herramientas tienen que
  ser un medio para el desarrollo correcto del proyecto.
  Cuestiones que van mas allá de las herramientas:
        Relación con el cliente
        Costos de implementación
        Curva de aprendizaje
        Restricciones tecnológicas
        Re-trabajo para el equipo

  “El OBJETIVO de las herramientas es
  la entrega de VALOR al cliente al
  final del Sprint”


www.lemondata.com.ar
www.lemondata.com.ar
¿Preguntas?                   ¿Debate?




                         ¿Comentarios?
www.lemondata.com.ar

Contenu connexe

Tendances (17)

Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Pruebas Automatizadas
Pruebas AutomatizadasPruebas Automatizadas
Pruebas Automatizadas
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Introducción a las Pruebas Software
Introducción a las Pruebas SoftwareIntroducción a las Pruebas Software
Introducción a las Pruebas Software
 
Automatizacion De Pruebas De Software
Automatizacion De Pruebas De SoftwareAutomatizacion De Pruebas De Software
Automatizacion De Pruebas De Software
 
Automatización de pruebas funcionales
Automatización de pruebas funcionalesAutomatización de pruebas funcionales
Automatización de pruebas funcionales
 
Desarrollo android - 3 - entorno de desarrollo
Desarrollo android  - 3 - entorno de desarrolloDesarrollo android  - 3 - entorno de desarrollo
Desarrollo android - 3 - entorno de desarrollo
 
U2T4 - Pruebas del Software
U2T4 - Pruebas del SoftwareU2T4 - Pruebas del Software
U2T4 - Pruebas del Software
 
Gwt I - entendiendo gwt
Gwt I - entendiendo gwtGwt I - entendiendo gwt
Gwt I - entendiendo gwt
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
Remote System Controller with Android technologies
Remote System Controller with Android technologiesRemote System Controller with Android technologies
Remote System Controller with Android technologies
 
5 lenguaje (caso de uso)
5 lenguaje  (caso de uso)5 lenguaje  (caso de uso)
5 lenguaje (caso de uso)
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
 
CUESTIONARIO JAVA
CUESTIONARIO JAVACUESTIONARIO JAVA
CUESTIONARIO JAVA
 
Frameworks y herramientas para la web del futuro
Frameworks y herramientas para la web del futuroFrameworks y herramientas para la web del futuro
Frameworks y herramientas para la web del futuro
 
Clase No.2 Preparando el Ambiente de Java
Clase No.2 Preparando el Ambiente de Java Clase No.2 Preparando el Ambiente de Java
Clase No.2 Preparando el Ambiente de Java
 

Similaire à Herramientas Ágiles para Desarrollo

¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoManuel Carrasco Moñino
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightParadigma Digital
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasCarlos Camacho
 
Zend Framework - MVC - 2008
Zend Framework - MVC - 2008Zend Framework - MVC - 2008
Zend Framework - MVC - 2008Juan Carbajal
 
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CICalidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CIYannick Warnier
 
Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins armolinamilla
 
Aspect Oriented Programming Middleware
Aspect Oriented Programming MiddlewareAspect Oriented Programming Middleware
Aspect Oriented Programming MiddlewareLenin Lozano
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
GWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryGWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryManuel Carrasco Moñino
 
Herramientas case[procesamiento de lenguaje analisis de p
Herramientas case[procesamiento de lenguaje   analisis de pHerramientas case[procesamiento de lenguaje   analisis de p
Herramientas case[procesamiento de lenguaje analisis de pManuel Villalta
 

Similaire à Herramientas Ágiles para Desarrollo (20)

Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring Insight
 
Mvc
MvcMvc
Mvc
 
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
Aprendiendo GWT
Aprendiendo GWTAprendiendo GWT
Aprendiendo GWT
 
Pucela testingdays testing_en_php
Pucela testingdays testing_en_phpPucela testingdays testing_en_php
Pucela testingdays testing_en_php
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - Sistemas
 
Zend Framework - MVC - 2008
Zend Framework - MVC - 2008Zend Framework - MVC - 2008
Zend Framework - MVC - 2008
 
Desarrollo de Software
Desarrollo de SoftwareDesarrollo de Software
Desarrollo de Software
 
Desarrollo de Software 2013
Desarrollo de Software 2013Desarrollo de Software 2013
Desarrollo de Software 2013
 
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CICalidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
 
Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins
 
Aspect Oriented Programming Middleware
Aspect Oriented Programming MiddlewareAspect Oriented Programming Middleware
Aspect Oriented Programming Middleware
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
GWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryGWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactory
 
Herramientas case[procesamiento de lenguaje analisis de p
Herramientas case[procesamiento de lenguaje   analisis de pHerramientas case[procesamiento de lenguaje   analisis de p
Herramientas case[procesamiento de lenguaje analisis de p
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 

Herramientas Ágiles para Desarrollo

  • 1. Herramientas Ágiles 2do. Agile Open - 7 de Setiembre de 2012 Alejandro Gallegos | alejandro.gallegos@lemondata.com.ar
  • 2. Objetivos Porqué utilizar herramientas ágiles Cómo se relacionan con la metodología Consideraciones para implementarlas Ventajas y desventajas www.lemondata.com.ar
  • 3. Prácticas del desarrollo ágil Revisiones continuas Refactoring Diseño simple Pruebas de integración continuas Estándares de codificación Propiedad colectiva Retroalimentación del cliente Pequeños releases www.lemondata.com.ar
  • 4. Nuestra primera herramienta ¿Cuál es nuestra primera Herramienta? EL IDE o Entorno de desarrollo www.lemondata.com.ar
  • 5. Desarrollo Nuestro trabajo se centra en el código fuente y por ende en el entorno de desarrollo. Elección de un IDE adecuado al proyecto : Posibilidad de navegación rápida Generación automática de código Realizar Refactoring fácilmente Mantener los estándares de programación Automatizar tareas: análisis estático de código, formateo de código, compilación automática, versionado de código, etc. www.lemondata.com.ar
  • 6. Trabajo en equipo Ágil ¿Cómo hago para compartir con el equipo el código fuente? ¿Cómo mantengo un historial de cambios sobre el código? www.lemondata.com.ar
  • 7. Versionado de código Una versión, revisión o edición de un producto, es el estado en el que se encuentra dicho producto en un momento dado de su desarrollo o modificación. Características: Mecanismo de almacenamiento Posibilidad de realizar cambios a lo almacenado Registro histórico de cambios realizados Posibilidad de volver a versiones anteriores Generación de informes con cambios entre versiones www.lemondata.com.ar
  • 8. Versionado de código: clasificación Centralizados: Repositorio centralizado con todo el código Único usuario responsable (o conjunto de ellos) Administración vs Flexibilidad Ejemplos: CVS y Subversion. Distribuidos: Cada usuario tiene su propio repositorio Los distintos repositorios pueden intercambiar y mezclar revisiones entre ellos Es frecuente el uso de un repositorio, que está normalmente disponible Ejemplos: Git y Mercurial. www.lemondata.com.ar
  • 9. Versionado de código: opciones CVS SVN GIT MERCURIAL Cada archivo tiene Todo el repositorio Desarrollo no Desarrollo su número de tiene un único lineal. Rapidez en completamente revisión número la gestión de distribuido. independiente de versión que ramas y mezclado identifica un de diferentes estado versiones. común de todos los archivos. www.lemondata.com.ar
  • 10. Pruebas ¿Cómo mejoramos el nivel de las pruebas? ¿Cómo evitamos realizar pruebas manuales? ¿Cómo reutilizar las pruebas anteriores? ¿Cómo minimizar o acotar los posibles errores en el software? www.lemondata.com.ar
  • 11. Control de calidad: Pruebas Necesidad de mantener pruebas unitarias e integradoras Fomentan el cambio Simplifican la integración Documentan el código Errores acotados y mas fáciles de localizar La herramienta debería permitir tener pruebas: Automatizables Completas Repetibles Independientes Profesionales www.lemondata.com.ar
  • 12. JUnit Es un conjunto de clases (framework) que permite realizar la ejecución de clases Java de manera controlada, para poder evaluar si el funcionamiento de cada uno de los métodos de la clase se comporta como se espera. Es también un medio de controlar las pruebas de regresión, necesarias cuando una parte del código ha sido modificado y se desea ver que el nuevo código cumple con los requerimientos anteriores. Este framework se encuentra actualmente en la versión 4.6, con grandes mejoras. www.lemondata.com.ar
  • 13. JUnit: como funciona  En función de algún valor de entrada se evalúa el valor de retorno esperado.  Si la clase cumple con la especificación, entonces JUnit devolverá que el método de la clase pasó exitosamente la prueba.  En caso de que el valor esperado sea diferente al que regresó el método durante la ejecución, JUnit devolverá un fallo en el método correspondiente. www.lemondata.com.ar
  • 15. Buenas prácticas de codificación ¿Cómo fomento en el equipo las buenas prácticas de programación? ¿Cómo hago mi código más entendible? ¿Cómo prever posible problemas de rendimiento, seguridad y complejidad? www.lemondata.com.ar
  • 16. Control de calidad: análisis estático El análisis estático del código es el proceso de evaluar el software sin ejecutarlo. La verificación de código estática se basa en un conjunto de reglas que representan buenas practicas a la hora de codificar. La idea es obtener información del código que nos permita mejorarlo, manteniendo la semántica original. www.lemondata.com.ar
  • 17. PMD Analizador de código estático Se basa en un conjunto de reglas configurables Busca errores potenciales: Posibles errores: sentencias try/catch/finally/switch vacías Código muerto: variables, parámetros y métodos no usados Expresiones complejas: if innecesarios, bucles for que pueden ser while Código no óptimo Código duplicado www.lemondata.com.ar
  • 20. Entrega de releases ¿Cómo tengo seguridad para hacer cambios? ¿Cómo disminuir el tiempo de integración? ¿Cómo hago versiones estables y entregables fácilmente? www.lemondata.com.ar
  • 21. Integración continua El sistema se compila varias veces por día de forma automática. Se obtiene el código fuente desde el repositorio con los últimos cambios. Se corren las pruebas unitarias en cada build. Fomenta : pruebas de integración continuas propiedad colectiva del código pequeños releases con entrega frecuente de valor Anticipa futuros conflictos. www.lemondata.com.ar
  • 25. Administración Ágil ¿Cómo puedo administrar el Product Backlog eficazmente? ¿Cómo automatizar las métricas y visualizar el avance del proyecto? ¿Qué velocidad en la entrega de valor tiene el equipo? ¿Cómo reduzco los tiempos administrativos del proyecto? www.lemondata.com.ar
  • 26. Administración de proyectos ágiles Factores que ameritan herramientas colaborativas: Equipos distribuidos geográficamente Necesidad de mantener históricos de las iteraciones Mayor control con respecto a tiempos de trabajo Necesidad de reducir tiempos de administración del proyecto Métricas automáticas www.lemondata.com.ar
  • 27. Kunagi Herramienta web para administración de proyectos ágiles Administración y colaboración basada en Scrum Buenas prácticas ágiles Información Scrum Product Backlog, Sprint Backlog, Impediments list. Datos adicionales del proyecto Requerimientos no funcionales Riesgos Archivos Issues y bugs Otras características Dashboard, Whiteboard y Planning Poker www.lemondata.com.ar
  • 31. Sprint y Herramientas Sprint Planning/ Sprint Review/ Retrospectiva: Kunagi Diariamente: Eclipse para el desarrollo JUnit para realizar las pruebas PMD para comprobar su código SVN para compartir su código Hudson para comprobar la integración de los cambios Kunagi para tareas, cargar impedimentos, etc. Al final del Sprint: Kunagi y Hudson: tests fallidos, warnings PMD, demo al cliente. www.lemondata.com.ar
  • 32. Otras herramientas Java .Net Php Phyton IDE Eclipse, Visual Studio, Eclipse, Vim, Emacs, Netbeans, Sharp Develop ZendStudio, Open Gedit, Kate, Jdeveloper, BlueJ Komodo, PDT, PyDev, Open Aptana Komodo, Eric Versionado SVN/CVS/GIT/Mercurial Pruebas Junit, TestNG NUnit PHPUnit PyUnit Análisis PMD, FxCop, Code PHP Analyzer, RIPS Emacs flymake, Estático Checkstyles, Analysis, Pyflakes, PyLint Findbugs StyleCop Integración Hudson, Jenkins CruiseControl. Xinc, Jenkins, Hudson. Continua Net phpUnderControl Jenkins Gestión Kunagi, Xplanner, DotProject, Jira, GreenHopper, Mantis, Bugzilla, TargetProcess, WebCollab, Rally, Version One, Agile Zen, Scrumwise www.lemondata.com.ar
  • 33. Consideraciones El equilibrio es fundamental. Las herramientas tienen que ser un medio para el desarrollo correcto del proyecto. Cuestiones que van mas allá de las herramientas: Relación con el cliente Costos de implementación Curva de aprendizaje Restricciones tecnológicas Re-trabajo para el equipo “El OBJETIVO de las herramientas es la entrega de VALOR al cliente al final del Sprint” www.lemondata.com.ar
  • 35. ¿Preguntas? ¿Debate? ¿Comentarios? www.lemondata.com.ar