SlideShare a Scribd company logo
1 of 29
Download to read offline
El proceso de desarrollo con
 herramientas Open Source
       José Juan Reyes Zuñiga
Un poco de mí...
Desarrollador Java - Groovy

  9 años de experiencia en desarrollo

Editor en SpringHispano.org

Co-fundador de grails.org.mx

@neodevelop

Trabajo en SynergyJ.com ?:D
Agenda

Back to school

Proceso de desarrollo de software

  Construcción del proyecto

  Codificación

  Integración continua
Regresando a la
       escuela...
Nos enseñaron el ciclo(básico) de vida de los
sistemas de información...

  Análisis

  Diseño

  Desarrollo

  Implementación
Metodologías
Hay varias, pero no hablaremos de eso...
Hablemos de...
Lo que nos ha funcionado....

Lo que nos gusta usar para desarrollar...

Lo que nos ha hecho más productivos...

Los que no da control del proceso de
desarrollo...

Lo que nos permite visualizar el proceso de
desarrollo...
Para...
Proceso de desarrollo



Construcción                  Integración
               Codificación
del proyecto                   Continua
Sistemas operativos
¿Cómo comenzamos un
proyecto de software?
Incluso...
Hay muchas otras herramientas más...

Podríamos incluso escribir la propia, ya que:

  Cada proceso de construcción es ‘único’

  A menudo diferentes proyectos necesitan
  diferentes formas de ser construidos

Sin embargo, nos ayudamos mucho de las ya
existentes...
Lo importante es...

Simplificar la creación del proyecto

Tener una estructura bien definida

Que el equipo de trabajo conozca la
estructura e incluso conozca las convenciones

Distribuir la estructura del proyecto lo más
fácil posible
Una vez construido...
       Let’s code !!!
Codificación
Editores de texto

Control de versiones

   Centralizado

   Distribuido

IDE(Integrated Development Environment)

Navegadores

   Plugins y extensiones
Editores de texto
Control de versiones
IDE
¿Cómo mejoramos la
administración del proyecto?
Integración Continua
Es el proceso de construir software con cada
cambio enviado al repositorio de control de
versiones

Puede ser explicado con patrones y anti-
patrones

El uso convencional de CI se límita a
construir y probar, pero podemos llevarlo un
poco más lejos
Disparando la
Integración Continua
Un escenario breve sería cuando un desarrollador
envía un cambio y debe de contar con:

  Una conexión al repositorio de cambios

  Un script de construcción automático

  Un mecanismo de retroalimentación

  Un proceso para integrar los cambios en el
  código fuente
Algunos patrones y anti
       patrones
 Private Workspace   Continous feedback

 Repository          Scripted database

 Mainline            Automated tests

 Task level commit   Unified deployment

 Automated build     Algunos más...

 Binary Integrity
¿Y las herramientas...?
Pero aún faltan...


Issue tracker

Virtualization

Testing tools

Otras más...
Son varias
herramientas...
Es cuestión de práctica...
¡¡¡ Gracias !!!
@neodevelop - @synergyj
  http://synergyj.com

More Related Content

What's hot

Java script(1)
Java script(1)Java script(1)
Java script(1)trazco
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragadoMaria
 
Introducción a los Frameworks PHP
Introducción a los Frameworks PHP  Introducción a los Frameworks PHP
Introducción a los Frameworks PHP Aprende PHP
 
Webminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma PoliglotaWebminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma PoliglotaDomingo Suarez Torres
 
Introducción a la programación para joomla
Introducción a la programación para joomlaIntroducción a la programación para joomla
Introducción a la programación para joomlaRoberto Segura
 
Presentacion de integracion continua (lima agile)
Presentacion de integracion continua (lima agile)Presentacion de integracion continua (lima agile)
Presentacion de integracion continua (lima agile)Gustavo Veliz
 
Introduccción a la programación en Joomla!
Introduccción a la programación en Joomla!Introduccción a la programación en Joomla!
Introduccción a la programación en Joomla!Roberto Segura
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesMicael Gallego
 
Lenguaje de programación javascript
Lenguaje de programación javascriptLenguaje de programación javascript
Lenguaje de programación javascriptCesia Garmendez
 
Características Java
Características JavaCaracterísticas Java
Características JavaIsabel Gómez
 
Node para Javeros: Conoce a tu enemigo
Node para Javeros: Conoce a tu enemigoNode para Javeros: Conoce a tu enemigo
Node para Javeros: Conoce a tu enemigoMicael Gallego
 
