¿Cómo trabajamos?
Sabemos de la importancia que tiene para ti tu proyecto y nos lo tomamos como si fuera nuestro.
La experiencia nos ha demostrado que desarrollar con metodologías ágiles es la mejor forma de alcanzar el éxito. Todo el proceso lo hacemos en constante comunicación contigo en nuestras herramientas de control de proyectos, a las que te daremos acceso. Mediante el uso de integración continua, garantizamos que los nuevos cambios no afectan a lo ya desarrollado, especialmente con el desarrollo de pruebas unitarias y de integración, que iremos desarrollando a la vez que desarrollamos la funcionalidad.
Desarrollamos con metodologías ágiles
En las metodologías tradicionales, se recogen los requisitos del proyecto y se trabaja el tiempo que haga falta hasta entregar el resultado al cliente, sin apenas interacción entre medias, resultando muchas veces en que lo entregado no es lo que se esperaba. En las metodologías ágiles, el desarrollo es iterativo, repartido en ciclos de desarrollo (sprints, en la nomenclatura de Scrum, una de las metodologías ágiles más populares). Entre cada ciclo se pueden reordenar prioridades y cambiar funcionalidades. Tras cada ciclo el proyecto contará ya con las nuevas funcionalidades, no hay que esperar al final para ir viendo avances.
Las fases para un proyecto son, normalmente, las siguientes:
1. Toma de contacto
Nos reunimos contigo y tu equipo para entender exactamente la esencia de lo que quieres crear, o el problema a resolver. Nos interesa conocer la raíz porque es la forma en la que más podemos aportar en la solución, gracias a toda nuestra experiencia previa.
2. Estimación
El desarrollo llevará, seguramente, más de un ciclo de trabajo (sprints en la nomenclatura de Scrum, una de las metodologías ágiles más populares). En cualquier caso, y para que te hagas una idea del coste final del proyecto o de lo alcanzable en función de tu presupuesto, te daremos una estimación de la cantidad de ciclos que podría llevar en su definición actual (lo bueno de las metodologías ágiles es que es fácil y poco traumático que esto vaya cambiando durante el desarrollo).
3. Arquitectura
Como si de una casa se tratase, no empezamos alicatando los baños, lo primero es definir la arquitectura que sustentará el proyecto, siempre pensando en la escalabilidad (que el sistema se adapte fácilmente a la carga de trabajo en función de usuarios/cantidad de procesamiento, etc) y a que sea fácil de mantener.
4. Desarrollo
Gracias al uso de metodologías ágiles, al finalizar cada ciclo de trabajo (sprints), podrás ver el resultado del mismo e ir viendo cómo nos vamos acercando al resultado final esperado. Después de cada ciclo podemos introducir cambios para el siguiente, cambiar prioridades, ajustarnos, en definitiva, a las nuevas realidades que surjan. Todo este proceso lo hacemos en constante comunicación contigo en nuestras herramientas de control de proyectos, a las que te daremos acceso. Mediante el uso de integración continua, garantizamos que los nuevos cambios no afectan a lo ya desarrollado, especialmente con el desarrollo de pruebas unitarias y de integración, que iremos desarrollando a la vez que desarrollamos la funcionalidad.
5. Entrega
Dado que entregamos a menudo, utilizamos herramientas para que la entrega a producción de los nuevos desarrollos no sea traumática, ni para ti ni para nosotros, con sistemas de automatización de los despliegues (la entrega del software en cualquiera de los entornos que usamos -desarrollo, integración, producción), y sistemas de entrega continua.