You are on page 1of 7

UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA

REPORTE DE INVESTIGACION ACERCA DE LAS METODOLOGIAS DE


DESARROLLO AGILES:
KANBAN Y LEAN.
Guzmn Gonzlez, Ana Michelle
e-mail: gg_man_go@hotmail.com
Herrera Jirn, Melvin Ulises
e-mail: melvinherrera15@live.com
Mayorga Marroqun, Ral Antonio
e-mail: raulamayorga@gmail.com
Navarro Navarro, Reynaldo Esa
e-mail: reynaldonavarro14@gmail.com
Snchez Rosales, Brallan Alexander
e-mail: brsr1234@hotmail.com

1 INTRODUCCION

RESUMEN
Tanto Kanban y Lean son modelos de produccin gil.
Segn Lean Enterprise Institute la idea central de Lean
es crear el mximo valor posible, desde el punto de vista
del cliente, con el menor consumo posible de recursos,
usando el conocimiento y habilidades de la gente que
realiza el trabajo, esto para la optimizacin de los
procesos de gestin de proyectos, en el cual se
involucran todas sus etapas.

A principios de los 90, tras constatar que otras


metodologas no acababan de dar buenos
resultados en sectores innovadores y de alto
componente tecnolgico, se fueron desarrollando las
llamadas metodologas giles de gestin de
proyectos.

El sistema Kanban es una de herramienta del


pensamiento Lean el cual nos permite gestionar de
manera ajustada al ciclo de produccin y evolucin de
productos esto en lo que es la Industria.

Poco a poco han ido mostrando su gran utilidad


en proyectos con alta incertidumbre en los objetivos
del mismo, en los requerimientos del cliente y en las
propias necesidades del mercado.

Ya en el desarrollo de software Kanban busca como


objetivo delimitar el tiempo para realizar una actividad,
para poder tener mayores avances en cuanto a la
produccin del software, sacrificando tiempo en servicio
adems se auxilia de la representacin en forma de
tarjetas las actividades a desempear por el equipo.

Y poco a poco se han ido extendiendo a la


gestin de productos y servicios innovadores, a la
generacin de conceptos tan nuevos que los propios
clientes, usuarios o mercado en general, no tienen
una visin clara de cul puede ser el resultado.
En esta investigacin el objetivo es conocer
sobre la metodologa gil que son las herramientas
para el desarrollo y construccin de un software, en
nuestro caso nos enfocaremos en KANBAN y LEAN,
pero esto no significa que solo estas existen, al
contrario
podemos
mencionar
Test
Driven
Development, Programacin Extrema, gil ALM
entre otras.

Es decir que al utilizar la herramienta Kanban que nos


proporciona Lean logramos tener lo que es la
metodologa de desarrollo gil llaqu dividimos los
procesos de fabricacin (o en este caso el de desarrollo
de software), en fases bien delimitadas, que deben
ejecutare sin error (alta calidad) para poder avanzar a la
siguiente utilizando la menor cantidad de recursos, y de
esta forma garantizar la calidad del producto final en el
menor tiempo posible.

Adems conoceremos las claves de la


metodologa LEAN y los propsitos bsicos que
KANBAN emplea para conseguir sus fines.

PALABRAS CLAVES: Lean, gestin de proyectos,


visual management, Kaizen.

ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS, CURSO DE TECNOLOGIAS ORIENTADAS A OBJETOS

UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA

2 OBJETIVOS
entrega a tiempo de cada parte en el momento en
que se necesita, evitando sobreproduccin y
almacenamiento innecesario de productos. Se
puede traducir como tablero o tarjeta de
sealizacin.

3 GENERAL:

Para ambos casos hablaremos de las


metodologas de cada uno y en que se basan cada
una.

Investigar
la
metodologa
de
desarrollo gil Kanban y lean, con el
objetivo de poder aplicarlo al
desarrollo de proyectos de software
en un entorno real.

5.2 METODOLOGIA LEAN

Esta metodologa que se aplica a la gestin de


proyectos toma como punto de partida la
metodologa de la cadena crtica. Lean tiene como
principio principal: preservar el valor al cliente
trabajando menos.

4 ESPECIFICOS:

Conocer los antecedentes de


metodologa de desarrollo gil.

la

Adquirir conocimientos sobre los


principios en que se basa lean y
Kanban.

Diferenciar entre
Kanban y Lean.

Lean consiste en una serie de mtodos y


herramientas orientados a:

Eliminar las prdidas por demoras e


ineficiencias en los procesos de
organizacin.

metodologa

