Programación para dispositivos móviles tipo smartphones y tablets, algunas consideraciones.

Programación para dispositivos móviles tipo smartphones y tablets, algunas consideraciones.

Cuando se plantea por primera vez la creación de una aplicación para smartphones y tablets, normalmente lo primero en lo que se piensa es en la variedad de plataformas existentes: Apple iOS, Google Android, Palm, Symbian, BlackBerry, Windows Phone, … luego, ¿cómo realizar un desarrollo que abarque todas o el mayor porcentaje (en términos de utilización) de estas plataformas? Antes de contestar a esta pregunta me gustaría exponer un par de cosas: las previsiones en tendencias indican que los sistemas que liderarán en los próximos años serán Android e iOS, no obstante el nuevo Windows Phone parece que va a tener una gran aceptación.

Si damos por supuesto que nuestra aplicación debe correr como mínimo en Android e iOS para cubrir una importante cuota de mercado, ¿vamos a dedicar tiempo a desarrollar una misma aplicación en distintos sistemas operativos con el coste de tiempo y formación de un equipo multidisciplinar? Una solución que se plantean muchas empresas es la realización de una aplicación web para dispositivos móviles, de esta forma con un único desarrollo se puede conseguir el objetivo de llegar a múltiples plataformas.

(más…)

Scrum: un Framework para mejorar la calidad de software

Scrum: un Framework para mejorar la calidad de software

Durante años ha imperado dentro del desarrollo de software, el llamado modelo en cascada, que separa muy claramente y de forma secuencial las fases de desarrollo de software (https://es.wikipedia.org/wiki/Desarrollo_en_cascada): análisis de requisitos, diseño del sistema, diseño del programa, codificación, pruebas, implantación y mantenimiento.

Este tipo de desarrollo tiene muchos inconvenientes, y uno de los principales es que prácticamente desde el análisis de requisitos el contacto con el usuario final es mínimo. Para el cliente el proceso es básicamente una caja negra: digo lo que quiero, el equipo de desarrollo se pone a trabajar, y al final me entregan lo que he pedido.
Otro de los problemas importantes del modelo es su falta de adaptación al cambio. No se puede construir software rígido y estático, pensando que durante el propio proceso de construcción no se van a producir cambios en los requerimientos inicialmente recogidos.
El resultado final, es que el software desarrollado y entregado al cliente, no cumple las expectativas de los usuarios finales.
(más…)