Tesis 28-07-2020
Tesis 28-07-2020
Tesis 28-07-2020
EXTREMA, 2019”
Ayacucho, 2020
DEDICATORIA
Primeramente a Dios por guiarme cada día, darme salud y acompañarme en este
camino de vida.
A mi madre por haberme criado de la mejor forma, por sus consejos, su paciencia,
sus exigencias y su apoyo incondicional durante toda mi vida; a mi hermana por
su constante apoyo y preocupación, a Jazmín por su apoyo y deseo perseverante
en la realización durante todo el desarrollo de este proyecto.
ii
AGRADECIMIENTO
iii
CONTENIDO
DEDICATORIA .............................................................................................................. ii
AGRADECIMIENTO ................................................................................................... iii
CONTENIDO ....................................................................................................................i
RESUMEN .................................................................................................................... v
INTRODUCCIÓN ..........................................................................................................vi
CAPÍTULO I
PLANTEAMIENTO DE LA INVESTIGACIÓN
1.1. DIAGNÓSTICO Y ENUNCIADO DEL PROBLEMA .......................... 1
1.2. FORMULACIÓN DEL PROBLEMA DE INVESTIGACIÓN ............. 2
1.3. OBJETIVOS DE LA INVESTIGACIÓN................................................ 3
1.3.1. OBJETIVO GENERAL ........................................................................... 3
1.3.2. OBJETIVOS ESPECÍFICOS................................................................... 3
1.4. JUSTIFICACIÓN Y DELIMITACIÓN DE LA INVESTIGACIÓN .... 4
1.4.1. IMPORTANCIA DEL TEMA ................................................................. 4
1.4.2. JUSTIFICACIÓN ..................................................................................... 4
1.4.3. DELIMITACIÓN ...................................................................................... 5
CAPÍTULO II
REVISIÓN DE LA LITERATURA
2.1. ANTECEDENTES DE LA INVESTIGACIÓN ...................................... 6
2.2. MARCO TEÓRICO ................................................................................. 6
2.2.1. GESTIÓN DE SOFTWARE ÁGIL ......................................................... 6
2.2.2. MÉTODOS Y TÉCNICAS ....................................................................... 8
2.2.2.1. PROGRAMACIÓN EXTREMA (XP) .................................................... 8
A. VALORES DE LA PROGRAMACIÓN EXTREMA ............................ 9
B. PRINCIPIOS DE LA PROGRAMACIÓN EXTREMA ...................... 11
C. ROLES DE LA PROGRAMACIÓN EXTREMA ................................ 12
D. FASES DEL PROCESO ÁGIL XP ........................................................ 14
E. ARTEFACTOS DE XP ........................................................................... 19
2.2.2.2. MARCO DE TRABAJO SCRUM ......................................................... 21
A. ROLES SCRUM ..................................................................................... 22
B. ACTIVIDADES ....................................................................................... 24
C. ARTEFACTOS ....................................................................................... 31
2.2.2.3. MARCO DE TRABAJO KANBAN ....................................................... 32
A. VALORES ............................................................................................... 32
B. OBJETIVOS ............................................................................................ 34
i
C. AGENDAS ............................................................................................... 34
D. PILARES ............................................................. 35
E. PRACTICAS GENERALES .................................................................. 35
F. ROLES .............................................................. 38
G. FASES ............................................................. 38
H. ARTEFACTOS ....................................................................................... 39
2.2.2.4. PROGRAMACIÓN EXTREMA SOBRE SCRUM.............................. 40
A. SOFTWARE ITERATIVO E INCREMENTAL .................................. 41
B. PRUEBAS UNITARIAS CONTINUAS ................................................ 41
C. RE FACTORIZACIÓN DEL CÓDIGO ............................................... 42
D. CORRECCIÓN DE ERRORES Y CÓDIGO COMPARTIDO ........... 42
2.2.2.5. SCRUMBAN ........................................................................................... 43
A. CARACTERÍSTICAS DE SCRUMBAN .............................................. 43
B. REUNIONES EN SCRUMBAN ............................................................. 45
2.3. HERRAMIENTAS .................................................................................. 46
2.3.1. PROGRAMACIÓN ORIENTADA A OBJETOS (POO) .................... 46
2.3.2. SISTEMA GESTOR DE BASE DE DATOS ........................................ 47
2.4. POBLACIÓN .......................................................................................... 47
2.5. MUESTRA............................................................................................... 48
CAPÍTULO III
METODOLOGÍA DE LA INVESTIGACIÓN
3.1. TIPO Y NIVEL DE INVESTIGACIÓN ................................................ 49
3.1.3. DISEÑO DE LA INVESTIGACIÓN ..................................................... 50
3.2. POBLACIÓN Y MUESTRA .................................................................. 50
3.3. VARIABLES E INDICADORES ........................................................... 51
3.3.1. DEFINICIÓN CONCEPTUAL DE LAS VARIABLES ....................... 51
3.3.2. DEFINICIÓN OPERACIONAL DE LAS VARIABLES DE ESTUDIO
.................................................................................................................. 52
3.4. TÉCNICAS E INSTRUMENTOS PARA RECOLECTAR .....................
INFORMACIÓN............................................................................................................ 53
3.5. HERRAMIENTAS PARA EL TRATAMIENTO DE DATOS E ............
INFORMACIÓN............................................................................................................ 53
3.6. PROPUESTA DE MODELO DE GESTIÓN EN FUNCIÓN A LAS ......
METODOLOGÍAS APLICADAS ................................................................................ 53
ESTRATEGIA DE INTEGRACIÓN ........................................................................... 53
CAPÍTULO IV
ANÁLISIS Y RESULTADOS DE LA INVESTIGACIÓN
ii
4.1. ANÁLISIS DE FACTIBILIDAD DE IMPLEMENTACIÓN DE LA .....
METODOLOGÍA .......................................................................................................... 83
4.5. RESULTADOS...................................................................................... 109
CAPÍTULO V
CONCLUSIONES Y RECOMENDACIONES
5.1. CONCLUSIONES ................................................................................. 114
5.2. RECOMENDACIONES ....................................................................... 115
REFERENCIA BIBLIOGRÁFICA ............................................................................ 116
ANEXOS ................................................................................................................ 123
Anexo A. Plantilla de Product Backlog ...................................................................... 123
Anexo B. Plantilla de Historia de Usuario .................................................................. 124
Anexo C. Plantilla de Tarjeta CRC ............................................................................ 124
Anexo D. Plantilla de Task Card ................................................................................ 124
Anexo E. Encuesta de factibilidad para aplicar una metodología ............................ 125
Anexo F. Fichas bibliográficas .................................................................................... 133
Anexo G. Ficha de análisis documental ...................................................................... 136
ÍNDICE DE FIGURAS
ÍNDICE DE TABLAS
Tabla 1 Plantilla para las historias de usuario ............................................................................ 19
Tabla 2 Plantilla para tareas de ingeniería ................................................................................. 20
Tabla 3 Plantilla para las pruebas de aceptación........................................................................ 20
Tabla 4 Plantilla para las tarjetas CRC ...................................................................................... 21
Tabla 5 Herramientas para el tratamiento de datos e información .............................................. 53
Tabla 6 Modelo de integración de las metodologías Xp, Scrum y Kanban (Roles) ....................... 55
Tabla 7 Modelo de integración de las metodologías Xp, Scrum y Kanban (Actividades y Procesos)
.................................................................................................................................................... 56
iii
Tabla 8 Modelo de integración de las metodologías Xp, Scrum y Kanban (Artefactos)................ 57
Tabla 9 Modelo de integración de las metodologías Xp, Scrum y Kanban (Valores) ................... 57
Tabla 10 Modelo de integración de las metodologías Xp, Scrum y Kanban (Practicas) ............... 58
Tabla 11 Propuesta de modelo de gestión de trabajo ágil “XP + Scrum + Kanban” - Roles....... 59
Tabla 12 Propuesta de modelo de gestión de trabajo ágil “XP + Scrum + Kanban” - Actividades
y Procesos ................................................................................................................................... 59
Tabla 13 Propuesta de modelo de gestión de trabajo ágil “XP + Scrum + Kanban” - Artefactos60
Tabla 14 Propuesta de modelo de gestión de trabajo ágil “XP + Scrum + Kanban” - Valores ... 60
Tabla 15 Propuesta de modelo de gestión de trabajo ágil “XP + Scrum + Kanban” - Prácticas
Técnicas ...................................................................................................................................... 60
Tabla 16 Valoración de tabla de puntajes de la encuesta ............................................................ 83
iv
RESUMEN
v
INTRODUCCIÓN
vi
CAPÍTULO I
PLANTEAMIENTO DE LA INVESTIGACIÓN
1
proyecto: El software puede entregarse tarde, costar más de lo estimado
originalmente o no cumplir las expectativas de los clientes (Sommerville, 2011).
Probablemente las metodologías ágiles más conocidas y las más utilizadas son la
Programación Extrema, Scrum y Kanban entre las muchas que existen. Por lo
tanto, es necesario resaltar que el primero está orientado al desarrollo del
software, mientras que el segundo está orientado a la gestión del proyecto, el
tercero gestiona un óptimo flujo de trabajo dentro del proceso. Sin embargo, estos
enfoques pueden capitalizarse con la finalidad de proponer una metodología
híbrida, es decir, combinando las tres metodologías ágiles y de esta manera buscar
el complemento.
2
1.3. OBJETIVOS DE LA INVESTIGACIÓN
3
1.4. JUSTIFICACIÓN Y DELIMITACIÓN DE LA INVESTIGACIÓN
IMPORTANCIA TÉCNICA
IMPORTANCIA ECONÓMICA
La adecuada gestión de software ágil, permitirá estimar el tamaño de lo
que estamos construyendo y medir la velocidad en el que podemos hacer el
trabajo. Con esta información podemos estimar el costo correspondiente,
asimismo el modelo de desarrollo de software usando Scrum y Kanban sobre la
Programación Extrema, reducirá el costo de los cambios generados en etapas
posteriores en el desarrollo del proyecto.
1.4.2. JUSTIFICACIÓN
Según Vlaanderen, Jansen, Brinkkemper y Jasper (2011), en los últimos
años se ha introducido los principios ágiles como una de las mayores
innovaciones en la metodología de software. Uno de los puntos fuertes de la
metodología ágil es que el trabajo se vuelve dinámico, aceptando los cambios que
se puedan dar a lo largo del desarrollo, colaborando con los clientes y eligiendo al
4
software por encima de la documentación exhaustiva. Estos principios son
comunes a las diferentes metodologías ágiles de programación, sin embargo, una
metodología ágil debe tener dos componentes importantes: Prácticas de
programación y la parte de gestión de software ágil.
1.4.3. DELIMITACIÓN
En la siguiente investigación nos limitaremos al análisis de la metodología
de desarrollo de software ágil de la Programación Extrema y el marco de trabajo
Scrum y Kanban, ya que el primero aplica correctamente las prácticas de
programación, mientras el segundo se caracteriza por las prácticas de gestión y
organización, el tercero gestiona un óptimo flujo de trabajo dentro del proceso.
5
CAPÍTULO II
REVISIÓN DE LA LITERATURA
6
engloba un conjunto diverso de ideas y actividades. Al igual que en otras
disciplinas, “gestionar” implica coordinar grupos para realizar tareas que no se
pueden terminar por un solo individuo y, además, completarlas de manera
eficiente. La gestión de proyectos comprende cinco grandes bloques: planificar,
gestionar personal, organizar, controlar y dirigir (Tuya, Ramos y Dolado, 2007).
Fitsilis (2008), afirma que la gestión de proyectos ágil de software se basa en los
siguientes principios: abrazar el cambio, centrarse en el valor para el cliente,
entregar parte de la funcionalidad de forma incremental.
Es decir, si bien hay valor en los elementos de la derecha, valoramos más los
elementos de la izquierda.”
7
2.2.2. MÉTODOS Y TÉCNICAS
8
A. VALORES DE LA PROGRAMACIÓN EXTREMA
Según Beck y Andrés (2005), XP es una filosofía de desarrollo de
software basado en valores de la comunicación, retroalimentación, sencillez, el
coraje y el respeto.
a. COMUNICACIÓN
Debe ser fluida entre todos los participantes en el proyecto; además el
entorno tiene que favorecer la comunicación espontánea, ubicando a todos los
miembros en un mismo lugar. La comunicación directa nos da mucho más valor
que la escrita, podemos observar los gestos del cliente, o la expresión de
cansancio de nuestro compañero (Fernández, 2014).
b. SIMPLICIDAD
El proceso XP, es una metodología ágil, que apuesta por la sencillez, en
su máxima expresión. Sencillez en diseño, en código, en los procesos, etc. La
sencillez es fundamental para que todos entiendan el código y se trata de mejorar
mediante re codificaciones continuas (Beck, 1999).
XP le pide a cada miembro del equipo que construya lo más sencillo que funcione
hoy. XP se basa en hacer algo simple hoy y crear un ambiente donde el costo del
cambio sea lo más bajo posible (Canos, 2004).
c. REALIMENTACIÓN
El usuario debe utilizar desde la primera entrega el software desarrollado,
dándonos sus impresiones y sus necesidades no satisfechas, de manera que esas
historias vuelvan a formar parte de los requisitos del sistema (Fernández, 2014).
9
La retroalimentación debe practicarse en forma permanente. El cliente debe
brindar retroalimentación de las historias de usuario desarrolladas, a fin de
considerar sus comentarios para la siguiente iteración, y para entender cada vez
más sus necesidades. Los resultados de las pruebas unitarias son también una
retroalimentación permanente que tienen los desarrolladores acerca de la calidad
de la aplicación (Beck, 1999).
d. CORAJE
Coraje para vencer la frase más típica de los desarrolladores: "si funciona
no lo toques". Con XP debemos tocar continuamente cosas que ya funcionan, para
mejorarlas. Hemos de cambiar esta frase por la de: "si funciona, puedes
mejorarlo". Y eso, os lo aseguramos, requiere de mucho valor y coraje
(Fernández, 2014).
e. RESPETO
Todos dan y sienten el respeto que merecen como miembros valiosos del
equipo. Todos aportan valor, incluso si es simplemente entusiasmo. Los
desarrolladores respetan la experiencia de los clientes y viceversa. La gerencia
respeta nuestro derecho de aceptar la responsabilidad y recibir autoridad sobre
nuestro propio trabajo (Wells, 2019).
Es el valor que resume los otros cuatro y sin el que los demás no funcionarán. Si
no hay respeto entre los miembros del equipo y éstos no respetan al proyecto y a
sus compañeros, difícilmente se obtendrá un feedback correcto. No tendrán el
coraje suficiente para tomar las mejores y más simples decisiones y fallará la
comunicación. Nadie, en un equipo de trabajo que usa XP, es más importante que
10
nadie. Ni lo es el jefe del proyecto sobre el resto de miembros ni lo es el
ingeniero software sénior con muchos años de experiencia en el trabajo. (Martel,
2018).
c. Diseño sencillo, sólo se lleva a cabo el diseño necesario para cumplir los
requerimientos actuales.
11
g. Propiedad colectiva, las parejas de desarrolladores trabajan en todas las
áreas del sistema, de modo que no desarrollen islas de conocimientos y
todos los desarrolladores posean todo el código. Cualquiera puede
cambiar cualquier cosa.
Cliente. Es quien escribe las historias de usuario y las pruebas funcionales para
validar la implementación. Además, debe asignar la prioridad a las historias de
usuario y decide en que iteración debe ser implementada. Por cliente se entiende
la persona que toma decisiones empresariales.
Encargado de pruebas (tester). Es quien ejecuta las pruebas y luego informa los
resultados al equipo, además ayuda al cliente a escribir las pruebas funcionales
12
(…). Es alguien que tiene que ejecutar todas las pruebas de forma regular (si no
puede hacer funcionar su unidad y pruebas de funcionamiento en conjunto),
resultados de pruebas de difusión, y para asegurarse de que herramientas de
prueba funciona bien.
13
D. FASES DEL PROCESO ÁGIL XP
A. PLANIFICACIÓN
Según Jeffries, Anderson y Hendrickson (2001), el proceso XP plantea la
planificación mediante el diálogo continuo entre los integrantes del proyecto,
siendo los conceptos básicos de la planificación lo siguiente:
14
actores del proyecto (cliente, desarrolladores, administradores, etc.). En el proceso
XP se denomina a esta reunión “Juego de planeamiento” (“Planninggame”), pero
puede denominarse de una forma apropiada al tipo de empresa y cliente (Por
ejemplo, Reunión de planeamiento, “Planningmeeting” o “Planningworkshop”).
El cliente ordenará y agrupará según sus necesidades las historias de usuario
(Beck, 1999).
15
B. DISEÑO
Según Jefferies, Anderson y Hendrickson (2001), la metodología XP
hace especial énfasis en los diseños simples y claros. Los conceptos más
importantes de diseño en esta metodología son los siguientes:
16
misma es utilizada, lo que implica que el desarrollo de funcionalidad extra es un
desperdicio de tiempo y recursos.
C. DESARROLLO
Según Jeffries, Anderson y Hendrickson (2001), los conceptos más
importantes del desarrollo en esta metodología son los siguientes:
17
d. Integración: Todos los desarrolladores necesitan trabajar siempre con la
“última versión”, realizar cambios o mejoras sobre versiones antiguas originan
graves problemas y retrasan al proyecto, por eso XP promueve publicar lo antes
posible las nuevas versiones, aunque no sean las últimas, siempre que estén libres
de errores.
Idealmente, todos los días deben existir nuevas versiones publicadas, para evitar
errores, sólo una pareja de desarrolladores puede integrar su código a la vez.
D. PRUEBAS
Según Jeffries, Anderson y Hendrickson (2001), los conceptos más
importantes de las pruebas en esta metodología son los siguientes:
A. Pruebas unitarias: Todos los módulos deben pasar las pruebas unitarias
antes de ser liberados o publicados, las pruebas unitarias deben ser definidas antes
de realizar el código.
18
E. ARTEFACTOS DE XP
HISTORIAS DE USUARIO
Las historias de usuario son la técnica utilizada en XP para especificar
los requisitos del software. Se trata de tarjetas de papel en las cuales el cliente
describe brevemente las características que el sistema debe poseer, sean requisitos
funcionales o no funcionales. El tratamiento de las historias de usuario es muy
dinámico y flexible, en cualquier momento las historias de usuario pueden
romperse, reemplazarse por otras más específicas o generales, añadirse nuevas o
ser modificadas. Cada historia de usuario es lo suficientemente comprensible y
delimitada para que los programadores puedan implementarla en unas semanas
(Letelier y Penadés, 2006).
Tabla 1
HISTORIA DE USUARIO
Numero: Usuario:
Nombre Historia:
Prioridad en Negocio: Riesgo en Desarrollo:
Puntos Estimados: Iteración Asignada:
Programador Responsable:
Descripción:
Observaciones:
TAREAS DE INGENIERÍA
Una historia de usuario se descompone en varias tareas de ingeniería, las
cuales describen las actividades que se realizaran en cada historia de usuario,
asimismo las tareas de ingeniería se vinculan más al desarrollador, ya que permite
tener un acercamiento con el código (Ferreira, 2013).
19
Tabla 2
TAREA DE INGENIERÍA
Numero de Tarea: Numero de Historia (Nro. y
Nombre):
Nombre de Tarea:
Tipo de Tarea: Puntos Estimados:
Desarrollo/Corrección/ Mejora/
Otra (especificar)
Fecha Inicio: Fecha Fin:
Programador Responsable:
Descripción:
PRUEBAS DE ACEPTACIÓN
Las pruebas de aceptación son de vital importancia para el éxito de una
iteración y el comienzo de la siguiente, con lo cual el cliente puede conocer el
avance en el desarrollo del sistema y a los programadores lo que resta por hacer.
Además, permite una retroalimentación para el desarrollo de las próximas
historias de usuario a ser entregadas (Jeffries, 2013).
Tabla 3
PRUEBAS DE ACEPTACIÓN
Código: N° Historia de Usuario:
Historia de Usuario:
Condiciones de Ejecución:
Entrada/ Pasos de ejecución:
Resultado Esperado:
Evaluación de la Prueba:
20
TARJETAS CRC (CLASE-RESPONSABILIDAD
COLABORACIÓN)
Las tarjetas CRC, permiten conocer que clases componen el sistema y
cuáles interactúan entre sí, se dividen en tres secciones: Nombre de la Clase,
Responsabilidad y Colaboradores.
Tabla 4
TARJETAS CRC
Nombre de la Clase: Nombre de la clase al cual hace referencia la
tarjeta.
Responsabilidades: Atributos y Colaboradores: Clases que
operaciones de la clase. colaboran con la clase citada en la
tarjeta.
Según Díaz (2009) define a Scrum, como una colección de procesos para la
gestión de proyectos, que permiten centrarse en la entrega de valor para el cliente
y la potenciación del equipo para lograr su máxima eficiencia, dentro de un
esquema de mejora continua.
Según Sommerville (2011) afirma que Scrum es un método ágil que ofrece un
marco de referencia para la administración del proyecto. Se centra alrededor de un
conjunto de Sprints, que son periodos fijos cuando se desarrolla un incremento de
sistema. La planeación se basa en priorizar un atraso de trabajo y seleccionar las
tareas de importancia más alta para un Sprint.
21
Figura 2. Prácticas de Scrum (Rubín, 2013)
A. ROLES SCRUM
22
Equipos Scrum e individuos. El Dueño de Producto es la única persona
responsable de gestionar la Lista del Producto (Product Backlog).
b. El Scrum Master
Según Schwaber y Sutherland (2013), es el responsable de asegurar que
Scrum es entendido y adoptado. Los Scrum Masters hacen esto asegurándose de
que el Equipo Scrum trabaja ajustándose a la teoría, prácticas y reglas de Scrum.
El Scrum Master ayuda a las personas externas al equipo Scrum a entender qué
interacciones con el equipo Scrum pueden ser de ayuda y cuáles no. El Scrum
Master ayuda a todos a modificar estas interacciones para maximizar el valor
creado por el equipo Scrum.
23
B. ACTIVIDADES
24
Durante la planificación del Sprint, el propietario del producto y el equipo de
desarrollo acuerdan un objetivo de Sprint que define lo que se supone que
alcanzará el próximo Sprint. Usando este objetivo el equipo de desarrollo revisan
el backlog de producto y determina los elementos de alta prioridad que el equipo
puede lograr de manera realista en el próximo Sprint trabajando a un ritmo
sostenible, un ritmo al que el equipo de desarrollo pueda trabajar cómodamente
por un periodo prolongado de tiempo (Rubín, 2013).
b. Sprint
Schwaber y Sutherland (2013), es un bloque de tiempo (time-box) de un
mes o menos durante el cual se crea un incremento de producto “terminado”,
utilizable y potencialmente desplegable. Es más conveniente si la duración de los
Sprints es consistente a lo largo del esfuerzo de desarrollo. Cada nuevo Sprint
comienza inmediatamente después de la finalización del Sprint previo.
25
Figura 5. Los Sprints son el esqueleto del marco de Scrum (Rubín, 2013).
c. Daily Scrum
26
Figura 6. Scrum diario (Rubín, 2013)
27
Figura 7. Actividad de ejecución de Sprint (Rubín, 2013)
28
revisión se lleva a cabo el último día del Sprint, y no tiene una duración fija. En la
práctica, se utiliza el tiempo que sea necesario (Bahit, 2012).
29
Como última ceremonia de Sprint, Scrum propone efectuar al equipo, una
retrospectiva en forma conjunta con el Scrum Master y opcionalmente, el Dueño
de Producto. El objetivo de esta retrospectiva, como su nombre lo indica, es
“mirar hacia atrás (en retrospectiva)”, realizar un análisis de lo que se ha hecho y
sus resultados correspondientes, y decidir qué medidas concretas emplear, a fin de
mejorar esos resultados. La retrospectiva en Scrum suele ser vista como una
“terapia de aprendizaje”, donde la finalidad es “aprender de los aciertos, de los
errores y mejorar todo aquello que sea factible” (Bahit, 2012).
30
C. ARTEFACTOS
b. Sprint backlog
Es el conjunto de elementos de la lista de productos seleccionados para el
Sprint, más un plan para entregar el incremento de producto y conseguir el
objetivo del Sprint. La lista de pendientes del Sprint es una predicción hecha por
el equipo de desarrollo acerca de que funcionalidad formará parte del próximo
incremento y del trabajo necesario para entregar esa funcionalidad en un
incremento terminado (Schwaber y Sutherland, 2013).
31
c. Incremento del Producto
El incremento es la suma de todos los elementos de la lista de producto
completados durante un Sprint y el valor de los incrementos de todos los Sprints
anteriores. Al final del Sprint, el nuevo incremento debe estar “terminado”, lo cual
significa que está en condiciones de ser utilizado y que cumple la definición de
“terminado” del equipo Scrum. El incremento debe estar en condiciones de
utilizarse sin importar si el dueño del producto decide liberarlo o no (Rubín,
2013).
A. VALORES
Para Carmichael y Anderson (2015) Los valores de Kanban pueden
resumirse en esa sola palabra, "Respeto". Sin embargo, es útil expandir esto en un
conjunto de nueve valores (incluido respeto) que encapsula por qué los principios
y prácticas de Kanban existen.
a. Transparencia
32
La creencia de que compartir información mejora abiertamente el flujo
de negocios valor. Usando claro y sencillo el vocabulario es parte de este valor.
b. Balance
La comprensión de que diferentes aspectos, puntos de vista, y todas las
capacidades deben estar equilibrados para su efectividad. Algunos aspectos (como
la demanda y la capacidad) causarán un colapso si están fuera de balance por un
período prolongado.
c. Colaboración
Trabajando juntos. El método Kanban fue formulado para mejorar la
forma en que las personas trabajan juntas, por lo que la colaboración es en sí, su
corazón.
d. Enfoque en el cliente
Conocer el objetivo del sistema. En cada Kanban el sistema fluye a un
punto de valor cuando los clientes reciben un artículo o servicio requerido. Los
clientes en este contexto son externos al servicio, pero puede ser interno o externo
a la organización como todo. Los clientes y el valor que reciben es el punto
natural de enfoque en Kanban.
e. Flujo
La comprensión de que el trabajo es un flujo de valor, ya sea continuo o
episódico. Ver el flujo es un punto de partida esencial para usar Kanban.
f. Liderazgo
La capacidad de inspirar a otros a la acción a través del ejemplo, palabras
y reflexión. La mayoría de las organizaciones tienen cierto grado de estructura de
jerarquía, pero en Kanban se necesita liderazgo en todos los niveles para lograr
entrega de valor y mejora.
33
g. Comprensión
Principalmente autoconocimiento (tanto del individuo y de la
organización) para avanzar. Kanban es un método de mejora, y saber el punto de
partida es fundamental.
h. Acuerdo
El compromiso de avanzar juntos hacia las metas, respetando, y donde
sea posible, complaciente con las diferencias de opinión o enfoque. Esto no es
gestión por consenso, sino un co compromiso dinámico con la mejora.
i. Respeto
Valorar, comprender y mostrar consideración por personas. Al pie de esta
lista, es la base de que los otros valores descansan.
B. OBJETIVOS
Para Richter (2011) los objetivos personales de Kanban son:
C. AGENDAS
Para Carmichael y Anderson (2015) Kanban reconoce tres agendas
basadas en necesidad organizacional:
a. La sostenibilidad
La agenda es sobre encontrar un sostenible ritmo y mejorando el enfoque.
34
b. El servicio Orientación Agenda
Enfoca atención al rendimiento y cliente satisfacción.
c. La supervivencia
La agenda está preocupada con mantenerse competitivo y adaptativo.
D. PILARES
Para Richter (2011) son 3 pilares personales de efectividad:
a. Importancia
Aprende a seguir tu trabajo.
Aprenda a priorizar su trabajo.
Aprenda a respetar su propia priorización.
b. Atención
Limitar el trabajo en progreso lo ayudará a mantener el enfoque.
Aprender a manejar interrupciones externas.
Aprender a manejar el retraso.
Trabaja enfocado por 25 minutos y recompénsate con un freno de 5
minutos.
c. Valor
Visualice su flujo de trabajo para aprender implícitamente sobre su flujo
de valor.
Limite el trabajo en progreso para ayudarlo implícitamente a seguir,
aumentar su rendimiento y, por lo tanto, agregar más valor.
Mapee su flujo de valor para visualizar etapas de agregar valor y cuellos
de botella en su flujo de trabajo.
Aprender sobre ciudadanos e integrarlos como parte de su personalidad.
E. PRACTICAS GENERALES
Carmichael y Anderson (2015) definen 6 de ellos:
35
a. Visualiza
Un tablero Kanban es una, aunque no la única, forma de visualizar el
trabajo y el proceso para que sea un sistema Kanban en lugar de simplemente un
sistema de flujo, se deben definir los puntos de compromiso y entrega, y los
límites de WIP deben mostrarse para limitar el trabajo en progreso en cada etapa
entre estos puntos. El acto de hacer el trabajo y políticas visibles, ya sea en un
tablero de pared, en pantallas electrónicas u otros medios: es el resultado de un
importante viaje de colaboración para comprender el sistema actual y encontrar
áreas potenciales para mejorar.
b. Limite el WIP
Introducir y respetar los límites de WIP cambia un sistema "push" en un
sistema de "extracción", en el que los elementos nuevos no se inician hasta el
trabajo se completa (o en raras ocasiones, se aborta). Tener demasiado el trabajo
parcialmente completo es derrochador y costoso y, crucialmente alarga los plazos
de entrega, evitando que la organización sea receptiva a sus clientes y
circunstancias cambiantes y a las oportunidades.
c. Administrar flujo
El flujo de trabajo en un sistema Kanban debería maximizar la entrega de
valor, minimizar los tiempos de entrega y ser tan suave (es decir, predecible)
como sea posible. Estos son objetivos a veces conflictivos y, desde los entregables
suelen ser complejos, control empírico a través de la transparencia, se requiere
inspección y adaptación. Los cuellos de botella, donde ocurren están limitados por
un subproceso particular y bloqueadores, donde hay dependencias de otros
servicios, es importante tenerlos en cuenta y gestionarlos.
36
sintonizados por el experimento. Las políticas de proceso deben ser escasas,
simples, bien definidas, visibles, siempre aplicadas y fácilmente modificables por
los que prestan el servicio. Tenga en cuenta que "siempre aplicado" y "fácilmente
cambiable" van juntos. Establecer límites de WIP, y luego nunca desafiar,
cambiando o rompiendo los límites para ver si diferentes límites en diferentes
circunstancias mejoran los resultados, sería un pobre aplicación de esta práctica.
Alineación de la estrategia
Coordinación operativa
Gestión de riesgos
Mejora del servicio
Reposición
Fluir
Entregas a clientes
37
desde adentro, en lugar de encontrarlo, no puede responder a amenazas
existenciales desde afuera. Kanban facilita esto.
F. ROLES
Kanban es y sigue siendo el método "comienza con lo que haces ahora",
donde inicialmente nadie recibe nuevos roles, responsabilidades o títulos de
trabajo. Por lo tanto, no hay roles obligatorios en Kanban y el método no crear
nuevos puestos en la organización. Sin embargo, dos roles vienen surgiendo de la
práctica común en el campo y ahora se definen en el método mismo. Es el
propósito de los roles lo que es importante, en lugar de asignarle a alguien un
título de trabajo, por lo que puede ser útil pensar en los roles como "sombreros"
que la gente usa para llevar a cabo estos funciones: (Carmichael y Anderson,
2015).
G. FASES
Según lo establecido por (Ballesteros, 2008), se realiza mediante la
ejecución de 4 fases necesarias para su correcta aplicación, las cuales son:
38
Fase 2: Implementar Kanban en los componentes con más problemas
para facilitar su manufactura y para resaltar los problemas escondidos. El
entrenamiento con el personal continúa en la línea de producción.
H. ARTEFACTOS
Según (Kanbanize, 2020) son:
Al mismo tiempo, cada tarea que entra en su flujo de trabajo aparece en el tablero
como una tarjeta Kanban. El punto de entrada de cada tarjeta es la columna “Por
hacer”.
Hoy en día, existen soluciones de tarjetas Kanban digitales más prácticas y
accesibles a nivel global que son perfectas tanto para para los equipos remotos
como para los equipos que desarrollan su actividad en el lugar donde se realiza el
proyecto.
39
b. Una tarjeta Kanban es el elemento clave de un tablero Kanban. Cada
tarjeta representa una tarea o un trabajo que debe realizarse.
Algo muy importante es que la cantidad de tarjetas Kanban que están en progreso
en el tablero esté limitada. De esta forma evitará el cambio de contexto y los
problemas con la productividad.
40
bien juntas: Tratan de áreas diferentes y se complementan entre ellas (Kniberg,
2015).
41
de la información en las estructuras de información locales y la interfaz del
módulo.
La propiedad colectiva del código tiene por objetivo que todos los miembros del
equipo conozcan “qué” y “cómo” se está desarrollando el sistema, evitando así, lo
que sucede en muchas empresas, que existen “programadores dueños de un
código” y cuando surge un problema, nadie más que él puede resolverlo, puesto
que el resto del equipo, desconoce cómo fue hecho y cuáles han sido sus
requerimientos a lo largo del desarrollo (Bahit, 2012).
42
2.2.2.5. SCRUMBAN
Para (Pérez, 2011) sostiene que, Scrumban (o Scrum-ban) es una
metodología derivada de los enfoques Scrum y Kanban. Esta metodología, por
cierto, híbrida, contempla componentes y conceptos de ambas que se
complementan entre sí, para lograr una mejor optimización del proceso de
desarrollo.
El término “Scrumban” fue utilizado por primera vez por Ladas (2008), en su
publicación “Scrumban-Essays on Kanban System for Lean Software
Development”.
A. CARACTERÍSTICAS DE SCRUMBAN
Para (Ahmad, 2014) define las principales actividades que se realizan en
Scrumban:
43
a. Visualizar el flujo de trabajo
Esta es una de las herramientas más importantes tomadas de Kanban y que
se aplica a Scrumban, la cual se refiere a literalmente visualizar cada historia de
usuario en cada una de las etapas (o columnas) del flujo del proceso. Esto infiere
que cada ítem en el tablero es observado de su comienzo en el sprint backlog (en
un tablero Scrumban, primera columna a la izquierda), hasta su etapa final
“Completado” o “Done” (por lo general, la última columna a la derecha. La
visualización ayuda al equipo de trabajo, a identificar los cuellos de botellas en el
flujo del proceso. A su vez, esta observación del tablero completo ayuda a la
sincronización del equipo, ya que ayuda a saber en qué está trabajando cada
integrante.
b. Cola de trabajo
Como fue definido anteriormente, una de las características de Scrum, es
que las historias de usuario priorizadas y seleccionadas para ser trabajadas dentro
de un sprint en particular, son un compromiso de entrega por parte del equipo
hacia el cliente. Esto quiere decir que una vez que el sprint es iniciado, no son
aceptados cambios en su contenido (es decir, en sus historias de usuario). En
Scrumban, esto no sucede de esta forma, ya que se utilizan las denominadas colas
de trabajo de Kanban, que permiten que los sprints sean alterados cuando sea
requerido, sin producir grandes impactos.
44
d. Reglas explícitas
En Scrum, los equipos son auto-organizados, trabajan y se coordinan a sí
mismos con reglas implícitas. Sin embargo, en la práctica existen siempre
diferencias entre cómo un equipo debe organizarse y cómo están funcionando en
la realidad. Es por eso que en Scrumban, las reglas (o políticas) del equipo se
hacen efectivamente explícitas, para que todos en el equipo estén facultados para
auto-organizarse, con el fin de lograr flujos de trabajos más dinámicos y efectivos.
Así, esto permite que los integrantes del equipo puedan tomar decisiones rápidas
sin poner mucho esfuerzo en el pensamiento, e incluso reducir la posibilidad de
decidir incorrectamente y también, de ceder a las peticiones especiales bajo estrés.
Estas reglas explícitas tratan de hacer frente a situaciones recurrentes, en las que
alguien necesita tomar una decisión sobre cómo proceder o qué hacer, si surge una
situación de algún tipo en particular.
B. REUNIONES EN SCRUMBAN
Las reuniones de Scrum son uno de los elementos que se mantienen sin
grandes cambios en Scrumban. El único cambio que predomina entre cada
enfoque es la periodicidad en la cual las reuniones son realizadas.
a. Reuniones de Planificación
A diferencia de Scrum, Scrumban tiene reuniones de planificación más
cortas, con el fin de actualizar el backlog cuando sea necesario. El equipo siempre
debe planificar para el período más corto por delante. Tener reuniones de
planificación más largas no tiene sentido en el caso de que las prioridades
cambien a menudo. Esto reduce significativamente el tiempo en las que las
reuniones de planificación se llevan a cabo (Ladas, 2008).
45
c. Reunión de Revisión de Sprint
Se consideran las mismas características que en el enfoque Scrum, para
estas reuniones de revisiones.
d. Reunión de Retrospectiva
La periodicidad de esta reunión puede diferir en cada equipo/proyecto a
donde se implementa el enfoque Scrumban. Sin embargo, en Scrumban se hace
especial hincapié en los cuellos de botellas presentados durante el trabajo pasado,
de forma de entender las razones de los mismos y poder anticiparse en futuras
reincidencias.
2.3. HERRAMIENTAS
Según Martínez (2016), es una técnica de análisis y diseño de software que orienta
a los elementos de un sistema, sus atributos y responsabilidades en vez de
centrarse en el flujo de los procesos. El modelo abstracto está formado de clases.
Una clase describe a un conjunto de objetos que comparte los mismos atributos,
comportamiento y semántica.
La programación orientada a objetos es un importante conjunto de técnicas que
pueden utilizarse para hacer el desarrollo de programas más eficientes, a la par
que mejora la fiabilidad de los programas de computadora. En la programación
orientada a objetos, los objetos son los elementos principales de construcción; sin
embargo, la simple comprensión del concepto de objetos, o bien el uso de objetos
en un programa, no significa que estén programados en un modo orientada a
objetos, un concepto importante en un sistema es el modo en que los objetos se
interconectan y comunican entre sí. La idea principal de la programación
46
orientada a objetos es un conjunto de objetos que interactúan entre si y que están
organizados en clases (Joyanes, 2005).
2.4. POBLACIÓN
Según Chávez (2007), la población “es el universo de estudio de la
investigación, sobre el cual se pretende generalizar los resultados, constituida por
características o estratos que le permiten distinguir los sujetos unos de otros”.
47
Según Córdova (2003), se denomina población, a un conjunto de elementos (que
consiste de personas, objetos, etc.), que contienen una o más características
observables de naturaleza cualitativa o cuantitativa que se pueden medir en ellos.
A cada elemento de una población se denomina unidad elemental o unidad
estadística.
2.5. MUESTRA
Según Monroy (2008), Es una parte de una población. El tamaño
completo de una población aun siendo finita, puede ser demasiado grande o
también a veces no se puede estudiar toda, por cuestiones de costos y recursos.
Por eso es necesario o conveniente examinar sólo una fracción (muestra) de la
población.
48
CAPÍTULO III
METODOLOGÍA DE LA INVESTIGACIÓN
49
relacionan estas (Hernández, et al, 2014). Por esta consideración el nivel de
investigación es Descriptiva.
3.2.1. POBLACIÓN
La población de estudio estará compuesta por todos los modelos de
gestión de desarrollo de software ágil.
3.2.2. MUESTRA
Se tomó los modelos de gestión de desarrollo de software ágil a Scrum y
Kanban.
50
3.3. VARIABLES E INDICADORES
VARIABLE DE ESTUDIO
INDICADORES DE LA VARIABLE
Scrum. Método ágil que ofrece un marco de referencia para la administración del
proyecto. Se centra alrededor de un conjunto de Sprints, que son periodos fijos
cuando se desarrolla un incremento de sistema. La planeación se basa en priorizar
un atraso de trabajo y seleccionar las tareas de importancia más alta para un
Sprint.
Kanban. Método para definir, gestionar y mejorar los servicios que entregan
trabajo de conocimiento, como servicios profesionales, creativos, de esfuerzos y
el diseño de productos físicos y de software.
VARIABLE ESTUDIO
INDICADORES DE LA VARIABLE
51
Software a través de las pruebas unitarias. Es el proceso de detectar errores en
cada uno de los módulos (métodos o clases) del software, independientemente del
resto de componentes, estas pruebas son ejecutadas por el programador.
VARIABLE DE ESTUDIO
X: Modelo de gestión de desarrollo de software ágil.
INDICADORES
X1: Scrum.
X2: Kanban.
VARIABLE DE ESTUDIO
Y: Programación Extrema.
INDICADORES
Y1: Iterativo e incremental.
Y2: Pruebas unitarias continúas.
52
Y3: Refactorización del código.
Y4: Corrección de errores y código compartido.
3.4.1. TÉCNICAS
Análisis documental.
3.4.2. INSTRUMENTOS
Registro de ficha.
ESTRATEGIA DE INTEGRACIÓN
Con el objetivo de brindar un conjunto de buenas prácticas que permitan a
las empresas gestionar de mejor forma sus procesos de desarrollo de software
basados en la combinación de las metodologías mencionadas anteriormente, se
53
plantea realizar un esquema de integración de las metodologías Scrum, Kanban y
Xp, basados en una matriz de cruce, en donde se detallan las prácticas de cada una
de las metodologías, con sus estándares, relaciones, etc.
Se consolidará las mejores prácticas de Xp que está más enfocado a las técnicas
de programación y pruebas del software, combinándolo con Scrum que está más
enfocado a las prácticas de gestión y organización y Kanban más enfocado en
gestionar de manera general como se van completando tareas y en la mejora
continua, adaptándose como la base de esta propuesta de modelo de gestión de
trabajo.
54
Tabla 6
55
Tabla 7
Diseño
Diseño simple fácilmente entendible
Codificación Sprint Implementar priorizando que ayudará en la comunicación y
componentes con más desarrollo
dificultades
Pruebas
Pruebas unitarias Se adoptará en esta propuesta de
Implementar el resto de modelo de gestión de trabajo ágil
Pruebas de aceptación
componentes
Pruebas de integración
Scrum diario
Sprint Review Meeting
Revisión del Sistema Adoptar en esta propuesta de modelo
Retrospectiva Kanban de gestión de trabajo ágil
Re Release Planning
Meeting
56
Tabla 8
Historias de usuario
producto)
Tarjetas CRC Sprint Backlog Combinadas unas con otras para
mejorar las especificaciones del
Task Cards
cliente
Burndown chart Tablero Kanban
Burn up chart Cartas Kanban
Tabla 9
Modelo de integración de las metodologías Xp, Scrum y Kanban (Valores)
XP SCRUM KANBAN NOTA
Transparencia
Comunicación Comunicación Colaboración
Entendimiento
Equilibrio
Retroalimentación Retroalimentación
Enfoque al cliente
VALORES Similitud conceptual
Sencillez Flujo
Valentía Responsabilidad
Liderazgo
Respeto Acuerdo
Respeto
57
Tabla 10
58
De esta manera la propuesta de modelo de gestión de trabajo ágil “XP + Scrum +
Kanban”, tendríamos una nueva matriz:
Tabla 11
Propuesta de modelo de gestión de trabajo ágil “XP + Scrum + Kanban” - Roles
Product Owner
Scrum Master
ROLES
Scrum Team
Encargado de pruebas
Tabla 12
Planeación
Análisis Concientizar
nueva
ACTIVIDADES Y PROCESOS
metodología
Políticas explícitas Sprint
Diseño
Planning
Diseño simple
Codificación
Implementación
Sprint de todos los
Pruebas unitarias
componentes
Pruebas Pruebas de aceptación
Pruebas de integración
Scrum diario
Sprint Review Meeting Revisión del
Retrospectiva sistema
Re Release Planning Meeting
59
Tabla 13
Historias de
Product Backlog
ARTEFACTOS
Usuario
Tablero Kanban
Tarjetas CRC
Sprint Backlog
Task Cards
Burndown chart Cartas Kanban
Burn up chart
Tabla 14
Comunicación
Enfoque al cliente
VALORES Sencillez
Responsabilidad
Retroalimentación
Tabla 15
Propuesta de modelo de gestión de trabajo ágil “XP + Scrum + Kanban” - Prácticas Técnicas
Integración continua
Propiedad colectiva
60
Figura 10. Marco de trabajo “XP + Scrum + Kanban”
61
1. Juego de planificación
Se toman las características del sistema las cuales conformarán las historias de
usuario y también se definen los lanzamientos del proyecto. Durante la
planificación de la iteración, las historias de usuario son seleccionadas para la
iteración y se desglosan en tareas de desarrollo.
62
El cliente será el responsable de crear y gestionar esta planificación, aunque
cualquier miembro del equipo puede agregar ítems. Esta lista contiene los
requisitos del cliente a nivel macro, que serán expresados en Historias de Usuario
en las que se indica el valor que cada requisito aportará al cliente.
Antes del comienzo de cada sprint, se realiza una reunión de planificación para
determinar qué características se incluirán en el sprint, que es priorizada por el
propietario del producto. La primera vez que se produce esta reunión en un
proyecto, se crea la acumulación de productos. Puedes pensar en esto como sprint
0. Las historias de usuario elegidas por el propietario del producto para ser
incluidas en el sprint se dan al equipo y a través de una herramienta llamada
Planning Poker, se redimensionan para mostrar la complejidad de una historia
relacionada con las otras historias en grupo.
Planning Poker
63
Los estimadores altos y bajos deben compartir especialmente sus razones.
Después de una discusión adicional, cada estimador vuelve a seleccionar una
tarjeta de estimación, y todas las tarjetas se revelan nuevamente al mismo tiempo.
Product Owner
Scrum Master
Brinda ayuda a los equipos de desarrollo para resolver problemas que a estos se
les presente en el proceso de desarrollo.
64
Scrum Team
Encargado de Pruebas
SprintBacklog
Una vez que las historias de usuario son dimensionadas, se convierten en una serie
de tareas por el equipo y una estimación de tiempo sobre cuánto tiempo tomará
cada tarea. Una vez hecho todo esto, el equipo examinará la lista completa de
trabajos enviados para el sprint y decida si pueden comprometerse a completar el
65
trabajo al final del sprint. Para decidir esto, el equipo vota con cinco dedos para
evaluar las opiniones de los miembros individuales.
66
• Tablero de tareas – Task Board: Es un tablero en el que se puede
distinguir 3 columnas la primera está determinada por lo que hay que
hacer, lo que se está haciendo, y por último lo que está hecho, el propósito
es el de tener una idea del estado en el que se encuentran las tareas
asociadas a un determinado Sprint. Es de mucha importancia para los
equipos, ya que este tablero permite mantener informado a todo el equipo
de los avances en las labores, por lo que es importante que cada miembro
del equipo reporte sus avances diariamente.
67
Figura 11. Burn Up Chart. (Palacio, 2007)
Se propone a la creación de una tarjeta CRC por cada una de las clases que se
presentan en el proyecto mencionando sus responsabilidades en la parte izquierda
de la tarjeta y en la parte derecha la lista de los colaboradores de la clase. Esto
ayuda a los miembros del equipo de desarrollo a tener un mayor grado de
entendimiento al momento de desarrollar las tareas asignadas. En el Anexo B se
tiene una plantilla de las tarjetas CRC.
El formato físico de las tarjetas CRC facilita la interacción entre los stakeholders,
en sesiones en las que se aplican técnicas de grupo como tormenta de ideas o
juego de roles, y se ejecutan escenarios a partir de especificación de requisitos,
historias de usuario o casos de uso. De esta forma, van surgiendo las entidades del
sistema junto con sus responsabilidades y colaboraciones. Luego en un estadío de
diseño avanzado o ya en la implementación del sistema, las tarjetas CRC se
convierten en clases con métodos, atributos, relaciones de herencia, composición
o dependencia. (Casas & Reinaga, 2009).
68
Valor: Responsabilidad
Empoderar a cada miembro del equipo de su trabajo y terminar las tareas de forma
adecuada con la calidad así como en el tiempo estimado por el mismo miembro.
3. Diseño simple
El diseño del sistema de alto nivel ocurre al inicio y durante una iteración.
Una vez que finaliza la reunión de planificación, el equipo se reunirá sin el dueño
del producto para discutir el diseño de alto nivel del sistema.
Usaremos las Tareas de ingeniería para determinar las tareas que cada uno de los
miembros del equipo deben trabajar, así como para poder tener un control de que
es lo que cada quien debe hacer, estas tarjetas se representan mediante una forma
gráfica, misma que sirve también en las reuniones diarias en el tablero de tareas.
El modelo usado se aprecia en el Anexo C.
Un diseño simple se implementa más rápidamente que uno complejo. Por ello XP
propone implementar el diseño más simple posible que funcione. Se sugiere nunca
adelantar la implementación de funcionalidades que no correspondan a la
iteración en la que se esté trabajando. (Joskowicz, 2008).
Tareas sencillas. Pero en el transcurso del desarrollo del proyecto hay tareas que
no pueden ser ejecutadas en esos términos, por lo tanto fueron divididas en
iteraciones hasta que se reduzca su nivel de complejidad.
Tablero Kanban
Es una gran herramienta de ayuda que sirve para mejorar la eficiencia del flujo de
trabajo porque visualiza todas las tareas en un proceso de trabajo y proporciona
una transparencia general de la organización, permitiendo a los equipos tener una
clara visión de todos los elementos de trabajo y controlarlos a través de las
diferentes etapas de su flujo de trabajo.
En Scrum los tableros se van a resetear al final de cada Sprint, es decir, conforme
vamos finalizando el mismo, el tablero queda vacío y comenzamos de nuevo
69
añadir nueva nuevas historias de usuario, las siguientes en prioridad. En Kanban,
como vamos a tener un flujo de entrada-salida, conforme las tarjetas van pasando
por cada uno de los estados hasta llegar al estado final, cuando llegan a ese estado
salen del tablero y se archivan, vamos a tener un flujo continuo.
Cartas Kanban
Se usó post it el cual ayudó en la identificación de las tareas que estaban por
hacer, las que se están haciendo y las que ya se hicieron.
4. Cliente en el sitio
Durante una iteración, es ideal que el cliente esté en el sitio para ayudar a
responder rápidamente los detalles de una historia de usuario. Mientras las
reuniones físicas son ideales, las reuniones virtuales son mejores que ninguna
reunión. El punto importante es tener un cliente disponible que pueda
proporcionar respuestas rápidamente a medida que los desarrolladores exploran
los detalles de una historia de usuario.
La colaboración con el cliente más que la negociación de un contrato. Las
características particulares del desarrollo de software hacen que muchos proyectos
hayan fracasado por intentar cumplir unos plazos y unos costes preestablecidos al
inicio del mismo, según los requisitos que el cliente manifestaba en ese momento.
Por ello, se propone que exista una interacción constante entre el cliente y el
equipo de desarrollo. Esta colaboración entre ambos será la que marque la marcha
del proyecto y asegure su éxito. (Letelier & Penadés, 2006).
70
5. Equipo sentados juntos
Es importante para todo el equipo comprometido con el proyecto, debiendo
estar dentro de la distancia en donde podrían “comunicarse” de gritos el uno al
otro. Esto mejora la comunicación e imparte un sentimiento de camaradería.
Valor: Comunicación
71
BurnDown Chart
Este gráfico es usado en las iteraciones para determinar la velocidad de trabajo del
equipo, así como para conocer si existen retrasos en el proyecto, además es usado
en las reuniones con el cliente para explicaciones de avances en los trabajos.
Scrum Diario
Se realiza el análisis del gráfico de Burn-Down y del Tablero Kanban, para lo cual
todos los miembros del equipo anticipadamente deben haber actualizado sus
tareas, usando las Cartas Kanban.
6. Programación en pareja
72
programación en pares, el código y las revisiones se convierten en "tiempo real",
produciendo un nivel de calidad que deja de ser "solo de inspección". Con dos
personas en desarrollo, es muy poco probable que ambos pasar por alto el mismo
error.
7. Limitar el WIP
73
un límite alto e irlo bajando a cada dos o tres semanas hasta encontrar el
equilibrio. (Bermejo, 2011).
De esta forma todos pueden conocer lo que se está realizando así como obtener
ayuda de cosas que otra persona haya creado y que sirva como referencia.
9. Normas de codificación
Para ayudar con la propiedad colectiva, se utilizan las mejores prácticas para
mantener un diseño simple y garantizar que todo el código se cree de manera
coherente.
Para que estas cosas no pasen y tu código siempre esté a la altura, debemos seguir
siempre un estándar de codificación o Code Standard en inglés. Los estándares de
código, son parte de las llamadas buenas practicas o mejores prácticas, estas son
74
un conjunto no formal de reglas, que han ido surgiendo en las distintas
comunidades de desarrolladores con el paso del tiempo y las cuales, bien
aplicadas pueden incrementar la calidad de tu código, notablemente. Entendemos
como estándar de código a un conjunto de convenciones establecidas de ante
mano (denominaciones, formatos, etc.) para la escritura de código. Estos
estándares varían dependiendo del lenguaje de programación elegido y además
varían en cobertura, algunos son más extensos que otros. (ohmyroot!, 2017).
Por ejemplo:
10. Pruebas
75
y actualizando en el tablero pero identificando a las tareas como bug, o
afinamientos, luego en las reuniones diarias se procedieron a revisar estas y se
discutió la prioridad para la terminación del Sprint, si estas eran demasiado
críticas se procedía a su corrección caso contrario se las pasaba para ser atendidas
en las próximas iteraciones.
Re factoring
Una buena práctica para el re factoring es: La primera vez que hacemos algo, lo
hacemos, la segunda vez igual lo haremos pero notaremos que estamos
duplicando código y la tercera vez que hagamos lo mismo, se re factoriza.
76
las partes de un proyecto y posibilite visualizar los resultados de la integración de
una manera fácil y clara. En este marco la Integración Continua ofrece un
esquema que permite realizar integraciones a medida que se lleva a cabo el
desarrollo generando incrementos pequeños y mostrando los resultados obtenidos.
(Salamon, y otros, 2014).
Se hace una comprobación continua del código para poder integrar poco a poco
las mejoras o ir actualizando a diario para obtener un resultado mucho más fiable
y en un periodo menor de tiempo, garantizando resultados de calidad y un
funcionamiento correcto del proyecto gracias a su continua supervisión y a la
reducción de errores.
77
claramente etapas definidas para el ciclo de vida del desarrollo, dejando
comentarios y pruebas hasta el final. El ritmo sostenible también ayuda a la
gerencia a planificar más eficientemente las vacaciones del personal, ausencias no
planificadas y ocasionales "incendios" de producción que necesita ser extinguido
inmediatamente.
Sprint
Las actividades que se desarrollan durante del Sprint son: Sprint Planning
Meeting, Sprint Backlog, Daily Scrum Meetings y Sprint Review Meeting.
78
Con cada equipo se revisa las historias de usuario y tareas que se pretende realizar
para finalizar esta iteración, decidan en qué tarea trabajar y estimen el tiempo que
les llevará, así garantizar el compromiso y responsabilidad.
Durante el desarrollo de las tareas deben pasar por las pruebas unitarias de
software, se procede a definir las pruebas (casos de pruebas) y una vez estén listas
se procederá a desarrollar código para que la funcionalidad pase estas pruebas. La
forma del procedimiento es la siguiente:
79
• ¿Cómo podemos transformar el objetivo en un producto de calidad de la mejor
manera posible?
Reunión con el cliente para revisar y replantear las prioridades del proyecto.
El Sprint Review es uno de los cinco eventos de Scrum, y ocurre en el final del
Sprint, para inspeccionar el incremento y adaptar el Product Backlog en caso de
que sea necesario. Es una gran oportunidad para poder recibir feedback sobre el
desarrollo del producto. El objetivo principal del Sprint Review es brindar
transparencia tanto al equipo como al cliente.
80
Tiene una duración de 4 horas para Sprints de 4 semanas. Para Sprints más cortos,
esta reunión tenderá a ser más corta. Este evento es organizado por el Product
Owner, y es necesaria la presencia de todo el equipo de Scrum. El rol del Scrum
Master es asegurar que el evento ocurre y que cumple los tiempos establecidos,
además de asegurar una colaboración de todo el equipo.
El Product Owner explica qué ítems del Product Backlog han sido finalizados, y
cuáles no. Es importante tener en cuenta que se debe de ir actualizando el Tablero.
Retrospectiva
Esta reunión se realiza al finalizar cada Sprint y una vez realizada el Sprint review
meeting, en esta, el equipo de trabajo, trabaja en el análisis de cómo se realizó el
trabajo durante la última iteración, se describe lo que se realizó bien, lo que fallo
en el mismo y como pueden mejorar para la próxima iteración.
El enfoque de Scrum está dado para construir con calidad, los procedimientos que
respetan la calidad son aquellos que son entendidos, mejorados y conocidos por el
equipo de trabajo.
81
13. Pequeños lanzamientos
Así el cliente puede ver y tener versiones listas para trabajar de los productos que
él requiera.
Por lo tanto, partiendo de todas las características aquí expuestas, se puede definir
una metodología ágil, como aquella que busca y prioriza la satisfacción del cliente
a través frecuentes y pequeños evaluables de software, facilitando de esta manera,
una comunicación fluida entre todos los participantes (indiferentemente del rol
que jueguen) implicados en el desarrollo del proyecto; además de un mejor y
mayor control en la calidad del software elaborado. Como anteriormente se ha
comentado, las metodologías ágiles priorizan las entregas y/o animan a realizar
pequeños entregables de manera que haya una evaluación continua y constante.
En SCRUM estas entregas se controlan a través de iteraciones llamadas sprints.
(Moré Martín, 2011).
82
CAPÍTULO IV
Tabla 16
RESPUESTA PUNTAJE
83
Valoración menor de 40 puntos: Deben tomarse medidas correctoras para
implantar un sistema de gestión de desarrollo eficaz tradicional o ágil.
Por lo tanto en esta propuesta de marco de trabajo son equipos auto- organizados,
con un alto nivel de alineamiento y empoderamiento en cuanto al proyecto en el
que se trabaja, con lo que se logra tener alta flexibilidad, disciplina y
responsabilidad por parte de cada miembro. Estos equipos ágiles son capaces de
participar y tomar decisiones en igualdad de condiciones empoderándose del
proyecto, si bien existe al igual que en otras metodologías una jerarquía se tratará
de que todos se sientan dueños del proyecto.
84
como habilidades para comunicarse con el resto de sus compañeros como con los
mismos usuarios.
4.3. CAPACITACIÓN
85
Se procede a construir el Product Backlog de la siguiente manera
86
HISTORIA DE USUARIO N° 03
HISTORIA DE USUARIO
HISTORIA DE USUARIO N° 07
HISTORIA DE USUARIO
87
Procederemos a usar la técnica del Planning Poker para la estimación de las
Todo el equipo “se encierra” para estimar, y todos conocen lo que se va a estimar.
Si hay gente que no está al tanto de lo que se va a estimar la sesión debe comenzar
con una explicación y una sesión de preguntas para despejar cualquier duda sobre
las historias que se van a estimar.
Una por una se leen y discuten las historias de usuario. Una vez todos tienen claro
en qué consiste cada uno elige una carta en función del esfuerzo que prevé
requerirá esa historia. No es posible seleccionar un valor no incluido en la
baraja. Solo estiman los que después desarrollan (ni el Scrum Master ni el Product
Owner estiman, solo resuelven dudas).
88
Historia de usuario N°05: Listado de
13
todos los equipos
1 Historia de usuario 8 16
N°03: Agregar
nuevo equipo
Historia de usuario 5
N°01: Agregar
nuevo trabajador
Historia de usuario 3
N°02: Cambiar
datos del trabajador
2 Historia de usuario 13 16
N°05: Listado de
todos los equipos
Historia de usuario 3
89
N°04: Cambiar
datos de equipo
3 Historia de usuario 13 26
N°07: Listado de
todos los equipos
de un trabajador de
13
un área
Historia de usuario
N°06: Listado de
todos los equipos
de un área
90
HISTORIA DE USUARIO PARA HACER EN PROCESO PARA PRUEBAS HECHO
Historia de usuario N°03: Elaborar interfaz Cambiar Elaborar interfaz registro de Elaborar interfaz Elaborar esquema
Agregar nuevo equipo datos del trabajador. inventario. registro de persona. de la base de datos.
Historia de usuario N°01: Programación de botones. Programación de los botones. Programación de los
Agregar nuevo trabajador botones.
91
Gráfico Burn up Chart
92
Se procede a la definición de las tareas que se van a realizar para completar cada
historia de usuario comprometida en el Product Backlog para la iteración, todo
esto basado siempre en una definición de listo. Cabe mencionar que la
planificación de la iteración fue determinada para un periodo de tiempo de 2
semanas (9 días hábiles) con lo que se cumple con la práctica de esta propuesta de
modelo de gestión de trabajo de tener iteraciones cortas de trabajo.
TARJETAS CRC
RESPONSABILIDADES COLABORADORES
Se elabora las Tareas de Ingeniería con el fin de determinar las tareas que cada
miembro del equipo tiene.
Tareas de Ingeniería
TAREA: Registrar_Inventario
N° DE TAREA: 01 N° DE HISTORIA: 03
DESCRIPCIÓN
93
Dar clic en el botón guardar si todo está correcto, guardara el nuevo inventario, caso
contrario aparece un mensaje de error.
Dar clic al botón nuevo si se desea limpiar los campos y registrar un nuevo
inventario.
Dar clic al botón cancelar para salir de esta ventana.
Con el fin de tener una correcta visualización del flujo del trabajo de todo el
proyecto se procede a elaborar el Tablero Kanban.
94
4.4.4. Cliente en el sitio
Se mantuvo una coordinación mutua con el jefe del área de patrimonio, o algún
encargado de dicha oficina, con el cual se pudo solucionar dudas y errores en
forma oportuna.
95
96
97
98
99
100
En las reuniones del Scrum diario se pudo constatar generalmente que se avanza
tal cual se estuvo proyectado, salvo con uno que otro inconveniente propio de una
institución pública, como actividades extra laborales, reuniones del personal,
procesos de contrata y adjudicaciones, etc., gracias a la colaboración conjunto
entre todos los stakeholders del proyecto se fue logrando cada objetivo. Se va
revisando y actualizando los tableros, siendo el de mejor visualización el Tablero
Kanban.
101
4.4.10. Pruebas
Test unitarios:
102
PRUEBA DESCRIPCIÓN RESULTADO STATUS COMENTARIOS
ESPERADO
01 Log in usuario Función que genera una Correcto Validación de credenciales de acceso del usuario, si es
conexión válido obtiene el acceso, de no ser validos los datos de
conexión la función devuelve un mensaje de error.
02 Log out usuario Función que genera el Correcto Esta función sirve para cerrar una sesión previamente
cierre de sesión. generada.
03 executeUpdate Función que actualiza un Correcto Agrega un ítem más a la base de datos.
inventario más.
04 Cambiar datos del Función que actualiza datos Correcto Manejar excepciones si ocurriese un error.
trabajador de un usuario registrado.
05 Cambiar datos de Función que actualiza datos Correcto Manejar excepciones si ocurriese un error.
equipo de un inventario registrado.
06 Generar Listado de Se lista todo el inventario Correcto Manejar excepciones si ocurriese un error.
todos los equipos registrado.
08 Generar reporte por Se lista el inventario Correcto Manejar excepciones si ocurriese un error.
103
usuario. registrado por un usuario.
Test de aceptación:
Prueban la funcionalidad del código, su comportamiento. Se realizan pruebas del prototipo base de proyecto integrado en su totalidad para
verificar la funcionalidad del programa en general y su aceptación y posterior puesta en ejecución. El proyecto base deja de ser prototipo y
pasa a ser el software como tal, Sistema de Control de Inventario.
Reportes Listado de todos los Interfaces para cada Realizar un reporte Se obtiene el listado OK
equipos, por área y tipo de reporte con con ayuda de los del inventario del
sus respectivos
104
usuarios campos controles reporte seleccionado
Test de integración:
Tiene la responsabilidad de integrar todos los otros test mencionados anteriormente, para así validar el correcto funcionamiento de la
aplicación en su totalidad.
02 Módulo inventario Funcionamiento correcto de todo OK Los campos deben ser llenados en su totalidad
el registro y modificación de a pesar de no tener valor, de lo contrario el
inventario, sin ningún error que mensaje de error debe ser explícito, al igual si
pueda ocasionar la salida de la se quiere modificar un registro.
aplicación.
105
03 Modulo reporte Funcionamiento correcto de todos OK Establecer un mensaje de error si se quiere
los reportes, así como su posterior generar un reporte sin haber especificado el
descarga. tipo.
106
Durante el proceso de pruebas se aplicará el re factoring de todo el código
duplicado.
107
La refactorización y la propiedad colectiva de código siguen manteniendo el
mismo formato de trabajo debido a que ya se ha logrado que los miembros del
equipo se acoplen a la misma. Sin embargo la programación en pares si bien en la
primera iteración fue buena, tuvo sus problemas de acoplamiento que en esta
iteración se han visto reflejados pero en menor medida.
Las reuniones siguen el mismo estándar del Sprint anterior con revisiones y
preguntas frecuentes y las correspondientes revisiones en el tablero y gráficos de
avances. En esta iteración se pudo verificar y corregir el hecho de que los
programadores no actualizaban sus tareas diariamente, con esto se llegó a tener
mejor control en los cuadros, gráficos e indicadores de avances del proyecto.
Retrospectiva Iteración 2
En reuniones con los dueños del proyecto se realizó los correspondientes análisis
para ver potenciales cambios de las priorizaciones, pero en esta ocasión para la
iteración 3 no se obtuvieron cambios en el orden de desarrollo de las tareas, pero
si se encontraron varios ajustes que se procederá a realizar en algunas de las
funcionalidades. Para este caso solamente hubo observaciones de forma más que
de fondo, el Product Backlog cambio en la prioridad de registrar bienes y
servicios, por una observación realizada por el Product Owner en la reunión de
demostración en la historia de usuario.
Para esta fase se procederá a hacer un resumen general de las lecciones aprendidas
durante todo el sprint usando las plantillas de cada una de las iteraciones, se
108
tomarán las lecciones más importantes que tenga que ver con mejoras en cuanto a
la gestión y aquellas técnicas que puedan ser más importantes para ser aplicadas
en nuevos proyectos.
El cierre formal del proyecto una vez terminados todas las iteraciones y realizadas
las validaciones de los usuarios con su entera satisfacción se procede a la firma
del acta de entrega recepción del producto a los usuarios finales.
4.5. RESULTADOS
Una vez aplicada esta propuesta de modelo de gestión de trabajo ágil (“XP
+ Scrum + Kanban”) a lo largo de todas las iteraciones del proyecto, mostró los
siguientes resultados tanto positivos como negativos:
Hubo una excesiva dependencia del equipo de trabajo hacia el Scrum Master, para
saber qué hacer. Esto fue un impedimento al inicio de la iteración 1 que se fue
solucionando poco a poco y mostro mejorías en la iteración 2.
A pesar de tener planificadas las tarea, costó al principio a los miembros del
equipo comprometerse y responsabilizarse de la culminación de las mismas.
Al principio costó mucho la forma de trabajar en pares entre los miembros del
equipo, por lo que por estrategia fue necesario realizar una demostración con
experimentación con un par de miembros del equipo quienes cada día reportaban
sus experiencias favorables así como las limitaciones.
Los puntos de mejora que se han visto beneficiados con este marco de trabajo ágil
pasan a ser descritos a continuación:
109
necesidades de un solo proyecto y esté totalmente concentrado en este trabajo a
tiempo completo.
Al tener reuniones periódicas con el equipo de trabajo y los usuarios se logró que
los miembros del equipo de desarrollo tengan una visión mucho más amplia del
proyecto esto pudo ser comprobado en las reuniones diarias mantenidas en las que
una vez que se discutían los estados de las tareas los miembros se ayudaban entre
sí.
Otro de los puntos que se ha visto mejorado es la elección del trabajo por parte de
los miembros del equipo de acuerdo a sus aptitudes.
110
El hecho de llevar una plantilla de lecciones aprendidas es de gran ayuda puesto
que permite registrar errores y soluciones que bien documentadas puede ayudar a
otros equipos a no caer en las mismas problemáticas.
111
iteración el producto entregable final sea de un alto grado de calidad y adaptado
totalmente a las necesidades del cliente y probado por el mismo cliente.
Permite atender las necesidades del cliente con mayor exactitud. El uso de tarjetas
CRC han dado una gran ventaja y ayuda al momento de levantar las historias de
usuario de cada uno de los requerimientos.
El uso por separado de estas metodologías hubieran dado buenos resultados pero,
no hubieran complementado cosas muy importantes tal es el caso por ejemplo:
112
que trabaja el equipo simultáneamente, consiguiente un mayor control de las fases
del proyecto, flexibilidad y disminución del tiempo dedicado a tareas poco
productivas, pero hubiésemos tenido un resultado de poca calidad, además de
reducir la interacción del equipo.
113
CAPÍTULO V
CONCLUSIONES Y RECOMENDACIONES
5.1. CONCLUSIONES
114
5.2. RECOMENDACIONES
115
REFERENCIA BIBLIOGRÁFICA
Balza, L. M., Briceño, T., Linares, B., Lobo, R., & Nuñez, C. INFORME SOBRE
XP. Universidad Valle del Momboy. 2007
116
Carrasco, M., Ocampo, W., Ulloa, L. y Azcona, J (2019). Metodología híbrida de
desarrollo de software Combinando XP y Scrum. Mikarimin, 5(2),109-116.
Deemer, P., Benefield, G., Larman, C., & Bas, V. (2009). The Scrum Primer
Versión en Español. California, Estados Unidos.
Deemer, P., Benefield, G., Larman, C., & Bas, V. (2009). Información Básica de
Scrum the Scrum Primer Version 1.1. Scrum Training Institute. Traducción de
Leo Antoli. Agile-Spain. Disponible en: http://www.
goodagile.com/scrumprimer/scrumprimer_es.pdf. Consulta: 30 de mayo del 2011.
DeMarco, T. y Boehm, B. (2002). The agile methods fray. United States, New
York.
117
Díaz, R. (2009). Las metodologías agiles como garantía de calidad de software.
España.
Haugen, N. C. (2006, July). An empirical study of using planning poker for user
story estimation. In AGILE 2006 (AGILE'06). IEEE.9.
118
Kanbanize (2020). Kanbanize. Recuperado el 3 de enero de 2020, de:
https://kanbanize.com/es/recursos-de-kanban/primeros-pasos/que-es-tablero-
kanban/
Leiva, I., & Villalobos, M. (2015). Método ágil híbrido para desarrollar software
en dispositivos móviles. Ingeniare. Revista Chilena de Ingeniería, 473-488.
119
Martínez, J. (2016). Fundamentos de Programación en Java. España, Madrid:
EME.
Pressman, R. (2011). Ingeniería del software. United States, New York: The
McGraw-Hill.
Pressman, R. (2010). Ingeniería del Software. Un enfoque práctico. México DF:
Mc Graw Hill.
120
Robles, G., & Ferrer, J. (2002). Programación eXtrema y Software
Libre. Universidad Politécnica de Madrid. España.
Salamon, A., Maller, P. A., Boggio, A., Mira, N., Perez, S., & Coenda, F. (2014).
La integración continua aplicada en el desarrollo de software en el ámbito
científico–técnico. In XX Congreso Argentino de Ciencias de la Computación
(Buenos Aires, 2014).
Saliu, M. O., & Ruhe, G. (2007, September). Bi-objective release planning for
evolving software systems. In Proceedings of the 6th joint meeting of the
European software engineering conference and the ACM SIGSOFT symposium
on The foundations of software engineering (pp. 105-114).
121
Tesei, F., Cabrera, M., Vaquero, M., & Tedini, D. (2019). Acercando la academia
al mundo real: una experiencia de aplicación de Metodologías Agile al proceso
de enseñanza-aprendizaje en una asignatura de desarrollo de software. In I
Simposio Argentino de Educación en Informática (SAEI 2019)-JAIIO 48 (Salta).
Tuya, J., Ramos, I., Dolado, J. (2007). Técnicas Cuantitativas para la Gestión en
la Ingeniería del Software. España, La Coruña: Netbiblo S.L.
122
ANEXOS
123
Anexo B. Plantilla de Historia de Usuario
HISTORIA DE USUARIO
Usuario: Prioridad:
Descripción:
Observaciones:
NOMBRE DE LA CLASE
RESPONSABILIDADES COLABORADORES
N° DE TAREA: N° DE HISTORIA:
TIPO DE TAREA
PROGRAMADOR RESPONSABLE
DESCRIPCIÓN
124
Anexo E. Encuesta de factibilidad para aplicar una metodología
La presente encuesta es parte del trabajo de titulación de la carrera de Ingeniería
de Sistemas de la Universidad Nacional de San Cristóbal de Huamanga. La
información consignada en este documento será mantenida confidencialmente y
únicamente se utilizaran los datos estadísticos totales con fines académicos.
Nombre de la Empresa:…………………………………………………………...
Ciudad:…………….. Cargo:……………………………….
Fecha:……………………………….
1-5
6-10
11-20
21-49
50 a más
Cuestionario
1. ¿Los Ingenieros/Programadores, trabajan en varios proyectos en forma
simultánea a tiempo exclusivo?
Nunca
Casi nunca
A veces
Casi siempre
Siempre
125
2. ¿Cuál considera que es el nivel de aplicación de metodologías de gestión de
desarrollo en su empresa?
Muy bajo
Bajo
Regular
Aceptable
Muy alto
126
6. ¿Los proyectos anteriores han sido entregados en tiempo y forma o han
sufrido retrasos?
Prácticamente no
8. ¿Se tienen identificados los requisitos de los clientes tanto los especificados
por ellos como los no especificados, así como los requisitos legales y
reglamentarios?
Prácticamente no
127
10. ¿El cliente final está contento con el producto?
Prácticamente no
128
14. ¿Se acepta que los requerimientos cambien incluso en etapas tardías del
desarrollo?
Prácticamente no
129
18. ¿Los promotores, desarrolladores y usuarios son capaces de mantener un
ritmo constante de forma indefinida?
Prácticamente no
130
22. ¿Las decisiones de cambio son discutidas con el equipo de desarrollo o
tomadas por la parte gerencial?
Prácticamente no
131
26. ¿Existe un programa de mejora continua que afecta a todas las
actividades de la empresa empleando herramientas adecuadas y
estableciendo objetivos de mejora?
Prácticamente no
1 2 3 4 5
Total marcados
x1 x2 x3 x4 x5
Suma total de puntos
132
Anexo F. Fichas bibliográficas
FICHA BIBLIOGRÁFICA
Publicación Argentina
Año 2012
FICHA BIBLIOGRÁFICA
Edición Volumen 2
Publicación Argentina
Año 2015
FICHA BIBLIOGRÁFICA
Publicación Colombia
133
Editorial Universidad Icesi
Fichero https://repository.icesi.edu.co/biblioteca_digital/bitstream/10906/6
8430/1/cifuentes_modelo_integracion_2012.pdf
FICHA BIBLIOGRÁFICA
Autor Agilemanifesto
Fecha 2019
Fichero https://agilemanifesto.org/iso/es/principles.html
FICHA BIBLIOGRÁFICA
Versión 1.1
Año 2009
Fichero http://www.goodagile.com/scrumprimer/scrumprimer_es.pdf
FICHA BIBLIOGRÁFICA
Publicación España
134
Año 2008
FICHA BIBLIOGRÁFICA
Autor Ohmyroot!
Fichero https://www.ohmyroot.com/buenas-practicas-legibilidad-del-
codigo/
FICHA BIBLIOGRÁFICA
Publicación España
Año 2007
FICHA BIBLIOGRÁFICA
Publicación España
Año 2010
135
Anexo G. Ficha de análisis documental
136