Вы находитесь на странице: 1из 10

SCRUM


Scrum es un proceso en el que se aplican de manera regular un conjunto


de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el
mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras
y su selección tiene origen en un estudio de la manera de trabajar de equipos
altamente productivos.
Scrum también se utiliza para resolver situaciones en que no se está entregando
al cliente lo que necesita, cuando las entregas se alargan demasiado, los costes
se disparan o la calidad no es aceptable, cuando se necesita capacidad de
reacción ante la competencia, cuando la moral de los equipos es baja y la
rotación alta, cuando es necesario identificar y solucionar ineficiencias
sistemáticamente o cuando se quiere trabajar utilizando un proceso
especializado en el desarrollo de producto.
Las actividades que se llevan a cabo en Scrum son las siguientes:
Planificación de la iteración
El primer día de la iteración se realiza la reunión de planificación de la iteración.
Tiene dos partes:
Ø Selección de requisitos (4 horas máximo). El cliente presenta al equipo la
lista de requisitos priorizada del producto o proyecto. El equipo pregunta
al cliente las dudas que surgen y selecciona los requisitos más prioritarios
que se compromete a completar en la iteración, de manera que puedan
ser entregados si el cliente lo solicita.
Ø Planificación de la iteración (4 horas máximo). El equipo elabora la lista
de tareas de la iteraciónnecesarias para desarrollar los requisitos a que
se ha comprometido. La estimación de esfuerzo se hace de manera
conjunta y los miembros del equipo se autoasignan las tareas.
Ejecución de la iteración
Cada día el equipo realiza una reunión de sincronización (15 minutos máximo).
Cada miembro del equipo inspecciona el trabajo que el resto está realizando
(dependencias entre tareas, progreso hacia el objetivo de la iteración, obstáculos
que pueden impedir este objetivo) para poder hacer las adaptaciones necesarias
que permitan cumplir con el compromiso adquirido. En la reunión cada miembro
del equipo responde a tres preguntas:
¿Qué he hecho desde la última reunión de sincronización?
¿Qué voy a hacer a partir de este momento?
¿Qué impedimentos tengo o voy a tener?
Durante la iteración el Facilitador (Scrum Master) se encarga de que el equipo
pueda cumplir con su compromiso y de que no se merme su productividad.
Elimina los obstáculos que el equipo no puede resolver por sí mismo.
Protege al equipo de interrupciones externas que puedan afectar su compromiso
o su productividad.
Durante la iteración, el cliente junto con el equipo refinan la lista de requisitos
(para prepararlos para las siguientes iteraciones) y, si es necesario, cambian o
replanifican los objetivos del proyecto para maximizar la utilidad de lo que se
desarrolla y el retorno de inversión.
Inspección y adaptación
El último día de la iteración se realiza la reunión de revisión de la iteración. Tiene
dos partes:
Ø Demostración (4 horas máximo). El equipo presenta al cliente los
requisitos completados en la iteración, en forma de incremento de
producto preparado para ser entregado con el mínimo esfuerzo. En
función de los resultados mostrados y de los cambios que haya habido en
el contexto del proyecto, el cliente realiza las adaptaciones necesarias de
manera objetiva, ya desde la primera iteración, replanificando el proyecto.
Ø Retrospectiva (4 horas máximo). El equipo analiza cómo ha sido su
manera de trabajar y cuáles son los problemas que podrían impedirle
progresar adecuadamente, mejorando de manera continua su
productividad. El Facilitador se encargará de ir eliminando los obstáculos
identificados.

Crystal Clear

Es una metodología de desarrollo de software ágil, más que una metodología se
le conoce como una familia de metodologías con una estructura común ( código
genético como lo llama su creador Alistair Cockburn (2001) ).

Crystal Clear está diseñada para pequeños proyectos, pudiendo contar con un
equipo de desarrolladores formado por 8 personas como máximo. Qué es Crystal
Clear? Dependen de dos factores importantes como lo son: El número de
personas en el proyecto y las consecuencias de los errores.
Su nombre se debe a las facetas de una gema: cada faceta es otra versión del
proceso y todas se sitúan en torno a un núcleo idéntico. Caracteristicas La idea
es poder armar distintas metodologías, para distintos tipos de proyectos.
Cada proyecto u organización usará la estructura común de Crystal
y generara su propia metodología.

Crystal da vital importancia a las personas que componen el equipo de un


proyecto, y por tanto sus puntos de estudio son:
Ø Aspecto humano del equipo
Ø Tamaño de un equipo (número de componentes)
Ø Comunicación entre los componentes
Ø Distintas políticas a seguir
Ø Espacio físico de trabajo

Programación Extrema (XP)


