METOLOGIAS DE DESARROLLO
METODOLOGÍAS ÁGILES DE DESARROLLO
Surge como iniciativa de un conjunto
de expertos en el área de desarrollo de software con el
fin de optimizar el proceso.
Caracterizado por ser rígido y con mucha documentación.
Es un documento donde se detalla todo lo
que involucra la filosofía “ágil”.
GESTIÓN DE PROYECTOS INFORMÁTICOS
EMPRESARIALES
• Software
• Hardware
• Comunicaciones y Redes
• Instalaciones de Hardware
• Auditoria, etc.
PLANEACION
• Definición del problema • Planificación del proyecto
En esta fase se tienen que plantear los objetivos del
proyecto identificando todos los recursos necesarios
para poderlos alcanzar
EJECUCION
• Puesta en marcha • Fase productiva • Conclusión del proyecto
Durante esta fase se trata de poner en práctica lo planeado en la fase anterior, la ejecución se verá fuertemente influida por la planeación.
SOPORTE
• Mantenimiento del sftware
La fase de soporte o mantenimiento es la que viene
después de la implantación y consiste en mantener
funcional el sistema informático, operando en óptimas.
MANIFESTO ÁGIL
Es un documento que engloba principios y valores
que hacen diferente un proyecto de desarrollo de software ágil de uno en su forma tradicional.
• Al individuo y las interacciones del equipo de
desarrollo sobre el proceso y las herramientas.
• Desarrollar software que funcione más que la
documentación del mismo.
• La colaboración con el cliente más que la
negociación de su contrato.
• Responde a los cambios más que seguir con el
plan establecido.[5]
PRINCIPALES METODOLOGIAS ÁGILES
SCRUM
Scrum se basa en la teoría de control de procesos empírica o empirismo. El empirismo asegura que el conocimiento procede de la experiencia y de tomar decisiones basándose en lo que se conoce.
• Transparencia
• Inspección
• Adaptación
EQUIPO DE DESARROLLO DE SCRUM
• Scrum Master Es un líder que está bajo el servicio del
equipo scrum, este miembro ayuda al equipo y a los
clientes externos a comprender las interacciones que
pueden ser de ayuda y cuáles no lo son.
• Product Owner Es la persona responsable de transmitir
al equipo de desarrollo la visión del producto que se desea crear, aportando la perspectiva de negocio.
• Stakeholders Conjunto de personas que no forman parte directa del proceso de desarrollo pero que si deben ser tenidos en cuenta, por ser personas interesadas en el mismo, tales como directores, gerentes, comerciales etc.
• Usuarios Al igual que los Stakeholders no forman parte del proceso de creación directamente (podrían estar
en la fase de revisión de entregables si se considera
necesario).
• Equipo de desarrollo Equipo responsable de desarrollar y entregar el producto. Mantiene una organización horizontal en la que cada miembro del equipo se auto gestiona y organiza libremente en la definición y
ejecución de los distintos sprints.
EXTREME PROGRAMMING (XP)
La programación extrema es una metodología que se basa en una serie de reglas y principios que se han utilizado a lo largo de toda la historia del desarrollo de software
Retroalimentación a Escala Fina, en esta fase
se encuentran diversos principios como los de
realización de pruebas, proceso de planificación, el cliente en el sitio y programación en parejas.
Proceso Continuo en lugar de por lotes, permite la integración continua, refactorización (Evaluar el diseño del sistema a los largo de todo el proyecto y codificar si es necesario)
y entregas pequeñas.
Entendimiento compartido, en esta categoría
se definen criterios como el de crear un diseño
fácil, las tarjetas CRC (Clase, Responsabilidad y
Colaboración) y la creación de la metáfora del
sistema o historia completa.
Bienestar del programador, se rige por la filosofía que un programador cansado, exhausto crea código de mala calidad
CRYSTAL CLEAR
Crystal es una metodología en la cual se establecen
códigos de color como parte de la definición de la complejidad de la misma, si es más oscuro entonces el método Crystal es una metodología en la cual se establecen códigos de color como parte de la definición de la complejidad de la misma, si es más oscuro entonces el método
C: pérdida de confort debido a un fallo del sistema
D: pérdida de dinero discrecional (nuestro dinero)
E: pérdida de dinero esencial (este es el dinero del cual no se puede disponer)
L: pérdida de vidas por el fallo del sistema [8]
ROLES Y PRODUCTOS EN CRYSTAL CLEAR
En Crystal Clear existen ocho diferentes roles asignados a los miembros del equipo (sponsor ejecutivo, usuario experto, diseñador líder, diseñador-programador, experto del negocio, coordinador, tester, writer).
PLATAFORMAS Y ARQUITECTURAS
Se cuentan también con diferentes plataformas en las cuales se puedan ejecutar, siendo las principales:
OpenProject: incluye gestión de timeline, workpackacges, gestión documental, Wikis, News y Foros para colaboración y existen plugin para gestión de costos o
metodologías ágiles como SCRUM.
IceScrum: como su nombre sugiere está enfocada a soportar la metodología ágil Scrum. Sprints, Product Management, Release Plan, Sandbox.
TeamWork Project: herramienta online para gestionar distintos proyectos y equipos de trabajo. Accesible desde móviles.
X Planner: X-Man (Extreme Manager) es una herramienta fácil para gestión y seguimiento de proyectos ágiles. Si trabajas con un formato ágil tipo XP o Scrum.
Agile Mantis: es un plugin utilizado en el programa MantisBT y este trae todos los componentes necesarios para desarrollar la metodología Scrum.
METODOLOGÍAS TRADICIONALES VRS.
ÁGILES
La incorporación de nuevas tecnologías y formas de
llevar a cabo el proceso de desarrollo de software
ha venido revolucionando de manera tal que se han
dejado de lado los largos procesos y documentación
exhaustiva.
Personas
Alta prioridad: Se facilita relación cliente-desarrollador
Proceso
Prioridad media: Incremental y evolutivo
Tecnología
Baja prioridad: Solo cobra importancia al final
Modelos
Artefacto secundario: Se producen cuando es absolutamente necesario.
Software
Artefacto prioritario: Es la única medida del progreso.