Aplicaciones, Cloud Computing, Del dia, Desarrollo, Destacado, Gobierno/Industria, Industria, Industria, Industria TIC, Movilidad, TI en Gobierno

DevOps, clave en el proceso de Transformación Digital

Al hablar de transformación digital, no sólo hay que tener en cuenta la evolución de las TI, sino también la que afecta a los procesos de negocio –trasladándolos al nuevo entorno digital-; a los puestos de trabajo –ahora siempre conectados- o a la seguridad de la organización y de sus clientes.

Leer más...

Aplicaciones, Aplicaciones, Del dia, Desarrollo, Desarrollo, Infraestructura, Movilidad, Principal, Procesos, Redes, Seguridad

Los retos en la calidad de las aplicaciones móviles

Es un hecho que uno de los desafíos fundamentales al que tienen que hacer frente las organizaciones en la actualidad es el de la Movilidad. No en vano, según afirma Gartner en su estudio Market Guide for Mobile Application Testing Services, el 70% de las interacciones que se llevarán a cabo en 2022 tendrán lugar sobre un dispositivo móvil, y en 2020 ya habrá 21.000 millones de dispositivos conectados.

Si esa previsión se cumple, gran parte del negocio de cualquier tipo de empresa dependerá del correcto funcionamiento de sus aplicaciones móviles, por lo que garantizar la calidad de las mismas se convierte en un factor prioritario a la hora de asegurar la competitividad de la organización.

La actividad de testing es uno de los factores más relevantes dentro del proceso de desarrollo de software, sin embargo, la actividad de pruebas en un entorno móvil presenta ciertas singularidades.

Así, en el mencionado estudio de Gartner se dice que:

  • Los servicios de pruebas en entornos móviles son substancialmente diferentes a los servicios de testing de aplicaciones tradicionales, al aparecer una complejidad añadida en cuanto a múltiples plataformas, redes, sistemas operativos, así como por la variedad de dispositivos y sensores.

 

  • La experiencia de usuario resulta clave al hablar de movilidad, ya que puede generar unos requisitos específicos relacionados con el proceso de pruebas, así como consideraciones especiales que tienen que ver con el aspecto geográfico y con el de seguridad.

 

  • El uso de Agile y DevOps para lograr resultados con la rapidez que el negocio necesita, requiere diferentes enfoques y habilidades en las pruebas móviles, incluyendo una mayor automatización y un enfoque más colaborativo.

 

A los puntos anteriores, habría que añadir, además, la complejidad del nuevo entorno digital, con unos time-to-market cada vez más cortos, unos presupuestos cada vez más ajustados, unos usuarios con un alto nivel de exigencia y una normativa que hay que cumplir y que afecta a múltiples funcionalidades de la aplicación: contenidos, accesibilidad, protección de datos, etc.

Con este panorama, el testing incrementa, si cabe, su protagonismo en el desarrollo de aplicaciones móviles, comenzando en las fases más tempranas y extendiéndose a lo largo de todo el proceso.

La ejecución de pruebas de forma continua es la única fórmula posible para poder asegurar la calidad de la aplicación teniendo en cuenta, precisamente, su contexto móvil y considerando el cumplimiento de las características de funcionalidad, usabilidad, seguridad y rendimiento que garanticen el resto de requisitos.

No olvidemos que finalmente el objetivo que debemos tener siempre en mente es desarrollar una aplicación móvil que permita a la empresa propietaria incrementar sus ventas, mejorar la reputación de marca, cumplir las expectativas de los usuarios y minimizar el tiempo de aprobación de la aplicación en las diferentes market stores.

Pruebas y Métodos para Asegurar la Calidad de las Aplicaciones Móviles

Esta actividad de aseguramiento de la calidad debe incorporar, en primer lugar, una serie de pruebas funcionales, que se llevan a cabo considerando las características propias de los diferentes dispositivos. Asimismo, es necesario observar el comportamiento y los posibles fallos de la aplicación cuando la transacción u operación pueda verse afectada por una situación de batería baja, entrada de llamadas o mensajes mientras se lleva a cabo una operación con la misma o corte en la comunicación.