La programación extrema es una metodología de desarrollo ágil que tiene como
principal objetivo aumentar la productividad a la hora de desarrollar un proyecto
software. Da prioridad a los trabajos que dan un resultado directo y en los cuales
se reduce la burocracia que pueda existir en el entorno de trabajo.
La programación extrema o EXtreme Programming (PX) es un enfoque de
la Ingeniería de Software formulado por Kent Beck, autor del primer libro sobre
la materia, Extreme Programming Explained: Embrace Change 1999. Es el más
destacado de los procesos ágiles de desarrollo de software.
Al igual que éstos, la programación extrema se diferencia de las metodologías
tradicionales principalmente en que pone más énfasis en la adaptabilidad que en
la previsibilidad. Los defensores de PX consideran que los cambios de requisitos
sobre la marcha son un aspecto natural, inevitable e incluso deseable
del Desarrollo de Proyectos.
Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto
de la vida del proyecto es una aproximación mejor y más realista que intentar
definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después
en controlar los cambios en los requisitos.

Desarrollo de Software Ligero (LSD)



La metodología de desarrollo de software Lean (LSD) es una translación de los
principios y prácticas de la manufactura esbelta (Lean manufacturing: filosofía de
gestión enfocada a la reducción de los ocho tipos de "desperdicios" en productos
manufacturados) hacia el dominio del desarrollo de software.
El desarrollo Lean puede resumirse en siete principios, similares a los principios
de manufactura esbelta:
Eliminar los desperdicios
Consiste en evitar todo aquello que no agregue valor al proyecto.
Todo lo que no añade valor al cliente se considera un desperdicio. Un
desperdicio podría ser cualquier actividad que puede ser excluida o puede darse
el mismo resultado sin llegar a hacerse; los procesos que no son usados por el
cliente; los defectos y la baja calidad…Para distinguir y reconocer los
desperdicios existe un mapa de flujo de valor (value stream mapping) y señalar
las fuentes de estos. Esto debe hacerse iterativamente

Ampliar el aprendizaje
El mejor enfoque para encarar una mejora en el ambiente de desarrollo de
software es ampliar el aprendizaje. La acumulación de defectos debe evitarse
ejecutando pruebas tan pronto como el producto este hecho en lugar de añadir
más características. Este proceso se acelera con unas iteraciones de corta
duración.
Los clientes comprenden mejor sus necesidades basándose en el resultado de
los esfuerzos del desarrollo y los desarrolladores aprenden a satisfacer mejor
estas necesidades.
Otra idea es promover la solución a través del diálogo con el cliente, así
concentran la comunicación en soluciones futuras y no en las posibles.
En resumen, ampliar el aprendizaje es llevar a cabo muchos experimentos
rápidos, crear documentación concisa y aplicar la mejor alternativa.

Decidir lo más tarde posible


Hay que hacer que el producto sea tolerante al cambio y aprender lo máximo
posible antes de haber tomado una decisión ya irreversible.
El desarrollo siempre tiene asociado una incertidumbre, los mejores resultados
se alcanzan con un enfoque basado en opciones por lo que se pueden retrasar
las decisiones tanto como sea posible hasta que éstas se basen en hechos y no
en suposiciones y pronósticos inciertos. Cuanto más complejo es el proyecto,
éste debe estar más dispuesto al cambio, así que los compromisos importantes
en las iteraciones deben permitir algún tipo de retraso.
Las iteraciones promueven este principio adaptarse a los cambios y corregir los
errores ya que corregir un error puede resultar costoso si se detecta demasiado
tarde.

Reaccionar tan rápido como sea posible


Es aconsejable reducir el tiempo de las iteraciones con lotes pequeños y menos
cantidad en los pasos y también limitar el trabajo a la capacidad del grupo.
Cuanto más cortas sean las iteraciones, mejor es el aprendizaje y la
comunicación dentro del equipo. Cuanto antes se entrega un producto final más
pronto se reciben propuestas para incorporarlas en la siguiente iteración. Esto
les da la oportunidad de demorarse pensando lo que realmente necesitan, hasta
que adquieran un mejor conocimiento.
Potenciar el equipo
Se basa en el compromiso del grupo. El grupo no debe ser demasiado numeroso
porque dificulta la comunicación entre todos. Entre ellos, es recomendable
seleccionar un líder del grupo que sepa gestionarlo de la mejor manera posible
Este grupo debe tener una misión ya clara desde el principio que debe tener una
meta a corto plazo. Los participantes deben reunir unas capacidades necesarias
para desarrollar. También hay que tener información ya suficiente para
determinar la viabilidad de la tarea, porque podría estar abordándose un tema
que luego no pueda tener efecto al no tener viabilidad alguna.