Prevenir
y
eliminar
fallas,
interrupciones y otras prdidas de
produccin.

Conocer los principios que emplea la


metodologa Kanban y Lean para el
desarrollo de gestin de proyectos

Buscar de manera continua la


perfeccin y las mejoras de calidad.

la

Segn estableci Womack hay 5 aspectos (ver


Fig.1) claves en la metodologa Lean:

5 DESARROLLO DEL TEMA

Especificar con precisin el concepto


de valor.

Identificar el flujo de valor para cada


producto.

Hacer que el valor fluya sin


interrupciones, siempre que alguien lo
solicite.

Dejar que el consumidor atraiga hacia


s (pull) el valor precedente del
fabricante.

Perseguir la perfeccin.

5.1 ANTECEDENTES:

Lean es una palabra inglesa que aplicada a un


sistema productivo se puede traducir como "gil,
flexible", es decir, capaz de adaptarse a las necesidades
del cliente, Kanban (en kanji donde kan significa
"visual", y ban significa "tarjeta" o "tablero") es un
concepto de produccin justo-a-tiempo, este concepto
que se refiere a tcnicas de representacin visual de
informacin para mejorar la eficiencia en la ejecucin de
las tareas de un proyecto.
Tanto Lean como Kanban fueron implementadas
por el japons Taiichi Ohno, director y consultor de
Toyota, estas se desarrollaron para la mejora en los de
sistemas de produccin ajustada.
El sistema Lean se utilizaba para la eliminacin de
desperdicios, entendiendo como desperdicios o
despilfarro todo aquellas acciones que no aportaban un
valor al producto y por los cuales los clientes no estn
dispuestos a pagar.
Por otro lodo esta Kanban que se refiere a un
sistema de visualizacin empleado en los procesos de
produccin que coordinan en una cadena de montaje la

ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS, CURSO DE TECNOLOGIAS ORIENTADAS A OBJETOS

UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA

La idea es producir solo cuando el cliente lo


demanda, eliminando o reduciendo al mximo los
inventarios, evitando recursos a la gestin de los
mismos y el riesgo de obsolescencias.
La herramienta que utiliza el concepto Pull
para avisar del inicio de la produccin cuando el
cliente lo demanda es el Kanban (o seal de
control de stock).

5.7 PERFECCION

Figura 1: Representacin de
importantes de la metodologa Lean.

los

La bsqueda de la perfeccin se da a travs de


la mejora continua mediante los talleres de mejora
en equipo o Kaizen events. Se observa el proceso,
se crea el Mapa de flujo de valor actual y se disea
el mapa futuro, se implementan los cambios y se
presenta resultados a direccin.

aspectos

5.8 LEAN APLICADO A LA GESTION DE


DESARROLLO DE SOFTWARE

Para entender mucho mejor la metodologa Lean


explicaremos algunos conceptos importantes dentro de
esta como:

El desarrollo gil de software envuelve un


enfoque para la toma de decisiones en los proyectos
de software, que se refiere a mtodos de ingeniera
del software basados en el desarrollo iterativo e
incremental, donde los requisitos y soluciones
evolucionan con el tiempo segn la necesidad del
proyecto.

5.3 VALOR

Ponerse del lado del cliente para evaluar si una


actividad crea valor es una prueba crtica de cualquier
actividad. El cliente paga por las cosas que cree que
tienen valor, estas actividades aportaran valor cuando:

El cliente est dispuesto a pagar por ella

La actividad transforma un producto o servicio

Se debe realizar correctamente a la primera.

Cada iteracin del ciclo de vida incluye:


planificacin, anlisis de requisitos, diseo,
codificacin, pruebas y documentacin.
Teniendo gran importancia el concepto de
"Finalizado" (Done), ya que el objetivo de cada
iteracin 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).

5.4 CADENA DE VALOR O FLUJO DE


TRABAJO

El desarrollo lean puede resumirse en siete


principios:

5.9 ELIMINAR LOS DESPERDICIOS


Conjunto de actividades necesarias para llevar un
producto o servicio desde su diseo y desarrollo a
fabricacin, incluye procesos secundarios necesarios
aunque no aporten valor al cliente.

Todo lo que no aade valor al cliente se


considera un desperdicio:

5.5 FLUJO
Tiene como objetivo reducir el lead-time o tiempo
total del proceso de una pieza, documento, servicio, y
permite descubrir los problemas de calidad.

Cdigo y funcionalidades innecesarias

Retraso en el proceso de desarrollo de


software

El flujo ideal es el de una sola pieza (no el lote)


