El mundo del desarrollo software tiene diferentes caminos para poder llevar a cabo estas producciones, una de ellas es el uso de metodologías ágiles, gracias a las mismas podemos ser más eficientes, eficaces, productivos y realizar las actividades de una mejor manera que otros caminos más tradicionales que conocemos.
El problema de las metodologías ágiles es que se pierde su potencial porque solo se centra en el uso de las más conocidas, cuando para nuestro proyecto podríamos encontrar una metodología que se adapte a las necesidades de una manera más correcta y precisa, haciendo que nuestra producción incremente su potencial, por tanto en vez de centrarnos en metodologías ágiles conocidas como podría ser Scrum, Extreme Programming o Kanban, vamos a explicar diferentes metodologías que son menos pronunciadas pero puede ser más eficaz para nuestro proyecto.
Crystal
El nombre de esta metodología hace referencia a un cristal, este es un material el cual podemos clasificar según el color y dureza, que si lo adaptamos a un proyecto software lo que nos encontramos son las características de tamaño y criticidad, de esta manera podemos valorar en función a estas 2 dimensiones. De esta manera se ordenan los proyectos en una escala en función del número de personas que serán necesarias para abordar el proyecto, de tal manera:
-
Clear: 8 personas o menos
-
Amarillo: 10 a 20 personas
-
Naranja: 20 a 50 personas
-
Rojo: 50 a 100 personas
-
Y continuando en una escala de colores avanzando hacía más oscuros.
Y las propiedades que nos pueden ayudar ya que son las características principales de esta metodología son:
-
Entregas frecuentes:
Esto es debido a que el ciclo de vida de esta metodología es iterativo e incremental, lo que se nos puede parecer a Scrum con las entregas después de cada sprint.
-
Mejora reflexiva:
Una mejora continua, lo que nos lleva a una constante mejora de la productividad.
-
Comunicación osmótica:
Un equipo unido y con una comunicación fluida, y de fácil acceso.
-
Seguridad personal:
Tener en cuenta la opinión de todo el mundo.
-
Enfoque:
Hay que tener claros los objetivos y metas.
-
Fácil acceso a usuarios expertos:
No trata de una constante accesibilidad al usuario, pero que este disponible paras las reuniones del proyecto.
-
Entorno técnico con pruebas automatizadas:
Prácticas sobre el producto en cuestión.
FDD
Las siglas FDD tratan de Feature Driven Development, ayudando a crear software mediante un ciclo de vida iterativo e incremental, igual que encontramos en Scrum, pero esta metodología ágil es orientada a equipos más grandes, con gran número de personas implicadas en el proyecto.
Esta metodología es más fácil de encontrar, ya que encontramos que su uso es más sencillo y ubicable en grandes empresas con montones de trabajo y de desarrollo. Ya viendo el ciclo nosotros podemos llegar a diferenciar 5 grandes aspectos dentro de los procesos:
-
Desarrollar el modelo global
-
Construir una lista de características
-
Planificar
-
Diseñar
-
Construir
Llevando a cabo estas iteraciones dentro del ciclo de vida podemos asegurar la eficacia de esta metodología ágil. Ya que los equipos de desarrollo necesitan un tiempo para poder planificar y desarrollar todas las actividades necesarias para la producción.
DSDM
DSDM hace referencia al Método de Desarrollo de Sistemas Dinámicos, esto en lo que se basa en un uso más eficaz del tiempo y de los recursos, incrementando la disciplina de las metodologías de desarrollo rápido de aplicaciones. Con esto se buscaba enfocarse en el ciclo de vida completo del proyecto, ya que para una eficiencia de las herramientas necesitamos tener acceso a su control en todo momento, imponiendo así su disciplina y gobernanza, para ello tendremos que saber los principios del DSDM:
-
Centrarse en la necesidad comercial
-
Entregar a tiempo
-
Colaborar
-
Nunca comprometer calidad
-
Construir incrementalmente a partir de cimientos firmes
-
Desarrollar iterativamente
-
Comunicarse de forma continua y clara
-
Demostrar control
Una vez entendidos los principios básicos del DSDM se puede apreciar que se busca la disciplina y contemplar cada detalle en el ciclo de vida del proyecto para tener todo controlado y bajo supervisión para no encontrar errores ni fallos.
Lo cual nos lleva a centrarnos en las actividades que se realiza durante cada ciclo de vida de un proyecto:
-
Estudio de viabilidad
Primera actividad previa al ciclo, esto sirve para observar detalles y características de cómo se puede desarrollar esta etapa.
-
Estudio de negocios
Segunda actividad para establecer las necesidades y funcionalidades que se necesitan cubrir durante este ciclo de vida.
-
Iteración del modelo funcional
Para esta etapa lo que nos centramos es en observar la funcionalidad del producto y cómo continuar el desarrollo del proyecto.
-
Diseño y construcción de iteración
Una vez recopilada la información de la etapa anterior, en esta solo es necesario analizar la información y datos para poder elaborar una buena planificación del diseño y construcción del proyecto en las iteraciones necesarias.
Add new comment