Crear integridad
La integridad conceptual significa que los conceptos del sistema trabajan como
una totalidad armónica de arquitectura coherente. La investigación ha
demostrado que la integridad viene con el liderazgo, la experiencia relevante, la
comunicación efectiva y la disciplina saludable entre los componentes del grupo.

Ver todo el conjunto


Hay que pensar en el conjunto, en el todo. Es más importante que las mediciones
de desempeño individuales.
Con todo esto dicho el desarrollo Lean parece una práctica bastante interesante
para crear proyectos. Cuando se va a implementar un proyecto entre un grupo
de desarrolladores, los principios del LSD son fáciles de llevar a cabo y siempre
se basa en intentar mejorar el producto final.

KANBAN

KANBAN es una herramienta basada en la manera de funcionar de los
supermercados. KANBAN significa en japonés “etiqueta de instrucción”.
Es muy común la asociación de KANBAN = JIT (Justo a tiempo “Just In Time”) o
KANBAN = CONTROL DE INVENTARIOS, esto no es cierto, pero si está
relacionado con estos términos. KANBAN funcionará efectivamente en
combinación con otros elementos del JIT, tales como la calendarización de
producción mediante etiquetas, la buena organización del área de trabajo y el
flujo de la producción. KANBAN es una herramienta basada en la manera de
funcionar de los supermercados. KANBAN significa en japonés “etiqueta de
instrucción”.
Básicamente KANBAN nos servirá para lo siguiente:
• Poder empezar cualquier operación estándar en cualquier momento.
• Dar instrucciones basadas en las condiciones actuales del área de trabajo.
• Prevenir que se agregue trabajo innecesario a aquellas órdenes ya empezadas
y prevenir el exceso de papeleo innecesario.
Otra función de KANBAN es la de movimiento de material, la etiqueta KANBAN
se debe mover junto con el material, si esto se lleva a cabo correctamente se
lograran los siguientes punto:
• Priorizar la producción. EL KANBAN con más importancia se pone primero que
los demás.
• Facilitar el control del material.

Desarrollo de Sistemas Dinámicos (DSDM)



El método de desarrollo de sistemas dinámicos (en inglés Dynamic Systems
Development Method o DSDM) es un método que provee un framework para
eldesarrollo ágil de software, apoyado por su continua implicación del usuario en
un desarrollo iterativo y creciente que sea sensible a los requerimientos
cambiantes, para desarrollar un sistema que reúna las necesidades de la
empresa en tiempo y presupuesto. Es uno de un número de métodos
de desarrollo ágil de software y forma parte de la alianza ágil.
DSDM fue desarrollado en el Reino Unido en los años 90 por un consorcio de
proveedores y de expertos en la materia del desarrollo de sistemas de
información (IS), el consorcio de DSDM, combinando sus experiencias
de mejores prácticas. El consorcio de DSDM es una organización no lucrativa y
proveedor independiente, que posee y administra el framework. La primera
versión fue terminada en enero de 1995 y publicada en febrero de 1995. La
versión actualmente en uso (abril de 2006) es la versión 4.2: El framework para
el Negocio Centralizado Desarrollado lanzado en mayo de 2003.
Como extensión del Desarrollo rápido de aplicaciones (RAD), DSDM se centra
en los proyectos de sistemas de información que son caracterizados por
presupuestos y agendas apretadas. DSDM trata los problemas que ocurren con
frecuencia en el desarrollo de los sistemas de información en lo que respecta a
pasar sobre tiempo y presupuesto y otras razones comunes para la falta en el
proyecto tal como falta de implicación del usuario y de la comisión superior de la
gerencia.
DSDM consiste en 3 fases: fase del pre-proyecto, fase del ciclo de vida del
proyecto, y fase del post-proyecto. La fase del ciclo de vida del proyecto se
subdivide en 5 etapas:
Ø estudio de viabilidad,
Ø estudio de la empresa,
Ø iteración del modelo funcional,
Ø diseño e iteración de la estructura, e
Ø implementación.
DSDM reconoce que los proyectos son limitados por el tiempo y los recursos, y
los planes acorde a las necesidades de la empresa. Para alcanzar estas metas,
DSDM promueve el uso del RAD con el consecuente peligro que demasiadas
esquinas estén cortadas. DSDM aplica algunos principios, roles, y técnicas.
Proceso Unificado de Desarrollo de Software (RUP)
El Proceso Unificado es un proceso de software genérico que puede ser utilizado
para una gran cantidad de tipos de sistemas de software, para diferentes áreas
de aplicación, diferentes tipos de organizaciones, diferentes niveles de
competencia y diferentes tamaños de proyectos.
Provee un enfoque disciplinado en la asignación de tareas y resposabilidades
dentro de una organización de desarrollo. Su meta es asegurar la producción de
software de muy alta calidad que satisfaga las necesidades de los usuarios
finales, dentro de un calendario y presupuesto predecible.
El Proceso Unificado tiene dos dimensiones (Figura 1):
Ø Un eje horizontal que representa el tiempo y muestra los aspectos del
ciclo de vida del proceso a lo largo de su desenvolvimiento
Ø Un eje vertical que representa las disciplinas, las cuales agrupan
actividades de una manera lógica de acuerdo a su naturaleza.
La primera dimensión representa el aspecto dinámico del proceso conforme se
va desarrollando, se expresa en términos de fases, iteraciones e hitos
(milestones).
La segunda dimensión representa el aspecto estático del proceso: cómo es
descrito en términos de componentes del proceso, disciplinas, actividades, flujos
de trabajo, artefactos y roles.
El Proceso Unificado se basa en componentes (component-based), lo que
significa que el sistema en construcción está hecho de componentes de software
interconectados por medio de interfaces bien definidas (well-defined interfaces).
El Proceso Unificado usa el Lenguaje de Modelado Unificado (UML) en la
preparación de todos los planos del sistema. De hecho, UML es una parte
integral del Proceso Unificado, fueron desarrollados a la par.
Los aspectos distintivos del Proceso Unificado están capturados en tres
conceptos clave: dirigido por casos de uso (use-case driven), centrado en la
arquitectura (architecture-centric), iterativo e incremental. Esto es lo que hace
único al Proceso Unificado.
Desarrollo de Software adaptativo (ASD)