que se procesa sin interrupciones, sin transportes, ni
colas ni esperas, y al ritmo (takt time) que marca la
demanda (pull)

Requisitos poco claros

Burocracia

Comunicacin interna lenta

5.6 PULL

ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS, CURSO DE TECNOLOGIAS ORIENTADAS A OBJETOS

UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA

Con el fin de poder eliminar los desperdicios


deberamos ser capaces de reconocerlos y encontrarlos.

5.12 REACCIONAR
TAN
COMO SEA POSIBLE

PRONTO

En la era de la rpida evolucin tecnolgica, no


es el ms grande quien sobrevive, sino el ms
rpido. Cuanto antes se entrega el producto final sin
defectos considerables ms pronto se pueden recibir
comentarios y se incorporan en la siguiente
iteracin.

Por ejemplo si alguna actividad podra ser


excluida o el mismo resultado podra ser logrado sin
ella, esta actividad es considerada un desperdicio.
Se utiliza una tcnica llamada value stream
mapping (o mapa de flujo de valor) para distinguir y
reconocer los desperdicios.

Cuanto ms cortas sean las iteraciones, mejor


es el aprendizaje y la comunicacin dentro del
equipo.

Una vez logrado el segundo paso consiste en


sealar las fuentes de los desperdicios y eliminarlos. Lo
mismo debe hacerse iterativamente hasta que incluso
los procesos y procedimientos que parecan esenciales
sean eliminados.

La ideologa de produccin Just In Time podra


aplicarse a programas de desarrollo, reconociendo
sus necesidades especficas y el ambiente.

5.10 APLICAR EL APRENDIZAJE

Lo anterior se logra mediante la presentacin


de resultados, la necesidad de dejar que el equipo
se organice y dividiendo las tareas para lograr el
resultado necesario para una iteracin especfica.

El desarrollo de software es un proceso de


aprendizaje continuo, a ello se le suman los retos de los
equipos de desarrollo y el tamao del producto final. El
mejor enfoque para encarar una mejora en el ambiente
de desarrollo de software es ampliar el aprendizaje.

Al principio, el cliente dispone los requisitos


necesarios. Esto podra ser simplemente presentar
los requisitos en pequeas fichas o historias y los
desarrolladores estimarn el tiempo necesario para
la aplicacin de cada tarjeta es decir metodologa
Kanban.

La acumulacin de defectos debe evitarse


ejecutando las pruebas tan pronto como el cdigo est
escrito en lugar de aadir ms documentacin o
planificacin detallada.

As, la organizacin del trabajo cambia en


sistema autopropulsado.

Incrementando la retroalimentacin mediante


reuniones cortas con los clientes ayuda a determinar la
fase actual de desarrollo y se ajustan los esfuerzos para
introducir mejoras en el futuro.

Esto requiere la transparencia del proceso, que


es tambin beneficioso para la comunicacin del
equipo.

5.13 POTENCIAR EL EQUIPO

Durante las reuniones, tanto los clientes como el


equipo de desarrollo, logran aprender sobre el alcance
del problema y buscan posibles soluciones para un
mejor desarrollo.

Ha habido una creencia tradicional en la


mayora de las empresas acerca de la toma de
decisiones en la organizacin: los administradores
dicen a los trabajadores cmo hacer su propio
trabajo.

5.11 DECIDIR LO MS TARDE POSIBLE

En una tcnica llamada Work-Out, los roles


cambian: a los directivos se les ensea a escuchar a
los desarrolladores, de manera que stos puedan
explicar mejor qu acciones podran tomarse, as
como ofrecer sugerencias para mejoras.

El desarrollo de software est siempre asociado


con cierto grado de 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 pronsticos inciertos.

Los
directores
de
proyecto
ms
experimentados simplemente han declarado la clave
de xito de los proyectos: "Buscar la buena gente y
dejarles hacer su propio trabajo".

Cuanto ms complejo es un proyecto, ms


capacidad para el cambio debe incluirse en ste, as
que debe permitirse el retraso de los compromisos
importantes y cruciales.

5.14 CREAR LA INTEGRIDAD


El siempre exigente cliente debe tener una
experiencia general del sistema. A esto se le llama
percepcin de integridad:

Un enfoque de desarrollo de software gil puede


llevarles opciones rpidamente a los clientes, lo que
implica, retrasar algunas decisiones cruciales hasta que
los clientes hayan reconocido mejor sus necesidades.

Cmo es entregado, implementado y


accedido? Es su uso necesario? Precio? Hasta
qu punto resuelve los problemas?

