Files
2025-2/administracion/informe-crystal.html

423 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<meta name="author" content="Federico Polidoro, Luca Troiano, Francisco Rose Cerna">
<meta name="dcterms.date" content="2025-11-07">
<title>Informe sobre la Metodología Ágil Crystal</title>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="stylesheet" href="https://unpkg.com/reveal.js@5/dist/reset.css">
<link rel="stylesheet" href="https://unpkg.com/reveal.js@5/dist/reveal.css">
<style>
.reveal .sourceCode { /* see #7635 */
overflow: visible;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<link rel="stylesheet" href="https://unpkg.com/reveal.js@5/dist/theme/black.css" id="theme">
</head>
<body>
<div class="reveal">
<div class="slides">
<section id="title-slide">
<h1 class="title">Informe sobre la Metodología Ágil Crystal</h1>
<p class="author">Federico Polidoro, Luca Troiano, Francisco Rose
Cerna</p>
<p class="date">2025-11-07</p>
</section>
<section>
<section id="introducción" class="title-slide slide level1">
<h1>Introducción</h1>
<p>Crystal es una familia de metodologías ágiles desarrollada por
<strong>Alistair Cockburn</strong> a fines de los años 90. A diferencia
de enfoques más estructurados como <strong>Scrum</strong> o
<strong>Extreme Programming (XP)</strong>, Crystal parte de una idea
simple pero poderosa: las <strong>personas</strong> y sus
<strong>interacciones</strong> son más importantes que los procesos y
las herramientas.</p>
</section>
<section id="section" class="slide level2">
<h2></h2>
<p>Su objetivo es <strong>ajustar la metodología al contexto del
proyecto</strong>, en lugar de imponer una única forma de trabajo. En
otras palabras, Crystal no es una receta, sino un <strong>espectro de
métodos</strong> adaptables.</p>
</section></section>
<section>
<section id="filosofía-y-principios" class="title-slide slide level1">
<h1>Filosofía y Principios</h1>
<p>Crystal considera que cada proyecto es único y debe gestionarse según
su contexto. Tres factores determinan qué variante de Crystal usar:</p>
</section>
<section id="section-1" class="slide level2">
<h2></h2>
<ul>
<li>Tamaño del equipo.</li>
<li>Criticidad del sistema (el riesgo que implica un fallo).</li>
<li>Prioridad de entrega rápida.</li>
</ul>
</section>
<section id="section-2" class="slide level2">
<h2></h2>
<p>A partir de esto, Cockburn propone distintas variantes, por
ejemplo:</p>
<ul>
<li><strong>Crystal Clear</strong>: para equipos pequeños (16 personas)
y baja criticidad.</li>
<li><strong>Crystal Yellow / Orange / Red</strong>: para equipos
medianos o grandes, y sistemas de mayor riesgo.</li>
</ul>
<p>Cuanto más grande y crítico el proyecto, más formal y estructurado se
vuelve el proceso.</p>
</section></section>
<section id="principios-fundamentales" class="title-slide slide level1">
<h1>Principios Fundamentales</h1>
<p>Los valores clave que guían Crystal son:</p>
<ol>
<li>Comunicación frecuente y directa.</li>
<li>Reflexión y mejora continua.</li>
<li>Entrega frecuente de software funcional.</li>
<li>Seguridad personal dentro del equipo.</li>
<li>Atención a la calidad técnica.</li>
<li>Foco en las personas por encima del proceso.</li>
</ol>
</section>
<section>
<section id="características-principales"
class="title-slide slide level1">
<h1>Características Principales</h1>
<p>Crystal es <strong>ligero</strong> en procesos y documentación.
Algunas características típicas incluyen:</p>
</section>
<section id="section-3" class="slide level2">
<h2></h2>
<ul>
<li>Iteraciones cortas (2 a 4 semanas).</li>
<li>Revisión frecuente con el cliente.</li>
<li>Planificación adaptativa.</li>
<li>Reuniones retrospectivas periódicas.</li>
<li>Entrega de software operativo en cada iteración.</li>
<li>Integración continua (opcional pero recomendable).</li>
</ul>
<p>Cockburn describe esto como “oscuridad progresiva”: cuanto más grande
el proyecto, más <strong>oscuro</strong> (estructurado) se vuelve el
cristal.</p>
</section></section>
<section id="ventajas" class="title-slide slide level1">
<h1>Ventajas</h1>
<ul>
<li>Alta flexibilidad y adaptabilidad.</li>
<li>Fuerte enfoque humano, mejora la moral y colaboración.</li>
<li>Ideal para proyectos pequeños o medianos.</li>
<li>Promueve la entrega continua de valor real al cliente.</li>
</ul>
</section>
<section id="desventajas" class="title-slide slide level1">
<h1>Desventajas</h1>
<ul>
<li>Puede parecer demasiado informal para organizaciones grandes.</li>
<li>Depende mucho de la comunicación efectiva del equipo.</li>
<li>Difícil de escalar sin agregar estructura (lo que la aleja de su
esencia).</li>
</ul>
</section>
<section id="roles-en-crystal" class="title-slide slide level1">
<h1>Roles en Crystal</h1>
<p>Crystal no define roles rígidos como Scrum, pero suelen surgir de
forma natural:</p>
<ul>
<li><strong>Patrocinador o cliente</strong>: define visión y
prioridades.</li>
<li><strong>Desarrolladores, diseñadores y testers</strong>:
responsables del producto.</li>
<li><strong>Coordinador</strong>: facilita la comunicación y el ritmo
del equipo (similar al Scrum Master).</li>
</ul>
<p>El equipo se autogestiona y las decisiones se toman por consenso.</p>
</section>
<section>
<section id="documentación-y-comunicación"
class="title-slide slide level1">
<h1>Documentación y Comunicación</h1>
<p>Crystal privilegia la comunicación oral y visual por sobre la
documentación extensa. Los documentos existen, pero solo cuando mejoran
la comunicación o la comprensión general del proyecto.</p>
</section>
<section id="section-4" class="slide level2">
<h2></h2>
<p>En palabras de Cockburn:</p>
<blockquote>
<p>“La documentación es útil solo si mejora la comunicación o la
comprensión.”</p>
</blockquote>
</section></section>
<section id="casos-de-uso" class="title-slide slide level1">
<h1>Casos de Uso</h1>
<p>Crystal se utiliza principalmente en:</p>
<ul>
<li>Proyectos internos de software con equipos pequeños.</li>
<li>Entornos donde se valora la autonomía y la flexibilidad.</li>
<li>Startups o empresas en crecimiento que buscan evitar la rigidez de
Scrum o SAFe.</li>
</ul>
</section>
<section>
<section id="comparación" class="title-slide slide level1">
<h1>Comparación</h1>
<table>
<thead>
<tr>
<th>Aspecto</th>
<th>Crystal</th>
<th>Scrum</th>
<th>XP</th>
</tr>
</thead>
<tbody>
<tr>
<td>Enfoque</td>
<td>Adaptativo según el contexto</td>
<td>Estructurado</td>
<td>Técnico y disciplinado</td>
</tr>
<tr>
<td>Roles definidos</td>
<td>No estrictos</td>
<td>Sí (Scrum Master, PO, Team)</td>
<td></td>
</tr>
</tbody>
</table>
</section>
<section id="section-5" class="slide level2">
<h2></h2>
<table>
<tbody>
<tr>
<td>Documentación</td>
<td>Mínima</td>
<td>Moderada</td>
<td>Mínima</td>
</tr>
<tr>
<td>Escalabilidad</td>
<td>Limitada</td>
<td>Media</td>
<td>Baja</td>
</tr>
<tr>
<td>Prioridad</td>
<td>Personas y comunicación</td>
<td>Entrega por sprint</td>
<td>Calidad técnica</td>
</tr>
</tbody>
</table>
</section></section>
<section>
<section id="conclusión" class="title-slide slide level1">
<h1>Conclusión</h1>
<p>Crystal es una metodología ágil profundamente <strong>humana</strong>
y <strong>contextual</strong>. En lugar de imponer reglas, enseña
principios: cómo pensar, más que qué hacer.</p>
<p>Su mayor fortaleza es también su debilidad: la libertad. Si el equipo
es maduro y comunicativo, Crystal permite moverse rápido y con mínima
burocracia. Si no lo es, puede caer fácilmente en el caos.</p>
</section>
<section id="en-resumen" class="slide level2">
<h2>En resumen:</h2>
<blockquote>
<p>Crystal es la metodología ágil que confía más en las personas que en
el proceso.</p>
</blockquote>
</section></section>
</div>
</div>
<script src="https://unpkg.com/reveal.js@5/dist/reveal.js"></script>
<!-- reveal.js plugins -->
<script src="https://unpkg.com/reveal.js@5/plugin/notes/notes.js"></script>
<script src="https://unpkg.com/reveal.js@5/plugin/search/search.js"></script>
<script src="https://unpkg.com/reveal.js@5/plugin/zoom/zoom.js"></script>
<script>
// Full list of configuration options available at:
// https://revealjs.com/config/
Reveal.initialize({
// Display controls in the bottom right corner
controls: true,
// Help the user learn the controls by providing hints, for example by
// bouncing the down arrow when they first encounter a vertical slide
controlsTutorial: true,
// Determines where controls appear, "edges" or "bottom-right"
controlsLayout: 'bottom-right',
// Visibility rule for backwards navigation arrows; "faded", "hidden"
// or "visible"
controlsBackArrows: 'faded',
// Display a presentation progress bar
progress: true,
// Display the page number of the current slide
slideNumber: false,
// 'all', 'print', or 'speaker'
showSlideNumber: 'all',
// Add the current slide number to the URL hash so that reloading the
// page/copying the URL will return you to the same slide
hash: true,
// Start with 1 for the hash rather than 0
hashOneBasedIndex: false,
// Flags if we should monitor the hash and change slides accordingly
respondToHashChanges: true,
// Push each slide change to the browser history
history: false,
// Enable keyboard shortcuts for navigation
keyboard: true,
// Enable the slide overview mode
overview: true,
// Disables the default reveal.js slide layout (scaling and centering)
// so that you can use custom CSS layout
disableLayout: false,
// Vertical centering of slides
center: true,
// Enables touch navigation on devices with touch input
touch: true,
// Loop the presentation
loop: false,
// Change the presentation direction to be RTL
rtl: false,
// see https://revealjs.com/vertical-slides/#navigation-mode
navigationMode: 'default',
// Randomizes the order of slides each time the presentation loads
shuffle: false,
// Turns fragments on and off globally
fragments: true,
// Flags whether to include the current fragment in the URL,
// so that reloading brings you to the same fragment position
fragmentInURL: true,
// Flags if the presentation is running in an embedded mode,
// i.e. contained within a limited portion of the screen
embedded: false,
// Flags if we should show a help overlay when the questionmark
// key is pressed
help: true,
// Flags if it should be possible to pause the presentation (blackout)
pause: true,
// Flags if speaker notes should be visible to all viewers
showNotes: false,
// Global override for autoplaying embedded media (null/true/false)
autoPlayMedia: null,
// Global override for preloading lazy-loaded iframes (null/true/false)
preloadIframes: null,
// Number of milliseconds between automatically proceeding to the
// next slide, disabled when set to 0, this value can be overwritten
// by using a data-autoslide attribute on your slides
autoSlide: 0,
// Stop auto-sliding after user input
autoSlideStoppable: true,
// Use this method for navigation when auto-sliding
autoSlideMethod: null,
// Specify the average time in seconds that you think you will spend
// presenting each slide. This is used to show a pacing timer in the
// speaker view
defaultTiming: null,
// Enable slide navigation via mouse wheel
mouseWheel: false,
// The display mode that will be used to show slides
display: 'block',
// Hide cursor if inactive
hideInactiveCursor: true,
// Time before the cursor is hidden (in ms)
hideCursorTime: 5000,
// Opens links in an iframe preview overlay
previewLinks: false,
// Transition style (none/fade/slide/convex/concave/zoom)
transition: 'slide',
// Transition speed (default/fast/slow)
transitionSpeed: 'default',
// Transition style for full page slide backgrounds
// (none/fade/slide/convex/concave/zoom)
backgroundTransition: 'fade',
// Number of slides away from the current that are visible
viewDistance: 3,
// Number of slides away from the current that are visible on mobile
// devices. It is advisable to set this to a lower number than
// viewDistance in order to save resources.
mobileViewDistance: 2,
// reveal.js plugins
plugins: [
RevealNotes,
RevealSearch,
RevealZoom
]
});
</script>
</body>
</html>