Por otra parte, la característica de usabilidad adquiere especial relevancia cuando se dirige a dispositivos móviles. Aquí, las pruebas deben orientarse a comprobar que su diseño e interfaz resulten sencillos e intuitivos, así como que el flujo de comunicación entre la aplicación y el usuario se establezca de forma natural y lógica. También es conveniente prestar atención a los caracteres especiales de escritura de los diferentes idiomas, las monedas de cada país, los formatos de códigos postales, fechas, direcciones, números de teléfonos…, asegurando su correcta visualización dependiendo de la zona geográfica en la que se encuentre el usuario en cada momento.

Por otra parte, con el fin de prevenir errores que causen el abandono de la aplicación debido a caídas o a un tiempo excesivo en su ejecución, lo más apropiado es acudir a las pruebas de rendimiento. Un alto consumo de batería, la velocidad a la que se desarrolla la aplicación dependiendo del navegador utilizado o las características de cada sistema operativo, pueden ser factores que influyan de forma decisiva en este apartado.

El comportamiento de una aplicación móvil también preocupa al usuario desde el punto de vista de la seguridad, ya que estarán disponibles en dispositivos que pueden ser susceptibles de robo o de uso fraudulento. En este sentido, resulta imprescindible asegurar, entre otros factores, que la app mantenga la confidencialidad de los datos privados facilitados, la verificación de que el usuario es quien dice ser, los diferentes perfiles que puede tener un usuario dentro de la misma aplicación o el autoguardado de un histórico de operaciones o actividades realizadas.

Finalmente, en lo que al desarrollo de aplicaciones móviles se refiere, aún queda un factor a tener en cuenta. En su informe, Gartner dice que “Dado que las aplicaciones móviles impulsan el negocio digital y el éxito está determinado por la experiencia del usuario, las aplicaciones móviles suelen estar lideradas por las unidades de negocio en lugar de por los departamentos de TI”. Esta realidad supone un cambio en las estrategias tradicionales de desarrollo, en las que los equipos implicados venían trabajando de forma aislada. La solución pasaría por la incorporación de nuevos modelos y técnicas de trabajo, como DevOps y Agile, que faciliten la colaboración de todos las partes implicadas, agilicen y flexibilicen los procesos y garanticen la calidad final del aplicativo.

 

La necesidad de un Especialista en Testing

Gartner concluye en su estudio diciendo que “este mercado está evolucionando con rapidez. Actualmente, sigue estando bastante fragmentado y desestructurado, lo que supone añadir más confusión a las empresas. No existe una única herramienta que sea capaz de abordar todas las necesidades relacionadas con las pruebas, y las organizaciones no suelen contar con las capacidades necesarias para gestionar las pruebas internamente”.

 

 

 

Por: Raquel Jiménez, Head of Applications Services de MTP

MTP International. Digital Business Assurance

Leer más...

Aplicaciones, Big data, Del dia, Desarrollo, Destacado, Industria, Internet de las Cosas, Movilidad, News, Noticias, Seguridad, Tecnologia, Tendencias, Transformación Digital

La Transformación Digital hará que empresas miren hacia otros objetivos: BMC

Se llevó a cabo el BMC Day en la Ciudad de México, donde destacó la Transformación Digital, una tendencia que ya no se debe de ver como una cosa del futuro, sino del presente. Es por ello que la compañía mostró en este foto sus soluciones para abordar de manera integral este proceso de transformación en las organizaciones mexicanas, ayudándolas a mejorar sus procesos, reducir costos, además de tener las mejores expectativas para los clientes del milenio.