Esto tambin permite la adaptacin tarda a los


cambios y previene las costosas decisiones delimitadas
por la tecnologa.

Integridad Conceptual significa que los


componentes separados del sistema funcionan bien
juntos, como en un todo, logrando equilibrio entre la
flexibilidad, sostenibilidad, eficiencia y capacidad de
respuesta.

ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS, CURSO DE TECNOLOGIAS ORIENTADAS A OBJETOS

UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA

Esto podra lograrse mediante la comprensin del


dominio del problema y resolvindolo al mismo tiempo,
no secuencialmente.
El flujo de informacin debe ser constante en
ambas direcciones, a partir del cliente a los
desarrolladores y viceversa, evitando as la gran y
estresante cantidad de informacin despus de un largo
periodo de desarrollo en el aislamiento.
Una de las maneras ms saludables hacia una
arquitectura integrante es la refactorizacin. Cuantas
ms funcionalidades se aaden a las del sistema, ms
se pierde del cdigo base para futuras mejoras.

Figura 2. Representacin de actividades


implementado Kanban.

Al final, la integridad debe ser verificada con una


prueba global, garantizando que el sistema hace lo que
el cliente espera que haga. Las pruebas automatizadas
tambin son consideradas como parte del proceso de
produccin y, por tanto, si no agregan valor deben
considerarse residuos.

6 METODOLOGIA KANBAN

Las pruebas automatizadas no deberan ser un


objetivo, sino, un medio para un fin; especficamente
para la reduccin de defectos.

La base del Sistema Kanban, es dividir el


proceso de fabricacin (o en este caso el de
desarrollo de software), en fases bien delimitadas,
que deben ejecutare sin error (alta calidad) para
poder avanzar a la siguiente y de esta forma
garantizar la calidad del producto final. Ver Fig.2

5.15 VEASE TODO EL CONJUNTO


Los sistemas de software hoy en da no son
simplemente la suma de sus partes, sino tambin el
producto de sus interacciones.

En los desarrollos giles, es una prctica


comn el visualizar y compartir el estado de un
proyecto mediante tarjetas pegadas en la pared o en
un tablero.

Los defectos en el software tienden a acumularse


durante el proceso de desarrollo por medio de la
descomposicin de las grandes tareas en pequeas
tareas y de la normalizacin de las diferentes etapas de
desarrollo. Las causas reales de los defectos deben ser
encontradas y eliminadas.

En particular, estas tarjetas de tareas pegadas


en la pared que muestran el estado actual se las
llama "Tarea Kanban" o "Software Kanban".
Hay dos objetivos que rigen esta metodologa:
por un lado, lograr un producto (o software) de
calidad, al obligar a cada fase del proyecto a finalizar
su tarea correctamente, y el de acabar con el caos,
saturacin o cuello de botella que puede darse en
una fase del proyecto en condiciones normales en
las que gobierna la rapidez por encima de la calidad
del producto.

Cuanto ms grande sea el sistema, ms sern las


organizaciones que participan en su desarrollo y ms
partes son las desarrolladas por diferentes equipos y
mayor es la importancia de tener bien definidas las
relaciones entre los diferentes proveedores con el fin de
producir una buena interaccin entre los componentes
del sistema.

Los principios bsicos de


conseguir estos propsitos son:

"Piensa en grande, acta en pequeo, equivcate


rpido; aprende con rapidez" estas consignas resumen
la importancia de comprender el terreno y la del
desarrollo de software.

Kanban

para

EMPIEZA CON LO QUE HACES


AHORA:

Slo cuando todos los idoneidad de implementar


los principios Lean a lo largo del proceso principios de
Lean se aplican al mismo tiempo, combinado con un
fuerte "sentido comn" en relacin con el ambiente de
trabajo, hay una base para el xito en el desarrollo de
software.

Kanban es un mtodo de produccin, no un


sistema que te dice cmo hacer tu trabajo. T equipo
y t saben cmo hacerlo y Kanban te ayudar a
decidir si lo estis haciendo bien o si hay que
cambiar algo.

ACEPTA EL CAMBIO:

Aunque soy partidario del lema si algo


funciona no lo toques, Kanban apuesta por algo as
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS, CURSO DE TECNOLOGIAS ORIENTADAS A OBJETOS

UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA

como si algo no funciona, cmbialo o si algo puede


funcionar mejor, mejralo.
Siguiendo el mtodo Kanban, todos los miembros
del equipo tienen que estar dispuestos a aplicar cambios
constantes para mejorar sus rutinas de trabajo, siempre
y cuando se haga poco a poco y con sentido comn.

