Contenido


DevOps para desarrollo móvil

Desarrollo integral y operaciones para obtener calidad y el suministro continuo de plataformas múltiples.

Comments

Leer la transcripción del video anterior.

Aplicaciones móviles: Nuevo proceso de pensamientos y comportamientos

En el espacio móvil, hay una plétora de posibles plataformas de desarrollo. De alguna manera, es similar a la situación en el desarrollo del escritorio tradicional de hace muchos años atrás, cuando existían varios estándares de competencia. Lo que es diferente de los móviles es que no sólo hay muchos sistemas operativos competidores, como Android, iOS, BlackBerry y Windows, sino que también hay muchas características de dispositivos diferentes: resoluciones de pantalla, procesadores, capacidades de gráficos, capacidades de redes y más. Cada uno de estos agrega una capa potencial a la complejidad de la implementación en los contextos móviles.

Como resultado, las empresas necesitan utilizar diferentes procesos de pensamiento y comportamiento cuando se desarrolla y diseña para dispositivos móviles. Por ejemplo, un enfoque que muchas empresas utilizan en la actualidad consiste en focalizarse en aplicaciones móviles habilitadas por la Web. Los equipos de desarrollo que ya están trabajando en portales web y en capacidades web simplemente los extienden a móviles por medio de HTML5.

Sin embargo, la desventaja de ese enfoque es que no es posible explotar todo el poder y las características de las diferentes plataformas móviles. Inevitablemente, los usuarios solicitan una mejor navegación con la funcionalidad nativa existente en el dispositivo móvil, como la aplicación del calendario. Cumplir con estas demandas requiere aplicaciones nativas cuando la plataforma no ofrece APIs para acceder a las funciones—, y es estonces cuando usted comenzará a hacer preguntas sobre cuáles y con cuántas plataformas soportará. Además, ¿cuántas versiones de la plataforma mantendrá? Dado que la mayoría de los clientes mantendrán un dispositivo por pocos años, ¿cuánto riesgo hay en excluir una versión y no elegir brindar ayuda a estos clientes? ¿Sustenta o excluye una plataforma completa, como iOS? ¿Una versión de Android, como 3.2? ¿Extiende las capacidades completas de Jelly Bean, la última versión de Android?

Junto con el desafío del desarrollo y la implementación de las aplicaciones móviles, se encuentra lo que se llama "masificación del consumo" de TI. Más y más empleados y clientes aportan sus propios dispositivos en el contexto empresarial. Por ejemplo, en IBM, en enero, había aproximadamente 10 000 iPads dentro de la empresa y más de 30 000 de otros dispositivos iOS. Esto significa que una empresa ya no puede tener un estándar corporativo que establezca que sólo soportarán iOS, versión 4, dado que los consumidores compran iPhones actualizados o Samsung Galaxies, tablets y otros smartphones. Aunque existan ventajas cuando las empresas utilizan los dispositivos de sus empleados, la masificación del consumo crea un gran conjunto de contextos orientados, lo que aumenta los costos tanto del desarrollo como de la gestión.

Los escollos de la implementación de aplicaciones móviles

Uno de los escollos principales del desarrollo y la implementación de aplicaciones móviles es acumular demasiados cambios en una implementación general. Este método en cascada tradicional de desarrollo también prevalece en el desarrollo de la aplicación empresarial. Una empresa invierte de seis a ocho meses trabajando en requisitos, desarrollo, pruebas para luego producir su aplicación masiva. El problema es que probablemente, durante todo este tiempo, los equipos involucrados pierdan los requisitos, el seguimiento de los componentes y hasta puedan llegar a destruir parte de la construcción. Entonces, para reducir ese riesgo, la empresa implementa un proceso de gestión complejo y riguroso.

Generalmente, las empresas quieren aplicar este mismo enfoque para el desarrollo y la implementación móvil, dado que pretenden realizar el primer lanzamiento al mercado de una capacidad móvil para que su base de usuarios o empleados sea perfecta. En realidad, la aplicación no tiene que ser perfecta; simplemente, tiene que ser utilizable e intuitiva. Sin embargo, la mayoría de las empresas no se dan cuenta de esto e invierten mucho tiempo y esfuerzo en lo que podría convertirse en un esfuerzo costoso — y, a menudo, tardío. La mayoría de las aplicaciones que son el resultado del desarrollo en cascada tardan en salir al mercado y, a menudo, terminan no satisfaciendo las necesidades de los usuarios.

DevOps es una manera de enfrentar los desafíos de desarrollo de varios sistemas operativos, dispositivos y la masificación del consumo al extender la metodología ágil de desarrollo para implementar rápidamente la funcionalidad necesaria para aplicaciones móviles exitosas.

El poder de DevOps