Sobre los sistemas hiperconvergentes y la convivencia a la par de la infraestructura legacy, Eduardo Lugo, Vicepresidente en Latinoamérica de BMC, destacó en entrevista para Computerworld México, “no creo que los sistemas legados lleguen a desaparecer completamente porque están destinados a realizar operaciones específicas, lo que hoy se conoce como el back office, lo que estamos viendo en el tema de la Transformación Digital es que las empresas están aprovechando la infraestructura que ya tienen y con ello adoptan la nube, ya sea privada, pública o el manage cloud, con el objetivo de dar un mejor servicio a sus clientes”.

Cada vez son las empresas que adoptan este tipo de tecnologías en México, siendo de los principales países de latinoamérica que las empresas toman medidas transformadoras, “México está muy adelante en estas tecnologías, está adopción es gracias a que entienden a sus clientes, la generación de millennials está entrando como cliente y como empleado, es dónde se están dando esas nuevas ideas que transformen a las empresas”.

Eduardo Lugo, Vicepresidente en Latinoamérica de BMC

BMC tiene un digital workplace, donde se puede solicitar cualquier tipo de ayuda de alguna aplicación y el área de TI ofrecerá una respuesta en un corto tiempo, con ello se hace a un lado la idea de llenar un formulario dentro de la organización para pedir ayuda técnica o para activar una nueva aplicación en el equipo.

El impedimento de no poder transformarse

“Resistencia por parte de algunos líderes de TI a moverse a algunas tecnologías, hay un cierto recelo a moverse a nuevas implementaciones tecnológicas” señaló Lugo. Además, remarca que son pocas las empresas que carecen de dirección, como la hoja de ruta para que una empresa pueda transformase, muchas de ellas quieren una plataforma donde gran parte de las herramientas para transformase se encuentre en un mismo fabricante.

DevOps como aceleradores de transformación

El área de DevOps es un punto importante, convirtiéndose en un puente entre los desarrolladores de las empresas y las soluciones que hay en el mercado, “buscamos hacer disponibles muchas herramientas y están ahora para los desarrolladores, para que sea rápida la transformación y puedan unir esas aplicaciones a la base de la solución, es lo que busca BMC con sus aceleradores”, destacó el ejecutivo.

Seguridad, IoT y Big Data

El ransomware WannaCry fue determinante para marcar un antes y un después en la seguridad, “actualmente muchas empresas lo siguen sufriendo porque después de la emergencia siguieron sus operaciones sin asegurar su infraestructura” destacó Lugo.

Las empresas que lo detectaron decidieron asegurar sus datos y movieron sus operaciones a la nube, es uno de los movimientos que observaron en BMC a mitad de año con las empresas, de ahí muchas empresas se dieron cuenta de la gran cantidad de datos que tenían y que podían encontrar nuevas oportunidades de negocio, esto hico que empresas con ideas más avanzadas implementaran dispositivos IoT, para robustecer su infraestructura y obtener aún más datos.

“Es en este punto, donde muchas empresas se están transformando como Fitbit, que desde una perspectiva vende Wearables, pero a la vez está obteniendo gran cantidad de datos de sus clientes, el Big Data ahora busca ofrecerle un mejor producto de ropa deportiva, productos de nutrición o calzado”, finalizó Eduardo Lugo.

 

-Gerardo Esquivel, Computerworld México.

 

 

 

Leer más...

Aplicaciones, Del dia, Desarrollo, Industria, Noticias, Principal

DevOps están transformando el desarrollo de software

Las prácticas de núcleo DevOps se enfocan en los estándares de configuración de la infraestructura, la automatización, las pruebas y la supervisión. Pero también requiere cambios culturales y de mentalidad en TI.

DevOps es una de las tendencias clave en el desarrollo de software que emergen recientemente. Pero el término a menudo no se entiende completamente.

Una mezcla de desarrollo y operaciones, es lo que DevOps describe a la estructura organizativa, las prácticas y la cultura necesarias para permitir un desarrollo ágil rápido y operaciones escalables y fiables. DevOps trata sobre la cultura, las prácticas de colaboración y la automatización que alinea equipos de desarrollo y operaciones para que tengan una mentalidad única sobre la mejora de las experiencias de los clientes, respondiendo más rápido a las necesidades empresariales y asegurando que la innovación se equilibre con las necesidades operativas y de seguridad.