RESPETAR EL PROCESO EN

CURSO:
Los roles y responsabilidades de cada uno: Tanto
en un proyecto de desarrollo de software como de cual
proceso productivo, es imprescindible que cada
miembro del equipo sepa qu tiene que hacer y cules
son sus funciones.

Figura 3: representacin de un cuello de botella

Para que el mtodo Kanban funcione esto tiene


que estar claro. No se trata de que todos hagan todo,
sino que cada cual sepa qu hacer en el momento
adecuado.

NIVELES:
Tener iniciativa y gestionar correctamente tu tarea
o a tu equipo es otro elemento bsico a tener en cuenta.
No se trata de crear sistemas piramidales unos dentro
de otros sino de que cada subgrupo y cada miembro
tengan clara su funcin y la ejecute correctamente.

2.

Se debe tener cuidado con la implementacin


de Kanban, pues se llega al error de querer
adaptar las actividades del equipo como estn
propuestas en algunos escritos, en vez de ello,
se debe analizar de forma detenida lo que el
equipo realiza para definir las actividades que
en realidad se pretende llevar cabo.

3.

Interpretar
el
panel
Kanban
leer
detenidamente el desarrollo de cada actividad
para poder determinar posible problemas o
reasignacin de recursos.

4.

Limitar el trabajo en curso (work in process) es


decir, si el sistema lo permite debe realizarse
avances correspondientes de cada actividad en
el tiempo estipulado.

5.

Evitar en lo posible los cuellos de botella, que


es el haber llegado al lmite de desarrollo del
tiempo de trabajo generando atascos (ver
Fig.3) en la produccin. al verse en esta
dificultad existen 3 salidas:

la mala: contratar ms personal


durante el cuello de botella.

la buena: reasignar en las


actividades de mayor riesgo
(denominado trabajador T).

Optar por la formacin de parejas de


programadores para realizar de forma gil
el desarrollo de proyectos.

7.

Tener en cuenta el bus facto (factor bus en


espaol), es decir que no exista un
miembro vital para el equipo, sin el cual el
equipo perezca para ello tener en cuenta
con cuntos miembros del equipo es lo
mnimo para operar.

8.

Adoptar cultura Kaizen en el equipo de


trabajo, es decir mejorar siempre en el rea
de trabajo en cuanto a la productividad,
satisfaccin del cliente y del proceso de
produccin.

9.

realizar mediciones sobre lo realizado por el


equipo usando el mtodo Kanban.

Para poder aplicar la esta metodologa para el


desarrollo de proyectos, debe realizrselos siguientes
pasos:
Mostrar de manera visual la realidad actual de
un equipo (visual management), a travs de
paneles. Por medio de ello se busca reflejar las
fases, las tareas y los miembros del equipo.

6.

LIDERAZGO EN TODOS LO

1.

la peor: aumentar o llevar al lmite


el tiempo de trabajo.

ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS, CURSO DE TECNOLOGIAS ORIENTADAS A OBJETOS

UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA

CONCLUSIONES
Cada vez hay ms incertidumbre, tanto en las
tecnologas disponibles como en los requisitos del
cliente, muy especialmente en sectores y empresas
tecnolgicas de desarrollo de software y aquellas en las
que la innovacin no es solamente una palabra en su
Misin.
Cuanto mayor sea la dificultad tecnolgica del
proyecto, cuanto mayor sea la incertidumbre de la
tecnologa aplicable, mayor ser el esfuerzo necesario
para disearlo, para testarlo y ms tarde se cerrarn los
requerimientos de diseo del producto.
Es en estos casos en los que las metodologas
giles tendrn mucho que aportar en la gestin de
proyectos de innovacin.
Estos aportes son de vital importancia para el
desarrollo de un proyecto, pero gracias a las
metodologas de desarrollo gil se puede hacer un
mejor uso de los recursos disponibles.

8 REFERENCIAS

Pablo Lled. 2012. Gestin gil de Proyectos: Lean


Project

Management.

Trafford

Publishing.

Primera

edicin. Estados Unidos.

Manuel Rajadell y Jos Luis Snchez. 2010. LEAN


MANUFACTURING: La evidencia de una necesidad.
Ediciones Daz de Santos Albasanz. Madrid, Espaa.

Angel Medinilla. Kanban yScrum Obteniendo lo Mejor de


Ambos. HenrikKniberg y MattiasSkarin, 2010

ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS, CURSO DE TECNOLOGIAS ORIENTADAS A OBJETOS