El desarrollo adaptativo del software (DAS) fue propuestos por Jim Highsmith
como una metodología para desarrollar el software y sistemas muy complejos.
El se centra en la colaboración humana y la organización del equipo.
El Desarrollo adaptativo del software (ASD) proporciona un marco para el
desarrollo iterativo de sistemas grandes y complejos. El método fomenta el
desarrollo iterativo e incremental con el uso de prototipos.
ASD resalta que las aproximaciones secuenciales en cascada solo funcionan en
entornos bien conocidos. Pero como los cambios ocurren frecuentemente en el
desarrollo software, es importante usar un método tolerante a cambios. El primer
ciclo de un proyecto ASD suele ser corto, asegurando que el cliente está
involucrado y confirmando la viabilidad del proyecto.
Cada ciclo termina con una revisión en grupo enfocada al cliente. Durante las
reuniones de revisión, se estudia la aplicación funcionando. El resultado de las
reuniones son peticiones de cambio documentadas.
Desarrollo basado en funcionalidades (FDD)
Es una metodología ágil diseñada para el desarrollo de software, basada en la
calidad y el monitoreo constante del proyecto.
Fue desarrollada por Jeff De Luca y Peter Coad a mediados de los años 90. Esta
metodología se enfoca en iteraciones cortas, que permiten entregas tangibles
del producto en un periodo corto de tiempo, de como máximo dos semanas.
Características
Ø Se preocupa por la calidad, por lo que incluye un monitoreo constante del
proyecto.
Ø Ayuda a contrarrestar situaciones como el exceso en el presupuesto,
fallas en el programa o el hecho de entregar menos de lo deseado.
Ø Propone tener etapas de cierre cada dos semanas. Se obtienen
resultados periódicos y tangibles.
Ø Se basa en un proceso iterativo con iteraciones cortas que producen un
software funcional que el cliente y la dirección de la empresa pueden ver
y monitoriar.
Ø Define claramente entregas tangibles y formas de evaluación del progreso
del proyecto.
Ø No hace énfasis en la obtención de los requerimientos sino en como se
realizan las fases de diseño y construcción.

Blibiografia:
https://proyectosagiles.org/que-es-scrum/
http://es.slideshare.net/fvalerolujano/metodologias-giles-crystal-clear
https://prezi.com/wm9e3o_9ezcl/metodologia-crystal-clear/
https://geekytheory.com/programacion-extrema-que-es-y-principios-basicos/
http://www.ecured.cu/Programaci%C3%B3n_Extrema_(XP)
http://queremosun5.blogspot.mx/2012/02/lean-software-development-lsd.html
http://www.visionindustrial.com.mx/industria/operacion-industrial/kanban-
control-y-mejora-de-procesos
https://es.wikipedia.org/wiki/M%C3%A9todo_de_desarrollo_de_sistemas_din%
C3%A1micos
http://yaqui.mxl.uabc.mx/~molguin/as/RUP.htm
http://desarrolloadaptativodesoftware.blogspot.mx/2011/06/desarrollo-
adaptativo-de-software-das.html

Вам также может понравиться