Para los equipos de desarrollo, normalmente significa estandarizar las plataformas, seguir un proceso de desarrollo ágil y participar en iniciativas impulsadas operativamente. Para los equipos de operaciones, significa apuntar a una mejor estabilidad, reducir costes y mejorar la capacidad de respuesta.

Y no todos están de acuerdo sobre la estructura organizativa y cómo se asignan las  esponsabilidades entre los equipos de desarrollo y operacionales.

Algunas personas hacen hincapié en la fusión de las personas y las responsabilidades operativas y de desarrollo para que un equipo de DevOps asuma ambas responsabilidades. Esto tiene algunas ventajas culturales, ya que tanto los desarrolladores como los ingenieros se ven obligados a responder en equipo tanto a las necesidades operativas como a las de los negocios. Y esta estructura puede ser más eficiente, especialmente en las empresas más pequeñas que no pueden dedicar fácilmente recursos para centrarse en el desarrollo o las operaciones de forma independiente. Muchas personas también argumentan que cuando se estandariza la infraestructura en la nube y se automatizan la mayoría de los flujos de trabajo, hay menos necesidad de tener conjuntos separados de personas con diferentes habilidades y responsabilidades.

En esta visión de transformación, DevOps tiene como objetivo reducir los conflictos que surgen cuando los desarrolladores se centran en satisfacer las demandas del negocio para agregar funcionalidad y mejorar la usabilidad de las aplicaciones, mientras que los equipos de operaciones tradicionalmente se centran más en la estabilidad y la seguridad de los entornos informáticos. Se trata de educar a los desarrolladores sobre las responsabilidades operacionales y educar a los equipos de operaciones sobre cómo atender las necesidades del negocio de manera más inteligente y rápida.

Cuando hay un entendimiento compartido y una mejor alineación en las prioridades y el proceso entre el equipo de desarrollo y operaciones, surge una cultura de devotos centrada en el cliente.

El concepto técnico básico en DevOps es: a medida que automatiza más de las interacciones con la infraestructura desde la construcción, pruebas, implementación y supervisión, puede eliminar muchos defectos operativos y alinear mejor los procesos de desarrollo y operaciones.

Isaac Sacolick

 

Leer más...

Aplicaciones, Del dia, Desarrollo, Destacado, Movilidad, News, Noticias, Seguridad

¿Cómo las empresas pueden desarrollar y entregar un mejor software?

CA Technologies, presenta un estudio donde hace comparaciones directas entre el desarrollo del software tradicional y los métodos de entrega, el uso de DevOps y Cloud por separado, y también con el uso de los dos juntos. Las estadísticas resultantes presentan ventajas definitivas en el rendimiento de entrega de software para cualquier empresa en términos de costo, calidad y eficiencia.

A través de una entrevista en línea a casi mil tomadores de decisión de IT, se detectó que las empresas que practican DevOps con herramientas basadas en la nube entregan resultados:

– Con un 81% de mejora en el rendimiento general de entrega de software (sobre una mejora de sólo 52% al practicar únicamente DevOps, o 53% al aprovechar el Cloud sin DevOps).

– Tienen una velocidad de entrega de software prácticamente dos veces más rápida.

– Con una mejora del 80% en la previsibilidad de rendimiento de software.

– Con un 66% de mejora en la calidad del software para menores defectos.

– Con un 69% de mejora en la experiencia del cliente, en comparación con el desarrollo de software tradicional y modelos de entrega.

– Más de 2x mejor control de costos para las herramientas y servicios que los equipos DevOps realmente usan.

Leer más...

Aplicaciones, Aplicaciones, Cloud Computing, Del dia, Desarrollo, Desarrollo, Gobierno/Industria, Movilidad, Noticias, Principal, Redes, Seguridad, Seguridad

Necesario incluir la seguridad en el desarrollo de software