Básicamente, DevOps atiende las necesidades de implementar una aplicación en funcionamiento con las últimas funciones, fuera del contexto de producción en un punto dado en el tiempo. Este es un enfoque ágil, donde la metodología del desarrollo en cascada no funcionará. Es importante definir sus requisitos y desarrollar en pequeña medida piezas funcionales del valor comercial. Todas las noches, cada quince minutos o cada vez que se verifica un cambio en el sistema de gestión de un código fuente, usted quiere asegurarse de que es posible construir su función comercial o para productos. Esta es la capacidad de integración continua de DevOps. Además, dada la complejidad de las aplicaciones móviles empresariales, es no es sólo compilar el código para el dispositivo móvil. Las aplicaciones empresariales nivelan los sistemas internos, lo que también podría necesitar incluir una nueva funcionalidad.

Capturar la compilación e implementarla a través de contextos diferentes requiere un conjunto robusto de capacidades de envío continuo que pueda empujar las aplicaciones:

  • Desde el escritorio de un desarrollador con un simulador Android, iOS u otra plataforma móvil
  • Para el contexto de prueba que podría implicar una prueba de aparatos telefónicos diferentes de terceros
  • Para los sistemas internos que exponen servicios para consumir mediante dispositivos móviles
  • Y dentro de un contexto de producción donde se lo envía a varios dispositivos

Cada plataforma tiene características diferentes desde una perspectiva de implementación. Sin embargo, no importa qué plataforma se utilice para que el envío sea exitoso, sino que debe identificar, rastrear, captar y probar cada cambio. Esto requiere de un enfoque disciplinario que una a los equipos de desarrollo y operación para garantizar suministros de software de alta calidad, confiables y frecuentes. Los equipos de desarrollo y operación trabajan juntos hacia un objetivo común: suministro continuo de aplicaciones móviles en funcionamiento sin que nadie culpe a otros o tenga excusas. La automatización es muy crucial.

Ese es el motivo por el cual DevOps es tan poderoso para el desarrollo y la implementación de las aplicaciones móviles. DevOps puede:

  • Capturar cambios.
  • Automatizar cómo pueden realizarse esos cambios.
  • Automatizar las pruebas.
  • Mantener un mínimo de cambios, lo suficiente como para reducir el riesgo del negocio cuando se trasladan a un ambiente de producción.
  • Garantizar que, en cada etapa a lo largo de la canalización, se repliquen y empujen las funciones comerciales empaquetadas.

Con DevOps, está utilizando un enfoque disciplinado y automatizado al aplicar mejoras funcionales pequeñas que podrían, con el paso del tiempo, convertirse en una capacidad compleja y de gran extensión. Empuja sus aplicaciones y sus actualizaciones a través de sus capacidades de aprovisionamiento hacia los dispositivos de varios puntos finales en sus ecosistema móvil. DevOps también significa transparencia en los cambios, entonces todos los accionistas están al tanto de cómo las nuevas capacidades están progresando y, de esa forma, reducen el riesgo comercial. Se toman las métricas y las medidas y se las expone en tableros, lo que aumenta la transparencia y la responsabilidad.

DevOps es un enfoque ideal cuando también considera que el marco de tiempo para el suministro de las aplicaciones móviles es más breve que para las aplicaciones empresariales. Las empresas quieren comenzar ya. Por lo tanto, es importante tomar el tiempo necesario para integrar los grupos y los procesos en lanzamientos de aplicaciones móviles y de actualizaciones, y ayudar a todos a entender que el objetivo no es la perfección; la meta es el avance. Esto inicia todo de la forma correcta y el progreso es más rápido y mucho mejor. Las eficiencias suceden y los procesos se mejoran al mismo tiempo que se los automatiza.

Conclusión

Las empresas de todo el mundo quieren explotar el mercado móvil al proporcionar a sus clientes y usuarios aplicaciones que facilitan la informática móvil. Para hacer esto, es importante pensar en el desarrollo de la capacidad, cómo la implementará y cómo puede garantizar la continuidad de sus capacidades a medida que las cambia con el transcurso del tiempo. DevOps ayuda garantizar un ciclo de vida exitoso de las aplicaciones móviles que toma todo esto en cuenta. No solo proporciona automatización, sino que resultados comerciales porque DevOps estrecha el ciclo de retroalimentación entre los desarrolladores y las operaciones. Los desarrolladores pueden hacer cambios más rápidamente y las organizaciones pueden acelerar el refinamiento y las actualizaciones de sus aplicaciones.


Recursos para Descargar


Temas relacionados

  • "Técnicas para el desarrollo veloz de una solución móvil" (developerWorks, mayo de 2012) ofrece sugerencias concretas sobre cómo un pequeño grupo interno puede desarrollar rápidamente e implementar aplicaciones para empleados bien orientadas a través de diferentes plataformas.
  • Asista de forma gratuita a una conferencia developerWorks Live! para ponerse al día rápidamente sobre productos y herramientas de IBM y sobre las tendencias de la industria de TI.
  • Evalúe los productos de IBM de la forma que más le convenga: Descargue pruebas de productos, pruebe un producto en línea, utilice un producto en el contexto de la nube o pase algunas ora en SOA Sandbox para aprender a implementar eficientemente arquitectura orientada al servicio.

Comentarios

Inicie Sesión o Regístrese para agregar comentarios.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Desarrollo móvil, Rational
ArticleID=836546
ArticleTitle=DevOps para desarrollo móvil
publish-date=09242012