4.10 Agile Flashcards
- Mencione y explique los cuatro valores del Manifiesto Ágil
- Individuals and Interaction over Processes and Tools:
Se centra en las personas mas que en las herramientas y procedimientos - Working Software over comprehensive documentation
Lo principal es que funcione y después se vera lo de la documentación - Customer Collaboration Over Contract Negotiation
Mas que una lucha por hacer lo que dice el contrato, es un estado de colaboración, donde se reciben los cambios - Responding to Change Over Following a Plan
Los cambios son Bienvenido
- ¿Cuáles son los 12 principios del Manifiesto Ágil?
I. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
II. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
III. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
IV. Businesspeople and developers must work together daily throughout the project.
V. Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.
VI. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
VII. Working software is the primary measure of progress.
VIII. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
IX. Continuous attention to technical excellence and good design enhances agility.
X. Simplicity–the art of maximizing the amount of work not done–is essential.
XI. The best architectures, requirements, and designs emerge from self-organizing teams.
XII. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
- ¿Cuál es la diferencia entre trabajo iterativo y trabajo incremental?
- Iterativo es que una misma cosa la vas mejorando una y otra vez, pero en el fondo es la misma cosa
- Incremental es que, sobre la cosa creada, creas una nueva y mejor
- ¿Cuáles son los tres valores de Scrum?
- Transparency
- Inspection
- Adaptation
- ¿Cuál es la diferencia entre Industrial vs Knowledge Work projects?
- Industrial: aquello que se ve mientrase se hace, un edificio, por ejemplo
- Knowledge Work: invisible, muchos cambios, muchas preguntas, los trabajadores son un assest no un costo
- En proyectos, ¿cuáles son los cuatro tipos de Project Life Cycles?
- Predictive Life Cycle:
Requerimientos fijos, las actividades se hacen una vez, entrega final - Agile Life Cycle:
Requerimientos dinámicos, actividades se repiten hasta la correcta, continuas pequeñas entregas, el valor se entrega continuamente mediante el feedback del cliente. Aquí los tamaños de tiempo son fijos y se revisa sin importar si se tiene o no una mejora - Iterative Life Cycle:
Requerimientos dinámicos, actividades repetidas, una entrega hasta entregar la solución correcta (una entrega). Esto es porque al final la salida tiene que ser correcta - Incremental Life Cycle:
Requerimientos dinámicos, incrementos, lo que importa es speed. Aquí el tamaño del incremental no se hace hasta tener un incremental
- ¿Qué es un Co-located Teams?
- Es un equipo que se encuentra en el mismo espacio físico
- Lo ideal es que estén a una distancia máxima de 33 feet (10 metros)
- Sin barreras físicas
- Que es Osmotic Communication
- Cuando por el hecho de estar cerca de una conversación se te traspasa la información
- Es información útil que fluye entre los miembros del equipo por el hecho de estar cerca
- ¿Qué es el Fist of Five Voting?
- Es para votar sobre algo, por ejemplo, el pesaje de las HU
- Muestra el grado de acuerdo que tienen con lo que se vota
- ¿Qué es el Highsmith Decision Spectrum?
- ¿Qué es un Roadmap?
- Es una representación visual de cuando se podría liberar los productos
- ¿Qué es la Wideband Delphi?
- Es una técnica de votación
- Es para votar anónimamente a fin de que no se copien o influyan tus pares en la votación
- Diferencia entre iteración y Release
- Iteración es un periodo de tiempo, mientras que un reléase es una entrega de un pedazo de software. De esta manera, no todas las interaciones deben tener un reléase.
- ¿Qué es la iteración H (Hardening Sprint)?
- Es un periodo de tiempo que se utiliza para:
Estabilizar el código
Documentar el producto
Copilar final assembly
Test finales
- ¿Qué es un Architectural Spikes?
- Es un esfuerzo que se hace para hacer una proof of concept. No tan solo de la solución, también de la arquitectura, despliegues, etc.
- ¿Qué es Risk-based Spike?
- Un esfuerzo corto para investigar algún riesgo potencial
- Generalmente se hace para las épicas
- La idea es remover la incerteza
- ¿Qué es Affinity Estimating?
- La idea de agrupar los ítems que son similares por algunas características, a fin de pesarlos
- Ejemplo, los que son de arquitectura, o bien, todo lo que es software, etc.
- Se debe tener una base comparativa, por ejemplo, HU de un proyecto pasado para ver cuanto pesaban mas o menos esas HU
- ¿Qué es Relative Sizing for Story Point?
- Es un pesaje relative entre las historias. Es decir, este es más grande que este otro
- ¿Qué es una Release Planning Meeting?
- Es planificar cuando se harán los reléase
- Esto se hace cuando ya se tienen identificado dos features, pesados y priorizados
- ¿Quién es el responsable de monitorear el estado del proyecto en Agilidad y con qué frecuencia debe hacerlo?
- El responsable es el Product Owner y se hace una vez por Sprint Review
- ¿En proyectos Agiles como se ve el Earned Value Management?
- EVM, Earned Value Management, es un conjunto de fórmulas para ver el performance
- Este compara la performance real vs la planificada
- Cost variance = EV -AC (earned value-Actual value)
- Schedule variance = EV – PV (earned value – Planed value)
En agilidad en lugar de utilizar dinero se usa, Story Points y EVM
- ¿Cuáles son las las claves que hay que recordar para EVM?
- EV es primero
- Variance menas subtract
- Index means división
- Less than one is bad in an index.
- Negative is bad in variance.
- ¿Que es Agile Project Accounting?
- Define Economic models of agile projects.
- ¿Qué es el Features Chart?
- Muestra que los requerimientos crecieron durante el proyecto
- ¿Qué características tiene Extreme Programming?
- Se trata de las mejores practicas para el desarrollo de software
- Simplicity -Reducir complejidad, extra features, y desperdicios
Encontrar la cosa mas simple posible que pueda funcionar - Communication:
Que el equipo sepa claramente que se espera de él
Que el equipo sepa en que está trabajando su compañero
Daily stanup es una muy buena herramienta - Feedback:
El equipo necesita tempranamente en el proyecot feedback
Fallar rápido es una buena forma de obtener feedback temprano - Courage:
El trabajo de un miembro del equipo es completamente visible para los otros
Los miembros comparten codigo y se corrigen
XP usa pair programming - Respect
Todos son responsables - Roles:
Coach
Customer
Programmer
Tester - Generalizing specialist not role specialist
- Sustainable Pace
- Refactoring