Kanban - Gestión de proyectos
Kanban se adapta al desarrollo de software como un enfoque de gestión de proyectos. Kanban en el desarrollo de software admite un flujo de trabajo continuo, denominado Value Stream.
Flujo de valor
El flujo de valor consta de todas las acciones necesarias para llevar un proyecto desde su creación hasta su finalización.
Las acciones pueden:
- Agregar valor al proyecto
- No agregue valor, pero es inevitable
- No agregue valor, evitable (denominado desperdicio)
Eliminación de residuos
Todo lo que no aporta ningún valor al proyecto se conoce como Residuos. Kanban facilita la eliminación de residuos.
En el desarrollo de software, hay tres tipos de residuos:
- Desperdicio en el desarrollo de código
- Residuos en la gestión de proyectos
- Desperdicio en el potencial del equipo
Residuos en el desarrollo de códigos
El desperdicio en el desarrollo de código se debe a las siguientes razones:
Partially completed work- El trabajo parcialmente terminado puede quedar obsoleto e inutilizable. Se puede eliminar con ciclos iterativos y con código modular que se completa dentro de la iteración.
Defects- Al desarrollar un código, la corrección y la repetición de las pruebas requieren tiempo y recursos. Se puede eliminar con un conjunto de pruebas actualizado, completando las pruebas dentro de la iteración y los comentarios continuos de los clientes.
Residuos en la gestión de proyectos
El desperdicio en la gestión de proyectos se debe a las siguientes razones:
Extra Processes- Documentación innecesaria que requiere tiempo y recursos. Se puede eliminar con:
Planificación previa de qué procesos son relevantes y necesarios.
Revisión de la documentación, que garantiza que se sigan los procesos pertinentes y necesarios.
Code Handoffs- significa pasar el trabajo de una persona o equipo a otro, después de que se completa el trabajo de la primera persona. Puede dar lugar a una falta de conocimiento. Puede eliminarse manteniendo visibles y claros los diagramas de flujo y las estructuras alámbricas.
Extra Functions- Estas son características que no son requeridas por el cliente. Se pierde tiempo y esfuerzo en desarrollar las funciones necesarias para implementar las características que el cliente no desea. Se puede eliminar con la interacción continua con el cliente y los probadores que participan en la recopilación de requisitos, ya que pueden visualizar mejor los escenarios y el comportamiento esperado del sistema.
Desperdicio en el potencial del equipo
El desperdicio en el potencial del equipo se debe a las siguientes razones:
Task Switching- Conduce al peligro de la multitarea, que es un desperdicio. Se puede eliminar con el enfoque en una tarea con cada lanzamiento. Los grandes pasos del proceso se segmentan en tareas para:
Mejorar la visibilidad
Reducir las dependencias
Permita un flujo de trabajo sencillo
Centrarse en el tiempo de ciclo del trabajo entregado
Dar una forma de detectar y resolver cuellos de botella
Waiting- Tiempo para recibir instrucciones o información: el equipo está sujeto a permanecer inactivo si las decisiones no las toma el equipo, o si la información proporcionada al equipo (desarrolladores, probadores, etc.) son recursos costosos. Se puede eliminar permitiendo a los miembros del equipo (desarrolladores, probadores, etc.):
Tomar decisiones para que no tengan que esperar instrucciones.
Tener acceso a la información para que pueda ser utilizada cuando sea necesario.