Java y sus caracteristicas
Java y sus caracteristicasJava y sus caracteristicas
Java y sus caracteristicasAny Saula
 

What's hot (19)

Java script(1)
Java script(1)Java script(1)
Java script(1)
 
JAVA
JAVAJAVA
JAVA
 
Maven (EN ESPANOL)
Maven (EN ESPANOL)Maven (EN ESPANOL)
Maven (EN ESPANOL)
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragado
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 
Introducción a los Frameworks PHP
Introducción a los Frameworks PHP  Introducción a los Frameworks PHP
Introducción a los Frameworks PHP
 
Taller de laravel
Taller de laravelTaller de laravel
Taller de laravel
 
Webminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma PoliglotaWebminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma Poliglota
 
S2 - Aplicaciones en Visual Studio
S2 - Aplicaciones en Visual StudioS2 - Aplicaciones en Visual Studio
S2 - Aplicaciones en Visual Studio
 
Introducción a la programación para joomla
Introducción a la programación para joomlaIntroducción a la programación para joomla
Introducción a la programación para joomla
 
Presentacion de integracion continua (lima agile)
Presentacion de integracion continua (lima agile)Presentacion de integracion continua (lima agile)
Presentacion de integracion continua (lima agile)
 
Introduccción a la programación en Joomla!
Introduccción a la programación en Joomla!Introduccción a la programación en Joomla!
Introduccción a la programación en Joomla!
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicaciones
 
Lenguaje de programación javascript
Lenguaje de programación javascriptLenguaje de programación javascript
Lenguaje de programación javascript
 
Grails en el Fonasol
Grails en el FonasolGrails en el Fonasol
Grails en el Fonasol
 
Características Java
Características JavaCaracterísticas Java
Características Java
 
Node para Javeros: Conoce a tu enemigo
Node para Javeros: Conoce a tu enemigoNode para Javeros: Conoce a tu enemigo
Node para Javeros: Conoce a tu enemigo
 
Java y sus caracteristicas
Java y sus caracteristicasJava y sus caracteristicas
Java y sus caracteristicas
 
Grails en SG08
Grails en SG08Grails en SG08
Grails en SG08
 

Viewers also liked

Phpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkPhpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkRichard Tuin
 
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TIGestión de requisitos y su trazabilidad en la Gestión de Servicios TI
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TIOVERTI
 
M1 tema 1 deteccion de incendios quimica del fuego
M1 tema 1   deteccion de incendios quimica del fuegoM1 tema 1   deteccion de incendios quimica del fuego
M1 tema 1 deteccion de incendios quimica del fuegojmsarmientom
 
BDD + PHP = behat!
BDD + PHP = behat!BDD + PHP = behat!
BDD + PHP = behat!Vitor Mattos
 
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?Belatrix Software
 
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...Cyrille Martraire
 
Por qué Cervantes programaba mejor que tú
Por qué Cervantes programaba mejor que túPor qué Cervantes programaba mejor que tú
Por qué Cervantes programaba mejor que túJavier Acero
 

Viewers also liked (10)

Documentación
DocumentaciónDocumentación
Documentación
 
Phpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkPhpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and Mink
 
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TIGestión de requisitos y su trazabilidad en la Gestión de Servicios TI
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI
 
Introducción a Groovy
Introducción a GroovyIntroducción a Groovy
Introducción a Groovy
 
M1 tema 1 deteccion de incendios quimica del fuego
M1 tema 1   deteccion de incendios quimica del fuegoM1 tema 1   deteccion de incendios quimica del fuego
M1 tema 1 deteccion de incendios quimica del fuego
 
BDD + PHP = behat!
BDD + PHP = behat!BDD + PHP = behat!
BDD + PHP = behat!
 
Especificación medianteejemplos
Especificación medianteejemplosEspecificación medianteejemplos
Especificación medianteejemplos
 
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
 
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
 
Por qué Cervantes programaba mejor que tú
Por qué Cervantes programaba mejor que túPor qué Cervantes programaba mejor que tú
Por qué Cervantes programaba mejor que tú
 

Similar to Cómo comenzar el proceso de desarrollo de software con herramientas Open Source

1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...EXIN
 
Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019Santi Macias Rodriguez
 