Veracode, recién adquirida por CA Technologies, anunció los resultados de un estudio que analiza las relaciones entre los equipos de seguridad y el desarrollo de aplicaciones. El estudio, realizado por Enterprise StrategyGroup (ESG), muestra que, a pesar de la convicción generalizada de que los equipos de seguridad y de desarrollo tienen prioridades diferentes, iniciativas como la creación de ambientes DevOps y el foco en la innovación de productos mantienen a esos dos equipos alineados. De acuerdo con este estudio, un 58% de los entrevistados relataron que la organización está asumiendo un abordaje colaborativo para proteger sus aplicaciones.

 

Creciente necesidad de DevSecOps

El estudio busca determinar los puntos de vista de los profesionales de seguridad y desarrollo al respecto de las tendencias de seguridad en aplicaciones y en desarrollo de software. Entre los entrevistados que afirmaron que su organización usa soluciones de seguridad en aplicaciones –como pruebas estáticas de seguridad- un 43% mencionó que toman esa medida porque incluir la seguridad de aplicaciones en el proceso de desarrollo es más eficiente que corregir los sistemas de producción de forma reactiva.

Un hecho curioso es que el 45% de los entrevistados que forman parte de alguna organización que adoptó los principios y las buenas prácticas de DevOps señalan que estos procesos facilitan el trabajo del equipo de desarrollo de software y solo un 8% dijo que la inclusión de la seguridad de aplicaciones en el proceso de desarrollo desacelera el ambiente DevOps. Estos resultados no están alineados a la percepción común de que el foco en la seguridad desacelera el desarrollo de software.

“El software continúa siendo el principal impulsor de innovación y crecimiento económico. Eliminar la percepción que existe una fricción entre los equipos de seguridad y de desarrollo es una prioridad para los profesionales de TI”, afirma Pete Chestna, director de alistamiento de desarrolladores de Veracode. “La percepción positiva de que es posible alinear a los equipos de seguridad y DevOps, como lo indica este estudio, muestra que los equipos de desarrollo pueden y deben considerar la seguridad como parte del proceso integral”.

Estas conclusiones no podrían llegar en mejor momento para las empresas, pues los ataques que se aprovechan de vulnerabilidades de software son cada vez más comunes y perjudiciales. El ataque del virus WannaCry es el ejemplo más reciente, que explota una vulnerabilidad de versiones más antiguas del sistema operativo Microsoft Windows. Aunque Microsoft haya lanzado una corrección para dicha vulnerabilidad, miles de organizaciones no la han instalado aún y fueron infectadas por el WannaCry.El estudio también ha mostrado que casi un 70% de los entrevistados planean aumentar las inversiones en la seguridad de aplicaciones en los próximos 12 a 24 meses. Este aumento de inversiones también valida la importancia creciente de la seguridad de aplicaciones en el proceso de desarrollo.

 

Influencia de los procesos de DevOps en los requisitos tecnológicos

El estudio señala la necesidad de colocar la seguridad de aplicaciones como parte integrante del proceso de DevOps –la combinación conocida como DevSecOps– y que esta necesidad se reconozca y se acepte. Los resultados también destacan los requisitos tecnológicos necesarios para hacer del DevSecOps una realidad.

La complejidad e incapacidad de integrar la seguridad de aplicaciones al flujo de trabajo del DevOps son los mayores obstáculos señalados para la implementación eficaz de este modelo. En realidad, la capacidad de integrar herramientas de prueba estática de software y de ciclo de vida del software (42%), además de la capacidad de integrar herramientas de prueba dinámica de software y de ciclo de vida del software (34%) a los procesos de desarrollo de aplicaciones y DevOps, fueron las consideraciones que más se repitieron al evaluar productos y servicios de prueba estática y dinámica de seguridad de aplicaciones, respectivamente.

