1. Paradigma Tradicional:
Modelo de cascada[editar]
Artculo principal: Desarrollo en cascada
El modelo de cascada define las siguientes etapas que deben cumplirse de forma
sucesiva:
1. Especificacin de requisitos
4. Integracin
5. Pruebas (o validacin)
6. Despliegue (o instalacin)
7. Mantenimiento
Siguiendo el modelo de cascada de forma estricta, slo cuando se finaliza una fase,
comienza la otra. En ocasiones se realiza una revisin antes de iniciar la siguiente
fase, lo que permite la posibilidad de cambios (lo que puede incluir un proceso de
control formal de cambio). Las revisiones tambin se utilizan para asegurar que la
fase anterior ha sido totalmente finalizada; los criterios para completar una fase se
conocen frecuentemente con el trmino ingls "gate" (puerta). Este modelo
desaconseja revisitar y revisar fases que ya se han completado. Esta falta de
flexibilidad en un modelo de cascada puro ha sido fuente de crtica de los defensores
de modelos ms flexibles.
Modelo de espiral[editar]
Artculo principal: Desarrollo en espiral
La espiral se visualiza como un proceso que pasa a travs de algunas interaciones con
el diagrama de los cuatro cuadrantes representativos de las siguientes actividades:
Modelo de espiral con nfasis en los riesgos, haciendo hincapi en las condiciones de
las opciones y limitaciones para facilitar la reutilizacin de software, la calidad del
software puede ayudar como una meta propia en la integracin en el desarrollo del
producto. Sin embargo, el modelo en espiral tiene algunas limitaciones, entre las que
destacan:
La primera fase es la bsqueda de un plan para conseguir los objetivos con las
limitaciones del proyecto para as buscar y eliminar todos los riesgos potenciales por
medio de un cuidadoso anlisis, y si fuera necesario incluyendo la fabricacin de un
prototipo. Si es imposible descartar algunos riesgos, el cliente ha de decidir si es
conveniente terminar el proyecto o seguir adelante ignorando los riesgos. Por ltimo,
se evalan los resultados y se inicia el diseo de la siguiente fase.
Desarrollo gil[editar]
Artculo principal: Desarrollo gil de software
El desarrollo gil de software utiliza un desarrollo iterativo como base para abogar
por un punto de vista ms ligero y ms centrado en las personas que en el caso de las
soluciones tradicionales. Los procesos giles utilizan retroalimentacin en lugar de
planificacin, como principal mecanismo de control. La retroalimentacin se canaliza
por medio de pruebas peridicas y frecuentes versiones del software.
Codificacin y correccin[editar]
El desarrollo de codificacin y correccin (en ingls "Code and fix") es, ms que una
estrategia predeterminada, el resultado de una falta de experiencia o presin que se
ejerce sobre los desarrolladores para cumplir con una fecha de entrega.7 Sin dedicar
tiempo de forma explcita para el diseo, los programadores comienzan de forma
inmediata a producir cdigo. Antes o despus comienza la fase de pruebas de
software (a menudo de forma tarda) y los inevitables errores que se encuentran han
de eliminarse antes de poder entregar el software.
Orientado a la Reutilizacin[editar]
4. Solo el 15% del cdigo encontrado en muchos sistemas es nico y novedoso a una
aplicacin especifica.
Cada uno de los roles aportar al grupo parte del total necesario para tener xito en el
desarrollo. Los roles son necesarios para cubrir todas las especificaciones necesarias
para cumplir un proceso ya que no todos tenemos las mismas cualidades y
experiencias. Adems al asignar roles, se definen objetivos y actividades para cada
uno; lo anterior evitando que alguna actividad no sea asignada o que dos personas
realicen el mismo trabajo.
Gerente de proyecto[editar]
Tiene por funcin presentar informes sobre las litigaciones de riesgos, hacer cumplir
los plazos y lleva el control de los costos. Tambin organiza el equipo, realiza
planificacin y estima el tiempo de las actividades. En conclusin, resuelve
problemas.
Analista de requerimientos[editar]
Testeador[editar]
Disea y ejecuta las pruebas, para ello requiere conocer el producto a probar claro
esta, estudiar funcionalidad del producto y desarrollar las pruebas que revelen
incidentes crticos. Reporta los incidentes y provee informacin sobre la calidad del
sistema.
Arquitecto de software[editar]
Determina las estructuras de la aplicacin y las tecnologas con las que se construir
la aplicacin. Esta encargado del aseguramiento de la calidad, mejorar continuamente
la arquitectura. Gestiona los requerimientos no funcionales, asume la direccin
tcnica para asegurar que todos los aspectos de la arquitectura se estn desarrollando
de manera correcta.
Debe ser una persona con un innato sentido de liderazgo, dispuesto a formar a los
integrantes del equipo, dispuesto a recibir y aplicar abiertamente recomendaciones.