KMM

Kanban Maturity Model

Descripción extraída de Berriprocess:

El Kanban Maturity Model (KMM) está pensado para ayudar a las organizaciones a definir su hoja de ruta y acciones concretas que les permitan desarrollar su agilidad.

Concretamente:

  • KMM define siete niveles de madurez organizacional
  • Explica la intención y los detalles de implementación de 132 prácticas específicas
  • Proporciona un conjunto completo de ejemplos de tableros kanban
  • Define en detalle qué prácticas y métricas usar
  • Describe la integración de KMM con modelos y métodos actuales, en particular Lean / TPS, Real World Risk Model (por Nassim Taleb), CMMI y Mission Command.
  • Mapea 20 valores culturales a los siete niveles de madurez.

Site

TDD

Desarrollo guiado por pruebas de software, o Test-driven development (TDD) es una práctica de ingeniería de software que involucra otras dos prácticas: Escribir las pruebas primero (Test First Development) y Refactorización (Refactoring). Para escribir las pruebas generalmente se utilizan las pruebas unitarias (unit test en inglés). En primer lugar, se escribe una prueba y se verifica que las pruebas fallan. A continuación, se implementa el código que hace que la prueba pase satisfactoriamente y seguidamente se refactoriza el código escrito. El propósito del desarrollo guiado por pruebas es lograr un código limpio que funcione. La idea es que los requisitos sean traducidos a pruebas, de este modo, cuando las pruebas pasen se garantizará que el software cumple con los requisitos que se han establecido.

Wikipedia ES

Wikipedia ES

Wikipedia EN

Introducción a TDD (en inglés)

A continuación se presentan los enlaces del primer libro en castellano de Desarrollo guiado por pruebas (Test Driven Development – TDD). Publicado en Enero de 2010. El objetivo de los autores es ofrecer a la comunidad de desarrolladores un recurso en castellano sobre le desarrollo guiado por pruebas.

Scrumban

Conocemos Kanban y Scrum como metodologías de gestión Agile. Scrumban combina las mejores características de ambos métodos. Reúne la naturaleza preceptiva de Scrum y la capacidad de mejora del proceso de Kanban, permitiendo a los equipos moverse hacia el desarrollo Agile y a mejorar constantemente sus procesos.

Wikipedia

What is Scrumban

 

 

KANBAN

Kanban es un método para gestionar el trabajo intelectual, con énfasis en la entrega justo a tiempo, mientras no se sobrecarguen los miembros del equipo. En este enfoque, el proceso, desde la definición de una tarea hasta su entrega al cliente, se muestra para que los participantes lo vean y los miembros del equipo tomen el trabajo de una cola.

Kanban se puede dividir en dos partes:

  • Kanban – Un sistema de gestión de proceso visual que le indica qué producir, cuándo producirlo, y cuánto producir.
  • El método Kanban – Una aproximación a la mejora del proceso evolutivo e incremental para las organizaciones.

Dos de sus características principales son:

  • WIP (Work in progress): indicador del número de tareas simultáneamente abiertas que limita los cambios de contexto del equipo de desarrollo aumentado la productividad y disminuyendo los errores
  • Informe visual. El propio tablero de gestión es en sí mismo un informe de situación que simplifica la labor de reporting y el avance del proyecto

Wikipedia

LeadingAgile

LeadingAgile se enfoca en construir una estrategia de transformación que respete el status quo de la organización mientras que pone las bases de lo que se necesita en el futuro. Permite trabajar con enfoques tales como

  • Predictivo o adaptativo
  • Emergente o convergente

Todo ello en base a los objetivos y situación de la organización, es decir, aplicar las opciones más útiles.

Sitio

 

LESS

LeSS es Scrum (Large-Scale Scrum – LeSS), no es un Scrum renovado y mejorado. Y no es Scrum en la parte inferior de cada equipo, y algo diferente en capas en la parte superior. Más bien, se trata de averiguar cómo aplicar los principios, el propósito, los elementos y la elegancia de Scrum en un contexto de gran escala, tan sencillamente como sea posible. Al igual que Scrum y otros marcos verdaderamente ágiles, el LeSS es «una metodología apenas suficiente» por razones de alto impacto.

Wikipedia

Sitio

 

SAFE

Scaled Agile Framework (o SAFe) es un marco ágil (adaptativo) de desarrollo de software que consiste en una base de conocimientos de patrones integrados destinados al desarrollo Lean-Agile a escala empresarial. Sus defensores consideran que SAFe es escalable y modular, permitiendo que una organización lo aplique de una manera que se adapte a sus necesidades.

