viernes, 3 de octubre de 2014

Modelo de desarrollo de Sistemas Dinámicos

Modelo de desarrollo de Sistemas Dinámicos (MDSD) 

Es un método de desarrollo de software de forma ágil. Este método considera como clave al cliente, ya que cliente y desarrollador comparten el entorno de trabajo.

El DSDM se centra en dar el poder al equipo de desarrolladores para evitar la espera de aprobaciones de los superiores. Además de realizar frecuentes entregas del producto (se considera mejor entregar algo temprano que entregar el total al final) 



Ventajas 
  • La calidad del producto es mejorada a través de la participación de los usuarios a lo largo del ciclo de vida del proyecto y la naturaleza iterativa del desarrollo.
  • DSDM asegura desarrollos rápidos. 
  • Reduce los costos de proyectos a través de las ventajas mencionadas anteriormente 
  • Permite realizar cambios de forma fácil. 
  • Permite la reutilización de aplicación a través de los módulos existentes. 
Desventajas
  • Se necesita una alta participación de los usuarios en el desarrollo, para evitar que los desarrolladores asuman criterios que no son ciertos. 
  • No es una metodología de desarrollo común. El proceso es un tanto difícil de comprender

jueves, 2 de octubre de 2014

Desarrollo Adaptativo del Software

Desarrollo Adaptativo del Software (DAS)

DAS es una técnica utilizada para desarrollar Software. Se basa en una propuesta ágil que tiene como fundamento en aprendizaje y colaboración en el grupo de desarrolladores.



Especulación:
En la fase de especulación se inicia el desarrollo del proyecto. En ella se utiliza información como la misión del cliente, las restricciones del proyecto y los requisitos básicos para definir el conjunto de ciclos en el que se harán los incrementos del software.

Colaboración:

Para la fase de colaboración se busca que el equipo no solo se comunique o se encuentre completamente integrados, se desea que exista confianza, donde se puedan realizar críticas constructivas y ayudar si resentimientos, trabajar tan duro como sea posible, comunicar de una forma oportuna los problemas que se presenten para tomar acciones efectivas y poseer un conjunto de actitudes que contribuyan al trabajo que se encuentran realizando.

Aprendizaje:
El aprendizaje permite mejorar el entendimiento real sobre la tecnología, los procesos utilizados y el proyecto. El aprendizaje individual permite al equipo tener mayor posibilidad de éxito.

Características:

Trabajo orientado y guiado por la misión del proyecto
Basado en la funcionalidad
Desarrollo iterativo
Desarrollo acotado temporalmente
Guiado por los riesgos
El desarrollo si tolera cambios

Ventajas:

Se puede utilizar en cualquier tipo de proyecto
En equipo de desarrollo tiene más probabilidades de éxito

Desventaja:

Se enfoca solo a la programación sin darle mayor importancia a la documentación (esto puede ser mal visto y puede dificultar el trabajo de los desarrolladores más tradicionales)