Metodologías y aproximaciones
Utilizando múltiples metodologías de desarrollo de software, nuestro equipo de expertos despliega soluciones de software en tiempo récord, con un grado de calidad y robustez que estadísticamente se puede denominar “de clase mundial”. Hoy por hoy, PSL despliega dos principales metodologías de desarrollo de software: desarrollo de software ágil bajo SCRUM y desarrollo de software bajo RUP.
6 Sigma Group da preferencia a las metodologías ágiles para el desarrollo de software y, hoy por hoy, más del 90% de nuestras iniciativas son desplegadas bajo SCRUM. Recomendamos utilizar metodologías ágiles porque, en nuestra experiencia, son más productivas, menos riesgosas y más económicas que otras aproximaciones “tradicionales”. Como lo dice Jeff Sutherland, uno de los padres del movimiento ágil, “SCRUM busca hacer el doble del trabajo en la mitad del tiempo”.
Contrario a metodologías que buscan ser predictivas como las aproximación RUP o “en cascada”, las metodologías ágiles (SCRUM, XP) no pretenden conceptualizar y diseñar la totalidad de un software previo a comenzar su construcción o codificación. Por el contrario, reconocen que un software es un emprendimiento flexible, que durante su ciclo de construcción sufrirá cambios, modificaciones y mejoras. Por lo tanto, éstas generan un ciclo de vida que permite incorporar nuevas ideas en cualquier momento, sin sacrificar la productividad o el tiempo de entrega del proyecto.
En esta misma línea, las aproximaciones ágiles apuntan a desarrollar software de manera iterativa e incremental, entregándole al cliente software ejecutable cada mes, el cual el cliente puede explorar, criticar y mejorar. Como cada iteración (o SPRINT) incorpora nuevos conocimientos, se despliega un proceso de constante aprendizaje y refinamiento del producto final.
Adicionalmente, como se entrega software de manera temprana, el cliente puede comenzar a utilizar la herramienta y acelerar así el retorno sobre la inversión. Igualmente, esta aproximación mantiene la moral del equipo en alto, puesto que el producto se logra tangibilizar y utilizar desde un principio –distinto a tantos desarrollos donde después de meses lo único que se tiene son documentos técnicos en papel.
Para que el desarrollo ágil funcione, es necesario acompañar la etapa de codificación con prácticas de calidad (QA) tales como el “Test Driven Development” o TDD (desarrollo orientado a pruebas) y la Integración Continua. Ambas garantizan que el proceso de control de calidad de una aplicacion se lleve a cabo de manera paralela (y constante) al proceso de desarrollo o codificación, para que así el código de cada Sprint (iteración) siempre pueda ser probado por el cliente.
Hoy por hoy las metodologías ágiles son predominantes en el mercado más sofisticado de software en el mundo –el de los EEUU–y compañías líderes como Apple, Google, Amazon, Salesforce e IBM, entre miles de otras no conciben ya trabajar de una manera distinta.
En Latinoamérica, las metodologías ágiles han comenzado a ser implementadas con mucho éxito por compañías como 6 Sigma Group que, habiendo trabajado de manera extensa con clientes del exterior, han comprobado sus ventajas y por ende animan a sus clientes de todos los tamaños a conocer de primera mano sus beneficios.