“Las metodologías contemporáneas de desarrollo de aplicaciones promueven la comunicación y la colaboración entre los equipos de desarrollo de aplicaciones, operaciones y seguridad, con el objetivo de identificar y corregir vulnerabilidades lo más rápido posible para aumentar la eficiencia e intensificar la seguridad”, evalúa Doug Cahill, Analista Senior de ESG. “La adopción cada vez mayor de procesos de DevOps, combinada a la voluntad de integrar y automatizar las pruebas de seguridad durante todo el ciclo de vida del software, indica un cambio para el DevSecOps, lo que significa considerar el código seguro como un elemento de creación de aplicaciones de calidad”.

 

N. de P.

Leer más...

Aplicaciones, Aplicaciones, Cloud Computing, Del dia, Desarrollo, Desarrollo, Destacado, Industria, Infraestructura, Movilidad, Network World, Noticias, Redes

Necesario el cambio de cultura en la construcción del software

La rapidez con la que evoluciona la tecnología, junto a las nuevas necesidades y tendencias sociales, obliga a las organizaciones a agilizar sus métodos de trabajo con el objetivo de ofrecer a sus clientes nuevos servicios en el menor tiempo y con la mayor calidad posibles. En esta realidad, se hace necesario un cambio de cultura en todo lo referente a la construcción y despliegue del software.

Actualmente, los grupos de trabajo que participan en un proyecto –Desarrollo, SQA, Operaciones…- trabajan de forma independiente y con sistemas de comunicación poco eficientes. Además, muchos procesos se siguen llevando a cabo de forma manual, lo que da lugar a la generación de errores que acaban provocando trabajo extra, retrasos, necesidad de asignar más recursos y, por tanto, el encarecimiento del proyecto. La solución a esta situación tan poco idílica pasa, sin duda, por la adopción de prácticas de Entrega Continua y DevOps.

En estos momentos, mantener el sistema tradicional de construcción y despliegue de software ya no tiene sentido. Se hace cada vez más necesario adaptar otro basado en la filosofía Lean, que permita la optimización de los procesos, la reducción de costos mediante la eliminación de las tareas manuales, la reducción del time-to-market y la reducción del riesgo a la hora de realizar modificaciones en el entorno.

En este cambio de cultura, la automatización juega un papel fundamental a la hora de asegurar la calidad en los procesos de despliegue del software.

Si el proceso de construcción, pruebas y despliegue no está automatizado, no es reproducible. Es decir, al trabajar de forma manual, cada vez que se lleve a cabo un despliegue de una nueva versión se hará de forma distinta, porque resultará imposible auditar e identificar los errores cometidos a la hora de realizar cambios en la aplicación, la configuración del sistema o en los entornos. Es decir, no hay control en el proceso de release y, por lo tanto, no hay forma de asegurar la calidad final del producto.

Además, mediante la automatización de los procesos se hace también posible incrementar la frecuencia de la liberación de nuevas versiones de software con muy poco esfuerzo, lo que implica dos beneficios colaterales: por una parte, el conjunto de cambios entre una release y otra será pequeño, algo que reducirá significativamente el riesgo asociado con la liberación de cambios en los entornos de producción, y hará mucho más fácil la aplicación de un posible roll back. Por otra, será también posible obtener feedback de forma mucho más rápida y se empezarán a explotar las funcionalidades mucho antes.

En consecuencia, la organización obtendrá múltiples beneficios adoptando esta aproximación:

  • Reducción del time-to-market.
  • Rentabilidad más rápida del software desarrollado.
  • Menor costo, al reducirse recursos dedicados y horas de trabajo.
  • Mayor seguridad a la hora de introducir cambios.
  • Despliegues más sencillos, sin necesidad de tener conocimientos técnicos.

Nadie dice que implantar una metodología de Entrega Continua y DevOps resulte algo sencillo. Implica derribar barreras entre equipos, eliminar silos, utilizar nuevas herramientas, modificar procesos existentes, crear otros nuevos… pero los beneficios para nivel de negocio son de tal calibre que, sin duda, merece la pena el esfuerzo y la inversión que conlleva.

 

Por: José Carlos López Ayala, Consultor Preventa y Especialista en DevOps, MTP Digital Business Assurance.

Leer más...