Documentos de Académico
Documentos de Profesional
Documentos de Cultura
net/publication/337404157
CITATIONS READS
0 4,209
1 author:
Ricauter Lopez-Bermudez
State University of Milagro
3 PUBLICATIONS 2 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Analysis of the RUP methodology in the development of academic software using the DJANGO tool View project
All content following this page was uploaded by Ricauter Lopez-Bermudez on 21 November 2019.
1
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Resumen
El trabajo de fin de master propone un método de desarrollo de software apoyado en las
mejores prácticas de Metodologías Agiles, utilizando la herramienta Case Genexus, se
crea una aplicación Web que permita validar la propuesta en una organización
agropecuaria.
La propuesta del método toma como referencia el análisis de las mejores prácticas de
las metodologías agiles como Scrum, Xp y Kanban. Se aplica un desarrollo basado en
conocimiento, incremental y aplicando la técnica de prototipos.
El método define roles para las personas que forman parte del equipo y ejecutan los
pasos del método propuesto. Se definen elementos que constituyen resultados de las
actividades. Se definen actividades que permiten poner en acción el método entre las
personas que forman el equipo de trabajo, estas actividades son reuniones definidas.
2
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Abstract
The end-of-master project proposes a method of software development supported by the
best practices of Agile Methodologies, using the Case Genexus tool, a Web application
is created to validate the proposal in an agricultural organization.
The proposal of the method takes as reference the analysis of the best practices of agile
methodologies such as Scrum, Xp and Kanban. A development based on knowledge is
applied, incremental and applying the technique of prototypes.
The method defines roles for the people who are part of the team and execute the steps
of the proposed method. Define elements that constitute results of the activities. Activities
are defined that allow to put the method into action among the people that make up the
work team, these activities are defined meetings.
The experimentation carried out in the method allowed us to observe the way to
implement it and the following achievement is concluded:
3
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
ÍNDICE DE CONTENIDOS
1. Introducción ......................................................................................................... 10
1.1 Justificación....................................................................................................... 10
2.5.5 Resumen del Ciclo de vida del desarrollo de Software en Scrum ............... 36
4
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
5
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
4.6 Evaluación......................................................................................................... 70
6. Bibliografía........................................................................................................... 84
7. Anexos ................................................................................................................ 90
6
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
ÍNDICE DE TABLAS
Tabla 1. Postulados del Manifiesto Ágil ...................................................................... 20
7
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
ÍNDICE DE FIGURAS
Figura 9. Razones para adoptar el desarrollo ágil (CollabNet VersionOne, 2018) ...... 25
Figura 10. Beneficios para adoptar el desarrollo ágil (CollabNet VersionOne, 2018) . 26
Figura 12. Desafíos al adoptar el desarrollo ágil (CollabNet VersionOne, 2018) ........ 28
Figura 20. Cycle time y Lead time (Roock Stefan, 2010) ........................................... 40
Figura 24. Ciclo de vida del desarrollo de aplicaciones (Artech Consultores, 2012b) . 49
8
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
9
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
1. Introducción
El desarrollo del software ha cambiado con las nuevas técnicas que se van
desarrollando. El uso adecuado de las metodologías de desarrollo permitirá optimizar
recursos y tiempo a las empresas al construir productos de software con calidad y
seguridad.
1.1 Justificación
Éxito de Proyectos
60% Exitoso Deficiente Fracasado 55%
53% 52%
46% 48%
50% 44%
40% 41%40%
38% 37%
40% 36% 36%
31% 29%
28%
30%
20% 22%
17% 19% 17% 19%
20% 16% 16%
10%
0%
1994 2009 2010 2011 2012 2013 2014 2015
10
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
El problema en toda actividad son los obstáculos que tenemos para alcanzar los
objetivos. La industria del software se enfrenta a un gran problema, no se aplican
metodologías para su desarrollo de manera generalizada y obtener un producto de
calidad, hacerlo sin metodología se convierte en una artesanía. Una de las causas es
que la mayoría de profesionales tienen deficiencias académicas (Zavala Ruiz, 2004).
El Chaos report nos indica que la tendencia de los proyectos exitosos es que utilizan
metodologías agiles. Del total de proyectos exitosos, el 46% utilizan metodologías
agiles mientras que 14% utilizan la metodología en cascada (Standish Group, 2014).
11
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
12
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Se define la ingeniería de software como una tecnología con varias capas, ver figura 2,
estas capas son: procesos, métodos y herramientas que permiten elaborar a tiempo y
con compromiso de calidad sistemas complejos basados en computadoras, las
características de estas capas se definen a continuación (Pressman, 2010):
13
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Pressman (2010) nos propone que todos los modelos para desarrollar software pueden
incluir las actividades estructurales generales: la comunicación, la planeación, el
modelado, la construcción y el despliegue, pero cada modelo pone distinto énfasis en
ellas y define en forma diferente el flujo de proceso que invoca cada actividad
estructural, a continuación, se analiza los enfoques:
Modelo en cascada.
Modelo de Prototipo.
Modelo Incremental
Modelo Espiral
Requerimientos de sistema
Requerimientos de software
Análisis
Diseño del programa
Programación
Pruebas, y
Operación
14
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
El modelo de la cascada, a veces llamado ciclo de vida clásico, propone una perspectiva
sistemática y a la vez secuencial para el proceso del desarrollo de un software, se ilustra
en la figura 3:
“Comienza con la especificación de los requerimientos por parte del cliente y avanza a
través de planeación, modelado, construcción y despliegue, para concluir con el apoyo
del software terminado” (Pressman, 2010, p. 34).
Comunicación
Plan rápido
Modelado, diseño rápido
15
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
16
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Se basa en las mejores características del prototipado en conjunto con el ciclo de vida
clásico. “Incluye también el análisis de alternativas, y reducción de riesgos” (León,
Eberth, & Marco, 2003, p. 3).
Pressman ( 2010, p. 39) nos indica que: “Con el empleo del modelo espiral, el software
se desarrolla en una serie de entregas evolutivas”.
17
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
El desarrollo puede realizarse a gran escala, como el software evoluciona según conforme
el proceso continúe avanzando, tanto el cliente como el desarrollador pueden comprender
y en base a la retroalimentación reaccionan ante los riesgos en cada ciclo. La reducción de
riesgos en este modelo se logra utilizando los prototipos, este enfoque aplica el desarrollo
de prototipos en cualquier momento para evolucionar el producto(Pressman, 2010).
18
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
19
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
propósito de dicha reunión era analizar los principios y valores que ayudarían el
desarrollo de software con mayor rapidez. Representantes de Programación Extrema
(eXtreme Programming), SCRUM, DSDM (Dynamic Systems Development Method),
ASD (Adaptive Software Development), entre otros, proponían la necesidad de una
opción distinta a la existente, por ejemplo: que haya documentación pero no cientos de
páginas nunca utilizadas (Highsmith, 2001).
POSTULADOS
Canos (2003) nos indica que para obtener una mejor producción al desarrollar software,
los métodos agiles consideran el talento humano como la pieza fundamental para
20
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Los métodos ágiles apoyan lo importante que es la documentación, pero aconsejan solo
preparar la documentación estrictamente indispensable, la cual debe ajustarse a la parte
fundamental, dando predominio al contenido. La documentación ágil pretende aplicar
elementos menos costosos y con mayor dinámica como por ejemplo la comunicación
personal, la correcta funcionalidad del equipo de trabajo, los estándares y la auto
documentación (Herrera Uribe & Valencia Ayala, 2007).
En los métodos clásicos el usuario define sus necesidades, y según lo planificado tendrá
resultados en un tiempo definido; en el desarrollo ágil el usuario se convierte en parte
del equipo. El contrato firmado define la responsabilidad que se formaliza para cada
una de las partes (MendesCalo et al., 2009).
21
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Los métodos tradicionales no tienen la habilidad para dar respuesta ante las variaciones.
Al contrario, la planificación en las metodologías agiles, debe tener flexibilidad para la
adaptación al surgimiento de cambios. Una estrategia es realizar planificaciones
destinadas para pocas semanas y planificaciones con mayor cobertura para los meses
siguientes. Al laborar con pequeñas iteraciones, los líderes del proyecto pueden realizar
cambios a las prioridades para reflejar sus necesidades (Cockburn, 2007).
De los postulados, se crean los doce principios del Manifiesto Ágil (Cunningham, 2001).
La Agile Alliance (2001b) define los principios que dan las características del desarrollo
ágil, están publicados en su página web, los Principios se transcriben a continuación:
22
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Cada propuesta de metodología ágil considera los principios, pero poseen propiedades
particulares y hacen énfasis en aspectos más específicos (Cockburn, 2007).
Según Poole (2009) establecer una definición precisa de Metodología ágil no es sencillo,
quizá porque ágil encierra una extensa propuestas de metodologías y por la razón de
que Ágil está determinado como los cuatro postulados del Manifiesto Ágil (ver Tabla 1).
Canos (2003) considera que un modelo resulta ser ágil o liviano al momento de emplear
para su construcción un procedimiento o herramienta sencilla, la cual tenga como
objetivo desarrollar un modelo suficientemente bueno y aceptable, un modelo resulta
ser suficientemente bueno al momento de cumplir con los objetivos para el que fue
creado, adiciona valor al proyecto, y es fácil de construir (Canos et al., 2003).
Cockburn (2007) indica que la clave para el éxito del enfoque ágil son las personas.
Así como MendesCalo (2008) menciona que estos modelos ágiles planifican realizar la
entrega del software en pequeñas y utilizables partes, las cuales se les atribuye el
nombre de incrementos, consideran ciclos de desarrollo iterativos e incrementales.
La doceava encuesta que analiza el Desarrollo Ágil, presentó sus resultados, fueron
publicados el 9 de abril del 2018. Esta encuesta la realiza anualmente CollabNet
VersionOne entre los que practican metodologías ágiles. (CollabNet VersionOne, 2018).
Esta encuesta hace un análisis del estado del desarrollo ágil, por ejemplo, nos responde
¿Cuál es la metodología con mayor aceptación? A continuación, un detalle de sus
principales respuestas.
Se obtuvieron 1.492 respuestas. Los encuestados pertenecen a diferentes lugares del
planeta, la distribución geográfica se muestra en la imagen, Figura 8, el 55% pertenecen
a América del Norte, 7 % América del Sur dando un total del 62% en el nuevo
Continente, Europa el 27 %, Asia el 7%, África el 1 % y Oceanía (Australia) el 3%.
23
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Para los encuestados la razón para adoptar el desarrollo ágil es: con un 75%, aumenta
la aceleración de la gestión del desarrollo del software; un 64% opinan porque se
gestiona el cambio de prioridades, seguido con un 55% de personas que opinan que el
desarrollo ágil incrementa la productividad, mientras que el 49% indica que su razón es
la alineación para mejorar los negocios TI, y un 46% opina que la causa es que aumenta
la calidad del software (Figura 9).
24
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
25
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Figura 10. Beneficios para adoptar el desarrollo ágil (CollabNet VersionOne, 2018)
26
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
27
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
28
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Considerando como referencia la encuesta 2018 del estado del desarrollo Ágil a nivel
mundial, las metodologías para desarrollo de software más utilizadas son (ver figura 13):
Scrum
Kanban
Programación eXtrema
Existe una tendencia según la encuesta a una mezcla de las mejores prácticas de estas
metodólogas, se describe a continuación las tres metodologías más importantes.
2.5.1 Introducción
“Scrum es un modelo de desarrollo ágil definido por Ikujiro Nonaka e Hirotaka Takeuchi
en los años ochenta del siglo pasado, y adaptado por Ken Schwaber y Jeff Sutherland
como procedimiento de desarrollo de software en 1995” (Monte, 2016, p. 14).
Ken Schwaber y Jeff Sutherland propuesieron Scrum con el objetivo de encontrar una
forma diferente a lo tradicional para construir software, sus creadores lo consideran un
marco de trabajo, no una metodología, dentro del cual se pueden emplear otros
métodos (Kniberg, 2007).
“El marco de trabajo Scrum consiste en los Equipos Scrum, sus roles, eventos,
artefactos y reglas asociadas”. (Schwaber & Sutherland, 2017, p. 3). Cada elemento en
este método de trabajo tiene su función específica.
29
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Transparencia: Los aspectos significativos del proceso tienen que ser conocidos por
todos, mediante un estándar, por ejemplo: una interpretación común de
“terminado”(Monte, 2016).
Inspección: Los artefactos son chequeados por los usuarios para localizar cambios
inesperados (Schwaber & Sutherland, 2017).
Scrum busca crear equipos guiados por el principio de Planificar, hacer, comprobar y
actuar en ciclos de mejora continua(Monte, 2016).
30
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Product Owner (Dueño del Producto). “Conoce qué producto final desea obtener y
cómo debe ser” (Saiz Jorge, 2017). Define junto con el Scrum master los criterios de
aceptación del proyecto y de cada sprint. Es el único individuo que se encarga de tratar
toda la Lista del Producto, además manipula las prioridades en la lista, asegura que es
visible, transparente y clara para todos; y señala los requerimientos de esta lista en
que el Equipo de desarrollo se ocupará (Monte, 2016).
Los elementos Scrum son las evidencia físicas que se generan como resultado de su
aplicación, representan el resultado de las actividades(Palacios, 2017). Se consideran
como las herramientas para que los diferentes roles puedan organizarse y ejecutar su
trabajo (Monte, 2016).
31
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Increment (Incremento). Es el resultado del ciclo Sprint, una parte del Producto total,
construido de manera iterativa e incremental. La suma de los incrementos es el Producto
final, mediante las iteraciones de cada Sprint(Palacios, 2017).
Parking backlog (Tareas bloqueadas). Son las tareas bloqueadas por problemas
que no permiten finalizarlas, por ejemplo: se necesita de un resultado intermedio; deben
quedar solucionados al final del ciclo por los miembros del Equipo. (Monte, 2016).
Scrum board (tablero Scrum). Es una herramienta visual que muestra el estado del
sprint, el Scrum Master lo administra con el apoyo del Equipo de desarrollo. Se divide
mínimo en tres columnas: Por Hacer (not started), En Proceso (In progress), Finalizado
(Done). Por las columnas del tablero se desplazan las tareas (historias) a medida que
avanza el sprint. Se pueden añadir otros estados según necesidad del Equipo(Monte,
2016). En la Figura 14 se muestra un ejemplo de Scrum Board.
32
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Existen eventos (reuniones) que se determinan para minimizar las reuniones que aún
no se encuentran definidas. Estos eventos se denominan bloques de tiempo con
duración máxima. Las mínimas actividades que propone Scrum para manejar el control
del proceso son: (Schwaber & Sutherland, 2017).
Sprint (Ciclo)
33
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
34
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Sprint Review (Revision Del Sprint). Los autores de Scrum Schwaber & Sutherland
(2017, p.13) nos describen la revisión del Sprint:
35
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Al final del Sprint se lleva a cabo una Revisión de Sprint para inspeccionar el
Incremento y adaptar la Lista de Producto si fuese necesario. Durante la Revisión
de Sprint, el Equipo Scrum y los interesados colaboran acerca de lo que se hizo
durante el Sprint. Basándose en esto y en cualquier cambio a la Lista de Producto
durante el Sprint, los asistentes colaboran para determinar las siguientes cosas
que podrían hacerse para optimizar el valor. Se trata de una reunión informal, no
una reunión de seguimiento, y la presentación del Incremento tiene como objetivo
facilitar la retroalimentación de información y fomentar la colaboración.
Se trata de una reunión de, a lo sumo, cuatro horas para Sprints de un mes. Para
Sprints más cortos, el evento usualmente más corto. El Scrum Master se asegura
de que el evento se lleve a cabo y que los asistentes entiendan su propósito. El
Scrum Master enseña a todos a mantener el evento dentro del bloque de tiempo
fijado (Schwaber & Sutherland, 2017, p. 13).
Sirve para debatir entre Scrum Master y el Equipo de desarrollo sobre lo desarrollado
en el Sprint, analizar incidentes y bloqueos, buscar soluciones, aplicar la mejora
continua al proceso y compartir los éxitos (Palacios, 2017).
Saiz Jorge ( 2017), ilustra en la figura 17 el proceso Scrum y nos comentan un resumen
del ciclo de vida para desarrollar con Scrum:
El Product Backlog es creado por El Product Owner, esta lista contiene las características
que el producto final debe tener. Una de las ventajas es que esta lista no es cerrada y las
necesidades del cliente pueden variar a lo largo del proyecto.
En una reunión llamada Sprint Planing Meeting, en la que se reúne todo el equipo Scrum,
se decide qué se debe obtener en el primer Sprint, será el Sprint Goal. En esa reunión se
elabora el Sprint Backlog, otra lista que reúne las características que debe cumplir el
incremento que se va a entregar. Además, se planifica el trabajo que va a desarrollar el
Development Team.
36
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
El Sprint
37
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
2.6.1 Introducción
“Es una herramienta que sirve para organizar el trabajo, para ser cada vez más óptimo,
productivo y eficiente” (Rua, 2017, párr. xx).
Bahit (2011) nos indica que Kanban es uno de los métodos adaptativos que presenta
una menor tenacidad al cambio y sus actividades principales son: “Visualizar el proceso,
Limitar el trabajo en curso, Optimizar el flujo de trabajo” (Bahit, 2011).
38
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Bahit, (2011) afirma que: Nos permite conocer la lentitud de un proceso por
aglomeración de tareas. Esto produce un cuello de botella representado cuando se
detiene un proceso. Se ilustra el WIP en la Figura 19.
39
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Anderson & Carmichael ( 2016), sobre los roles nos explican que no hay Roles pero
han surgido con la práctica los siguientes:
Dos roles han surgido de la práctica común y ahora se definen en el método en sí mismo.
Es el propósito de los roles lo importante, más que asignarle a alguien un cargo.
40
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Programación eXtrema conocida como XP, su nombre original en inglés es: “Extreme
Programming”. Kendall & Kendall( 2005,p. 68) lo define como: “Es un enfoque de
desarrollo de sistemas que acepta lo que conocemos como buenas prácticas de
desarrollo de sistemas y las lleva al extremo”.
Algunos de los componentes y sus reglas son tan antiguos y conocidos como la
programación. Se aclara que el resultado es una metodología única y compacta para
aplicarla al proceso de crear software creada por Kent Beck (Robles & Carlos, 2014).
2.7.1 Elementos de XP
2.7.2 Roles de XP
Tomando como referencia lo propuesto por Beck & Andres( 2004): los roles que se
aplican en XP son: programador, cliente, Probador, Rastreador, Entrenador, Consultor
y Gesto.
41
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
compartir el código y el diseño, y tener el valor para superar cualquier fracaso” (Kendall
& Kendall, 2005, p. 74).
Cliente. Define especificaciones por medio de las historias de usuario, redacta pruebas
funcionales para validar las aplicaciones. Enfrenta los problemas del desarrollo(Kendall
& Kendall, 2005).
Consultor: Forma parte de las personas externas del equipo que cuenta con
conocimiento determinado en un tema en concreto para el proyecto. El equipo de
desarrollo XP espera del consultor es con el resolver sus propios problemas y recobrar
la confianza (Kendall & Kendall, 2005).
“Es el vínculo entre programadores y clientes, ayuda a que el equipo realice un efectivo
trabajo creando las condiciones adecuadas” (Kendall & Kendall, 2005).
2.7.3 Proceso XP
42
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Planeación. Previo hay una etapa llamada exploración considerada por su creador
Beck(2000). Se conformará el equipo y valorará sus habilidades, dura desde unas
semanas, si se tiene experiencia, hasta algunos meses si todo es nuevo. Se examina
las tecnologías que se utilizan para el proyecto. Se practica y estima el tiempo para las
tareas. Los clientes experimentan con la redacción de sus historias de usuario. Lo
43
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
La Planeación comienza escuchando los requerimientos de los usuarios por parte del
equipo de desarrollo XP para entender la funcionalidad que requieren, se utiliza la
técnica de Historia de Usuario (Pressman, 2010). Aquí radica una diferencia con las
metodologías tradicionales, al cliente no se le pide una historia exacta de lo que quiere
al principio, solo tiene que escribirla y ponerle prioridad, no se usan casos de uso
tradicionales, propuesto por UML(Robles & Carlos, 2014).
Las personas encargadas de trabajar en equipo para tomar la decisión de cómo asociar
las historias en las próximas entregas, es decir cuando haya un incremento de software,
serán los clientes y los desarrolladores. Se llega a un compromiso para la primera
entrega, luego se pasa a la siguiente entrega, llamada incremento de software, y así
sucesivamente hasta el n incremento, el equipo XP calcula el tiempo total y la velocidad
de éste. Si es necesario, habrá modificaciones tanto del contenido como de las fechas
de la entrega final. («Funcionamiento - Metodología XP», s. f.).
“Se crea un prototipo operativo en el caso de que haya un problema cuando se diseñe
una historia, esto se denomina solución en punta” (Pressman, 2010).
44
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Pressman (2010) nos comenta sobre XP y nos indica que dos programadores trabajan
en equipo con el objetivo de crear la codificación de una historia, las parejas de
programadores consideran la integración su responsabilidad.
45
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
usuarios involucrados, llamado “realidad”, de tal manera que nos permite un desarrollo
ágil y flexible por medio de una base de conocimiento, cumpliendo así el objetivo
principal de GeneXus que es la implementación en el menor tiempo posible y con la
mayor calidad posible(GeneXus training, 2017a). GeneXus provee una poderosa
herramienta con un enfoque diferente a las metodologías clásicas, como se observa en
la Figura 22.
Artech Consultores(2012b), indica que en resumen Genexus fue creado para que sus
clientes se puedan dedicar sin sobresaltos a su negocio, se conviertan en competitivos
y exitosos, dejando la tecnología de Software en manos de GeneXus. Bachmann( 2012)
le agrega al enfoque presentado: “Y de la seguridad también”, indicando que la
seguridad en las aplicaciones es automática, considerando las 10 vulnerabilidades más
clásicas de la OWASP”.
46
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
La base de conocimiento (denominada Kb) con solo ser descrita una vez, se
puede generar varios ambientes(base de datos y/o lenguajes) por
separados.(Gonda & Jodal, 2007)
El modelado de la base de datos son de manera automática (Verástegui, 2010).
El aplicativo (base de datos y programas) posee siempre independientemente
de las modificaciones sufridas, la mejor calidad en datos al aplicar la tercera
forma normal más óptima.
Generar soluciones de reportes y Data Warehousing simples y potentes.
Independencia de plataforma, lenguajes y arquitectura.(Gonda & Jodal, 2007)
Simplicidad gracias a que:
“GeneXus utiliza los recursos más avanzados de la inteligencia artificial, para
que el analista y los usuarios, puedan aplicarlos de una forma muy
simple”(Artech Consultores, 2012b, párr. xx).
47
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
La Figura 23, ilustra su metodología, el analista tiene como tarea principal representar
o describir la realidad, GeneXus emplea una metodología incremental aplicando
prototipos, bajo un desarrollo basado en conocimiento, este conocimiento es generado
por las visiones de los usuarios que parten de la percepción en función del ambiente y
la actividad de la empresa. En consecuencia la metodología usada por GeneXus tiene
como objetivo la evolución del producto(incrementos) por cada entregable, hasta cumplir
las expectativas amoldadas al requerimiento del usuario.(Artech Consultores, 2012b)
48
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Figura 24. Ciclo de vida del desarrollo de aplicaciones (Artech Consultores, 2012b)
Etapa Prototipo. GeneXus genera la estructura de la base de datos con sus datos y
las líneas de código para la creación del programa en el ambiente del prototipo, para
realizar pruebas con los usuarios. En caso que se detecten mejoras o corrección de la
aplicación se regresa a la etapa de Diseño(GeneXus training, 2017a). No existe
diferencia entre crear prototipos y ambiente de producción. El prototipo es la aplicación
que se generó para alguna plataforma determinada: ¡lo mismo que la aplicación final!
La diferencia radica en que los prototipos sirve para realizar pruebas (Márquez Daniel,
2009, p. 53).
49
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Etapa Producción. Cuando las pruebas son concluidas, se inicia la siguiente etapa
denominada Implementación en donde la herramienta GeneXus automáticamente
genera la base de datos y programas que se emplearan en el ambiente de
producción.(Artech Consultores, 2012b).
Android y iOS
50
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Fuente: http://www.genexus.com/technologies
51
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
52
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Una herramienta de desarrollo, vDevelop, desde el que se crean las estructuras de datos
y aplicaciones para la plataforma.
Además, hay otros componentes destinados a tareas más específicas, como el acceso
directo desde cliente a orígenes de datos (vDataClient), un sistema para la localización
de aplicaciones (vTranslator), un driver ODBC propio, un cliente basado en web, y
muchos otros más.
Para comenzar a desarrollar aplicaciones, basta con registrarse en el sitio web de Velneo
facilitando una dirección de correo electrónico. Tras ello, tendremos acceso al Panel de
Control (en el propio sitio web), desde el que podemos crear e iniciar nuestra propia
instancia de servidor vServer en la nube (Aguilar, 2010).
53
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Ventajas:
Velneo v7 es un conjunto de herramientas que posee una plataforma que las
integra para el desarrollo.
54
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Desventajas:
Los profesionales acostumbrados a programar “a mano”, no aceptan el cambio
de filosofía propuesto. Las cosas se realizan de manera simple en Velneo.
55
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
56
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Se definen varios roles para las personas que forman parte y ejecutan los pasos del
método propuesto. Estos roles permiten el trabajo en equipo, el equipo está formado
por profesionales de desarrollo de software y con la colaboración directa de los usuarios
finales.
Se definen actividades que permiten poner en acción el método entre las personas que
forman el equipo de trabajo, estas actividades son reuniones.
57
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Como parte fundamental del método que se propone es el apoyo de la herramienta Case
Genexus, versión XV, que implementa los requisitos planteados:
4.1.1 Roles
58
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
del equipo tengan las herramientas necesarias para desarrollar sus actividades.
Participa en el desarrollo con su experiencia en la herramienta.
Equipo de Desarrollo. Está conformado por los siguientes Roles como: Equipo de
desarrollo, Analistas Gx, líder de Requerimientos y Equipo de pruebas.
4.1.2 Elementos
59
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Reunión Definir Producto. Sirve para establecer el alcance del proyecto y se solicita
definir los requerimientos por medio de “historias de usuarios” a los usuarios.
Reunión Diaria. Dura unos15 minutos que realiza el equipo de desarrollo para
autoevaluarse.
Reunión de Reflexión. Es una reunión que se realiza al final de cada ciclo para
evaluar y aplicar mejora continua al proceso.
Reunión Entrega Final. Se realiza la entrega final del producto a los usuarios por
parte del todo el equipo se realizan un demo.
60
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Para objeto del desarrollo de la metodología su aplicación está dentro del ámbito de
requerimientos para una aplicación del sector de una organización agropecuaria.
FASE DESCRIPCIÓN
Fase de Apertura Definición de Requerimientos y Alcance
Fase de Construcción Se describe, genera y prueba el Producto
Fase de Entrega Entrega del Producto Final
(elaboración propia)
61
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
FASE APERTURA
DEFINIR HISTORIA DE
USUARIO Todo el equipo con usuarios
Lista de requerimientos
PLANIFICAR HISTORIA DE
Líderes con equipo de
USUARIO desarrollo
FASE DE CONSTRUCCIÒN
Pruebas
GENERAR
Revisión diaria
IMPLEMENTA
R
Líder y equipo de
desarrollo
BASE DE
CONOCIMIENTO
PROTOTIPO
FASE DE ENTREGA
PRODUCTO
Líder y equipo
Todos FINAL
de desarrollo
62
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Esta fase busca definir el alcance del proyecto, sus objetivos y planificación. Se define
en base a dos reuniones que se detalla a continuación.
Se cita a las personas que tienen poder de decisión sobre los requisitos para el
desarrollo del Producto y las personas que desarrollarán el Producto. El Objetivo que
se persigue es que todos los interesados estén claros en el alcance del proyecto, que
debe tener y que no el producto de software. El producto tendrá lo que necesitamos no
lo que soñamos. El líder del producto junto con el líder del Equipo de desarrollo lidera
esta reunión.
La guía para esta reunión considera lo siguiente:
Definir a que personas impactará el Producto. Los impactos negativos son los
riesgos del proyecto de desarrollo, por ejemplo, la resistencia al cambio. Los Impactos
positivos en las personas es lo que se busca resolver con la aplicación desarrollada.
63
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
PREGUNTA DESCRIPCION
¿Quién se beneficia? Actor, rol que desempeña el usuario
¿Qué se quiere hacer? Narrar la necesidad, ese algo
¿Cuál es el beneficio? Por Qué le da valor al negocio
(Elaboración propia)
64
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Para evaluar la calidad de la historia se aplica el proceso de las “Tres C” creado por Ron
Jeffiers, se detalla a continuación:
El líder del equipo concreta esta reunión. Los participantes de esta reunión son: El
equipo de desarrollo, el líder del equipo y el líder de requerimientos. Ellos analizan cada
requerimiento que permitirá paso a paso ir creando la lista de requerimientos agrupados
por funcionabilidad.
65
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
En resumen, esta fase aplica un diseño, luego se crea un prototipo, y como siguiente
paso se Implementa, permitiendo retornar al diseño para realizar modificaciones(Artech
Consultores, 2012b).
Pruebas del código: por parte del analista gx se puede apoyar utilizando la
herramienta gx test y,
Pruebas de aceptación: Se realiza con los usuarios según la validación de las
historias de usuarios.
66
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
humana:
Se busca la participación activa del usuario, define lo que quiere y participará en las
pruebas, la calidad la evalúa hasta conseguirla.
De acuerdo a lo analizado, GeneXus nos brinda varios objetos para describir las
historias de usuarios, entre otros tenemos los siguientes: Data Views, Reportes, Web
Panels, Transacciones, Procedimientos.
Transacciones. Permiten modelar la aplicación, se define los datos que utilizan las
historias de usuarios, es el punto de entrada de la base de conocimiento. Se crean los
programas que permiten ingresar, editar, o borrar información de la base de datos. Las
transacciones definen las pantallas que interactúan con el usuario y crea la base de
datos.
67
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Se considera que se llegó a esta fase cuando el equipo indica que alcanzó los objetivos
planteados en la fase de apertura, los miembros del equipo conocen que alcanzaron el
acuerdo por escrito de los requerimientos propuestos por el usuario, en su historia de
68
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
usuario, es decir el equipo cumplió con los requerimientos y está a satisfacción del
usuario.
Esta fase tiene dos actividades: Reunión Entrega final del “Producto Software” y una
reunión de reflexión.
Esta reunión se caracteriza con una revisión tipo demo donde el equipo junto a los
usuarios prueba el “Producto Software” construido Finalizado. Se hace la entrega de la
documentación de usuario.
Esta etapa consiste en una reunión del equipo de desarrollo sin los usuarios con el
objetivo de revisar el proceso y mejorarlo. Se base en el análisis de los obstáculos
durante todo el proceso, realizando una retroalimentación de los fallos, para aprender
de ellos y mejorar la metodología en sus próximas implementaciones.
69
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
4.6 Evaluación
La asociación APASA, nos permite construir una aplicación Web para el proceso de su
información, fue constituida legalmente en el año 2013, con número resolución SEPS-
ROEPS-2013-002484 supervisada por la Superintendencia de Economía Popular de
Ecuador. Se encuentra situada en la Parroquia Manuel J. Calle del cantón la Troncal,
en una hacienda enfocada en el sector agrario, las actividades que realiza la asociación
se centran en la producción de caña de azúcar. La Hacienda cuenta con 138ha, donde
cada socio posee cierta cantidad de hectáreas.
Formamos un equipo de desarrollo liderado por el Ing. Felipe Arévalo, con experiencia
en la herramienta Genexus, y un grupo de dos estudiantes del último semestre de la
carrera de ingeniería de Sistemas de la Universidad Estatal de Milagro, este grupo fue
capacitado en el uso de la herramienta Genexus y el método Magi-Gx.
70
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
A los miembros del equipo de desarrollo se los capacitó en el proceso y los diferentes
roles del método propuesto, así también en el uso de la herramienta. Se realizó en cuatro
semanas. Las personas involucradas mostraron predisposición y entusiasmo por
colaborar, hay que considerar que no tienen experiencia en métodos agiles.
71
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Día: 1
Duración: 8 horas.
El líder del producto junto con el líder del Equipo de desarrollo, lideraron esta reunión.
Se citó a los interesados: los usuarios que forman parte de la Asociación APASA y las
personas que forman el equipo desarrollo. El Objetivo de la reunión fue que todos los
interesados estén claros en el alcance del proyecto, que debe tener la aplicación Web y
que se descarta.
Se definió el impacto:
Presidente de la Asociación: conocer los movimientos y pagos por cada socio activo.
Tesorero: llevar un control de los pagos realizados por cada socio, y así poder emitir
los respectivos informes económicos de manera sistemática.
Secretaria: realizar la convocatoria a los socios activos para las asambleas ordinarias,
asambleas extraordinarias e ingresar los movimientos de cada socio.
Socios en General: Consultar sus pagos, deudas.
72
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Una vez definido el Objetivo y el impacto, se explicó a los usuarios como definir la lista
de requerimientos generales mediante el mecanismo de historias de usuarios. Los
miembros del equipo se encargaron de ayudar a los usuarios, no de escribir las historias.
Las historias fueron debatidas, analizadas y aprobadas por los asistentes a la reunión.
El resultado final fue tener una lista de características generales, denominada lista de
requerimientos, mediante historias de usuarios, el líder de producto fue el responsable
de administrar esta lista.
La columna Pri nos indica la prioridad en función a la importancia que le dan los
usuarios, la mayor prioridad se identifica con el número 1, mientras mayor es el número
menor la importancia.
Cada historia definida por el usuario nos permitió entender en forma general la
aplicación y estimar su complejidad. Esto facilita la fase de Construcción ya que se tiene
lo que se desea y como se probará.
73
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Criterio de validación:
Un Identificador obligatorio, permitirá crear las distintas
asociaciones
Cfg.Parámetros Como Presidente quiero activar múltiple asociaciones 2
para dar el servicio a otras agrupaciones.
Criterio de validación:
Un Identificador obligatorio, permitirá activar las
distintas asociaciones.
Con.Consultar Como socio quiero poder consultar y descargar las 4
convocatorios o resoluciones de las reuniones para
Convocatoria
estar informado
Criterio de validación:
Poder filtrar
Exportar a archivo pdf o excel
Criterio de validación:
Secuencial auto numérico
Descripción obligatorio
Def.Titulo Como Secretaria quiero definir los titulos para 1
asignarlos al ingreso de usuario.
Criterio de validación:
Secuencial auto numérico. Descripción obligatoria
74
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Criterio de validación:
Secuencial auto numérico.
Descripción obligatorio
Def.Institución Como Secretaria quiero definir las Instituciones para 1
organizar el trabajo.
Criterio de validación:
Secuencial auto numérico.
Descripción obligatorio
Criterio de validación:
Secuencial auto numérico.
El año y la fecha las tomará por defecto desde el
servidor.
Mov.Ventas Como secretaria quiero ingresar la información 1
respecto a las ventas de la caña.
Criterio de validación:
Tendrá un identificador secuencial auto numérico.
El año y la fecha las tomará por defecto desde el
servidor, no serán modificables.
Guardará automáticamente registros de usuarios que
ingresan, modifican y eliminan información.
Mov.Multas Como secretaria quiero ingresar multas por distintos 3
conceptos que sean aprobados por la directiva para
consultas posteriores.
Criterio de validación:
Tendrá un ID secuencial auto numérico,
La fecha será obligatoria.
Guardará automáticamente registro de auditoria.
Mov.Convocatoria Como secretaria quiero ingresar la información de las 2
reuniones convocadas para llevar sus registros y
control.
Criterio de validación:
Criterio de validación:
Es obligatorio ingresar el número de cédula, apellidos,
nombres, contraseña, correo, fecha de nacimiento.
Debe ser configurable para asignar perfil de opciones
en el sistema.
Cuando es socio pide la información complementaria.
75
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Criterio de validación:
Debe ser configurable
Criterio de validación:
Tendrá un ID secuencial.
La descripción será obligatoria.
Se podrá definir una política de seguridad.
Asignación de las opciones a las cuales tendrá acceso
según el perfil
Criterio de validación:
Tendrá un ID obligatorio.
Permitirá ingresar la descripción de la política.
Se dispondrà de configuración de tres tipo: Sesiones
Web, Sesiones SmartDevices y configuración de
contraseñas: se podrá configurar tiempo de expiración,
permisos múltiples, caducidad de la contraseña,
dificultad de la misma, cantidad de caracteres.
(Elaboración Propia)
Los participantes de esta reunión son: El equipo de desarrollo, el líder del equipo y el
líder de requerimientos. El líder de requerimientos presentó la lista de requerimientos en
Excel, procesadas de las historias de usuario desarrolladas en el paso anterior, y con
una estimación de prioridad. Los asistentes analizaron y agruparon los requerimientos
considerando su funcionabilidad y su prioridad, para crear los ciclos de desarrollo con
su respectiva lista de requerimientos del ciclo. La lista se encuentra abierta a cualquier
modificación planteada por el Líder de Requerimiento mientras no se encuentre en
proceso de desarrollo.
76
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Modulo/Historia/Prioridad
Seguridad Movimiento Configuración Gestionar
Seg.Perfil de usuario 2 Mov.Convocatoria 3 Cfg. 1 Def.Bancos 1
(puesto) (actividad) Organización
(corporativo)
Seg.Politicas 2 Mov.Pagos 3 Cfg. 2 Def.Persona 1
Parámetros (usuario)
(Elaboraciòn Propia)
77
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Ciclo 1
Duración Estimada: Una semana
Ciclo 2
Duración Estimada: Una semana
Ciclo 3
Duración Estimada: Una semana
78
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
El equipo procede y se dividen las historias de usuarios, ver tabla 9, para crear las
transacciones en la herramienta Genexus, el equipo cuenta con el líder del producto
para definir detalles, en Anexo I Pantalla de construcción, se muestran ejemplos: la
descripción de las historias se implementó por medio de estructura de la transacción y
las validaciones de las historias por medio de las reglas.
Se crean prototipos para realizar pruebas con los usuarios, ver a Anexo II Pantallas de
prototipos. Evaluaron las consultas automáticas que se generan en las transacciones
con lo solicitado por ciertos usuarios, se prueban y las aprueban.
79
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Se realizó la reunión diaria de 15 minutos. El equipo revisa lo realizado y esta listo para
la primera entrega el modulo configuración y Gestionar.
Duración: 3 horas
Finaliza el ciclo con la entrega a los usuarios mediante un demo donde se muestra todo
funcionando.
Duración: 3 horas
Terminada esta primera tarea, el equipo desarrollo se reúne para realizar la Reunión
de Reflexión, una vez finalizado el primer ciclo evaluaron todo el trabajo realizado y
comentan mejoras. Se debe mejorar la comunicación del equipo para ser más
descriptivos, el líder de producto no está disponible el 100% de tiempo lo que dificultad
aclarar ciertos detalles. Se conversó de los problemas con el ciclo 1 y soluciones dadas
y con esta experiencia se preparan para desarrollar en los días siguientes los ciclos 2
y 3.
Se toma la lista de requerimientos del ciclo 2, ver tabla 10, se analiza y se trabajan las
siguientes historias para el nuevo incremento a desarrollar y se repite el proceso
desarrollado en el ciclo 1 hasta alcanzar el siguiente entregable las opciones de
seguridad y la configuración de parámetros. Es decir se regresa a la Fase de
construcción, se generó los programas hasta entregarlos en Producción.
80
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Terminada la entrega Final del proyecto, se reunió el equipo de desarrollo sin los
usuarios con el objetivo de revisar el proceso desarrollado y realizar comentarios para
mejorarlo. Se destaca la velocidad del desarrollo utilizando el método Magi-Gx al
compararlo con los proyectos desarrollados con método tradicional. Los estudiantes
que formaron parte del equipo resaltan como Genexus hace trasparente el desarrollo
Web desde un solo punto de diseño, comparándolo con lo tradicional de programar en
el cliente en ciertos lenguajes y en el servidor utilizar otros.
Las limitaciones presentadas fueron los momentos que no contaron con el líder del
producto por sus ocupaciones dentro de la asociación. Valoran la documentación
técnica que genera Genexus en su repositorio, pero mencionan que los analista Gx que
participaban no seguían las reglas de nomenclaturas en los atributos lo que dificultaba
la integración. Se muestra en el anexo IV Configuración Genexus y documentación
Genexus, listado de tablas en modelo Entidad Relación generado por la herramienta.
81
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
5.1 Conclusiones
Se examinó las mejores prácticas utilizadas en las principales Metodologías Agiles, que
aportan al desarrollo de software en las organizaciones a nivel mundial como son:
Scrum, Kanban y Programación Extrema, para construir el método propuesto en este
trabajo denominado, “Método Ágil con Genexus” (Magi-Gx).
82
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
83
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
6. Bibliografía
Agile Alliance. (2001b). Principios del Manifiesto Ágil. Recuperado 17 de julio de 2018,
de http://agilemanifesto.org/iso/es/principles.html
Beck, K., Beedle, M., Bennekum, A., Cockburn, A., Cunningham, W., & Fowler, M.
(2001). Manifiesto por el Desarrollo Ágil de Software. Recuperado 2 de julio de
2018, de http://agilemanifesto.org/iso/es/manifesto.html
Canos, J., Letelier, P., & Penadés, M. C. (2003). Metodologías Ágiles en el Desarrollo
de Software. Recuperado de
84
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
https://ldc.usb.ve/~abianc/materias/ci4713/actasMetAgiles.pdf
Chikofsky, E. J., & Rubenstein, B. L. (1988). CASE: reliability engineering for information
systems. IEEE Software, 5(2), 11-16. https://doi.org/10.1109/52.2005
Cockburn, A. (2007). Agile software development : the cooperative game. (Pearson, Ed.)
(Second). Boston: Addison-Wesley.
https://articulosit.files.wordpress.com/2011/11/kanban.pdf
Herrera Uribe, E., & Valencia Ayala, L. E. (2007). Del manifiesto ágil sus valores y
principios. Scientia Et Technica, XIII(34). Recuperado de
http://www.redalyc.org/html/849/84934064/
85
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Kendall, K., & Kendall, J. (2005). ANÁLISIS Y DISEÑO DE SISTEMAS. (Pearson, Ed.)
(Sexta). Mèxico. Recuperado de
https://luiscastellanos.files.wordpress.com/2014/02/analisis-y-disenio-de-sistemas-
kendall-kendall.pdf
Kniberg, H. (2007). Una historia de guerra Ágil Scrum y XP desde las trincheras. (InfoQ,
Ed.). C4Media. Recuperado de http://infoq.com/minibooks/scrum-xp-
fromthetrenches
Lawrence Shari. (2002). Ingenieria Del Software. Pearson Education S.A. Recuperado
de
http://ebookbit.com/book?k=Ingenieria+Del+Software&lang=es&isbn=9789879460
719&source=sites.google.com
León, R., Eberth, T., & Marco, Y. (2003). Criterios de selección de metodologías de
desarrollo de software. Industrial Data, 6(2), 82-87. Recuperado de
http://www.redalyc.org/html/816/81619984009/
Melo, C., Katayama, E., Prikladnicki, R., Goldman, A., Melo, C. D. O., Santos, V., …
Kon, F. (2013). The evolution of agile software development in Brazil HELENA
SURVEY-Hybrid dEveLopmENt Approaches in software systems development
View project InterSCity-Enabling the Future Internet for Smart Cities View project
The Evolution of Agile Software Development in Brazil Education, Research, and
the State-of-the-Practice. Article in Journal of the Brazilian Computer Society.
https://doi.org/10.1007/s13173-013-0114-x
MendesCalo, K., Estevez, E., & Fillottrani, P. (2009). Un Framework para Evaluación de
Metodologías Ágiles. Recuperado 3 de julio de 2018, de
86
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
https://www.researchgate.net/publication/242584795_Un_Framework_para_Evalu
acion_de_Metodologias_Agiles
Navarro Cadavid, A., Fernández Martínez, J. aniel, & Morales Vélez, J. (2013). Revisión
de metodologías ágiles para el desarrollo de software A review of agile
methodologies for software development. Recuperado de
http://www.redalyc.org/pdf/4962/496250736004.pdf
87
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Schwaber, K., & Sutherland, J. (2017). La Guía Definitiva de Scrum: Las Reglas del
Juego Español. Recuperado de
https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-
Spanish-SouthAmerican.pdf
Sutherland, J., & Schwaber, K. (2011). The Scrum Papers: Nut, Bolts, and Origins of an
Agile Framework. Recuperado de http://34slpa7u66f159hfp1fhl9aur1-
wpengine.netdna-ssl.com/scrumpapers.pdf
88
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Zavala Ruiz, J. (2004). ¿Por Qué Fracasan los Proyectos de Software? Un Enfoque
Organizacional February 2004. En Congreso. Mexico.
https://doi.org/10.13140/RG.2.1.4741.3206
Zelkowitz, M. V., Shaw, A. C., & Gannon, J. D. (1979). Principles of software engineering
and design. Prentice-Hall. Recuperado de
https://dl.acm.org/citation.cfm?id=578504&preflayout=flat
89
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
7. Anexos
Tabla Ilustraciones
90
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
91
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
92
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
93
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
94
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
95
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
96
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
97
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
98
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
99
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
100
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Tabla Ilustraciones
101
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Inicio de Sesión
Página de inicio
La página home, mostrará el menú con el perfil de usuario asignado por parte del
administrador del sistema.
102
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Opción Persona
En esta opción se crea el usuario del sistema con toda la información general,
información solicitada en los requerimientos, perfil de usuario y configuración del
sistema.
103
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Puesto o Rol
104
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Políticas de Seguridad
105
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Organización
En esta opción permite crear varias asociaciones con sus datos generales
106
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Cargo
107
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Banco
108
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Institución
109
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
110
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
111
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
112
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
113
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
114
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
115
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
116
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
117
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
118
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
119
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
120
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
121
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
122
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
123
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
124
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
125
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
Fowler, M. (2005). La nueva metodología. Recuperado Artech Consultores. (2012b). Visión General de
28 de junio de 2018, de GeneXus.
https://martinfowler.com/articles/newMethodology.htm.
126
Método ágil en el desarrollo de software aplicando la herramienta Genexus
López Bermúdez Ricauter Moisés Máster Universitario en Ingeniería de Software y
Sistemas informáticos
127
Método ágil en el desarrollo de software aplicando la herramienta Genexus