Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aplicación de La Metodología SCRUM - Elkin José Torres Martínez - USBCTG - 2012
Aplicación de La Metodología SCRUM - Elkin José Torres Martínez - USBCTG - 2012
Tutor
ING. DAMIAN BARRIOS CASTILLOS
RESUMEN VIII
1. PROBLEMA DE INVESTIGACION 2
1.1 PLANTEAMIENTO DEL PROBLEMA 2
1.2 FORMULACION DEL PROBLEMA 4
1.3 JUSTIFICACION 4
1.4 OBJETIVOS 6
1.4.1 Objetivo general 6
1.4.2 Objetivos específicos 6
2. MARCO DE REFERENCIA 7
2.1 MARCO HISTORICO 7
2.2 INVESTIGACIONES PREVIAS 8
2.3 MARCO TEÓRICO 9
2.3.1 Scrum 9
2.3.2 Sistemas de información 14
2.3.3 Lenguajes de Programación 15
2.3.4 Html (HyperText Markup Language) 16
2.3.5 Php (PHP HyperText Pre-processor) 17
2.3.6 Base de datos 18
2.3.7 JavaScript 19
2.3.8 Metodología Tradicional 20
2.4 MARCO CONCEPTUAL 20
3. DISEÑO METODOLOGICO 22
3.1 TIPO DE INVESTIGACION 22
3.2 DISEÑO ADOPTADO 22
3.3 ENFOQUE DE LA METODOLOGIA 22
3.4 TECNICAS DE RECOLECCION DE LA INFORMACION 23
3.4.1 Fuentes primarias 23
3.4.2 Fuentes secundarias 24
3.5 VARIABLES 24
3.6 OPERACIONALIZACION DE VARIABLES 25
3.7 PROCESAMIENTO DE LA INFORMACION 26
3.8 RECURSOS TECNOLOGICOS 26
3.8.1 El Paradigma de Programación 26
3.8.2 Herramienta de Desarrollo de Software 27
3.8.3 Herramientas Software 27
3.8.4 Herramientas de Diseño 28
3.8.5 Herramientas Hardware 28
4. RESULTADOS 29
4.1 API: PUNTO DE PARTIDA COMO FUENTE DE SERVICIOS 29
4.2 REQUERIMIENTOS 34
4.2.1 Product Backlog 35
4.3 ITERACIONES DE IMPLEMENTACION DE LOS PRODUCTOS 38
4.3.1 Exposición del Product Backlog 38
4.3.2 Resolución del Sprint Backlog 39
4.3.4 Revisión del Sprint 42
4.4 DISEÑO Y DESARROLLO DE INTERFACES 53
4.5 EJECUCION DE PRUEBAS 77
III
CONCLUSIONES 80
REFERENCIAS 81
IV
LISTA DE TABLAS
V
LISTA DE FIGURAS
VI
LISTA DE ANEXOS
VII
RESUMEN
VIII
INTRODUCCION
Los desarrollos de hardware y software han sido muy dinámicos a la vez que
requieren de procesos cada vez más complejos de producción. Seguir una
metodología no apropiada para el desarrollo puede llevar a consumir
demasiados recursos de tiempo o dinero, a la vez que se corre el riesgo de no
llenar las expectativas que tenía el cliente con respecto al producto o
desarrolladores insatisfechos con el mismo. Encontrar y seguir la metodología
adecuada para el tipo de desarrollo, marca el éxito del software.
1
APLICACIÓN DE LA METODOLOGÍA SCRUM PARA LA OPTIMIZACIÓN DE
PROCESOS ACADÉMICOS EN LA UNIVERSIDAD DE SAN
BUENAVENTURA, CARTAGENA
1. PROBLEMA DE INVESTIGACION
1
Chapin, N., Hale, J.E., Khan, K.M., Ramil, J. and Tan, W. Types of software evolution and software
maintenance. Journal of Software Maintenance and Evolution: research and practice. 2001. pp. 3-30.
1
Grupo ISSI. Metodologías Ágiles en el Desarrollo de Software. Editorial Alicante. España, 12 de
Noviembre de 2003. pp. 9-16.
2
Grupo ISSI. Metodologías Ágiles en el Desarrollo de Software. Editorial Alicante. España, 12 de
Noviembre de 2003. pp. 9-16.
2
que se desea implantar, ya sea presencial o virtual, teniendo como objetivo el
desarrollo de “frontend” de las aplicaciones que permitirán: acceso a la
información personal de docentes y estudiantes, administración de notas
estudiantiles, portal para el manejo de prácticas industriales y portal de
votaciones estudiantiles (inscripción de candidatos y votaciones). Estos
servicios que se encuentran desacoplados requieren un proceso de
optimización que permita el manejo digital de la información a través de una
plataforma acoplada accesible desde Internet.
3
Fase dos, elaboración de “frontend” de las aplicaciones (desarrollo de
controladores e interfaces graficas de usuario), que tiene como finalidad
proveer a los usuarios de vista amigable para la utilización de la aplicación.
Esta fase se desarrolló durante el periodo de prácticas industriales y pasantías
de investigación profesionales de los integrantes del presente proyecto,
comprendido entre Agosto de 2011 y Abril de 2012.
1.3 JUSTIFICACION
Con este proyecto se busca hacer praxis una metodología que sea alternativa
a los procesos de desarrollo de software tradicionales como RUP (Rational
Unified Process), logrando desarrollos rápidos y que respondan a los cambios
que puedan surgir en el mismo. La metodología de desarrollo ágil que se
utilizara para este proyecto se denomina “Scrum”, la cual se caracteriza por
continuas y tempranas entregas que dan parte del avance del software y rápida
respuesta a los cambios que pueda sugerir el cliente con respecto al diseño,
contenido o funcionalidad del sistema; la producción de una aplicación no sigue
estrictamente una planificación inicial, siendo flexible y abierta, con reglas de
trabajo impuestas por el equipo de trabajo.
3
Canos, J., Letelier, P. y Penadés, M. Metodologías Agiles en el desarrollo de Software. Universidad
Politecnica de Valencia, Valenc
ia, 2003.
4
La elaboración de un manual de implementación reflejará en detalle el
desarrollo de aplicaciones utilizando la metodología “SCRUM” a partir de los
casos de éxito vividos por el equipo dentro del CEV. Esto permitirá a futuros
desarrolladores inexpertos seleccionar metodologías que garanticen la
satisfacción del cliente pero también la de ellos mismos, marcando el éxito en
el desarrollo del software, y evitando dudar al escoger la metodología
adecuada, o algo todavía peor, se prescindirá de estar ensayando con
metodologías adaptadas a circunstancias particulares, que pudiesen malograr
el objetivo final.
5
y capacidades intelectuales que permitan inferir, deducir y elaborar conceptos
de carácter investigativo4.
1.4 OBJETIVOS
1.4.2 Objetivos específicos. Identificar los servicios que ofrece la API diseñada
por el CEV, buscando a partir de esto, tener una mayor apropiación de los
recursos que ésta provee.
4
Universidad de San Buenaventura; Proyecto Educativo Bonaventuriano PEB; Editorial bonaventuriana;
Bogotá D.C. 2007; p. 66.
6
2. MARCO DE REFERENCIA
Scrum fue mostrada por primera vez a mediados de los ochenta como nueva
práctica de producción alcanzado por empresas de desarrollo tecnológico como
Fuji-Xerox, Canon, Honda, Nec, Epson, Brother, 3M y Hewlett-Packard, y que
fue estudiada por Hirotaka Takeuchi e Ikujijo Nonaka. Con el artículo titulado
“The New Product Development Game”, Ikujiro & Takeuchi dieron continuación
a otro artículo escrito con Kenichi Imai, llamado “Managing the New Product
Development Process: How Japanese Companies Learn and Unlearn”. En
estos expusieron una nueva práctica en el desarrollo de productos tecnológicos
desplegada en Japón, resaltando el solapamiento de las fases de desarrollo
como su principal característica, en contraste con los métodos clásicos, los
cuales emplean desarrollos “secuenciales”, pero que en la práctica son en
realidad “secuenciales con solapamiento”.
A partir del trabajo realizado por Hirotaka Takeuchi e Ikujijo Nonaka, Jeff
Sutherland aplicaría los principios de Scrum al desarrollo de Software en 1993
en Easel Corporation (actual Ascential Software Corporation), publicando en
1996 junto con Ken Schwaber, las prácticas que empleaba como válidas para
gestionar el desarrollo de software OOPSLA 96 (Schwaber & Sutherland,
1996).
En el mismo año 2001 fue constituida la “Alianza agil”, una organización sin
animo de lucro que promueve el desarrollo ágil de aplicaciones y del que
Scrum hace parte como modelo para gestionar el desarrollo de software.
7
2.2 INVESTIGACIONES PREVIAS
8
constante retroalimentación que proporciona inspecciones simples y un ciclo
de vida adaptable. Así, el desarrollo de productos se produce de forma
incremental y con un control empírico del proceso que permite la mejora
continua”; esto conlleva a reafirmar la utilización de Scrum como metodología
de desarrollo con la consiguiente obtención de resultados optimizados.
2.3.1 Scrum. En el transcurrir del tiempo las sociedades siempre han sub-
existido gracias a su habilidad de poder crear procedimientos racionales
utilizados para alcanzar una gama de objetivos que rigen en una investigación
científica o tareas que requieran habilidades, conocimientos o cuidados
específicos.
9
alcanzar objetivos específicos dentro de los límites que imponen un
presupuesto, calidades establecidas previamente y un lapso de tiempo
previamente definido. La gestión de proyectos es la aplicación de
conocimientos, habilidades, herramientas y técnicas a las actividades de un
proyecto para satisfacer los requisitos del proyecto5.
5
Amaro C., Sarah y Jorge C. Valverde; Metodologías Agiles. Universidad Nacional de Trujillo. Trujillo,
Perú, 2007.
6
Palacio, Juan. Flexibilidad con Scrum. Disponible en http://www.lulu.com, consultado el 23 de marzo
de 2012.
7
Ibíd., pp. 18.
10
requerimientos funcionales y no funcionales que deberá satisfacer el sistema a
construir.8
8
Amaro C., Sarah y Jorge C. Valverde; Metodologías Agiles. Universidad Nacional de Trujillo. Trujillo,
Perú, 2007.
9
Ibíd., pp. 26.
10
PALACIOS, Juan ; El Modelo Scrum PDF 2006; Pg.2, , Capitulo 1. Disponible en
http://www.navegapolis.net/files/s/NST-010_01.pdf. Consultado el 18 de Marzo de 2012
11
Ibíd.
11
Se hace equipo de comunicación continua reportando seguidamente los
éxitos conseguidos.
Durante cada Sprint (un período entre una y cuatro semanas, cuya la magnitud
es definida por el equipo de trabajo, el equipo crea un incremento de
software potencialmente entregable (utilizable). El conjunto de características
que forma parte de cada Sprint viene del Product Backlog, que es un conjunto
de requisitos de alto nivel priorizados que definen el trabajo a realizar. Los
elementos del Product Backlog que forman parte del Sprint se determinan
durante la reunión de planeación.
De forma iterativa, todos los días que dure el Sprint, se realiza una reunión
operativa, informal y ágil con el equipo de desarrollo, de un máximo de quince
minutos, en la que a cada integrante del equipo se le hacen tres preguntas:
12
YAZY ,Sergio Adrián . Una experiencia práctica de Scrum a través del aprendizaje basado en proyectos
mediado por TIC en un equipo distribuido PDF 2010 -2011; pp. 20 . Disponible en
http://gredos.usal.es/jspui/bitstream/10366/100082/1/TFM_YazyiSergio_Master.pdf. Consultado el 22
de Marzo de 2012.
12
¿Qué ayuda necesita para poder realizar este trabajo? Es decir,
identificación de obstáculos o riesgos que impiden o pueden impedir el
normal avance.13
“Scrum comparte los principios estructurales del desarrollo ágil: a partir del
concepto o visión de la necesidad del cliente, construye el producto de forma
incremental a través de iteraciones breves que comprenden fases de
especulación – exploración y revisión. Estas iteraciones (en Scrum llamadas
Sprint) se repiten de forma continua hasta que el cliente da por cerrado el
producto”16.
13
Rodriguez Gonzalez, Pilar. Estudio De La Aplicación De Metodologías Agiles Para La Evolución De
Productos Software. Universidad Politecnica de Madrid. Madrid. 2008.
14
YAZY ,Sergio Adrián . Una experiencia práctica de Scrum a través del aprendizaje basado en proyectos
mediado por TIC en un equipo distribuido PDF 2010 -2011; Pg. 22 . Disponible en
http://gredos.usal.es/jspui/bitstream/10366/100082/1/TFM_YazyiSergio_Master.pdf. Consultado el 22
de Marzo de 2012.
15
Rodriguez Gonzalez, Pilar. Estudio De La Aplicación De Metodologías Agiles Para La Evolución De
Productos Software. Universidad Politecnica de Madrid. Madrid. 2008.
16
PALACIOS, Juan ; El Modelo Scrum PDF 2006; pp.2, Capitulo 1. Disponible en
http://www.navegapolis.net/files/s/NST-010_01.pdf. Consultado el 18 de Marzo de 2012.
13
disciplinas consiguen mejores resultados. Es fundamental que el equipo pueda
organizarse por sí mismo donde la comunicación e intercambio de información
entre los implicados sea transparente. Esto hace que la manera de solucionar
los problemas que se presenten o realizar nuevos objetivos inmersos en el
proyecto se ataquen de forma paralela ahorrando hasta en 50%, en algunos
casos, el tiempo de entrega del mismo al cliente.
17
STAIR, Ralph y George W. Reynolds. Principios de Sistemas de Información. México, 2000, Editorial
Thomson, p 4 - 5.
14
entrada al exterior. Las unidades típicas de salida son las impresoras,
terminales, diskettes, cintas magnéticas, la voz, los graficadores y los
plotters, entre otros. Es importante aclarar que la salida de un Sistema
de Información puede constituir la entrada a otro Sistema de Información
o módulo. En este caso, también existe una interface automática de
salida. Por ejemplo, el Sistema de Control de Clientes tiene una interface
automática de salida con el Sistema de Contabilidad, ya que genera las
pólizas contables de los movimientos procesales de los clientes.
18
Anónimo. Lenguajes de Programación Disponible en http://ocw.usal.es/ensenanzas-
tecnicas/informatica-ingeniero-tecnico-en-obras-publicas/contenidos/course_files/Temas/Tema_7_-
_Lenguajes_de_Programacion.PDF, consultado el 03 Junio de 2012.
15
Las categorías más comunes de lenguajes de propósito especial son los
lenguajes comerciales, científicos y educativos. En el campo comercial se
puede citar COBOL, en el campo científico, FORTRAN, y en el campo
educativo, aunque ya en desuso, BASIC.
Otra forma de clasificar los lenguajes es en lenguajes de procedimiento y
lenguajes declarativos:
Los lenguajes de procedimiento establecen como debe de ejecutarse
una tarea, dividiéndola en áreas de procedimiento (procedures en inglés)
que especifican como realizar cada una de las tareas. Todos los
lenguajes de alto nivel desarrollados en las primeras épocas eran
lenguajes de procedimiento.
Esta evolución tan anárquica del HTML ha supuesto toda una seria de
inconvenientes y deficiencias que han debido ser superados con la introducción
de otras tecnologías accesorias capaces de organizar, optimizar y automatizar
el funcionamiento de las webs. Ejemplos son las CSS, JavaScript entre otros.
19
Anónimo, Manual HTML. Disponible en http://profesores.fi-b.unam.mx/cintia/Manualhtml.pdf,
Consultado el 03 de Junio de 2012
16
Otros de los problemas que han acompañado al HTML es la diversidad de
navegadores presentes en el mercado los cuales no son capaces de interpretar
un mismo código de una manera unificada. Esto obliga al Webmaster a, una
vez creada su página, comprobar que esta puede ser leída satisfactoriamente
por todos los navegadores, o al menos, los más utilizados.
Además del navegador necesario para ver los resultados de nuestro trabajo, se
necesita evidentemente otra herramienta capaz de crear la página en sí. Un
archivo HTML (una página) no es más que un texto. Es por ello que para
programar en HTML se necesita un editor de textos.
Es recomendable usar el Bloc de notas que viene con Windows, u otro editor
de textos sencillo. Hay que tener cuidado con algunos editores más complejos
como WORDPAD o Microsoft Word, pues colocan su propio código especial al
guardar las páginas y HTML es únicamente texto plano, con lo que no se
tendrá problemas.
Existen otro tipo de editores específicos para la creación de páginas web los
cuales ofrecen muchas facilidades que permiten aumentar la productividad. No
obstante, es aconsejable en un principio utilizar una herramienta lo más sencilla
posible para poder prestar la máxima atención a nuestro código y familiarizarse
lo antes posible con él. Siempre se tendrá tiempo más delante de pasarse a
editores más versátiles con la consiguiente ganancia de tiempo.
20
Anónimo. PHP. Disponible en http://www.sinemed.com/recursos/docs/PHP.pdf, Consultado el 03 de
Junio de 2012.
17
populares del mercado. La interpretación y ejecución del código de la
aplicación se da en el servidor donde se encuentra almacenada la información,
el usuario solo recibe el resultado de la ejecución que puede ser desde una
imagen hasta una aplicación completa.
Con las bases de datos, se busca independizar los datos y las aplicaciones, es
decir, mantenerlos en espacios diferentes. Los datos residen en memoria y los
programas mediante un sistema gestor de bases de datos, manipulan la
información. El sistema gestor de bases de datos recibe la petición por parte
21
Anónimo. Teoría de base de datos. Disponible en
http://si.ua.es/es/documentos/documentacion/office/access/teoria-de-bases-de-datos.pdf, consultado
el 30 de abril de 2012.
18
del programa para manipular los datos y es el encargado de recuperar la
información de la base de datos y devolvérsela al programa que la solicitó.
Cada programa requerirá de una cierta información de la base de datos, y
podrá haber otros que utilicen los mismos datos, pero realmente residirán en el
mismo espacio de almacenamiento y los programas no duplicarán esos datos,
si no que trabajarán directamente sobre ellos concurrentemente. Aunque la
estructura de la base de datos cambiara, si los datos modificados no afectan a
un programa específico, éste no tendrá por qué ser alterado. Mediante estas
técnicas de base de datos se pretende conseguir a través del Sistema Gestor
de Bases de Datos (SGBD):
Como tal, una base de datos es un conjunto exhaustivo (en su modelización del
mundo real) de datos estructurados, fiables y homogéneos, organizados
independientemente de su utilización y de su implementación en máquina,
accesibles en tiempo real, compartibles por usuarios concurrentes que tienen
necesidades de información diferentes y no predecibles en el tiempo. Esa
información está bajo el control de un conjunto de programas que constituyen
el Manejador del Sistema de Base de Datos (DBMS por sus siglas en inglés) el
cual gestiona el manejo del conjunto de archivos que dan soporte físico a la
información.
Una página web dinámica es aquella que incorpora efectos como texto que
aparece y desaparece, animaciones, acciones que se activan al pulsar botones
y ventanas con mensajes de aviso al usuario.
22
EGUÍLUZ PÉREZ, Javier. Introducción a JavaScript. Disponible en:
http://www.librosweb.es/javascript/pdf/introduccion_javascript.pdf, consultado el 25 de junio de 2012.
19
registrada de la empresa Sun Microsystems, como se puede ver en
http://www.sun.com/suntrademarks/.
20
PROTOTIPO: es el resultado que produce un sprint y se generan con el fin de
ir evolucionando el software a medida en que el proyecto avanza, para de ese
modo, poder ver constantemente que el trabajo que se va realizando está
generando frutos.
21
3. DISEÑO METODOLOGICO
22
Centro de Educación Virtual, mediante el seguimiento de la metodología
Scrum, llevándola a estudio mediante el planteamiento de varios objetivos; esto
llevará a evaluar situaciones no provocadas intencionalmente, realizando
inferencias sobre las relaciones entre las variables tal y como se han dado en
su contexto natural y sin intervención o influencia directa.
El papel que da ser representante del cliente permite obtener la visión general
del producto, creando a partir de éstas el Product Backlog o lista de tareas que
se van a realizar, determinándose los requisitos que el software debe realizar
para dar respuesta a las funcionalidades esperadas por el cliente. El Product
Backlog representa todo aquello que esperan los clientes y usuarios que tenga
el software.
23
desarrollo, por lo cual, se permitirá agregar, quitar o cambiar especificaciones
requeridas al producto final. Esto se hará durante las reuniones de planeación
de futuros Sprint, en los cuales deberán estar presentes el representante del
cliente y el equipo desarrollador en pleno.
3.5 VARIABLES
Aplicación Software
Procesos académicos
Base de datos
Scrum
26
AUSTIN MILLÁN, Tomás. Investigación cualitativa. Disponible en
http://metodoinvestigacion.wordpress.com /2008/02/29/investigacion-cualitativa/. Consultado el 26 de
marzo de 2012.
24
3.6 OPERACIONALIZACION DE VARIABLES
Procesos Administrativos
académicos Los procesos académicos Simple
son todos aquellos trámites Complejo
relacionados con la vida Académicos Simple
académica de los Complejo
estudiantes referidos a los
procesos de matrícula,
pagos, evaluación de
docentes, consulta de notas
y horarios.
Base de Almacenamiento
Datos Es un conjunto de datos Satisfactorio
almacenados Insatisfactorio
sistemáticamente para su
uso posterior, permitiendo Consulta Satisfactorio
operaciones como Insatisfactorio
actualización, borrado y
adición de datos, además
de las operaciones
fundamentales de consulta
25
3.7 PROCESAMIENTO DE LA INFORMACION
27
ORTEGA MONTALVO, Nohora y otro. Desarrollo de un aplicativo web para apoyar el análisis
estructural del proceso prospectivo en las organizaciones. Universidad de San Buenaventura Cartagena,
Colombia.
26
El paradigma de programación orientado a objetos posee las siguientes
características:28
28
Ibíd.
27
NetBeans: Para el desarrollo del sistema de información se utilizará el
lenguaje de programación orientado a objetos PHP, el cual crea objetos
mediante instrucciones secuenciales, y que son manipulables mediante
la utilización de métodos que son interfaces que dejan entrever su
funcionalidad. Los métodos permiten a los objetos comunicarse entre
ellos a través del paso de mensajes. PHP es un lenguaje de
programación joven pero muy robusto y potente, que mediante la
utilización de herramientas de edición como Netbeans versión 7.0.1, que
permite crear interfaces o ventanas de interacción agradables al usuario.
Procesador de 2.8GHz.
2GB DDR2 de Memoria RAM.
250GB de espacio en disco.
Sistema operativo Microsoft® Windows XP©, Vista© ó 7©.
28
4 RESULTADOS
29
Guía Arquitectura N-Capas Orientada al Dominio - Microsoft Architecture (1a Edición Noviembre
2010)
30
Ibíd.
29
La reutilización de ciertos componentes entre diferentes módulos de una
aplicación o incluso entre diferentes aplicaciones.
31
Ibíd.
30
Figura 3. Vista de la arquitectura lógica implementada en el sistema de
información de la Universidad de San Buenaventura, Cartagena.
31
A continuación se describen las diferentes capas en que encuentra dividida la
arquitectura lógica del sistema de información de la Universidad de San
Buenaventura (ver figura 3), la cual da una visión global y permite comprender
mejor todo el sistema:
32
La capa Service se convierte en una Capa Fachada, sin la cual no se
pueden utilizar los servicios que brindan otras capas de la aplicación.
Por esto, en esta misma capa, pero solapada se encuentra la capa de
Seguridad: nada puede se consumido y nada podrá acceder a la
aplicación sin haber hecho uso de esta capa.
33
desacoplar la capa de persistencia mediante el uso de
interfaces/contratos. Este contrato será lo que la capa de Dominio
requiera de un repositorio para que pueda funcionar.
4.2 REQUERIMIENTOS
34
El resto de roles definidos por Scrum fueron designados de la siguiente
manera: Elkin Torres Martínez, Edson Arzuza Agudelo, Oscar Fernando
Becerra Uribe, Manlio Ferreira y Jeisson Guevara como equipo desarrollador.
Dentro equipo desarrollador se designó a Manlio Ferreira como Team Leader,
miembro del equipo que conduce y garantiza el protocolo, formato y tiempos de
la reunión.
El Product Backlog es propio del Dueño del Producto o como en este caso, del
Representante del Cliente y servirá para registrar el estado y las modificaciones
de la pila del producto. Este inventario de funcionalidades y tecnologías que el
sistema debe incorporar a través de iteraciones de desarrollo, no constituye un
documento inicial y definitivo, sino en un instrumento que permite incorporar
modificaciones, correcciones e incorporación de nuevas funcionalidades.
35
empresa, docente encargado y estudiante. Se halla dividido en los
siguientes módulos:
36
Módulo Diligenciar Bitácora: Permite tramitar el llenado de las
bitácoras de trabajo que se han realizado por parte del estudiante.
37
Portal Egresados: Esta sección permite visualizar, de forma general,
información de interés para los egresados, como sus datos personales y
su histórico de notas. Se halla dividido en el siguiente módulo:
4.3.1 Exposición del Product Backlog. Una vez establecido el Product Backlog,
se realizó la primera reunión con todos los integrantes del proyecto (Product
Owner, Scrum Master y Scrum Team); su duración de 8 horas en promedio fue
divididá en dos partes: en la primera de 4 horas, el Product Owner describió
todas las funcionalidades del producto o también llamadas Historia de Usuario.
Durante la primera parte de la reunión se definieron por parte del Product
Owner, los elementos de alta prioridad.
38
4.3.2 Resolución del Sprint Backlog. En la segunda parte de la reunión se
seleccionaron, de las tareas que han sido colocadas en la Product Backlog,
aquellas que iban a ser desarrolladas durante el primer Sprint. Estas tareas
seleccionadas fueron escritas en memos con los que se creó el Sprint Backlog,
llevando el orden de importancia para el Dueño del Producto.
El equipo garantiza tener listos los elementos de la pila que hayan sido
elegidos, siendo esto una clave de Scrum, ya que son ellos mismos quienes,
basándose en su propio análisis y planificación se comprometen a terminar la
parte del producto escogida. El dueño del Producto aunque no tiene control
sobre la cantidad de trabajo realizado, goza de elementos prioritarios para el
proyecto.
Una vez decidido el tiempo por cada actividad y el tiempo disponible para el
trabajo del Sprint, se crearon los memos en donde se colocaba el nombre de la
actividad y el tiempo dedicado a la misma, colocándose en el Sprint Backlog.
El Sprint Bagklog era una herramienta que permitía de forma visual, realizar
seguimiento y control a las tareas que iban circulando por las columnas de “No
empezado”, pasando por “En Progreso” y terminando en “Completado”.
4.3.3 Seguimiento y control ágil. Una vez terminada la planeación, se dió inicio
al desarrollo del Sprint, y con ella una de las características claves de Scrum: la
reunión diaria. Esta era una reunión corta de 15 minutos que se realiza en lugar
y hora definida anteriormente, siendo dirigida normalmente por el Team Leader
o alguno designado por el. Se realiza de pie y a ella asiste todo el equipo de
trabajo.
39
para que fuese él quien tomase las medidas al respecto. Se procedía como
viene a continuación:
40
Down mostraba el progreso del equipo hacia su objetivo y el trabajo restante
para alcanzar tal fin.
La revisión del Sprint también implicaba que el equipo hablase sobre lo que
funciona y lo que no, y se acordaban que cambios se querían intentar. Se
dejaba claro “qué fue bien” y “qué se puede mejorar”, buscando causas y
previniéndolas en el próximo Sprint.
42
Realizar Solicitud de Grado
Sub-Actividades Prioridad Tiempo Comentario
Obtención de Media 4 Horas Ninguno
Requerimientos
Realizar Certificados
Sub-Actividades Prioridad Tiempo Comentario
Definir que Media 4 Horas Ninguno
certificados se
sistematizan
Definir procesos de Media 4 Horas Ninguno
certificados
Estudiar Firma Baja 2 Horas Ninguno
Digital
43
Ver Información del Estudiante
Sub-Actividades Prioridad Tiempo Comentario
Agregar el estado Media 3 Horas Creación HBM,
del Estudiante entidades API,
entidades PHP
Diseño UI Baja 4 Horas Agregar atributo
estado
44
Realizar Actualización de Datos de Estudiantes
Sub-Actividades Prioridad Tiempo Comentario
Reparar Código Urgente 9 Horas Ninguno
JS (jQuery/Ajax)
Prácticas Empresariales
Sub-Actividades Prioridad Tiempo Comentario
Crear Solicitud de Medio 2 Horas Posterior a la
Practicas creación de la
solicitud, se debe
enviar un Mail al
responsable
(Coordinador de
Practicas)
Crear Módulo de Medio 2 Horas Ninguna
Gestión de
Empresas
Crear Módulo de Medio 5 Horas Ninguna
Finalización de
Practicas
Crear Módulo de Baja 4 Horas Valoración de Inicial
Valoración de y Valoración Final
Practicante
Crear Módulo para Media 5 Horas Este es el módulo
Responder en el que el
Practicante Coordinador decide
en donde se
realizará las
prácticas de
acuerdo con las
solicitudes.
Crear Módulo para Media 5 Horas Ninguna
Diligenciar Bitácora
por parte del
Practicante
46
Persistencia de Acaweb
Sub-Actividades Prioridad Tiempo Comentario
Realizar Active Urgente 11 Horas Ninguna
Record Factory
Imprevistas Sprint 2
Sub-Actividades Prioridad Tiempo Comentario
Cambios en los Urgente 4 Horas Revisar todos los
script en general scripts que utiliza la
página y verificar
algunos errores
presentes
Inscripciones en Urgente 8 Horas Realizar un portal
línea provisional provisional de
Inscripciones en
línea para los
nuevos estudiantes
47
Implementar un Urgente 8 Horas Implementar un
sistema de sistema para evitar
validaciones que los usuarios
gramaticales introduzcan letras,
símbolos o números
cuando no son
permitidos.
(Validación de todos
los campos)
Mejorar problemas Urgente 6 Horas Garantizar un
presentados al funcionamiento
entrar a los adecuado en
portales desde Internet Explorer de
Internet Explorer todos las
aplicaciones y
servicios que se
están desarrollando
48
Sprint 3: A razón de que el sprint 2 no tuvo el éxito que tuvo el primero,
este dejó actividades que debieron haberse resuelto en el mismo; por tal
motivo, dichas actividades pasaron a ser prioritarias para éste sprint,
generando en los participantes del desarrollo muchas más de cautela y
precaución a la hora de asignar tiempo a las actividades de la iteración.
La ejecución del Sprint se llevó a cabo sin muchos altercados,
nuevamente se presentaron actividades y cambios a las actividades
planeadas en tiempo de ejecución por los directivos de la universidad,
pero por la experticia que ganaron los integrantes del equipo, se
lograron resolver sin que generaran muchos inconvenientes para el
resultado final de la iteración y como resultado se produjo una buena
ejecución del sprint.
Matrícula en línea
Sub-Actividades Prioridad Tiempo Comentario
Realizar Media 4 Horas Ninguna
Diagrama de
Actividades
Realizar UI de la Media 4 Horas Ninguna
matrícula en línea
49
Agregar y validar Urgente 8 Horas Ninguna
Cursos
Portal Docentes
Sub-Actividades Prioridad Tiempo Comentario
Obtener Urgente 3 Horas Ninguna
Calendario de los
cortes (API)
Funcionalidad del Urgente 4 Horas Ninguna
Módulo
50
de las tres iteraciones. Se pudo concluir, que la metodología tuvo un
éxito retundo en cuanto a los tiempos de entrega se refiere, debido a
que estos se cumplieron en un 80% contando el impase que se presentó
en la segunda iteración a causas de modificaciones imprevistas.
Refactor
Sub-Actividades Prioridad Tiempo Comentario
Estandarización Medio 5 Horas Pestañas,
de los widgets botones, campos
de texto, entre
otros.
Realizar cambios Urgente 10 Horas Debe funcionar en
necesarios para Internet Explorer
la (7 - más reciente),
interoperabilidad Firefox (3 – más
entre los reciente) y Google
navegadores web Chrome. Revisar
CSS, JS y
atributos
especiales.
Reestructurar Bajo 3 Horas Implementar
Tamaño de los varios tamaños y
campos de texto estandarizarlos.
Rediseñar las Bajo 3 Horas Ninguna
pestañas
52
Modificaciones Medio 3 Horas Surgieron unos
en la inconvenientes a la
actualización de hora de guardar los
egresados hijos de los
egresados
53
A continuación se mostrarán las interfaces resultantes de la implementación.
54
haya presentado modificaciones como el lugar de residencia,
teléfono, correo electrónico y celular. (Ver la siguiente Figura)
55
Figura 10. Actualizar Mis Datos – Datos Familiares
56
Actualizar Mis Datos – Historial Laboral: Espacio que Posee un
Estudiante para agregar a la ficha estudiantil lo relacionado con la
vida laboral que este ha generado o en su defecto esta generando.
(Ver la siguiente Figura)
57
Actualizar Mis Datos – Idiomas: En esta pestaña se puede añadir
información sobre los idiomas que el estudiante maneje desde un nivel
bajo, pasando por medio, hasta llegar a un nivel alto. (Ver la siguiente
Figura)
58
Figura 14. Ver Mis Datos – Información Personal
59
Figura 15. Ver Mis Datos – Información de Contacto
60
Figura 16. Prácticas Industriales- Bitácora
62
Actualizar Mis Datos – Información Laboral: En esta interfaz permite
apreciar los campos donde se debe colocar todo lo referente a la
información laboral del grupo Egresados así como reconocimientos
dentro de la empresa, entre otros. (Ver la siguiente Figura)
63
Figura 20. Actualizar Mis Datos – Información Académica
64
Actualizar Mis Datos – Datos Complementarios: En esta última interfaz se hace
presente información complementaria que es de protocolo para la universidad.
(Ver la siguiente Figura).
65
Figura 23. Módulo Docentes – Horario
66
Figura 24. Elecciones Estudiantiles – Formulario de Inscripción
67
Figura 25. Elecciones Estudiantiles – Admisión
68
Módulo de Prácticas Industriales. El control y seguimieento de las
prácticas se realiza mediante estas interfaces. En esta oportunidad se
tendran presentes varios usuarios como lo son el Coordiandor de
Prácticas y la Empresa. Las vistas correspondientes al estudiante ya han
sido descritas en la sección correspondiente a él.
69
Figura 28. Prácticas Industriales – Solicitudes
70
Figura 29. Prácticas Industriales listado de Amonestaciones
71
Figura 30. Prácticas Industriales Amonestaciones Respondidas
72
Figura 31. Solicitud Practicante - Identificación de la Empresa
73
Figura 32. Solicitud Practicante - Requerimientos
74
Figura 33. Prácticas Industriales –Ubicación Estudiante
Las interfaces del portal de inscripciones en linea las cuales son utilizadas en la
actualidad para efectuar el proceso de insripcion de los estudiantes que van a
ingresar a la universidad, en este portal se pueden observar las siguiente
vistas:
76
Figura 36. Formulario de inscripción
Este módulo tiene una funcionalidad en particular que consiste en que cuando
se termina de diligenciar el formulario en su totalidad, se envía un correo
electrónico al estudiante y varias personas en la universidad las cuales exigen
que se les notifique cada vez que se inscribe alguien nuevo, además, el
formulario permite que la persona que lo está diligenciando pueda guardar el
proceso que lleva del mismo, de ese modo puede continuar posteriormente con
el proceso de inscripción. Cabe resaltar que una vez finalizado el formulario
como tal, no se puede volver a editar, solo permite descargar la citación a la
entrevista presencial en la universidad.
Otra actividad que vale la pena mencionar en esta sección es, Realizar
cambios necesarios para la interoperabilidad entre los navegadores
web, que consistió en garantizar que en todos los navegadores web se
vieran las interfaces de usuario de la misma manera. Lógicamente, la
prueba consistió en revisar interfaz por interfaz en cada uno de los
navegadores web, cabe mencionar que esta prueba tardó algo de
tiempo adicional, porque se tenían que verificar todas las interfaces en
los 4 navegadores más usados por los usuarios de internet, los cuales
son (Safari, Internet Explorer, Mozilla Firefox y Google Chrome).
78
elecciones que se realizarían posteriormente. Esta prueba consistió
incluso en invitar a personas ajenas al CEV para que probaran las
interfaces, además, se solicitó a personas expertas en seguridad que
revisaran tediosamente si la aplicación tenía alguna falla que pudiera
ocasionar un fraude en las elecciones. Debido a esta prueba de
seguridad se implementó la funcionalidad que capturaba la dirección IP
del equipo que votaba para así controlar que IP intentaban realizar
fraudes, y tener una auditoría de las elecciones, cabe aclarar que las
direcciones IP no se relacionaban con los votantes, es decir, la dirección
IP se registraba con la hora y fecha, incluso el navegador que uso pero
solo a manera de información, esta no se encontraba ligada a la persona
que realizo el voto.
Otra prueba que fue muy importante, fue la de las inscripciones en línea
que posteriormente se utilizó por la universidad para los nuevos
estudiantes. Esta prueba consistió en generar muchas inscripciones y en
diferentes navegadores para verificar que efectivamente las
inscripciones se generaban con todos los parámetros, uno de los
aspectos que más se probó fue el de envío de correo electrónico por
parte del portal al estudiante y a los directivos de la universidad
notificando la inscripción de nuevos interesados, y el de la generación de
citas para entrevistas personalmente en la universidad, es decir, que el
portal además que inscribía, enviaba correo notificando y generaba una
cita para la entrevista entre el programa que selecciono el interesado y
el interesado.
79
CONCLUSIONES
80
REFERENCIAS
81
POPPENDIECK M., Poppendieck T. “Lean Software Development: An Agile
Toolkit for Software Develoment Managers”. Addison Wesley. 2003. 98p.
TEASLEY, Covi, Krishnan, & Olson (2000). How Does Radical Collocation
Help a Team Succeed? Proceedings of the 2000 ACM Conference on
Computer Supported Cooperative Work (pp. 339 - 346). New York: ACM.
149p
82
Anexo A. Cronograma de Actividades
2011 2012
AGOSTO SEPTIEMBRE OCTUBRE NOVIEMBRE FEBRERO MARZO ABRIL MAYO
TIEMPO
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
ACTIVIDADES
Capacitación Inicial de los
Prácticantes
Lineamientos e indicaciones
del software
Distribución de actividades
Ejecución de actividades
Revisión
Ejecución de actividades
Revisión Final de Prácticas
Investigación de factibilidad y
riesgo para la elaboración del
libro planteado sobre SCRUM
como metodología de
desarrollo ideal
Investigación general de la
temática a tratar en los
documentos que se
presentarán
Elaboración de los
documentos
Presentación previa para
revisión
Corrección
Entrega final y sustentación
83
Anexo B. Presupuesto
FUENTE
RUBROS DESCRIPCIÓN CEV Estudiantes
Especie Efectivo
Gastos de 4 Tutores - -
personal 3 Estudiantes - $ 6’335.500.oo
iMac 21” $ 2’450.000.oo -
Equipos y Mac Pro con Cinema
$ 7’132.000.oo -
software Display
Computador HP Quad Core $ 1’835.000.oo -
Materiales y Papelería - $ 200.000.oo
suministros Tóner de impresora - $ 100.000.oo
Servicios Servicio de Computo 600h
$ 8’000.000.oo -
técnicos – 5000h
Otros gastos Imprevistos - $ 1’000.000.oo
TOTALES $ 19’417.000.oo $ 7’635.500.oo
84