Académique Documents
Professionnel Documents
Culture Documents
TRADICIONALES
Metodologías de Desarrollo:
Para esto existen las metodologías tradicionales que se modificaron para poder
aplicarlas al desarrollo de software, aunque durante mucho tiempo fueron la única
solución al desarrollo, hizo estas metodologías poco flexibles y muy cuadriculadas. Estas
consistían en una serie fundamentos y conceptos aplicados al desarrollo de software,
documentación, planificación y procesos. (Plantillas, técnicas de administración,
revisiones, etc.)
El término ágil, nace en febrero de 2001 en una reunión en Utah (EEUU), aplicado al
desarrollo de software, su objetivo era idear los valores y principios que permitirían a los
equipos de desarrollo crear software rápidamente, respondiendo a los cambios surgidos a
lo largo del proyecto, ofreciendo una alternativa a los procesos tradicionales. En dicha
reunión se creó The Agile Alliance, organización, sin ánimo de lucro, que promueve los
conceptos relacionados con el desarrollo ágil de software, apoyando las organizaciones
para que adopten dichos conceptos.
Según el Manifiesto ágil, se valora al individuo y las interacciones del equipo de desarrollo
sobre el proceso y las herramientas, desarrollar software que funciona (más que conseguir
una buena documentación), la colaboración con el cliente (más que la negociación
mediante contrato), respuesta a los cambios (más que seguir rigurosamente algún plan).
- Los clientes interactúan con el equipo de - Los clientes hacen parte del equipo de
desarrollo mediante reuniones desarrollo
- Seguimiento estricto del plan inicial de - Capacidad de respuesta ante los cambios
desarrollo
Estas diferencias, no solo afectan el proceso en sí, sino también el contexto del equipo de
trabajo y su organización
- Cliente: Escribe las historias de usuario y las pruebas funcionales para validar su
implementación, también asigna la prioridad a las historias de usuario y decide cuáles se
implementan en cada iteración centrándose en aportar mayor valor al negocio.
- Entrenador o Coach: Responsable del proceso global, provee guías al equipo de manera
que se apliquen las prácticas XP y se siga el proceso correctamente.
- Consultor: Miembro externo del equipo, con conocimiento específico en algún tema
necesario para el proyecto, ayuda a resolver problemas que puedan surgir.
- Gestor o Big Boss: Es el vínculo entre clientes y programadores, encargado de que el
equipo trabaje efectivamente creando condiciones adecuadas. Su labor principalmente es
coordinación.
- Exploración
- Iteraciones,
- Producción
- Mantenimiento
Ventaja:
Una de las contribuciones más importantes del modelo cascada es para los
administradores, posibilitándoles avanzar en el desarrollo, aunque en una
escala muy bruta.
Desventajas:
Critica:
Este es un modelo en el cual se debe usar cuando todos los requerimientos han
sido establecidos claramente de entrada.
Escuchar al Con
cliente prot
Validar
prototipo
Diferente del modelo evolutivo donde los requerimientos mejor entendidos están
incorporados, un prototipo generalmente se construye con los requerimientos
entendidos más pobremente.
Desventajas:
Se debe usar cuando inicialmente no están claros los requerimientos. Para así
definir claramente de entrada las reglas con el cliente.
3. MODELOS EVOLUTIVOS
Se adaptan más fácilmente a los cambios introducidos a lo largo del
desarrollo.
Iterativos
En cada iteración se obtienen versiones más completas del SW.
Se observa que existen actividades de desarrollo (para cada incremento) que son
realizadas en paralelo o concurrentemente, así por ejemplo, en la figura, mientras
se realiza el diseño detalle del primer incremento ya se está realizando en análisis
del segundo.
Ventajas:
Desventajas:
Critica:
Características:
Este sistema es muy utilizado en proyectos largos como pueden ser la creación de
un Sistema Operativo. Y que necesitan constantes cambios.
Al ser un modelo de Ciclo de Vida orientado al riesgo se dice que uno de los
aspectos fundamentales de su éxito radica en que el equipo que lo aplique sea
capaz de detectar y catalogar correctamente dicho riesgo.
Desventajas:
Critica:
Este modelo es útil para grandes proyectos pero no ha sido utilizado tanto como el
lineal secuencial o el de prototipos. Tiene similitud con el modelo en cascada, pero
aquí lo enfoca en un sistema más real.
"Es así que la obtención de requisitos requiere una negociación, que tiene éxito
cuando ambas partes ganan".
Las mejores negociaciones se fuerzan en obtener "Victoria & Victoria" (Win &
Win), es decir que el cliente gane obteniendo el producto que lo satisfaga, y el
desarrollador también gane consiguiendo presupuesto y fecha de entrega realista.
Evidentemente, este modelo requiere fuertes habilidades de negociación.
(*) Directivo: Cliente escogido con interés directo en el producto, que puede ser
premiado por la organización si tiene éxito o criticado si no.
Critica:
En este modelo las actividades que se definen son importantes como lo son: la
identificación del sistema, la determinación de las condiciones y la negociación de
estas.
Esto no sorprende a nadie que ha estado involucrado con las diversas actividades
que ocurren en algún tiempo del proceso de desarrollo de software.
Los requerimientos son usualmente "líneas de base", cuando una mayoría de los
requerimientos comienzan a ser bien entendidos, en este tiempo se dedica un
esfuerzo considerable al diseño. Sin embargo, una vez que comienza el diseño,
cambios a los requerimientos son comunes y frecuentes (después de todo, los
problemas reales cambian, y nuestro entendimiento de los problemas
desarrollados también). Es desaconsejado detener el diseño en este camino
cuando los requerimientos cambian; en su lugar, existe una necesidad de
modificar y rehacer líneas de base de los requerimientos mientras progresa el
diseño. Por supuesto, dependiendo del impacto de los cambios de los
requerimientos el diseño puede no ser afectado, medianamente afectado o se
requerirá comenzar todo de nuevo.
Critica: