Metodologia Crystal

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 28

METODOLOGÍA

CRYSTAL
SISTEMA ORIENTADO A OBJETOS
METODOLOGÍAS ÁGILES
Las metodologías Buscan una
fuerte
se clasifican planificación y
documentación
durante todo el
desarrollo

Tradicionales

Se enfoca al
desarrollo de
Ágiles software el cual
es incremental,
cooperativo,
sencillo y
adaptado.
Es un conjunto de diferentes metodologías
creadas por Alistar Cockburn que
podemos seleccionar en función del tipo
de proyecto que se desea desarrollar.

Está orientada a las personas que


integran el equipo o grupo de
desarrolladores, que son en su mayor
parte sobre los que recaerá el éxito o
fracaso del proyecto, así como a la
disminución de artefactos que se

Filosofía Crystal
produzcan.
¿Qué es la Metodología Crystal?
◦ Una familia de metodologías ágiles
centradas en las personas y sus
interacciones.
◦ Se caracteriza por su adaptabilidad a
las características específicas de cada
proyecto y equipo.
◦ Enfatiza la importancia de la
comunicación, la colaboración y la
entrega frecuente de software
funcional.
Interacción

Comunidad Habilidades

Metodología
Crystal
Personas Talentos

Comunicaciones
1. Interacción:
•Definición: La comunicación abierta y frecuente entre todos los miembros del equipo y con los
usuarios es crucial para el éxito del proyecto. Crystal promueve reuniones regulares,
retroalimentación constante y un ambiente colaborativo donde todos se sienten escuchados.
•Ejemplo: El equipo de desarrollo realiza demostraciones frecuentes del software a los usuarios para
obtener comentarios y ajustar el producto según las necesidades.
2. Habilidades:
•Definición: Se valora el conocimiento y la experiencia de cada individuo. Se fomenta el desarrollo
profesional y la capacitación continua para que los miembros del equipo puedan crecer y contribuir
al máximo.
•Ejemplo: Un miembro del equipo con experiencia en seguridad de software comparte sus
conocimientos con el resto del equipo para mejorar la protección del producto.
3. Talentos:
•Definición: Se reconoce que cada persona tiene diferentes fortalezas y debilidades. Se asigna el
trabajo en función de las habilidades y aptitudes de cada miembro del equipo para optimizar la
eficiencia y el rendimiento.
•Ejemplo: Un desarrollador creativo se encarga del diseño de la interfaz de usuario, mientras que un
programador metódico se encarga de la implementación del código.
4. Comunicaciones:
•Definición: La comunicación clara, concisa y transparente es esencial para evitar confusiones y
malentendidos. Crystal promueve el uso de un lenguaje sencillo y comprensible para todos los
involucrados en el proyecto.
•Ejemplo: El equipo utiliza una herramienta de gestión de tareas para mantener a todos informados
sobre el progreso del proyecto y las responsabilidades asignadas.

5. Personas:
•Definición: Las personas son el centro de la metodología Crystal. Se reconoce que el éxito del
proyecto depende del compromiso, la motivación y el trabajo en equipo de todos los
involucrados.
•Ejemplo: Se celebran eventos de equipo para fomentar la camaradería y el sentido de
pertenencia, lo que contribuye a un ambiente de trabajo positivo y productivo.
6. Comunidad:
•Definición: Crystal fomenta la colaboración entre equipos y la participación en la comunidad de
desarrollo de software. Se comparten experiencias, mejores prácticas y soluciones a problemas
comunes.
•Ejemplo: El equipo participa en foros en línea y conferencias para aprender de otros profesionales
y mantenerse actualizado sobre las últimas tendencias en la industria del software.
Entregas frecuentes Mejora reflexiva

Definición: Se entregan versiones


incrementales del software de forma regular, Definición: Se dedica tiempo regularmente
permitiendo al equipo recibir feedback para reflexionar sobre el proceso de trabajo,
temprano y ajustar el producto según las identificar áreas de mejora e implementar
necesidades del cliente. cambios.

Ejemplo: Cada dos semanas, el equipo Ejemplo: Al final de cada iteración, el equipo
entrega una nueva versión del software al realiza una retrospectiva para discutir lo que
cliente para que la pruebe y proporcione salió bien y lo que se puede mejorar en el
comentarios. futuro.
Comunicación Osmótica Seguridad personal

Definición: Se crea un ambiente de trabajo


Definición: La comunicación fluye libremente seguro donde los miembros del equipo se
entre todos los miembros del equipo, sin sienten cómodos para expresar sus ideas y
barreras jerárquicas. Se fomenta la tomar riesgos sin miedo a represalias.
colaboración y el intercambio de ideas.
Ejemplo: El equipo sigue los principios de "No
Ejemplo: El equipo se reúne diariamente para culpar" y "Enfocarse en las soluciones" para
discutir el progreso del proyecto, resolver fomentar un ambiente de aprendizaje y
problemas y tomar decisiones. crecimiento.
Enfoque, prioridades claras Fácil acceso a usuarios
Definición: Los miembros del equipo tienen
acceso directo a los usuarios finales, lo que
Definición: Se trabaja en una sola tarea a la les permite comprender mejor sus
vez, evitando la multitarea y las distracciones. necesidades y obtener feedback de primera
Esto permite maximizar la concentración y la mano.
productividad. Ejemplo: Los desarrolladores realizan sesiones
Ejemplo: El equipo utiliza la técnica de "observación en el lugar" para ver cómo
Pomodoro para trabajar en intervalos de 25 los usuarios interactúan con el software en su
minutos con breves descansos entre ellos. entorno natural.

Ambiente técnico con prueba automatizada


Definición: Se utiliza un conjunto de pruebas automatizadas para garantizar la calidad del código y
prevenir errores. Esto permite una entrega más rápida y confiable del software.
Ejemplo: El equipo utiliza herramientas de integración continua para ejecutar pruebas
automatizadas de forma regular y detectar problemas de forma temprana.
Exploración 360° ESTRATEGIAS Victoria Temprana

Definición: Investigar diferentes


enfoques y soluciones para un
problema antes de Definición: Enfocarse en
comprometerse con un plan entregar funcionalidades
específico. valiosas al cliente lo antes
posible.
Ejemplo: Un equipo que Ejemplo: Un equipo que
desarrolla una nueva función desarrolla una aplicación web
de software utiliza la divide el proyecto en etapas
exploración de 360° para más pequeñas y entrega cada
investigar diferentes opciones etapa al cliente para recibir
de diseño y arquitectura. Esto comentarios. Esto les permite
les ayuda a seleccionar la mejor ajustar el desarrollo del
solución para las necesidades proyecto en función de las
del proyecto. necesidades del cliente.
Esqueleto caminante ESTRATEGIAS Arquitectura
incremental

Definición: Crear una versión


Definición: Realizar cambios en
básica y funcional del software
la arquitectura del software a
que se puede mejorar
medida que avanza el
iterativamente.
proyecto.
Ejemplo: Un equipo que
Ejemplo: Un equipo que
desarrolla un juego crea una
desarrolla una aplicación
versión inicial del juego con solo
empresarial comienza con una
las características básicas.
arquitectura simple y luego la
Luego, agregan características
va refiniendo a medida que
adicionales y mejoran el juego
crecen las necesidades de la
en función de los comentarios
aplicación.
de los jugadores.
ESTRATEGIAS

Radiadores de información

Definición: Visualizar el progreso del proyecto y los problemas


pendientes para que todos los miembros del equipo estén
informados.

Ejemplo: Un equipo que desarrolla un software utiliza un


tablero físico para mostrar el estado de las tareas, los errores y
los riesgos del proyecto. Esto ayuda a mantener a todos los
miembros del equipo al día y a identificar posibles problemas
antes de que se conviertan en problemas mayores.
Entrevista de proyectos Técnicas
Definición: Una conversación formal con las partes interesadas del proyecto
para recopilar información y comprender sus necesidades y expectativas.
Ejemplo: Un gerente de proyecto entrevista a los clientes para comprender sus
objetivos para el nuevo software que se está desarrollando.

Talleres de reflexión

Definición: Sesiones grupales para que los miembros del equipo discutan
el progreso del proyecto, identifiquen problemas y oportunidades, y
tomen decisiones.

Ejemplo: Un equipo de desarrollo de software realiza un taller de reflexión


después de cada iteración del proyecto para discutir lo que salió bien, lo
que podría mejorarse y los próximos pasos.
Planeamiento Blitz
Técnicas
Definición: Una sesión corta e intensa para planificar una fase o iteración del
proyecto.
Ejemplo: Un equipo utiliza la planificación blitz para planificar la próxima
versión de su aplicación web. Identifican las características que se
implementarán, asignan tareas a los miembros del equipo y estiman el
tiempo que tomará cada tarea.

Estimación Delphi

Definición: Una técnica para obtener estimaciones precisas del tiempo


y el esfuerzo que requerirá una tarea.

Ejemplo: Un equipo utiliza la estimación Delphi para estimar el tiempo


que llevará desarrollar una nueva función de software. Cada miembro
del equipo estima individualmente el tiempo que llevará la tarea, y
luego el equipo discute las estimaciones y llega a un consenso.
Reuniones en pie diarias
Técnicas
Definición: Breves reuniones diarias para que los miembros del equipo
compartan su progreso, identifiquen obstáculos y busquen ayuda si la
necesitan.
Ejemplo: Un equipo de desarrollo de software realiza reuniones diarias
de pie para mantenerse informados sobre el progreso de los demás,
identificar cualquier problema potencial y resolverlos rápidamente.

Diseño de interacciones esenciales

Definición: Un proceso para diseñar una interfaz de usuario que sea


simple, intuitiva y fácil de usar.

Ejemplo: Un equipo de diseño de UX utiliza el diseño de interacciones


esenciales para diseñar la interfaz de usuario de una nueva aplicación
móvil. Se enfocan en crear una interfaz que sea fácil de navegar y que
ayude a los usuarios a completar sus tareas de manera rápida y eficiente.
Técnicas
Miniatura de procesos
Definición: Un modelo visual de un proceso de negocio que muestra
los pasos involucrados y cómo se relacionan entre sí.

Ejemplo: Un equipo de mejora de procesos crea una miniatura de


procesos para identificar los cuellos de botella en su flujo de trabajo
actual. Esto les ayuda a identificar áreas donde pueden mejorar la
eficiencia.

Programación lado a lado

Definición: Una práctica en la que los miembros del equipo


trabajan juntos en el mismo espacio físico para mejorar la
comunicación y la colaboración.

Ejemplo: Un equipo de desarrollo de software practica la


programación lado a a lado para compartir código, resolver
problemas y aprender unos de otros.
ESCALA COCKBURN
DE CLASIFICACIÓN
DE PROYECTOS
Tamaño Se le asigna un valor en función del
número de personas que participarían

20  proyectos 100


proyectos entre 20 y proyectos
entre 3 y 8 proyectos proyectos entre 100 y
50
personas entre 10 y entre 50 y 200
personas
20 100
personas personas
8 50 200

Numero de participantes
ROLES EN UN
EQUIPO
Roles
Patrocinador Ejecutivo (Executive Sponsor): permite la realizacion del Proyecto y provee el dinero necesario para la
1 ejecución inicial del proyecto. Produce la mision con prioridades de compromiso

•Diseñador Principal (Lead Designer): deberá ser el mejor desarrollador del equipo, en principio lograría desarrollar el
2 sistema por completo. Produce la descripción arquitectonica

•Usuario Experto (Ambassador User): El equipo de desarrollo se encuentra en contacto con usuarios expertos del sistema.
3 Junto con el experto de negocios produce lista de actores objetivos, casos de uso y requerimientos

•Diseñador Programador (Designer Programmer): Este produce junto con el diseñador principal el código necesario para
4 la ejecución del sistema.

Coordinador (Coordinator): toma nota de cómo va el proyecto, planeando y verificando estado de cada sesión y luego
5 publicarla. Produce el mapa del proyecto, plan de entrega y estado de proyecto

Experto en Negocios (Business Expert): Define que políticas o estrategias deberán mantenerse o cambiarse. Deberá
6 permanecer en contacto con los desarrolladores, realizando preguntas frecuentes sobre la ejecución del sistema.

Verificador (Tester): cualquier miembro del equipo está en la facultad de producir los reportes, sobre el estado del
7 proyecto o del sistema en desarrollo.

Escritor (Writter): el papel que desempeña es de plasmar el manual de usuario del sistema
8
Roles
Patrocinador Ejecutivo:
•El director del Instituto Trentino Juan Pablo II.
•Responsabilidades:
• Aprobar el proyecto de desarrollo del sistema de matrícula.
• Asignar recursos financieros y humanos al proyecto.
• Garantizar que el sistema de matrícula cumpla con los objetivos
estratégicos del instituto.
• Comunicarse con las partes interesadas clave, como la parroquia
y los padres de familia.
Diseñador principal:
•Un profesional con experiencia en diseño de software y sistemas de
información.
•Responsabilidades:
• Diseñar la arquitectura general del sistema de matrícula.
• Crear prototipos y maquetas de la interfaz de usuario.
• Guiar al equipo de desarrollo en la implementación del diseño.
• Asegurar que el diseño cumpla con los requisitos del proyecto y
las necesidades de los usuarios.
Roles
Diseñador-programador:
Un desarrollador de software con habilidades de diseño y programación.
Responsabilidades:
Escribir código para implementar el diseño del sistema de matrícula.
Probar y depurar el código.
Trabajar con el diseñador líder para resolver problemas de diseño y desarrollo.
Documentar el código.

Coordinador:
Un miembro del personal del instituto con experiencia en gestión de proyectos.
Responsabilidades:
Gestionar el día a día del proyecto.
Facilitar la comunicación y la colaboración entre los miembros del equipo.
Realizar un seguimiento del progreso del proyecto y resolver problemas.
Preparar informes de estado para el patrocinador ejecutivo y otras partes
interesadas.
Roles
Experto en negocios:
Un miembro del personal del instituto con conocimiento de los procesos de matrícula
actuales.
Responsabilidades:
Proporcionar conocimiento y experiencia sobre los procesos de matrícula al equipo
de desarrollo.
Ayudar al equipo a comprender los requisitos del proyecto y las necesidades de los
usuarios.
Resolver problemas comerciales que puedan surgir durante el desarrollo del proyecto.

Verificador/Tester:
Un profesional con experiencia en pruebas de software.
Responsabilidades:
Probar el sistema de matrícula para detectar errores y defectos.
Informar de los errores al equipo de desarrollo.
Ayudar a garantizar que el sistema de matrícula cumpla con los requisitos del
proyecto.
Roles
Escritor:
Un profesional con experiencia en redacción técnica.
Responsabilidades:
Documentar el sistema de matrícula para usuarios y desarrolladores.
Escribir manuales de usuario, guías de instalación y otra
documentación técnica.
Asegurar que la documentación sea clara, precisa y fácil de
entender.
VARIANTES DE LA
METODOLOGÍA
Variantes Crystal establece diferentes tipos de metodologías por códigos de colores.
La idea es lograr “armar” distintas metodologías para distintos proyectos.

Diammond
Crystal Crystal Crystal
y Sapphire
Clear (Claro Yellow Orange Crystal Red
(Cristal
como (Cristal (Cristal (Cristal Rojo)
Diamante y
Cristal). Amarillo) Naranja).
Zafiro).

• Diseñada para pequeños Para equipos de


proyectos hasta 8 personas
como máximo. Para equipos de 20 a 50
• Este método es el del cual se personas, y Equipos entre Proyectos
de trabajo de
provee mejor documentación.
10 a 20
proyectos de 50 y 100 especiales
• Es más importante cumplir las duración
propiedades que seguir personas. personas.
determinados procedimientos. estimada de 2
años.
1 El papel del cliente es más notorio en el proceso de desarrollo de las
metodologías ágiles

Cuantas más personas estén implicadas en el desarrollo del proyecto, más


2 pesada debe ser la metodología Crystal

Crystal Clear ofrece un proceso iterativo de ciclos que permite al equipo y


a los usuarios, encontrar problemas durante el proceso de desarrollo y
3 solucionarlos en el transcurso, evitando así tener que rehacer todo desde cero.

4 Crystal Orange está diseñada para proyectos que estén sometidos a


cambios continuos debido a que son usados por el cliente.

Crytal Yellow tiene características claves como una fácil comunicación,


5 propiedad clara de las zonas de código, comentarios de los usuarios reales,
pruebas automatizadas e incrementos mensuales de mejora.

También podría gustarte