SAFe sincroniza alineación, colaboración y entrega para un gran número de equipos ágiles. Apoya el desarrollo de software y sistemas, desde la modesta escala de menos de 100 profesionales hasta las soluciones de software más grandes y complejos sistemas que requieren miles de personas para crear y mantener el software. SAFe fue desarrollado sobre la experiencia, basado en ayudar a los clientes a resolver sus problemas de escalado más difíciles. SAFe aprovecha tres cuerpos principales de conocimiento: desarrollo de software ágil, desarrollo de productos lean y pensamiento sistémico.

SAFe fue elaborado en los libros y el blog de Dean Leffingwell. La versión 1.0 de SAFe, el primer lanzamiento oficial, fue publicada en su forma actual de sitio web en 2011. La última versión renombrada «SAFe 4.0 para Lean Software e Ingeniería de Sistemas», fue lanzada en enero de 2016.

Wikipedia

Sitio

 

Agile software development

El desarrollo ágil de software envuelve un enfoque para la toma de decisiones en los proyectos de software, que se refiere a métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan con el tiempo según la necesidad del proyecto. Así el trabajo es realizado mediante la colaboración de equipos auto-organizados y multidisciplinarios, inmersos en un proceso compartido de toma de decisiones a corto plazo.

Cada iteración del ciclo de vida incluye: planificación, análisis de requisitos, diseño, codificación, pruebas y documentación. Teniendo gran importancia el concepto de «Finalizado» (Done), ya que el objetivo de cada iteración no es agregar toda la funcionalidad para justificar el lanzamiento del producto al mercado, sino incrementar el valor por medio de «software que funciona» (sin errores).

Los métodos ágiles enfatizan las comunicaciones cara a cara en vez de la documentación. La mayoría de los equipos ágiles están localizados en una simple oficina abierta, a veces llamadas «plataformas de lanzamiento» (bullpen en inglés). La oficina debe incluir revisores, escritores de documentación y ayuda, diseñadores de iteración y directores de proyecto. Los métodos ágiles también enfatizan que el software funcional es la primera medida del progreso. Combinado con la preferencia por las comunicaciones cara a cara, generalmente los métodos ágiles son criticados y tratados como «indisciplinados» por la falta de documentación técnica.

Wikipedia

Manifiesto ágil y los 12 principios

 

SCRUM

Scrum es el nombre con el que se denomina a los marcos de desarrollo ágiles caracterizados por:

  • Adoptar una estrategia de desarrollo incremental, en lugar de la planificación y ejecución completa del producto.
  • Basar la calidad del resultado más en el conocimiento tácito de las personas en equipos auto organizados, que en la calidad de los procesos empleados.
  • Solapamiento de las diferentes fases del desarrollo, en lugar de realizar una tras otra en un ciclo secuencial o en cascada.

Wikipedia

Guías oficiales de Scrum en varios idiomas

Guía de Scrum en español (2017 – PDF)

ScrumAlliance

Scrum.org

Guía de Scrum (Jerónimo Palacios)

Scrum y XP desde la trincheras (primera edición en castellano)

Scrum and XP from the Trenches (segunda edición en inglés)

 

eXtreme Programming

La programación extrema o eXtreme Programming (XP) es una metodología de desarrollo de la ingeniería de software formulada 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 la XP 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.

Se puede considerar la programación extrema como la adopción de las mejores metodologías de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinámica durante el ciclo de vida del software.

Wikipedia

Sitio

DAD

La entrega ágil disciplinada (Disciplined agile delivery – DAD) es un marco de procesos que permite tomar decisiones simplificadas en torno a la entrega de soluciones incrementales e iterativas. DAD se basa en las muchas prácticas adoptadas por los defensores del desarrollo de software ágil, incluyendo Scrum, el modelado ágil, el desarrollo de software lean, y otros.

La referencia primaria para la entrega ágil disciplinada es el libro del mismo nombre, escrito por Scott Ambler y Mark Lines.

En particular, el DAD ha sido identificado como un medio para ir más allá de Scrum. Según el consultor senior de Cutter, Bhuvan Unhelkar, «el marco del DAD proporciona un mecanismo cuidadosamente construido que no sólo agiliza el trabajo de TI, sino que lo más importante, permite la ampliación». Paul Gorans y Philippe Kruchten piden más disciplina en la implementación de enfoques ágiles e indican que el DAD, como ejemplo de marco, es «un enfoque híbrido y ágil para la entrega de soluciones TI empresariales que proporciona una base sólida desde la que escalar».

Wikipedia

Sitio

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 el desarrollo á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.

En octubre de 2016 el consorcio DSDM modificó su marca a Agile Business Consortium.

Wikipedia

Sitio