Universidadnacionaldechimborazo 140716123849-phpapp02
Universidadnacionaldechimborazo 140716123849-phpapp02Universidadnacionaldechimborazo 140716123849-phpapp02
Universidadnacionaldechimborazo 140716123849-phpapp02Geovanny Yungán
 
Estrategias ágiles para incrementar calidad al construir y probar software
Estrategias ágiles para incrementar calidad al construir y probar softwareEstrategias ágiles para incrementar calidad al construir y probar software
Estrategias ágiles para incrementar calidad al construir y probar softwareDomingo Suarez Torres
 
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa CondeProceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa CondeSam Espinosa
 
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...Osver Fernandez V
 
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...adrianeidelman
 
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...Agiles2009
 
Proceso de desarrollo de sofware
Proceso de desarrollo de sofwareProceso de desarrollo de sofware
Proceso de desarrollo de sofwareMcDonald's
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de softwaresairarcf
 
Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Edwin Belduma
 
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Ianpierr Miranda
 

Similar to Cómo comenzar el proceso de desarrollo de software con herramientas Open Source (20)

EXIN DevOps Master: where Agile meets Lean
EXIN DevOps Master: where Agile meets LeanEXIN DevOps Master: where Agile meets Lean
EXIN DevOps Master: where Agile meets Lean
 
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
Net Beans
Net BeansNet Beans
Net Beans
 
Trabajo de desarrollo desoftware
Trabajo de desarrollo desoftwareTrabajo de desarrollo desoftware
Trabajo de desarrollo desoftware
 
Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019
 
Universidadnacionaldechimborazo 140716123849-phpapp02
Universidadnacionaldechimborazo 140716123849-phpapp02Universidadnacionaldechimborazo 140716123849-phpapp02
Universidadnacionaldechimborazo 140716123849-phpapp02
 
Estrategias ágiles para incrementar calidad al construir y probar software
Estrategias ágiles para incrementar calidad al construir y probar softwareEstrategias ágiles para incrementar calidad al construir y probar software
Estrategias ágiles para incrementar calidad al construir y probar software
 
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa CondeProceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
 
DISEÑO DE SISTEMAS.pptx
DISEÑO DE SISTEMAS.pptxDISEÑO DE SISTEMAS.pptx
DISEÑO DE SISTEMAS.pptx
 
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
 
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
 
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
 
EL ZINJAI
EL ZINJAIEL ZINJAI
EL ZINJAI
 
RA.1.pdf
RA.1.pdfRA.1.pdf
RA.1.pdf
 
DevOps con MS Azure
DevOps con MS AzureDevOps con MS Azure
DevOps con MS Azure
 
Proceso de desarrollo de sofware
Proceso de desarrollo de sofwareProceso de desarrollo de sofware
Proceso de desarrollo de sofware
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.
 
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
 

More from Jose Juan R. Zuñiga

More from Jose Juan R. Zuñiga (17)

Apps software development with Vert.X
Apps software development with Vert.XApps software development with Vert.X
Apps software development with Vert.X
 
A lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developersA lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developers
 
Herramientas para el desarrollo de software
Herramientas para el desarrollo de softwareHerramientas para el desarrollo de software
Herramientas para el desarrollo de software
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Webapps testing with Groovy
Webapps testing with GroovyWebapps testing with Groovy
Webapps testing with Groovy
 
Creación de plugins con Grails
Creación de plugins con GrailsCreación de plugins con Grails
Creación de plugins con Grails
 
El desarrollador de software
El desarrollador de softwareEl desarrollador de software
El desarrollador de software
 
Groovy in Java7mx
Groovy in Java7mxGroovy in Java7mx
Groovy in Java7mx
 
Mirando hacia atrás: Retrospectivas
Mirando hacia atrás: RetrospectivasMirando hacia atrás: Retrospectivas
Mirando hacia atrás: Retrospectivas
 
Equipos en Scrum ¡oing!
Equipos en Scrum ¡oing!Equipos en Scrum ¡oing!
Equipos en Scrum ¡oing!
 
Integrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrolloIntegrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrollo
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx
 
Introduccion a grails en Campusparty
Introduccion a grails en CampuspartyIntroduccion a grails en Campusparty
Introduccion a grails en Campusparty
 
Redefiniendo el MVC con Grails
Redefiniendo el MVC con GrailsRedefiniendo el MVC con Grails
Redefiniendo el MVC con Grails
 
Spring
SpringSpring
Spring
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 

Cómo comenzar el proceso de desarrollo de software con herramientas Open Source

Editor's Notes