You are on page 1of 92

APLICACIN DE LA METODOLOGA SCRUM PARA LA OPTIMIZACIN DE

PROCESOS ACADMICOS EN LA UNIVERSIDAD DE SAN


BUENAVENTURA, CARTAGENA

ELKIN JOS TORRES MARTNEZ


EDSON CARLO ARZUZA AGUDELO
OSCAR FERNANDO BECERRA URIBE

UNIVERSIDAD DE SAN BUENAVENTURA


PROGRAMA DE INGENIERA DE SISTEMAS
FACULTAD DE INGENIERA, ARQUITECTURA, ARTE Y DISEO
CARTAGENA DE INDIAS D. T. & C.
COLOMBIA
2012

APLICACIN DE LA METODOLOGA SCRUM PARA LA OPTIMIZACIN DE


PROCESOS ACADMICOS EN LA UNIVERSIDAD DE SAN
BUENAVENTURA, CARTAGENA

ELKIN JOS TORRES MARTNEZ


EDSON CARLO ARZUZA AGUDELO
OSCAR FERNANDO BECERRA URIBE

Proyecto de grado presentado como requisito para optar al ttulo de Ingeniero


de Sistemas

Tutor
ING. DAMIAN BARRIOS CASTILLOS

UNIVERSIDAD DE SAN BUENAVENTURA


PROGRAMA DE INGENIERA DE SISTEMAS
FACULTAD DE INGENIERA, ARQUITECTURA, ARTE Y DISEO
CARTAGENA DE INDIAS D. T. & C.
COLOMBIA
2012

CONTENIDO

RESUMEN
1. PROBLEMA DE INVESTIGACION
1.1 PLANTEAMIENTO DEL PROBLEMA
1.2 FORMULACION DEL PROBLEMA
1.3 JUSTIFICACION
1.4 OBJETIVOS
1.4.1 Objetivo general
1.4.2 Objetivos especficos
2. MARCO DE REFERENCIA
2.1 MARCO HISTORICO
2.2 INVESTIGACIONES PREVIAS
2.3 MARCO TERICO
2.3.1 Scrum
2.3.2 Sistemas de informacin
2.3.3 Lenguajes de Programacin
2.3.4 Html (HyperText Markup Language)
2.3.5 Php (PHP HyperText Pre-processor)
2.3.6 Base de datos
2.3.7 JavaScript
2.3.8 Metodologa Tradicional
2.4 MARCO CONCEPTUAL
3. DISEO METODOLOGICO
3.1 TIPO DE INVESTIGACION
3.2 DISEO ADOPTADO
3.3 ENFOQUE DE LA METODOLOGIA
3.4 TECNICAS DE RECOLECCION DE LA INFORMACION
3.4.1 Fuentes primarias
3.4.2 Fuentes secundarias
3.5 VARIABLES
3.6 OPERACIONALIZACION DE VARIABLES
3.7 PROCESAMIENTO DE LA INFORMACION
3.8 RECURSOS TECNOLOGICOS
3.8.1 El Paradigma de Programacin
3.8.2 Herramienta de Desarrollo de Software
3.8.3 Herramientas Software
3.8.4 Herramientas de Diseo
3.8.5 Herramientas Hardware
4. RESULTADOS
4.1 API: PUNTO DE PARTIDA COMO FUENTE DE SERVICIOS
4.2 REQUERIMIENTOS
4.2.1 Product Backlog
4.3 ITERACIONES DE IMPLEMENTACION DE LOS PRODUCTOS
4.3.1 Exposicin del Product Backlog
4.3.2 Resolucin del Sprint Backlog
4.3.4 Revisin del Sprint
4.4 DISEO Y DESARROLLO DE INTERFACES
4.5 EJECUCION DE PRUEBAS
III

VIII
2
2
4
4
6
6
6
7
7
8
9
9
14
15
16
17
18
19
20
20
22
22
22
22
23
23
24
24
25
26
26
26
27
27
28
28
29
29
34
35
38
38
39
42
53
77

CONCLUSIONES
REFERENCIAS

80
81

IV

LISTA DE TABLAS

Tabla 1. Operacionalizacin de Variables


Tabla 2. Actividad Realizar Solicitud de Grado
Tabla 3. Actividad Realizar Certificados
Tabla 4. Actividad Realizar Matricula Acadmica
Tabla 5. Actividad Ver Perfil del Estudiante
Tabla 6. Actividad Ver Informacin del Estudiante
Tabla 7. Actividad Mostrar Horario de Clases
Tabla 8. Actividad Mostrar Semforo Acadmico
Tabla 9. Actividad Mostrar Semforo Acadmico
Tabla 10. Actividad Realizar Actualizacin de Datos de Estudiantes
Tabla 11. Actividad Solicitar Becas y Descuentos
Tabla 12. Actividad Prcticas Empresariales
Tabla 13. Actividad Persistencia de Acaweb
Tabla 14. Actividad Actualizacin de Datos de Egresados
Tabla 15. Actividad Imprevista Sprint 2
Tabla 16. Actividad Prcticas Empresariales (Actividades sin Resolver)
Tabla 17. Actividad Matrcula en lnea
Tabla 18. Actividad Portal Docentes
Tabla 19. Actividad de Refactor
Tabla 20. Actividad Inscripciones en lnea (Versin Definitiva)
Tabla 21. Actividad Modificaciones Portal Egresados
Tabla 22. Actividad Portal de Elecciones Institucionales

25
43
43
43
43
44
44
44
44
45
46
46
47
47
48
49
50
50
51
52
53
53

LISTA DE FIGURAS

Figura 1. Modelo general de la metodologa Scrum


Figura 2. Interaccin en arquitectura de capas
Figura 3. Vista de la arquitectura lgica implementada en el sistema de
informacin de la Universidad de San Buenaventura, Cartagena.
Figura 4. Product Backlog del Desarrollo
Figura 5. Sprint Backlog del Desarrollo
Figura 6. Avance de un Sprint
Figura 7. Actividades Sin Planeacin
Figura 8. Pgina de Inicio
Figura 9. Actualizar Mis Datos Datos Bsicos
Figura 10. Actualizar Mis Datos Datos Familiares
Figura 11. Actualizar Mis Datos Historial Laboral
Figura 12. Actualizar Mis Datos Historial Acadmico
Figura 13. Actualizar Mis Datos Idiomas
Figura 14. Ver Mis Datos Informacin Personal
Figura 15. Ver Mis Datos Informacin de Contacto
Figura 16. Prcticas Industriales- Bitcora
Figura 17. Prcticas Industriales Descargar Certificado
Figura 18. Actualizar Mis Datos Datos Bsicos
Figura 19. Actualizar Mis Datos Informacin Laboral
Figura 20. Actualizar Mis Datos Informacin Acadmica
Figura 21. Actualizar Mis Datos Idiomas
Figura 22. Actualizar Mis Datos Datos Complementarios
Figura 23. Mdulo Docentes Horario
Figura 24. Elecciones Estudiantiles Formulario de Inscripcin
Figura 25. Elecciones Estudiantiles Admisin
Figura 26. Elecciones Estudiantiles Votacin
Figura 27. Prcticas Industriales Subir Certificado
Figura 28. Prcticas Industriales Solicitudes
Figura 29. Prcticas Industriales listado de Amonestaciones
Figura 30. Prcticas Industriales Amonestaciones Respondidas
Figura 31. Solicitud Practicante - Identificacin de la Empresa
Figura 32. Solicitud Practicante - Requerimientos
Figura 33. Prcticas Industriales Ubicacin Estudiante
Figura 34. Solicitud Practicante - Ubicacin Empresa
Figura 35. Prcticas Industriales Ver Solicitudes
Figura 36. Formulario de inscripcin

VI

13
30
31
36
40
41
48
54
55
56
57
57
58
59
60
61
61
62
63
64
64
65
66
67
68
68
69
70
71
72
73
74
75
75
76
77

LISTA DE ANEXOS

Anexo A. Cronograma de Actividades


Anexo B. Presupuesto

83
84

VII

RESUMEN

El xito del desarrollo de software no depende exactamente de


las
herramientas y las notaciones de modelado; tal vez tampoco sea garanta los
conocimientos que manejen el grupo de desarrolladores; ni tampoco la
metodologa que se siga en el desarrollo de los mismos. El xito est sin duda
en la mezcla de estos tres tems y de su adaptacin continua al entorno en el
que est inmersa la aplicacin.
El presente proyecto muestra el desarrollo de aplicaciones, en su parte de
interfaz de usuario, empleando Scrum como metodloga de desarrollo. Para
esto se describen las necesidades que se dan en un entorno particular, la
Universidad de San Buenaventura Cartagena, y los requerimientos
funcionales y no funcionales de la aplicacin.
La proliferacin de metodologas giles despert en el equipo de
desarrolladores, el deseo de mostrar las ventajas de esta nueva forma de guiar
el desarrollo de aplicaciones de forma rpida, con fcil adaptabilidad y para
grupos pequeos. Scrum se presenta como una metodologa que puede ser
utilizada con seguridad de xito en cuanto genera agrado del grupo de
desarrollo y del cliente, siendo a satisfaccin de este ltimo la garanta de xito
de cualquier aplicacin.
Como profesionales en el rea de ingeniera se debe, ms que encontrar una
solucin a una dificultad, dar una serie de posibles soluciones, que
dependiendo de las circunstancias y los limitantes, obtenga de forma ptima el
mejor resultado a determinada situacin.

VIII

INTRODUCCION
Con la aparicin de la computacin digital, inicio el periodo de ms desarrollo
tecnolgico
jams
visto
por
la
humanidad:
viajes
espaciales,
telecomunicaciones, Internet, entre otros. Un elemento de importancia en este
desarrollo de tecnologas lo ha constituido el software, el cual facilita el manejo
del hardware.
El software, definido como un conjunto de instrucciones que controlan la
realizacin de tarea de un hardware, puede dividirse en varias categoras
basadas en el tipo de trabajo que realizan. Las dos categoras primarias de
software son, los Sistemas Operativos que controlan los trabajos del
computador como el mantenimiento de los archivos del disco y la
administracin de la pantalla, y el software de aplicacin que dirige las distintas
tareas para las que se utilizan el computador como edicin de textos, gestin
de bases de datos y similares.
Los desarrollos de hardware y software han sido muy dinmicos a la vez que
requieren de procesos cada vez ms complejos de produccin. Seguir una
metodologa 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 tena el cliente con respecto al producto o
desarrolladores insatisfechos con el mismo. Encontrar y seguir la metodologa
adecuada para el tipo de desarrollo, marca el xito del software.
La utilizacin de las llamadas metodologas tradicionales en el desarrollo de
software (Cascada, RUP, entre otras), caracterizadas por la implementacin
de etapas secuenciales ejecutadas unas despus de otras, guiadas por una
planificacin rgida, con lo que pretende controlar todo el proceso (planificacin,
diseo, implementacin, evaluacin), son aplicadas cada vez menos en
ambientes de desarrollo de software. En contraposicin, las metodologas
agiles han despertado un creciente inters, que las ha llevado a campos
diferentes al de la ingeniera de software.
Dentro de las diferentes propuestas de mejora al desarrollo secuencial se
encuentra Scrum. ste es una tcnica de desarrollo caracterizada por integrar
caractersticas de las metodologas giles a los que se aaden la
implementacin de iteraciones denominadas Sprint, que deja como resultado
un incremento ejecutable que se pueden mostrar al cliente y reuniones diarias
de 15 minutos a los largo del ciclo del Sprint, que permite al equipo
autorregularse, coordinarse e integrarse.
El inters del presente proyecto gira entorno a desarrollos logrados siguiendo
metodologas de desarrollo gil: especficamente Scrum. A lo largo del trabajo
se muestra la implementacin y resultados logrados a partir de esta
metodologa de trabajo, dentro de la elaboracin de frontend de las
aplicaciones (desarrollo de controladores e interfaces graficas de usuario) de
procesos acadmicos en la Universidad de San Buenaventura Cartagena.

APLICACIN DE LA METODOLOGA SCRUM PARA LA OPTIMIZACIN DE


PROCESOS ACADMICOS EN LA UNIVERSIDAD DE SAN
BUENAVENTURA, CARTAGENA

1. PROBLEMA DE INVESTIGACION

1.1 PLANTEAMIENTO DEL PROBLEMA


El software evoluciona a travs de una serie de actividades de programacin
que siguen una metodologa, y que se orientan a generar una nueva versin a
partir de una versin anterior operativa, cubriendo ajustes de funcionalidades
adicionales1. La causa de ste cambio est atada a la necesidad de evolucin
del software.
Muchas de las actuales metodologas de desarrollo de software se han
enfocado en distintas dimensiones del proceso de desarrollo, colocando un
cuidadoso nfasis en el control de proceso mediante una rigurosa definicin de
roles, actividad que incluyen modelado y documentacin detallada. Este tipo de
metodologas han recibido el nombre Metodologas Tradicionales, dando
excelentes resultados en proyectos de gran tamao, pero mostrndose un poco
ineficientes en desarrollos ms pequeos y con requerimientos menos estables
que requieren flexibilidad2.
Como alternativa de desarrollo aparecen las metodologas giles,
constituyndose en una alternativa de solucin a medida, con una elevada
simplificacin en sus procesos que no renuncia a las prcticas esenciales para
asegurar la calidad del producto. Estas han sido pensadas para grupos de
desarrollo pequeos, con plazos reducidos y requisitos flexibles.
Dentro del marco de estas metodologas de desarrollo gil se encuentra Scrum.
Esta se caracteriza por brindar ventajas en entornos de trabajo con
requerimientos inestables, que requieren rapidez y flexibilidad, adaptndose
continuamente a las circunstancias de evolucin del proyecto. Estas
caractersticas coinciden en muchos de los proyectos que actualmente se
desarrollan dentro de Centro de Educacin Virtual (CEV) de la Universidad de
San Buenaventura Seccional Cartagena.
El Centro de Educacin Virtual (CEV) lleva a cabo procesos de creacin,
revisin y despliegue de desarrollos de aplicaciones, que hacen parte del
desarrollo del sistema de informacin que sirve de apoyo al modelo de
enseanza institucional. Este sistema de informacin brinda al docente y al
estudiante apoyo a su proceso de formacin, a partir del modelo de educacin
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. Metodologas giles en el Desarrollo de Software. Editorial Alicante. Espaa, 12 de
Noviembre de 2003. pp. 9-16.
2
Grupo ISSI. Metodologas giles en el Desarrollo de Software. Editorial Alicante. Espaa, 12 de
Noviembre de 2003. pp. 9-16.

que se desea implantar, ya sea presencial o virtual, teniendo como objetivo el


desarrollo de frontend de las aplicaciones que permitirn: acceso a la
informacin personal de docentes y estudiantes, administracin de notas
estudiantiles, portal para el manejo de prcticas industriales y portal de
votaciones estudiantiles (inscripcin de candidatos y votaciones). Estos
servicios que se encuentran desacoplados requieren un proceso de
optimizacin que permita el manejo digital de la informacin a travs de una
plataforma acoplada accesible desde Internet.
En la actualidad, a nivel organizacional y operativo estos servicios presentan
deficiencias en su prestacin, tales como: la falta de una plataforma amena,
intuitiva y prctica que permita presentar y recibir informacin de los usuarios;
desarrollos que brindan servicios a partir de la informacin guardada en las
bases de datos de la Universidad que son redundante e insuficientes; la lgica
de negocio an se encuentra en etapa de diseo y se ajusta a las polticas
cambiantes y poco definidas que establece la Institucin para tal fin. La poca
sinergia que se presenta entre los servicios prestados por las aplicaciones
existentes en la Institucin, conlleva a que no se logre una integracin con el
sistema en desarrollo. Teniendo en cuenta esto, la finalidad del CEV es
implementar un sistema que integre servicios como: Manejo de estudiantes, la
administracin de prcticas industriales, la gestin de notas, la conduccin de
las elecciones estudiantiles; implementacin que no se ha podido lograr debido
al uso de metodologas de desarrollo tradicionales que han causado retrasos
en los tiempos de entrega de mdulos que dan soporte al funcionamiento del
mismo.
El seguimiento de metodologas de desarrollo de software poco adaptadas a la
realidad que vive el CEV crea inconveniente como es la de priorizar las
actividades segn el grado de importancia que tienen para el buen
funcionamiento del sistema. A su vez se requiere responder a los cambios en
el diseo o requerimientos del sistema, que surgen a lo largo del proyecto, lo
cual genera un atraso constante en los desarrollos alcanzados ya que
demanda nuevas correcciones y nuevas funcionalidades al software como tal.
Teniendo en cuenta lo anterior, se requiere optimizar las diferentes
herramientas acadmicas de apoyo requeridas por el CEV, a travs de la
metodologa Scrum, desarrollando software rpidamente y respondiendo a los
diferentes requerimientos en la implementacin de los mismos (en los
requisitos, en la tecnologa).
Teniendo en cuenta estos aspectos, el proyecto ejecutado en el CEV fue
dividido en dos fases: Fase uno, elaboracin de una API (Interfaz de
programacin de aplicaciones Application Programming Interface por sus
siglas en ingles) que integra los servicios utilizados para la obtencin de datos
que la Institucin posee de los estudiantes y docentes, simplificando la manera
para consumir dichos servicios, tambin se cre un framework de desarrollo
(Underscore), que fuese capaz de integrarse con el gestor de contenidos
Joomla! y brindara un sencillo mtodo para realizar aplicaciones para el
mismo. Esta fase est a cargo en su totalidad por el equipo de trabajo del CEV.

Fase dos, elaboracin 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 utilizacin de la aplicacin.
Esta fase se desarroll durante el periodo de prcticas industriales y pasantas
de investigacin profesionales de los integrantes del presente proyecto,
comprendido entre Agosto de 2011 y Abril de 2012.

1.2

FORMULACION DEL PROBLEMA

Cmo implementar la metodologa Scrum para la Optimizacin de Procesos


Acadmicos: inscripcin y actualizacin de informacin de estudiantes,
administracin de prcticas industriales, gestin de notas, portal de egresados
y portal para el manejo de las elecciones estudiantiles en la Universidad de San
Buenaventura Cartagena?

1.3

JUSTIFICACION

La metodologa que se usa en el desarrollo de software integra mtodos,


herramientas y procedimientos especficos que pueden convertirse en una
pieza importante de xito para el equipo de trabajo que la utiliza haciendo
eficaz la produccin de aplicaciones. Encontrar, seguir y experimentar con
formas alternativas de trabajo, diferentes a los procesos de desarrollo de
software tradicionales, caracterizados por ser rgidos y dirigidos por la
documentacin generada en cada una de las actividades realizadas3, es una
de las principales motivaciones para la seleccin del tema.
Con este proyecto se busca hacer praxis una metodologa que sea alternativa
a los procesos de desarrollo de software tradicionales como RUP (Rational
Unified Process), logrando desarrollos rpidos y que respondan a los cambios
que puedan surgir en el mismo. La metodologa 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 rpida
respuesta a los cambios que pueda sugerir el cliente con respecto al diseo,
contenido o funcionalidad del sistema; la produccin de una aplicacin no sigue
estrictamente una planificacin inicial, siendo flexible y abierta, con reglas de
trabajo impuestas por el equipo de trabajo.
Teniendo en cuenta la cantidad de metodologas de desarrollo de software se
hace necesario dar a conocer las experiencias exitosas que se tengan con ellas
en el mbito local, permitiendo que otros puedan saber de buena tinta las
implicaciones y detalles de su implementacin. Esto permitir que otros
desarrolladores sigan esta metodologa que se muestra como exitosa.

Canos, J., Letelier, P. y Penads, M. Metodologas Agiles en el desarrollo de Software. Universidad


Politecnica de Valencia, Valenc
ia, 2003.

La elaboracin de un manual de implementacin reflejar en detalle el


desarrollo de aplicaciones utilizando la metodologa SCRUM a partir de los
casos de xito vividos por el equipo dentro del CEV. Esto permitir a futuros
desarrolladores inexpertos seleccionar metodologas que garanticen la
satisfaccin del cliente pero tambin la de ellos mismos, marcando el xito en
el desarrollo del software, y evitando dudar al escoger la metodologa
adecuada, o algo todava peor, se prescindir de estar ensayando con
metodologas adaptadas a circunstancias particulares, que pudiesen malograr
el objetivo final.
Se busca demostrar que el uso de la metodologa Scrum, proporcionar un
desarrollo rpido de aplicaciones requeridas por el sistema de informacin del
CEV de la Universidad de San Buenaventura, aportando herramientas de
apoyo de importancia para el desempeo acadmico. Las ventajas que se
podrn comparar con otras metodologas son la satisfaccin del cliente por
continuas y tempranas entregas de producto, la facilidad de responder a los
cambios en diseo, contenido o funcionalidad del sistema, la interaccin
continua con el cliente que facilita la captura de nuevos requerimientos y la
autorregulacin que surge del mismo grupo de desarrolladores.
Las herramientas acadmicas de apoyo desarrolladas a partir
de la
metodologa Scrum comprendida en la Fase 2 y que son de competencias de
los desarrolladores de este proyecto, permitir ofrecer a los usuarios finales el
acceso a travs de la interfaces a los servicios proporcionados por la
Universidad de San Buenaventura, a travs del desarrollo de los frontend de
las aplicaciones obtenidos en esta fase como lo son: inscripcin y actualizacin
de informacin de estudiantes, administracin de prcticas industriales, gestin
de notas, portal de egresados y portal para el manejo de las elecciones
estudiantiles
La viabilidad tcnica del proyecto se da porque se cuenta con el capital
humano capacitado en temas de ingeniera de software y con conocimientos
avanzados en Bases de Datos, Lenguaje de programacin y metodologa del
estudio; los recursos econmicos que sern invertidos no presentan costos
elevados y son medianamente financiables por parte de los investigadores,
siendo los equipos y elementos de desarrollo facilitados por CEV de la
Universidad de San Buenaventura seccional Cartagena. La importancia que
tiene el producto garantiza el ingreso de aportes de la principal beneficiada con
el desarrollo del mismo, en este caso, el de la Universidad de San
Buenaventura Seccional Cartagena.
El desarrollo de este proyecto est enfocado bajo la perspectiva franciscana de
la Universidad de San Buenaventura, planteada en el PEB, la cual expone la
importancia de la investigacin como herramienta para el desarrollo de las
ciencias y la tecnologa informtica. Se fomenta el desarrollo de la misma a
travs actividades de formacin y de procesos que involucren cultivar aptitudes

y capacidades intelectuales que permitan inferir, deducir y elaborar conceptos


de carcter investigativo4.

1.4 OBJETIVOS

1.4.1 Objetivo general. Implementar la


Optimizacin de Procesos Acadmicos
Buenaventura, Cartagena.

Metodologa Scrum para la


en la Universidad de San

1.4.2 Objetivos especficos. Identificar los servicios que ofrece la API diseada
por el CEV, buscando a partir de esto, tener una mayor apropiacin de los
recursos que sta provee.
Identificar los requerimientos que delimitan las funcionalidades de la segunda
fase.
Describir el proceso gua que lleva la metodologa Scrum en el desarrollo de los
productos de la fase dos.
Disear y desarrollar las interfaces de usuario que siguiendo la metodologa
Scrum, respondan a los diferentes requerimientos surgidos en los procesos
propios de la fase dos, logrando que sean amenas, intuitivas y prcticas
Disear y ejecutar pruebas que permiten evaluar los prototipos funcionales
desarrollados, detectando puntos de falla que stos puedan tener.
Elaborar un manual de implementacin que refleje en detalle el desarrollo de
aplicaciones utilizando la metodologa SCRUM a partir de los casos de xito
del CEV.

Universidad de San Buenaventura; Proyecto Educativo Bonaventuriano PEB; Editorial bonaventuriana;


Bogot D.C. 2007; p. 66.

2. MARCO DE REFERENCIA

2.1

MARCO HISTORICO

Scrum fue mostrada por primera vez a mediados de los ochenta como nueva
prctica de produccin alcanzado por empresas de desarrollo tecnolgico como
Fuji-Xerox, Canon, Honda, Nec, Epson, Brother, 3M y Hewlett-Packard, y que
fue estudiada por Hirotaka Takeuchi e Ikujijo Nonaka. Con el artculo titulado
The New Product Development Game, Ikujiro & Takeuchi dieron continuacin
a otro artculo escrito con Kenichi Imai, llamado Managing the New Product
Development Process: How Japanese Companies Learn and Unlearn. En
estos expusieron una nueva prctica en el desarrollo de productos tecnolgicos
desplegada en Japn, resaltando el solapamiento de las fases de desarrollo
como su principal caracterstica, en contraste con los mtodos clsicos, los
cuales emplean desarrollos secuenciales, pero que en la prctica son en
realidad secuenciales con solapamiento.
En 1991 Peter DeGrace y Leslie Stahl hacen referencia al proceso mencionado
por Takeuchi y Nonaka con el trmino Scrum en su libro Wicked Problems,
Righteous Solutions (A problemas malvados, soluciones virtuosas), vocablo
que fue tomado del juego del rugby para describir procesos adaptativos, autoorganizativos y sin elementos innecesarios, y que ya haba sido utilizado por
estos ltimos.
A partir del trabajo realizado por Hirotaka Takeuchi e Ikujijo Nonaka, Jeff
Sutherland aplicara 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 prcticas que empleaba como vlidas para
gestionar el desarrollo de software OOPSLA 96 (Schwaber & Sutherland,
1996).
Paralelo a este proceso, a mediados de los 90, se dio la definicin de
desarrollo gil de software como una forma de contravenir hasta ese momento
las metodologas clsicas, las cuales se consideraban excesivamente pesadas
y rgidas por su carcter normativo y dependencia fuerte de las planificaciones
detalladas. Fue as como en 2001 miembros destacados de la comunidad de
software, creadores e impulsores de las nuevas metodologas de desarrollo, de
los cuales hacan parte Schwaber y Sutherland, bautizaron la nueva corriente
de metodologas de desarrollo como Metodologas Agiles.
En el mismo ao 2001 fue constituida la Alianza agil, una organizacin 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.

2.2 INVESTIGACIONES PREVIAS


El desarrollo de esta investigacin servir como referencia a nuevos proyectos
de grados e investigaciones que sugieran o se encaminen en el manejo de la
metodologa SCRUM. As como las investigaciones y tesis colocadas como
referencias en este documento sirvieron de apoyo para lograr entender cmo
ha evolucionado esta metodologa en pases como Espaa, Colombia, entre
otros pases latinoamericanos. A continuacin se presenta una breve
descripcin de los proyectos similares a la investigacin.
Sergio Adrian Yazyi, Salamanca Espaa en el ao de 2011, presento en la
Universidad De Salamanca, una investigacin que lleva como ttulo Una
experiencia prctica de Scrum a travs del aprendizaje basado en proyectos
mediado por TIC en un equipo distribuido, el cual plantea dentro de su
documentacin: Scrum es un marco de trabajo para la gestin gil de
proyectos de creciente inters en distintos campos de aplicacin. Para asimilar
sus principios y prcticas no basta una formacin conceptual sino que es
necesario utilizar un enfoque prctico que permita ejercitarlo a travs del
aprender haciendo. Este estudio se convierte en punto de apoyo ya que se
estudia la implementacin de Scrum en contextos distinto al del desarrollo del
software, exponindose los logros alcanzados durante la aplicacin de esta
metodologa, corroborando la informacin obtenida durante el desarrollo del
actual proyecto.
A su vez Juan Palacios en Colombia, en Octubre de 2008, present un
proyecto o documento investigativo sobre la implementacin de Scrum llamado
Flexibilidad con Scrum Principios de diseo e implantacin de campos de
Scrum Adaptando los procesos a la empresa en el cual se hace mencin de
empresas observadas por Nonaka y Takeuchi, mostrando en stas las
caractersticas que luego pasaran a formar parte de lo hoy se conoce como
Scrum. Estas caractersticas son tratadas al detalle, terminando con consejos
prcticos que permiten llevar estas mismas cualidades a campos como el
marketing, proyectos empresariales y procesos de produccin.
De igual Juan Garbajosa Sopea y Pilar Rodrguez Gonzlez en Espaa Madrid, Septiembre de 2008, presentaron Tesis de Master sobre tecnologas
de la Informacin ntimamente relacionada con Scrum llamada Estudio de la
Aplicacin de Metodologas Agiles para la Evolucin de Productos Software; la
tesis presentada hace referencia a Scrum como ncleo principal y se
concentra principalmente, a nivel de las personas y equipo de desarrollo que
construye el producto. Su objetivo es que los miembros del equipo trabajen
juntos y de forma eficiente obteniendo productos complejos y sofisticados. Se
podra entender Scrum como un tipo de ingeniera social que pretende
conseguir la satisfaccin de todos los que participan en el desarrollo,
fomentando la cooperacin a travs de la auto-organizacin. De esta forma, se
favorece la franqueza entre el equipo y la visibilidad del producto. Pretende
que no haya problemas ocultos, asuntos u obstculos que puedan poner en
peligro el proyecto. Los equipos se guan por su conocimiento y experiencia
ms que por planes de proyecto formalmente definidos. La planificacin
detallada se realiza sobre cortos espacios de tiempo lo que permite una
8

constante retroalimentacin que proporciona inspecciones simples y un ciclo


de vida adaptable. As, el desarrollo de productos se produce de forma
incremental y con un control emprico del proceso que permite la mejora
continua; esto conlleva a reafirmar la utilizacin de Scrum como metodologa
de desarrollo con la consiguiente obtencin de resultados optimizados.
En el Ao de 2009 en Wasington (EE.UU.) Henrik Kniber y Mattias Skarin,
tomando un prlogo de Mary Poppendieck y David Anderson, en un
documento llamado Kamban y Scrum obteniendo lo mejor de ambos ofrece
informacin positiva de Scrum mostrando como sta divide la organizacin en
equipos pequeos, interdisciplinarios y auto-organizados, divide el trabajo en
una lista de entregables pequeos y concretos; ordena la lista por orden de
prioridad y estima el esfuerzo relativo de cada elemento; divide el tiempo en
iteraciones cortas de longitud fija (generalmente de 1 a 4 semanas), con cdigo
potencialmente entregable y demostrado, despus de cada iteracin; optimiza
el plan de entregas y actualiza las prioridades en colaboracin con el cliente,
basada en los conocimientos adquiridos mediante la inspeccin del entregable
despus de cada iteracin; optimiza el proceso teniendo una retrospectiva
despus de cada iteracin. As en lugar de un grupo numeroso pasando
mucho tiempo construyendo algo grande, se tiene un equipo menor pasando
un tiempo ms corto construyendo algo menor. Pero integrando con
regularidad para ver el conjunto completo.

2.3 MARCO TERICO


2.3.1 Scrum. En el transcurrir del tiempo las sociedades siempre han subexistido gracias a su habilidad de poder crear procedimientos racionales
utilizados para alcanzar una gama de objetivos que rigen en una investigacin
cientfica o tareas que requieran habilidades, conocimientos o cuidados
especficos.
Alternativamente puede definirse que una metodologa es el estudio o eleccin
de un procedimiento pertinente para alcanzar un determinado objetivo. Algunas
de estas metodologas han venido siendo iguales o han tenido sus cambios
respectivos segn la situacin lo amerite, ya que se hacen presentes diferentes
factores como el tiempo, eficacia, dinero, requerimientos, entre otros.
Existen metodologas que han venido acompaando el avance tecnolgico
desde sus inicios y ms en el desarrollo de software. Tanto as que han
proporcionado la manera de solucionar situaciones de forma prctica
obteniendo as los resultados esperados en menos tiempo. Este ha sido uno
de los objetivos principales de los programadores, para hacer que la
informacin sea utilizada en cualquier hora y lugar.
Las metodologas han sido utilizadas para la realizacin de proyectos
tecnolgicos y cientficos desde su invencin, consideradas como un proceso
de planificacin, la cual consiste en un conjunto de actividades que se
encuentran interrelacionadas y coordinadas. La razn de un proyecto es
9

alcanzar objetivos especficos dentro de los lmites que imponen un


presupuesto, calidades establecidas previamente y un lapso de tiempo
previamente definido. La gestin de proyectos es la aplicacin de
conocimientos, habilidades, herramientas y tcnicas a las actividades de un
proyecto para satisfacer los requisitos del proyecto5.
Existen metodologas orientadas a la interaccin con el cliente y el desarrollo
incremental del software, mostrando versiones parcialmente funcionales del
mismo al cliente en intervalos cortos de tiempo, para que pueda evaluar y
sugerir cambios en el producto segn se va desarrollando. Estas son llamadas
Metodologas ligeras/giles6.
El individuo y las interacciones del equipo de desarrollo sobre el proceso
y las herramientas son puntos principales en el factor de xito de un proyecto.
Es ms importante construir un buen equipo que construir el entorno, muchas
veces se comete el error de construir primero el entorno y esperar que el
equipo se adapte automticamente. Es mejor crear el equipo y que ste
configure su propio entorno de desarrollo en base a sus necesidades. Antes y
Durante la elaboracin del proyecto hay que acatar puntos clave para la
satisfaccin mxima desde el punto de vista del cliente y el desarrollador7.
Desarrollar software que funciona ms que conseguir una buena
documentacin. La regla a seguir es no producir documentos a menos que
sean necesarios de forma inmediata para tomar una decisin importante. Estos
documentos deben ser cortos y centrarse en lo fundamental. La colaboracin
con el cliente ms que la negociacin de un contrato. Se propone que exista
una interaccin constante entre el cliente y el equipo de desarrollo. Esta
colaboracin entre ambos ser la que marque la marcha del proyecto y
asegure su xito.
Responder a los cambios ms que seguir estrictamente un plan. La
habilidad de responder a los cambios que puedan surgir a los largo del
proyecto (cambios en los requisitos, en la tecnologa, en el equipo, etc.)
determina tambin el xito o fracaso del mismo. Por lo tanto, la planificacin no
debe ser estricta sino flexible y abierta.
Dentro de las metodologas existentes para la realizacin de proyectos a nivel
de programacin de software, se encuentre la Metodologa Scrum, la cual se
utiliz en la generacin de productos de software durante el desarrollo de la
pasanta de investigacin y la cual ser descrita a lo largo de este documento.
Scrum es un mtodo iterativo e incremental que enfatiza prcticas y valores de
Project management por sobre las dems disciplinas del desarrollo. Al principio
del proyecto se define el Product Backlog, que contiene todos los

Amaro C., Sarah y Jorge C. Valverde; Metodologas 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
Ibd., pp. 18.

10

requerimientos funcionales y no funcionales que deber satisfacer el sistema a


construir.8
Esta es una herramienta que permite la comunicacin entre desarrolladores en
relacin uno-a-uno, que podr servir tanto para darse soporte en el proceso,
como para clarificar y valorar su contribucin individual en trabajo grupal.
Tambin permite la comunicacin el ScrumMaster (Lder del grupo) en relacin
con todos los miembros del mismo, de particular importancia para el
seguimiento del proceso de elaboracin del proyecto y culminacin del mismo9.
Esta Facilita la evaluacin formativa a travs del seguimiento de la evolucin de
los productos del proyecto, buscando modos de representar digitalmente los
mismos, para permitir de este modo analizar, valorar y ofrecer feedback a los
estudiantes, as como intervenir tempranamente en caso de dificultades
Con Scrum, el usuario se entusiasma y se compromete con el proyecto Desde
este punto de vista; Scrum es una metodologa gil de desarrollo de proyectos
de software que ha venido surgiendo en los ltimos aos. Esta toma nombre y
principios de observaciones sobre nuevas prcticas de produccin realizada
por Hirotaka y Takeuchi en los aos 8010. En muchas ocasiones, los modelos
de gestin tradicionales no cumplen con los requisitos para afrontar un reto
que hoy en da resulta muy fundamental, el cual es incorporar cambios con
rapidez y en cualquier fase del proyecto realizado o a realizar.
As mismo le permite en cualquier momento realinear el software con los
objetivos de negocio de su empresa, ya que puede introducir cambios
funcionales o de prioridad en el inicio de cada nueva iteracin. Esta
metodologa de trabajo promueve la innovacin, motivacin y compromiso del
equipo que forma parte del proyecto, por lo que los profesionales encuentran
un mbito propicio para desarrollar sus capacidades11.
Actualmente uno de los mtodos giles ms difundidos es Scrum, basado en
ciclos cortos de trabajo, desarrollo iterativo y adaptativo, permeabilidad a los
cambios en los requisitos, auto-organizacin del equipo de trabajo, poco en la
produccin de valor, mejora continua del proceso y orientacin a las personas.

Por qu Escoger SCRUM?


El cliente tiene la oportunidad ver los resultados desde el primer
momento.
Se ahorra tiempo que en las metodologas tradicionales se dedica en
conseguir especificaciones y documentacin exhaustivamente.
8

Amaro C., Sarah y Jorge C. Valverde; Metodologas Agiles. Universidad Nacional de Trujillo. Trujillo,
Per, 2007.
9
Ibd., 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
Ibd.

11

Se hace equipo de comunicacin continua reportando seguidamente los


xitos conseguidos.
El cliente tiene la oportunidad de ser participe y opinar en el desarrollo
del proyecto.
Se reducen los riesgos por retrasos acumulados, entregas que difieren
de lo que el cliente esperaba, por lo tanto influye de manera decisiva en
el xito del proyecto.
No es dirigida del todo puede ser combinada con otras metodologas de
desarrollo
Esta forma de concebir la gestin de proyectos es radicalmente diferente al
modo secuencial en que se afrontan tradicionalmente los mismos, dividindolos
en etapas, sucesivas y especializadas, planificadas a priori en forma detallada;
proponiendo en cambio un desarrollo en forma iterativa, como trabajo de un
equipo multidisciplinario (ScrumTeam) sobre una versin completa del
producto, centrada en el valor para el cliente o destinatario.12
Scrum es un modelo de referencia que define un conjunto de prcticas y roles,
y que puede tomarse como punto de partida para definir el proceso de
desarrollo que se ejecutar durante un proyecto. Los roles principales en
Scrum son el ScrumMaster, que mantiene los procesos y trabaja de forma
similar al director de proyecto, el ProductOwner, que representa a
los stakeholders (interesados externos o internos), y el equipo que incluye a los
desarrolladores.
Durante cada Sprint (un perodo 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 caractersticas
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 reunin de planeacin.
De forma iterativa, todos los das que dure el Sprint, se realiza una reunin
operativa, informal y gil con el equipo de desarrollo, de un mximo de quince
minutos, en la que a cada integrante del equipo se le hacen tres preguntas:
Qu tareas ha hecho desde la ltima reunin?
realizadas en un da.

Es decir, tareas

Qu tareas realizaras el da de hoy?

12

YAZY ,Sergio Adrin . Una experiencia prctica de Scrum a travs 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,


identificacin de obstculos o riesgos que impiden o pueden impedir el
normal avance.13
Durante esta reunin, el ProductOwner identifica los elementos del Product
Backlog que quiere ver completados y los hace del conocimiento del equipo.
Entonces, el equipo determina la cantidad de ese trabajo que puede
comprometerse a completar durante el siguiente Sprint. Durante el Sprint, nadie
puede cambiar el Sprint Backlog, lo que significa que los requisitos estn
congelados durante el Sprint14.

Figura 1. Modelo general de la metodologa Scrum


La efectividad de la metodologa para la gestin de proyectos se basa en un
conjunto de valores fundamentales que deben seguir todos los integrantes del
equipo, principios sobre los que reposan el resto de prcticas: compromiso,
esmero, franqueza, respeto y valor15.
Scrum comparte los principios estructurales del desarrollo gil: a partir del
concepto o visin de la necesidad del cliente, construye el producto de forma
incremental a travs de iteraciones breves que comprenden fases de
especulacin exploracin y revisin. Estas iteraciones (en Scrum llamadas
Sprint) se repiten de forma continua hasta que el cliente da por cerrado el
producto16.
La conformacin de equipos pequeos de trabajo, es una de las caractersticas
principales de esta metodologa, formado por miembros de diferentes
13

Rodriguez Gonzalez, Pilar. Estudio De La Aplicacin De Metodologas Agiles Para La Evolucin De


Productos Software. Universidad Politecnica de Madrid. Madrid. 2008.
14
YAZY ,Sergio Adrin . Una experiencia prctica de Scrum a travs 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 Aplicacin De Metodologas Agiles Para La Evolucin 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 comunicacin e intercambio de informacin
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.
2.3.2 Sistemas de informacin17. Un sistema de informacin es un conjunto
formal de procesos que, operando sobre una coleccin de datos estructurada
segn las necesidades de la empresa, recopilan, elaboran y distribuyen la
informacin (o parte de ella) necesaria para las operaciones de dicha empresa
y para las actividades de direccin y control correspondientes (decisiones) para
desempear su actividad de acuerdo a su estrategia de negocio.
Un sistema de informacin realiza cuatro actividades bsicas: entrada de datos,
almacenamiento, procesamiento y salida de informacin.

Entrada de Datos: Es el proceso mediante el cual el Sistema de


Informacin toma los datos que requiere para procesar la informacin.
Las entradas pueden ser manuales o automticas. Las manuales son
aquellas que se proporcionan en forma directa por el usuario, mientras
que las automticas son datos o informacin que provienen o son
tomados de otros sistemas o mdulos. Esto ltimo se denomina
interfaces automticas. Las unidades tpicas de entrada de datos a las
computadoras son las terminales, las cintas magnticas, las unidades de
diskette, los cdigos de barras, los escner, la voz, los monitores
sensibles al tacto, el teclado y el mouse, entre otras.

Almacenamiento: El almacenamiento es una de las actividades o


capacidades ms importantes que tiene una computadora, ya que a
travs de esta propiedad el sistema puede recordar la informacin
guardada en la seccin o proceso anterior. Esta informacin suele ser
almacenada en estructuras de informacin denominadas archivos.

Procesamiento: Es la capacidad del Sistema de Informacin para


efectuar clculos de acuerdo con una secuencia de operaciones
prestablecida. Estos clculos pueden efectuarse con datos introducidos
recientemente en el sistema o bien con datos que estn almacenados.
Esta caracterstica de los sistemas permite la transformacin de datos
fuente en informacin que puede ser utilizada para la toma de
decisiones, lo que hace posible, entre otras cosas, que un tomador de
decisiones genere una proyeccin financiera a partir de los datos que
contiene un estado de resultados o un balance general de un ao base.

Salida de Informacin: La salida es la capacidad de un Sistema de


Informacin para sacar la informacin procesada o bien datos de

17

STAIR, Ralph y George W. Reynolds. Principios de Sistemas de Informacin. Mxico, 2000, Editorial
Thomson, p 4 - 5.

14

entrada al exterior. Las unidades tpicas de salida son las impresoras,


terminales, diskettes, cintas magnticas, la voz, los graficadores y los
plotters, entre otros. Es importante aclarar que la salida de un Sistema
de Informacin puede constituir la entrada a otro Sistema de Informacin
o mdulo. En este caso, tambin existe una interface automtica de
salida. Por ejemplo, el Sistema de Control de Clientes tiene una interface
automtica de salida con el Sistema de Contabilidad, ya que genera las
plizas contables de los movimientos procesales de los clientes.
2.3.3 Lenguajes de Programacin 18 . Conocidos como el soporte lgico o
software de una computadora, de forma especfica es el conjunto de cdigos
organizados que de manera lgica da como resultado un software o programa
con una o muchas funcionalidades inmersas en l. Los lenguajes de
programacin son considerados una forma de comunicarse con la computadora
para indicar la tarea que se quiere realizar y la forma de llevarla a cabo.
Desde el comienzo de la historia de la informtica, la programacin de
computadores se ha convertido en una disciplina por derecho propio. Los
primeros sistemas de programacin, que utilizaban conexiones elctricas
realizadas con cables sobre tableros mviles, fueron rpidamente sustituidos
por otros que se apoyaban en mtodos cada vez ms sencillos y que, en
consecuencia permitieron alcanzar niveles ms altos de complejidad. Esta
evolucin afect simultneamente a los medios de introduccin de programas
en los computadores (cinta de papel, tarjetas perforadas, teletipo, mquina de
escribir, terminal provisto de pantalla, etc.) y a la forma de programar (lenguaje
mquina, lenguaje simblico, lenguajes de alto nivel, sistemas de desarrollo de
aplicaciones, entornos de generacin de sistemas de bases de conocimiento,
etc.)
Un programa completo consta siempre de dos partes: las instrucciones
ejecutables (o programa en sentido estricto) y los datos sobre los que actan
estas instrucciones. Segn la forma en que se organicen los datos y
programas, se distinguen las formas de programar: programacin lgica,
programacin orientada a objetos o programacin procedimental; en esta
ltima las instrucciones que componen los programas se ejecutan
secuencialmente en un orden prestablecido, que solo depende de los valores
de los datos a los que se aplica y que se puede deducir de estos,
inspeccionando el programa.
Los lenguajes de alto nivel se pueden clasificar de forma general en lenguajes
de propsito general y lenguajes de propsito especial. Los lenguajes de
propsito general se emplean igualmente en negocios, que aplicaciones
cientficas o en resolucin de problemas de ingeniera, como en tareas de
desarrollo de software de sistemas. Entre los lenguajes de propsito general
cabe citar al PASCAL, C y ADA.
18

Annimo. Lenguajes de Programacin Disponible en http://ocw.usal.es/ensenanzastecnicas/informatica-ingeniero-tecnico-en-obras-publicas/contenidos/course_files/Temas/Tema_7__Lenguajes_de_Programacion.PDF, consultado el 03 Junio de 2012.

15

Las categoras ms comunes de lenguajes de propsito especial son los


lenguajes comerciales, cientficos y educativos. En el campo comercial se
puede citar COBOL, en el campo cientfico, 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, dividindola en reas de procedimiento (procedures en ingls)
que especifican como realizar cada una de las tareas. Todos los
lenguajes de alto nivel desarrollados en las primeras pocas eran
lenguajes de procedimiento.

Los lenguajes declarativos describen estructuras de datos y las


relaciones entre ellas,
siendo significativo para ejecutar una
determinada tarea, a la vez indican cual es el objetivo de esa tarea. El
proceso por el que se ejecuta la tarea no se establece de forma explcita
en el programa. Este proceso se determina por el sistema de traduccin
del lenguaje. Prolog es un ejemplo de lenguaje de programacin
declarativo.

2.3.4 Html (HyperText Markup Language)19. HTML significa HyperText Markup


Language (lenguaje de marcado de hipertexto, por sus siglas en ingles) es el
lenguaje con el que son creadas las pginas web. Las pginas web pueden ser
vistas por el usuario mediante un tipo de aplicacin llamada navegador. Se
puede decir por lo tanto que el HTML es el lenguaje usado por los navegadores
para mostrar las pginas webs al usuario, siendo hoy en da la interface ms
extendida en la red.
Este lenguaje permite adjuntar textos, sonidos e imgenes y combinarlos al
gusto del programador. Adems, y es aqu donde reside su ventaja con
respecto a libros o revistas, el HTML permite la introduccin de referencias a
otras pginas por medio de los enlaces hipertexto.
El HTML se cre en un principio con objetivos divulgativos. No se pens que la
web llegara a ser un rea de ocio con carcter multimedia, de modo que, el
HTML se cre sin dar respuesta a todos los posibles usos que se le iba a dar y
a todos los colectivos de gente que lo utilizaran en un futuro. Sin embargo,
pese a esta deficiente planificacin, s que se han ido incorporando
modificaciones con el tiempo, estos son los estndares del HTML. Numerosos
estndares se han presentado ya.
Esta evolucin tan anrquica del HTML ha supuesto toda una seria de
inconvenientes y deficiencias que han debido ser superados con la introduccin
de otras tecnologas accesorias capaces de organizar, optimizar y automatizar
el funcionamiento de las webs. Ejemplos son las CSS, JavaScript entre otros.

19

Annimo, 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 acompaado al HTML es la diversidad de


navegadores presentes en el mercado los cuales no son capaces de interpretar
un mismo cdigo de una manera unificada. Esto obliga al Webmaster a, una
vez creada su pgina, comprobar que esta puede ser leda satisfactoriamente
por todos los navegadores, o al menos, los ms utilizados.
Adems del navegador necesario para ver los resultados de nuestro trabajo, se
necesita evidentemente otra herramienta capaz de crear la pgina en s. Un
archivo HTML (una pgina) no es ms 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 ms complejos
como WORDPAD o Microsoft Word, pues colocan su propio cdigo especial al
guardar las pginas y HTML es nicamente texto plano, con lo que no se
tendr problemas.
Existen otro tipo de editores especficos para la creacin de pginas web los
cuales ofrecen muchas facilidades que permiten aumentar la productividad. No
obstante, es aconsejable en un principio utilizar una herramienta lo ms sencilla
posible para poder prestar la mxima atencin a nuestro cdigo y familiarizarse
lo antes posible con l. Siempre se tendr tiempo ms delante de pasarse a
editores ms verstiles con la consiguiente ganancia de tiempo.
2.3.5 Php (PHP HyperText Pre-processor)20. PHP significa PHP HyperText
Pre-processor, Es un lenguaje de programacin pensado en el web, el ideal
para la creacin de pginas dinmicas. E la versin libre del sistema
equivalente de Microsoft ASP. Es un lenguaje encapsulado dentro de los
documentos HTML, de forma que se pueden introducir instrucciones PHP
dentro de las pginas.
Gracias a esto el diseador grfico del web puede trabajar de forma
independiente al programador. Es interpretado por el servidor (apache)
generando un HTML con el resultado de substituir las secuencias de
instrucciones PHP por su salida.
Es un lenguaje de desarrollo de aplicaciones web de cdigo abierto (open
source) muy verstil utilizado frecuentemente en forma conjunta con el servidor
de aplicaciones Apache y el sistema operativo Linux, PHP est entre las
tecnologas de cdigo abierto ms desarrolladas y usadas, permite la conexin
e interaccin a numerosas bases de datos de forma nativa como MySQL,
Postgres, Oracle, ODBC, IBM DB2, Microsoft SQL Server y SQLite, lo cual
permite la creacin de aplicaciones robustas y altamente confiables.
Tiene la capacidad de ser ejecutado en la mayora de los sistemas operativos
como UNIX, Linux, Windows y Mac OS X, e interacta con los servidores ms
20

Annimo. PHP. Disponible en http://www.sinemed.com/recursos/docs/PHP.pdf, Consultado el 03 de


Junio de 2012.

17

populares del mercado. La interpretacin y ejecucin del cdigo de la


aplicacin se da en el servidor donde se encuentra almacenada la informacin,
el usuario solo recibe el resultado de la ejecucin que puede ser desde una
imagen hasta una aplicacin completa.
PHP ha sobrepasado a Microsoft ASP, convirtindose en el lenguaje de
desarrollo web ms popular, siendo utilizado en ms de 19 millones de sitios.
Fuente: NetCraft PHP es fcil de integrar con ambientes y sistemas
heterogneos y completamente operativo con otros lenguajes, protocolos,
systemas, bases de datos, incluyendo C/C++, Java, Perl, COM/.NET,
XML/Web services, LDAP, ODBC, Oracle y MySQL.
PHP es estable y seguro y suficientemente robusto para soportar aplicaciones
de misin crtica de los negocios que requieren estar constantemente
disponibles y muy seguras. Adicionalmente PHP ofrece las siguientes ventajas:

Plataforma robusta, estable y segura


Alto desempeo
Interfaces con distintos sistemas de bases de datos
Diseado para trabajar con libreras que permiten la interaccin con
distintas aplicaciones web o en su defecto otros lenguajes
Facilidad de uso y aprendizaje del mismo
Facilidad de migracin
Bajo costo
Disponibilidad del cdigo fuente PHP est diseado para soportar
aplicaciones web que son escalables a un gran nmero de usuarios.

2.3.6 Base de datos21. El objetivo principal de las bases de datos es el de


unificar los datos que se manejan y los programas o aplicaciones que los
manejan. Anteriormente los programas se codificaban junto con los datos, es
decir, se diseaban para la aplicacin concreta que los iba a manejar, lo que
desembocaba en una dependencia de los programas respecto a los datos, ya
que la estructura de los ficheros va incluida dentro del programa, y cualquier
cambio en la estructura del fichero provocaba modificar y recompilar
programas. Adems, cada aplicacin utiliza ficheros que pueden ser comunes
a otras de la misma organizacin, por lo que se produce una REDUNDANCIA
de la informacin, que provoca mayor ocupacin de memoria, laboriosos
programas de actualizacin (unificar datos recogidos por las aplicaciones de los
diferentes departamentos), e inconsistencia de datos (no son correctos) si los
datos no fueron bien actualizados en todos los programas.
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
informacin. El sistema gestor de bases de datos recibe la peticin por parte
21

Annimo. Teora 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


informacin de la base de datos y devolvrsela al programa que la solicit.
Cada programa requerir de una cierta informacin de la base de datos, y
podr haber otros que utilicen los mismos datos, pero realmente residirn en el
mismo espacio de almacenamiento y los programas no duplicarn esos datos,
si no que trabajarn directamente sobre ellos concurrentemente. Aunque la
estructura de la base de datos cambiara, si los datos modificados no afectan a
un programa especfico, ste no tendr por qu ser alterado. Mediante estas
tcnicas de base de datos se pretende conseguir a travs del Sistema Gestor
de Bases de Datos (SGBD):
INDEPENDENCIA de los Datos: Cambios en la estructura de la Base
de Datos no modifican las aplicaciones.
INTEGRIDAD de los Datos: Los datos han de ser siempre correctos.
Se establecen una serie de restricciones (reglas de validacin) sobre los
datos.
SEGURIDAD de los Datos: Control de acceso a los datos para evitar
manipulaciones de estos no deseadas.
Como tal, una base de datos es un conjunto exhaustivo (en su modelizacin del
mundo real) de datos estructurados, fiables y homogneos, organizados
independientemente de su utilizacin y de su implementacin en mquina,
accesibles en tiempo real, compartibles por usuarios concurrentes que tienen
necesidades de informacin diferentes y no predecibles en el tiempo. Esa
informacin est bajo el control de un conjunto de programas que constituyen
el Manejador del Sistema de Base de Datos (DBMS por sus siglas en ingls) el
cual gestiona el manejo del conjunto de archivos que dan soporte fsico a la
informacin.
2.3.7 JavaScript22. JavaScript es un lenguaje de programacin que se utiliza
principalmente para crear pginas web dinmicas.
Una pgina web dinmica 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.
Tcnicamente, JavaScript es un lenguaje de programacin interpretado, por lo
que no es necesario compilar los programas para ejecutarlos. En otras
palabras, los programas escritos con JavaScript se pueden probar
directamente en cualquier navegador sin necesidad de procesos intermedios.
A pesar de su nombre, JavaScript no guarda ninguna relacin directa con el
lenguaje de programacin Java. Legalmente, JavaScript es una marca

22

EGULUZ PREZ, Javier. Introduccin 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/.

Especificaciones Oficiales: ECMA ha publicado varios estndares relacionados


con ECMAScript. En Junio de 1997 se public la primera edicin del estndar
ECMA-262. Un ao despus, en Junio de 1998 se realizaron pequeas
modificaciones para adaptarlo al estandar ISO/IEC-16262 y se cre la segunda
edicin.
Actualmente se encuentra en desarrollo la cuarta versin de ECMA-262, que
podra incluir novedades como paquetes, namespaces, definicin explcita de
clases, etc.

2.3.8 Metodologa Tradicional. Aquellas metodologas de desarrollo con mayor


nfasis en la planificacin y control del proyecto, en especificacin precisa de
requisitos y modelado. Para ello, se hace nfasis en la planificacin total de
todo el trabajo a realizar y una vez que est todo detallado, comienza el ciclo
de desarrollo del producto software. Se centran especialmente en el control del
proceso, mediante una rigurosa definicin de roles, actividades, artefactos,
herramientas y notaciones para el modelado y documentacin detallada.
Adems, las metodologas tradicionales no se adaptan adecuadamente a los
cambios, por lo que no son mtodos adecuados cuando se trabaja en un
entorno, donde los requisitos no pueden predecirse o bien pueden variar.

2.4 MARCO CONCEPTUAL


PRODUCT BACKLOG: en la estructura organizacional que se define al
principio del proyecto y contiene todos los requerimientos funcionales y no
funcionales que deber satisfacer el sistema a construir. Los mismos estarn
especificados de acuerdo a las convenciones de la organizacin ya sea
mediante: features (caractersticas), casos de uso, diagramas de flujo de datos,
incidentes, tareas, etc. El Product Backlog ser definido durante reuniones de
planeamiento con los stakeholders.
FEEDBACK: es un proceso utilizado para la comparacin y afirmacin de los
conocimientos adquiridos durante una actividad.
STAKEHOLDERS: son las otras personas interesadas en el proyecto y que
pueden realizar aportes significativos para el mismo.
SPRINT: A partir del Product Backlog se definirn las iteraciones, conocidas
como Sprint en la juerga de Scrum, en las que se ir evolucionando la
aplicacin evolutivamente. Cada Sprint tendr su propio Sprint Backlog que
ser un subconjunto del Product Backlog con los requerimientos a ser
construidos en el Sprint correspondiente. La duracin recomendada del Sprint
es de un mes.

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.
PRODUCT OWNER: representa la voz del cliente. Se asegura de que el
equipo Scrum trabaja de forma adecuada desde la perspectiva del negocio.
SPRINT PLANNING: es el momento de planificacin de actividades a realizar o
concluir durante el Sprint.
SCRUM MASTER: tambien conocido como facilitador, cuyo trabajo primario es
eliminar los obstculos que impiden que el equipo alcance el objetivo del sprint.
El ScrumMaster no es el lder del equipo (porque ellos se auto-organizan), sino
que acta como una proteccin entre el equipo y cualquier influencia que le
distraiga. Es quien hace que las reglas se cumplan.
TEAM: conocido tambin como Equipo, tiene la responsabilidad de entregar el
producto. Un pequeo equipo de 5 a 9 personas con las habilidades
transversales necesarias para realizar el trabajo.
ITERACION: es la repeticin de una serie de instrucciones en un programa de
computador. Puede usarse tanto como un trmino genrico (como sinnimo de
repeticin) as como para describir una forma especfica de repeticin con un
estado mutable
APLICACION SOFTWARE: es un programa diseado para automatizar una
determinada tarea. Consta de una serie de instrucciones lgicas y en orden,
con el fin de cumplir un objetivo.

21

3. DISEO METODOLOGICO

3.1 TIPO DE INVESTIGACION.


El tipo de investigacin se enmarca dentro de los estudios descriptivos, definida
por Roberto Hernndez Sampieri y otros autores en su libro Metodologa De La
Investigacin como aquella que describe situaciones y eventos, es decir, cmo
es y se manifiesta determinado fenmeno. En el presente estudio se describir
la implementacin de la metodologa Scrum buscando aumentar el grado de
familiaridad con este nuevo integrante de las nuevas alternativas de desarrollo
gil. El propsito de la investigacin ser el de mostrar cmo es y se aplica la
metodologa Scrum en un contexto particular: el Centro de Educacin Virtual
(CEV) de la Universidad San Buenaventura, Cartagena.

3.2 DISEO ADOPTADO.


El diseo adoptado para este estudio es el no experimental porque se indagar
la ocurrencia en que se manifiesta varias variables, proporcionando su
descripcin y estableciendo hiptesis descriptivas. Los diseos no
experimentales son definido por Roberto Hernndez Sampieri y otros autores
en su libro Metodologa De La Investigacin como aquella que se realiza sin
manipular deliberadamente variable, siendo su grado de control mnimo23. Su
estudio de caso se realizar con una sola medicin y consistir en administrar
la metodologa Scrum a casos particulares de desarrollo dentro del CEV y
despus aplicar mediciones a una serie de variables (tiempo, productividad,
rendimiento) para observar cul es el comportamiento de las variables en este
escenario particular24.
Los diseos no experimentales no son adecuados para el establecimiento de
relaciones entre la variable independiente y la variable dependiente, siendo
tiles como pruebas pilotos que permitirn, ms adelante, llevar experimentos
con mayor control que arrojen mediciones sobre variables, y que permita sacar
conclusiones ms slidas25.
Dentro de los diseos de estudio no experimental, se adopta el diseo
transaccional descriptivo, el cual indaga la incidencia y los valores en que se
manifiesta una o ms variables. El procedimiento que se seguir ser el de
medir las variables seleccionadas, proporcionando su descripcin,
estableciendo hiptesis descriptivas.

3.3 ENFOQUE DE LA METODOLOGIA.


Como paradigma metodolgico se ha elegido el enfoque cualitativo porque
permitir describir el desarrollo de procesos acadmicos requeridos en el
23

Ibd., p. 188
Ibd., p. 190
25
Ibd., p. 191
24

22

Centro de Educacin Virtual, mediante el seguimiento de la metodologa


Scrum, llevndola 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 intervencin o influencia directa.
El enfoque cualitativo es definido por Roberto Hernndez Sampieri y otros
autores en su libro Metodologa De La Investigacin como aquella que utiliza
preferente o exclusivamente informacin de tipo descriptivo y cuyo anlisis se
dirige a lograr descripciones detalladas de los fenmenos estudiados. El
enfoque
cualitativo describe la realidad en el que se desarrolla un
acontecimiento dado, es decir la metodologa cualitativa se basa en una
rigurosa descripcin contextual de un hecho o situacin que garantice la
mxima intersubjetividad en la captacin de una realidad compleja mediante
una recogida sistemtica de datos que posibilite un anlisis e interpretacin del
fenmeno en cuestin.

3.4 TECNICAS DE RECOLECCION DE LA INFORMACION


3.4.1 Fuentes primarias. Las fuentes primarias aportan datos a la investigacin,
buscando recopilar informacin acerca del tema que se est analizando. En la
presente investigacin la principal fuente de informacin sern los artculos de
revistas que hagan referencia a la metodologa Scrum, as como apartados
periodsticos, entrevistas realizadas a expertos, tesis y disertaciones que
toquen temas relacionados con este tipo de metodologa.
Tambin se contar con la colaboracin del Ingeniero Javier Garca
Altamiranda, Coordinador Tecnolgico del
CEV, as como de los
desarrolladores vinculados al CEV. La informacin pertinente para el correcto
desarrollo de este proyecto se obtuvo a travs de la asesora continua del
Coordinador Tecnolgico como gestor de la idea de implementar Scrum y su
posterior orientacin en el desarrollo del mismo buscando mejorar el ndice de
desarrollo de software. La informacin acerca de la lgica de negocio se
consignar en las historias de usuario; la elaboracin de stas se realizar en
reuniones que integrarn al equipo desarrollador y el Ingeniero Javier Garca a
lo largo de todo el desarrollo del proyecto, desempeando dos roles bien
definidos: como representante del cliente y como Scrum Manager.
El papel que da ser representante del cliente permite obtener la visin general
del producto, creando a partir de stas el Product Backlog o lista de tareas que
se van a realizar, determinndose 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.
La elaboracin del Product Backlog se da como resultado de una reunin
cruzada entre el representante del cliente y el equipo desarrollador antes de
iniciar la planeacin de los Sprint. Pero no es un producto terminado sino que
estar en continua evolucin y crecimiento mientras el producto est en
23

desarrollo, por lo cual, se permitir agregar, quitar o cambiar especificaciones


requeridas al producto final. Esto se har durante las reuniones de planeacin
de futuros Sprint, en los cuales debern estar presentes el representante del
cliente y el equipo desarrollador en pleno.
3.4.2 Fuentes secundarias. Como fuentes secundarias de la investigacin se
tienen libros relacionados con la metodologa Scrum; los libros relacionados
con la gua de desarrollos giles y los sistemas metodolgicos similares
desarrollados en el mercado, as mismo, el componente del sistema de
informacin que se ha venido desarrollando en el CEV de la Universidad
requiere de documentos de referencias que permitan conocer el alcance del
mismo. Se constituye as un extenso campo bibliogrfico que puede ser
utilizado para el desarrollo de la presente investigacin.

3.5 VARIABLES
En la metodologa cualitativa, los datos recogidos necesitan ser traducidos en
categoras con el fin de poder realizar comparaciones y posibles contrastes, de
manera que se pueda organizar conceptualmente los datos y presentar la
informacin siguiendo algn tipo de patrn o regularidad emergente. La
categorizacin (es decir, cerrar o establecer las categoras) facilita la
clasificacin de los datos registrados, y por consiguiente, propicia una
importante simplificacin26. Teniendo en cuenta lo anterior se determinan las
siguientes variables:

Aplicacin Software

Procesos acadmicos

Base de datos

Scrum

26

AUSTIN MILLN, Toms. Investigacin 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

VARIABLE
Aplicacin
Software

Procesos
acadmicos

Base de
Datos

Scrum

DEFINICION
DIMENSION
Es un programa diseado Anlisis
para
automatizar
una
determinada tarea. Consta
de
una
serie
de Diseo
instrucciones lgicas y en
orden con el fin de cumplir Implementacin
un objetivo.

INDICADORES
Suficiente
Insuficiente
Simple
Complejo
Suficiente
Insuficiente

Administrativos
Los procesos acadmicos
son todos aquellos trmites
relacionados con la vida Acadmicos
acadmica
de
los
estudiantes referidos a los
procesos
de
matrcula,
pagos,
evaluacin
de
docentes, consulta de notas
y horarios.

Simple
Complejo
Simple
Complejo

Almacenamiento
Es un conjunto de datos
almacenados
sistemticamente para su
uso posterior, permitiendo Consulta
operaciones
como
actualizacin, borrado y
adicin de datos, adems
de
las
operaciones
fundamentales de consulta

Satisfactorio
Insatisfactorio

Es una metodologa de Aplicativo


desarrollo de software gil
que
permite
obtener
aplicaciones
utilizando
avances
iterativos
e
incrementales.

Satisfactorio
Insatisfactorio

Tabla 1. Operacionalizacin de Variables

25

Satisfactorio
Insatisfactorio

3.7 PROCESAMIENTO DE LA INFORMACION

Despus de observar y evaluar la realidad que vive el Centro de Educacin


Virtual (CEV), se propondr un plan de trabajo que entregue sistemas amenos,
intuitivos y prcticos que optimicen procesos acadmicos como son el acceso a
la informacin personal, administracin de notas estudiantiles, portal para el
manejo de prcticas industriales, inscripcin a votaciones estudiantiles y portal
de votaciones estudiantiles.
Siguiendo la Metodologa Scrum se definirn un planeamiento inicial con el
propsito es establecer la visin y definir expectativas. Esto se concreta al
definir Product Backlog, que contiene todos los requerimientos funcionales y no
funcionales que deber satisfacer los sistemas a construir. Se realizar el
registro de acumulacin (Product Backlog) del producto inicial y los tems
estimados, as como la arquitectura de alto nivel, el diseo exploratorio y los
prototipos a alcanzar.
Luego se pasara a la etapa de desarrollo cuyo propsito ser el de
implementar un sistema listo para entregar a lo largo de una serie de
iteraciones de quince das llamadas sprints. En los sprints son planeadas las
actividades para cada iteracin, y que se constituyen en estimados, que dan la
temtica a los encuentros diarios de Scrum. Finalmente se realizar el
despliegue operacional que pondr en funcionamiento los sistemas
construidos. Cuando esta etapa finalice se formalizaron los documentos
respectivos para su entrega oficial.

3.8 RECURSOS TECNOLOGICOS

3.8.1 El Paradigma de Programacin.


POO: El Paradigma Orientado a Objetos expresa un programa como un
conjunto objetos, que colaboran entre ellos para realizar tareas. Esto
permite hacer los programas y mdulos ms fciles de escribir,
mantener y reutilizar. Un objeto es aqul que posee Atributos,
Comportamiento e Identidad. Los atributos o propiedades de un objeto
definen los datos que el mismo objeto manipula para realizar sus
funciones. El comportamiento de un objeto define la funcionalidad del
mismo; es a travs de mtodos o funciones que se puede manipular sus
propiedades o las de otros objetos. Estos (los objetos) son elementos
abstractos que referencia una serie de propiedades y funciones. Estas
son definidas en las llamadas Clases. Una clase es una definicin de un
objeto en donde se declaran sus propiedades y el comportamiento.27

27

ORTEGA MONTALVO, Nohora y otro. Desarrollo de un aplicativo web para apoyar el anlisis
estructural del proceso prospectivo en las organizaciones. Universidad de San Buenaventura Cartagena,
Colombia.

26

El paradigma de programacin orientado a objetos posee las siguientes


caractersticas:28

Herencia: Las clases pueden heredar el comportamiento y


las propiedades de otras clases, relacionndolas entre s
formando una jerarqua de clasificacin. Esto permite construir
componentes de software ms flexibles y reutilizables.

Polimorfismo: Dentro de una clase se pueden definir


comportamientos con el mismo nombre, pero que realizan una
funcin diferente segn el parmetro o la condicin en que se
reciban.

Abstraccin: Se emplea en las clases cuando se definen sus


propiedades y mtodos por nombre ms no lo que estos
realmente hacen. Las clases abstractas definen o agrupan a
clases hijas que heredan estas propiedades y es en estas
donde se deben definir su comportamiento.

Modularidad: Refiere al poder descomponer el cdigo en


piezas de cdigo mejores (mdulos) a fin de ganar en
legibilidad y facilidad de revisin. As en lugar de slo un
mtodo impresin en una clase informe, usted podra dividirlo
en ttulo, cuerpo, y mtodos pie de pgina. Igualmente, el
mtodo cuerpo podra dividirse en los ttulos de la columnas,
lnea de tems, y mtodo pie de pgina de columna.

Estas caractersticas ofrecen una mayor ventaja ante las


dems filosofas de programacin. Del paradigma orientado a
objetos se puede obtener un sistema de informacin completo,
reutilizable y flexible.

3.8.2 Herramienta de Desarrollo de Software. A continuacin se define la


herramienta.
PHP: La herramienta para desarrollar este proyecto fue PHP (HyperText
Preprocessor), por muchas razones. Es una herramienta que permite
crear interfaces con ambiente web, es potente, eficiente, fcil de
aprender, Open Source (Cdigo fuente abierto), lo cual implica que sea
de libre distribucin, permite el acceso a bases de datos, portable,
multiplataforma y porque dispone de abundante soporte en la Web.

3.8.3

28

Herramientas Software. A continuacin se describen las herramientas


que se utilizaron en el proceso.

Ibd.

27

NetBeans: Para el desarrollo del sistema de informacin se utilizar el


lenguaje de programacin orientado a objetos PHP, el cual crea objetos
mediante instrucciones secuenciales, y que son manipulables mediante
la utilizacin de mtodos que son interfaces que dejan entrever su
funcionalidad. Los mtodos permiten a los objetos comunicarse entre
ellos a travs del paso de mensajes. PHP es un lenguaje de
programacin joven pero muy robusto y potente, que mediante la
utilizacin de herramientas de edicin como Netbeans versin 7.0.1, que
permite crear interfaces o ventanas de interaccin agradables al usuario.

3.8.4 Herramientas de Diseo. Como herramienta de diseo se utiliz.


HTML: acrnimo de HyperText Markup Language o lenguaje de marcas
de hipertexto. Se utilizar esta herramienta de desarrollo de software
porque es el formato estndar de los documentos que circularan en la
Word Wide Web (WWW), y porque adems HTML es un lenguaje muy
sencillo que permite describir hipertexto, es decir, texto presentado de
forma estructurada y agradable, con enlaces (hyperlinks) que conducen
a otros documentos o fuentes de informacin relacionadas, y con
inserciones multimedia (grficos,
sonido.). HTML realiza una
descripcin de pgina independiente del dispositivo, lo que permite
adaptar la visin del documento al tamao de la pantalla en la que se
muestra.

3.8.5 Herramientas Hardware. Las herramientas hardware fueron las descritas


a continuacin.
Para la construccin del sistema de informacin se utilizaran las
siguientes configuraciones mnimas en cuanto al rendimiento que deber
tener el equipo utilizado para el desarrollo del software:

Procesador de 3 GHz, doble ncleo.


3GB DDR2 de Memoria RAM.
250GB de espacio en disco.
Tarjeta Aceleradora de Video de 512MB DDR2.
Sistema operativo Microsoft Windows 7.

Para que el usuario use el sistema con buenas respuestas en cuanto a


la fluidez del mismo, se calcula que ser menor el requerimiento que
necesitara, a continuacin se muestra las configuraciones mnimas
necesarias para que el sistema funcione en recomendables condiciones.

Procesador de 2.8GHz.
2GB DDR2 de Memoria RAM.
250GB de espacio en disco.
Sistema operativo Microsoft Windows XP, Vista 7.
28

4 RESULTADOS

4.1 API: PUNTO DE PARTIDA COMO FUENTE DE SERVICIOS.


Como punto de partida se tiene la Interfaz de Programacin de Aplicaciones
(API - Application Programming Interface) desarrollado en la Universidad de
San Buenaventura Cartagena, la cual est conformada por un conjunto de
funciones y procedimientos que ofrecen una serie de interfaces que pueden ser
utilizados por otras aplicaciones. Antes de iniciar con el desarrollo del presente
proyecto se debe aclarar que existen aplicaciones que ya estn usando las
diferentes interfaces que brinda la API, siendo las aplicaciones de optimizacin
de procesos acadmicos, parte de toda esta arquitectura de funcionamiento.
Las interfaces que brinda la API son transparentes para el desarrollador y no es
necesario conocerla a fondo para su uso. Conocer el nombre del servicio, as
como los parmetros de entrada y los retornos de cada uno de estos, es
suficiente para su utilizacin. Por polticas internas del lugar donde se
desarrollaron las aplicaciones, cierta informacin de funcionamiento y
seguridad no fueron suministradas, contando para la elaboracin de este punto
informacin muy general de todo el sistema que es descrita a continuacin.
La arquitectura de la infraestructura, es decir La topologa de despliegue,
depende directamente de las restricciones impuestas por el cliente, de las
necesidades de seguridad del sistema y de la infraestructura disponible para
desplegar el sistema29. Las aplicaciones desarrolladas para la Universidad de
San Buenaventura siguen un despliegue distribuido, lo que permite separar
capas lgicas en distintos niveles fsicos, permitiendo al sistema aumentar la
capacidad, aadir ms servidores donde se necesiten, balancear la carga para
maximizar la eficiencia y aprovechar mejor los recursos.
Las capas (Layers) implementadas dentro del desarrollo de proyectos software
en la Universidad de San Buenaventura Cartagena se ocupan de la divisin
lgica de componentes y funcionalidad, brindando entre otras ventajas30:

Localizar los cambios de un tipo en una parte de la solucin minimiza el


impacto en otras partes, reduce el trabajo requerido en arreglar defectos,
facilita el mantenimiento de la aplicacin y mejora la flexibilidad general
de la aplicacin.

La separacin de responsabilidades entre componentes (por ejemplo,


separar la interfaz de usuario de la lgica de negocio, y la lgica de
negocio del acceso a la base de datos) aumenta la flexibilidad, la
mantenibilidad y la escalabilidad.

29

Gua Arquitectura N-Capas Orientada al Dominio - Microsoft Architecture (1a Edicin Noviembre
2010)
30
Ibd.

29

La reutilizacin de ciertos componentes entre diferentes mdulos de una


aplicacin o incluso entre diferentes aplicaciones.

Equipos diferentes deben poder trabajar en partes de la solucin con


mnimas dependencias entre los diferentes equipos de desarrollo y para
ello, deben desarrollar contra interfaces bien definidas.

El sistema de informacin desarrollado en la Universidad de San Buenaventura


Cartagena sigui un diseo bsico de capas: Los componentes de la solucin
han sido divididos en capas presentando una interaccin que se ilustra en la
figura 1. Las capas son agrupaciones horizontales lgicas de componentes de
software que forman la aplicacin o el servicio. Ayudan a diferenciar entre los
diferentes tipos de tareas a ser realizadas por los componentes, ofreciendo un
diseo que maximiza la reutilizacin y, especialmente, la mantenibilidad. En
definitiva, se trata de aplicar el principio de Separacin de Responsabilidades
(SoC - Separation of Concerns principle) dentro de una Arquitectura31.

Figura 2. Interaccin en arquitectura de capas


La gestin de dependencias escogido para el diseo de las aplicaciones es
laxo en tanto que permite que los componentes de una capa pueden
interactuar con cualquier otra capa de nivel inferior. Esto mejora el rendimiento
porque el sistema no tiene que realizar redundancia de llamadas de unas
capas a otras.
31

Ibd.

30

Figura 3. Vista de la arquitectura lgica implementada en el sistema de


informacin de la Universidad de San Buenaventura, Cartagena.
31

A continuacin se describen las diferentes capas en que encuentra dividida la


arquitectura lgica del sistema de informacin de la Universidad de San
Buenaventura (ver figura 3), la cual da una visin global y permite comprender
mejor todo el sistema:
Capa de Presentacin: Esta capa es responsable de los componentes
visuales que se muestran al usuario. Los componentes han sido
divididos en mdulos, los cuales implementan las funcionalidades
requeridas para que los usuarios interacten con la aplicacin. Los
componentes de esta capa han sido divididos en:
Componentes Visuales (vistas): Estos componentes proporcionan
el mecanismo base para que el usuario utilice la aplicacin. Son
componentes formados por los datos guardados en base de datos
y suministrados a travs de los controladores; otra parte de los
componentes est constituida por los recibidos por el usuario.
Controlador: Es un subcapa encargada de sincronizar y orquestar
las interacciones del usuario, siendo til para conducir el proceso
separando los componentes propiamente grficos de la lgica de
negocio, impidiendo que el flujo de proceso y lgica de gestin
est programada dentro de los propios controles y formularios
visuales, permitiendo reutilizar dicha lgica desde otra interfaces
o vistas.
Componentes/Aspectos Horizontales de la Arquitectura: Proporcionan
capacidades tcnicas genricas que dan soporte a capas superiores. En
definitiva, son bloques de construccin ligados a una tecnologa
concreta para desempear sus funciones.
Existen muchas tareas implementadas en el cdigo de una aplicacin
que se deben aplicar en diferentes capas. Estas tareas o aspectos
horizontales (Transversales) implementan tipos especficos de
funcionalidad que pueden ser accedidos/utilizados desde componentes
de cualquier capa. Los diferentes tipos/aspectos horizontales ms
comunes, son: Seguridad (Autenticacin, Autorizacin y Validacin) y
tareas de gestin de operaciones (polticas, logging, trazas,
monitorizacin, configuracin, etc.).
Capa Service (Aplicacin): Esta capa no contiene reglas del dominio o
conocimiento de la lgica de negocio, simplemente debe realizar tareas
de coordinacin de aspectos tecnolgicos de la aplicacin que nunca se
explicaran al propietario del producto. Es una capa que brinda servicios
que coordinan otros llamadas a otros servicios, siendo su principal
beneficiario la capa de presentacin. Un ejemplo lo constituira un
servicio ofrecido a la capa de aplicacin, ste coordinar las llamadas a
la los servicios que brinda la capa de Dominio y posteriormente las
realizadas a Repositorios para realizar la persistencia.
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 aplicacin.
Por esto, en esta misma capa, pero solapada se encuentra la capa de
Seguridad: nada puede se consumido y nada podr acceder a la
aplicacin sin haber hecho uso de esta capa.
Capa Component (Modelo de Dominio): Esta capa es responsable de
representar conceptos de negocio, informacin sobre la situacin de los
procesos de negocio e implementacin de las reglas del dominio.
Tambin debe contener los estados que reflejan la situacin de los
procesos de negocio. Esta capa, Dominio, es el corazn del software.
As pues, estos componentes implementan la funcionalidad principal del
sistema y encapsulan toda la lgica de negocio relevante. Bsicamente
suelen ser clases en el lenguaje seleccionado que implementan la lgica
del dominio dentro de sus mtodos. Para conseguir la mxima
independencia de los objetos del Dominio, las entidades del dominio se
han implementado como clases POCO. Estas dan ventajas como
independencia de las entidades con respecto a tecnologas concretas
siendo clases relativamente ligeras con buen rendimiento y adecuadas
en implementaciones N-Capas.
Esta capa ignora completamente los detalles de persistencia, siendo
stas realizadas por la capa de infraestructura. El consumo de datos se
realiza mediante contratos o interfaces que ofrece los objetos del
repositorio.
Capa de Data y Model (Infraestructura de Persistencia de Datos): La
capa de infraestructura contiene todo lo ligado a la tecnologa e
infraestructura sobre la cual se construye la aplicacin. Esta capa
proporciona la capacidad de persistir datos as como lgicamente
acceder a ellos. Pueden ser datos propios del sistema o incluso acceder
a datos expuestos por sistemas externos (Base de datos alternas). As
pues, esta capa de persistencia de datos expone el acceso a datos a las
capas superiores, normalmente las capas del dominio. Esta exposicin
deber realizarse de una forma desacoplada.
Un componente importante dentro de la capa de persistencia y acceso a
datos est compuesto por los repositorios. Estos son clases/objetos que
encapsulan la lgica necesaria para acceder a los datos, es decir, de
mtodos para consultar, aadir, modificar y eliminar objetos. Permite
adems seleccionar objetos basndose en criterios de seleccin,
devolviendo objeto o colecciones de objetos instanciados con los
valores del criterio.
La tecnologa de persistencia utilizada en los repositorios es un O/RM
llamado N/Hibernat. Junto a esta tecnologa utilizada internamente se
aadieron operaciones de Base de datos. Cabe aadir que se logrado
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.
Capa Common: Se debe asegurar la implementacin de mecanismos de
desacoplamiento entre los objetos de las capas. Por esto se hace
necesario el desacoplamiento entre capas mediante contratos e
interfaces que utilicen Inyeccin de Dependencia e Inversin de Control.
Esta mantenibilidad del sistema es dada por esta capa en donde se
realizan las instancias necesarias para tal fin. Esto facilita la sustitucin
de capas o mdulos sin ningn tipo de dificultad. La IoC describe
tcnicas para soportar una arquitectura tipo plug-in donde los objetos
pueden buscar instancias de otros objetos que requieren y de los cuales
dependen. DI Es un patrn en el que se suplen objetos/dependencias a
una clase en lugar de ser la propia clase quien cree los
objetos/dependencias que necesita.
La elaboracin del frontend de las aplicaciones que administran los procesos
acadmicos en la Universidad de San Buenaventura Cartagena, implic el
manejo principlamente de la capa de presentacin principalmente, junto a un
conocimiento superficial de las dems capas (esto segn la utilizacin dentro
de los trabajos que se desarrollaban).

4.2 REQUERIMIENTOS
Como ya se manifest anteriormente, la informacin pertinente para el correcto
desarrollo de ste proyecto se obtuvo a travs de la asesora continua del
Coordinador Tecnolgico del CEV Javier Garca Altamiranda, el cual actu
como gestor de la idea de implementar Scrum y su posterior orientador en el
desarrollo del mismo, buscando mejorar el ndice de desarrollo de software.
Cabe tambin aclarar que se ha seguido las caractersticas principales de
Scrum como son las iteraciones de trabajo o Sprint y las reuniones diarias de
15 minutos. A partir de esto el Ingeniero Javier Garca ha realizado cambios en
el uso de artefactos as como ha seguido el consejo de incorporar otros como
lo es el del Juego de Pker utilizado para la asignacin de horas a las
actividades y que es propio de otra metodologa gil de desarrollo, ms
concretamente, Xtreme Programing.
La informacin acerca de la lgica de negocio se consign en las historias de
usuario; la elaboracin de stas se realiz a lo largo del desarrollo del proyecto,
en reuniones que integraron al Ingeniero Javier Garca y a la ingeniera Tulia
Ziga Quintana como representante de la Universidad, siendo el primero el
Representante del Cliente (Product Owner) y el Scrum Manager, dos roles bien
definidos dentro de Scrum.

34

El resto de roles definidos por Scrum fueron designados de la siguiente


manera: Elkin Torres Martnez, 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 reunin.
El proceso iniciado con la definicin sencilla y clara de las caractersticas que
debe tener el producto que iba a ser desarrollado, permiti definir las historias
de usuario que iban guiar el proceso. Esta etapa recibe el nombre de
"fertilizacin cruzada" o brainstorming.
Posteriormente, el Representante del Cliente tom cada historia de usuario y
la desglos de forma que permiti identificar de forma ms fcil, las tareas a
llevar a cabo. El resultado de este desglose fue el Product Backlog, que
contiene todas las historias de usuario junto al nivel de prioridad que tienen
para el cliente, siendo toda una gua de desarrollo.
El Product Backlog es propio del Dueo 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 tecnologas que el
sistema debe incorporar a travs de iteraciones de desarrollo, no constituye un
documento inicial y definitivo, sino en un instrumento que permite incorporar
modificaciones, correcciones e incorporacin de nuevas funcionalidades.

4.2.1 Product Backlog. Teniendo en cuenta lo anterior se define a continuacin


este elemento de Scrum. Se tienen cinco secciones de trabajo, los cuales
presentan requerimientos que han sido transmitidas al grupo de
desarrolladores en la reunin de planificacin del primer Sprint. Estos mdulos
se especifican a continuacin: Portal de Docentes, Seguimiento de Prcticas,
Portal Estudiante, Portal Egresados y Portal de Elecciones.
Portal de Docentes: Esta seccin permite visualizar informacin personal
del docente, actualizar sus datos, publicar y corregir notas. Se halla
dividido en los siguientes mdulos:

Mdulo Actualizacin de Datos: Actualiza la Informacin de Contacto


y Datos an no diligenciados.

Mdulo Ficha de Docente: Muestra la Informacin Bsica del


Docente y Permite el Envo de Correo Electrnico

Mdulo Publicacin de Notas: Permite el Registro de Calificaciones

Mdulo Correccin de Notas: Permite la Correccin de Calificaciones

Seguimiento de Prcticas: Esta seccin permite realizar un seguimiento


virtual a las prcticas que realiza el estudiante. En ella interactan
35

empresa, docente encargado y estudiante. Se halla dividido en los


siguientes mdulos:

Mdulo Creacin de Solicitud: Creacin de Solicitud de Practicante


por parte de una Empresa

Mdulo Responder Solicitud: Respuesta de una Solicitud de


Practicante por parte de un Coordinador de Prcticas

Figura 4. Product Backlog del Desarrollo

Mdulo Gestin de Empresas: Crear, Actualizar, Eliminar y Editar


Empresas

36

Mdulo Diligenciar Bitcora: Permite tramitar el llenado de las


bitcoras de trabajo que se han realizado por parte del estudiante.

Mdulo Valorar Practicante: Le permite al empresario dar una


calificacin a cada practicante evaluando la labor realizada.

Mdulo Finalizar Prctica: Le permite al empresario dar por


terminado el periodo de prcticas, siempre y cuando no existan
labores pendientes por parte del practicante.

Mdulo Reportar Amonestacin: Le permite al empresario realizar


amonestaciones al practicante, informando a ste y al tutor de
prcticas la situacin presentada.

Mdulo Ver Amonestaciones: Le permite al tutor de prcticas ver las


amonestaciones que realiza el empresario.

Mdulo Responder Amonestaciones: Le permite dar respuesta a


cada amonestacin que el empresario haga de un practicante.

Mdulo Practicantes Asignados a Empresa: Les permite a los tutores


de prctica asignar practicantes de acuerdo a las solicitudes
existentes de empresas.

Mdulo: Cargar Certificado: Una vez que el empresario a dado por


finalizada una prctica, se debe cargar un certificado que informe de
tal hecho.

Portal Estudiante: Esta seccin permite visualizar, de forma general,


informacin de inters para el estudiante, sus datos personales y su
histrico de notas. Se halla dividido en los siguientes mdulos:

Mdulo Actualizacin de Datos: Actualiza la Informacin Personal,


Familiar, Acadmica, Laboral y Estudios de Idiomas que este
presenta.

Mdulo Historial de Notas: Muestra las Calificaciones Obtenidas por


el Estudiante en las Materias Cursadas en su carrera universitaria.

Mdulo Semforo Acadmico: Muestra los Cursos Aprobados y


Pendientes del Plan de Estudio relacionado con cada estudiante.

Mdulo Informacin de Estudiante: Muestra la informacin Personal

Mdulo Perfil del Estudiante: Muestra una Ficha con la Informacin


Bsica y la Posibilidad de Envo de Correo Electrnico

37

Portal Egresados: Esta seccin permite visualizar, de forma general,


informacin de inters para los egresados, como sus datos personales y
su histrico de notas. Se halla dividido en el siguiente mdulo:

Mdulo Actualizacin de Datos: Actualiza la Informacin Personal,


Familiar, Acadmica, Laboral y Estudios de Idiomas

Portal de Elecciones: Esta seccin permite realizar de forma sistematiza


todo el proceso de elecciones: inscripcin, aprobacin de candidatos y
la respectiva eleccin de los mismos. Se halla dividido en los siguientes
mdulos:

Mdulo Inscripcin: Permite a un estudiante activo inscribirse como


candidato para el consejo acadmico o representante de facultad.

Mdulo Aprobacin candidatos: Permite a una persona encargada


aprobar la candidatura de estudiantes al consejo acadmico o
representante de facultad.

Mdulo Votacin: Permite a estudiantes que se encuentren activos


realizar la votacin por sus candidatos favoritos.

4.3 ITERACIONES DE IMPLEMENTACION DE LOS PRODUCTOS.


Scrum permite trabajar en productos diferentes simultneamente, es decir, un
Sprint no representa el desarrollo de un producto o aplicacin, sino que
constituye el avance en las actividades prioritarias definidas al inicio del Sprint
y que constituyen entregables, que van incrementndose hasta convertirse en
los productos exigidos por el Product Owner.
Como ya se mencion, al comienzo del proyecto se reuni el Scrum Master y a
la vez Representante del Producto (Product Owner) con un representante de la
Universidad San Buenaventura, lo cual permiti
intercambiar ideas y
establecer las historias de usuario que sern necesarias para la creacin del
Product Backlog.

4.3.1 Exposicin del Product Backlog. Una vez establecido el Product Backlog,
se realiz la primera reunin con todos los integrantes del proyecto (Product
Owner, Scrum Master y Scrum Team); su duracin 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 tambin llamadas Historia de Usuario.
Durante la primera parte de la reunin se definieron por parte del Product
Owner, los elementos de alta prioridad.

38

4.3.2 Resolucin del Sprint Backlog. En la segunda parte de la reunin 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 Dueo 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,
basndose en su propio anlisis y planificacin se comprometen a terminar la
parte del producto escogida. El dueo del Producto aunque no tiene control
sobre la cantidad de trabajo realizado, goza de elementos prioritarios para el
proyecto.
Luego de esto, el equipo estim la cantidad de tiempo que empleara en cada
actividad, emplendose para esto el juego del Pker. Cada miembro daba su
estimacin con una tarjeta que contena un nmero que simbolizaba el nmero
de horas que tardara en realizar la actividad, siendo luego comparadas con las
del resto del equipo y escogindose, a partir de estas, la media del tiempo que
cada miembro del equipo haya manifestado. El significado de los nmeros y
smbolos utilizados en el pker se muestran a continuacin:

0: La tarea no tomar tiempo pues ya est realizada.


: Tarea que tomar media hora para su realizacin.
? : El significado que representa esta tarjeta en la reunin es que no se
tiene conocimiento de cmo se realizar la actividad o no sabe de qu
se est hablando ya que no se maneja el tema.
: El significado que representa esta tarjeta en la reunin es que la
actividad que se est evaluando tomara un tiempo indefinido, es decir,
es incalculable.
1, 2, 3, 5, 8, 13, 20, 40, 100: Cada nmero representa una tarjeta, y
representa el nmero de horas que la actividad tomar en realizarse.

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, colocndose en el Sprint Backlog.
El Sprint Bagklog era una herramienta que permita 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 planeacin, se di inicio


al desarrollo del Sprint, y con ella una de las caractersticas claves de Scrum: la
reunin diaria. Esta era una reunin 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.
El encuentro diario era una forma de mantener la auto-organizacin y auto
control entre los integrantes. En ella se contestan las tres preguntas claves, y si
se encontrase algn tipo de inconveniente se le comunica al Scrum Master
39

para que fuese l quien tomase las medidas al respecto. Se proceda como
viene a continuacin:

Cada integrante del equipo responda estas tres interrogantes:


1.
En qu tarea trabaj ayer?
2.
En qu tarea trabajar hoy?
3.
Si van a necesitar algo especial o prevn algn
impedimento para realizar su trabajo.

Se actualizaba en el Sprint Backlog el tiempo de trabajo que queda


pendiente a su vez que se marcaban las tareas que hubiesen sido
terminadas (slo las que ya hayan sido probadas).

Figura 5. Sprint Backlog del Desarrollo


Con la informacin del encuentro diario se actualizan las columnas No
empezado, En Progreso y Completado del Sprint Backlog y la Grfica de
trabajo (Diagrama de Burn-Down), aadiendo en sta las horas de trabajo de
las tareas realizadas. La grfica de no queda nada de esfuerzo o de Burn40

Down mostraba el progreso del equipo hacia su objetivo y el trabajo restante


para alcanzar tal fin.

Figura 6. Avance de un Sprint

Una vez que el equipo iniciaba el desarrollo del Scrum, no se permitan


cambios en actividades o adicin de actividades, debiendo esperar al siguiente
Sprint. En cambio se permiti que uno o dos integrantes trabajasen en estas
actividades imprevistas con prioridad alta, y dejar por sentado en el Sprint
Backlog estos imprevistos; los dems integrantes del equipo deban suplir en la
medida que lo requiera, las actividades que se dejaban de desarrollar por este
cambio de planes, no afectando fuertemente el avance del Sprint.
El equipo de trabajo, a medida que avanza el desarrollo de las actividades,
deba ir detallando nuevos requisitos, separar elementos grandes en otros ms
pequeos, estimar actividades imprevistas y restimando elementos ya
existentes. Para esto se dejaba un espacio dentro del Sprint Backlog dedicado
a Actividades Futuras, con lo cual se dejaban actividades claras y estimadas
para el siguiente Sprint.
La duracin de los Sprint nunca se prolongaron ms haya del tiempo
establecido para los mismos, es decir, se terminaron en la fecha asignada
aunque el equipo no hubiese terminado con todas las actividades con las que
se haba comprometido.
41

4.3.4 Revisin del Sprint. Cuando termin el Sprint se hace la revisin del
mismo. El Scrum master y a la vez representante del Cliente no slo revisaba
el entregable del producto o los demos sino tambin la calidad del trabajo, de
forma que no se pudiese disimular los cdigos desordenados, sin probar y de
mala calidad.
La revisin del Sprint tambin implicaba que el equipo hablase sobre lo que
funciona y lo que no, y se acordaban que cambios se queran intentar. Se
dejaba claro qu fue bien y qu se puede mejorar, buscando causas y
previnindolas en el prximo Sprint.
Llegado este punto, se iniciaba la planeacin del siguiente Sprint, siendo
definido la fecha y lugar durante la revisin del Sprint. En este punto el Product
Owner poda actualizar la pila del Product Backlog con cambios o nuevas
actividades. El Product Owner y el equipo estaban listos para empezar otro
ciclo de Sprint, por lo cual no haba tiempo de descanso, manteniendo un ritmo
sostenible y razonable.
Con lo descrito hasta el momento se ha detallado el proceso que se sigui para
el desarrollo del primer Sprint y fue repetitivo en el desarrollo de los siguientes
Sprint hasta la obtencin de los productos finales: Portal de Docentes,
Seguimiento de Prcticas, Portal Estudiante, Portal Egresados y Portal de
Elecciones. En total se realizaron 5 Sprint o iteraciones que se detallan a
continuacin:

Sprint 1: Por ser el primer sprint de la implementacin de la metodologa,


todos los participantes estaban sumamente ansiosos por ver como
evolucionaba; este Sprint en particular fue el caso de una
implementacin ideal, debido a que, a pesar que era la primera
experiencia con respecto a la implementacin de la metodologa, se
logr una ejecucin casi perfecta, a razn de que los tiempos se
cumplieron tal como se planearon y las tareas se realizaron como se
discutieron en la reunin de planeacin del sprint das atrs. Cabe
mencionar, que los comentarios de muchos autores con respecto al
primer sprint, no son muy agradables, puesto que, ellos mencionan que
por ser la primera experiencia con la metodologa, casi siempre se
produce una psima ejecucin, arrojando como resultado actividades sin
completar, apata de los participantes a la nueva metodologa, entre
otras cosas, pero ese no fue el caso de esta implementacin.
Las actividades y sub-actividades que se tuvieron en cuenta en este
sprint fueron las siguientes:

42

Realizar Solicitud de Grado


Prioridad
Tiempo
Media
4 Horas

Sub-Actividades
Obtencin de
Requerimientos

Comentario
Ninguno

Tabla 2. Actividad Realizar Solicitud de Grado

Realizar Certificados
Prioridad
Tiempo
Media
4 Horas

Sub-Actividades
Definir que
certificados se
sistematizan
Definir procesos de
certificados
Estudiar Firma
Digital

Comentario
Ninguno

Media

4 Horas

Ninguno

Baja

2 Horas

Ninguno

Tabla 3. Actividad Realizar Certificados

Sub-Actividades
Definir Proceso

Realizar Matricula Acadmica


Prioridad
Tiempo
Urgente
8 Horas

Comentario
Ninguno

Tabla 4. Actividad Realizar Matricula Acadmica

Ver Perfil del Estudiante


Prioridad
Tiempo
Media
1 Horas

Sub-Actividades
Diseo de UI

Controlador de
Envo de Correo
UI envo de correo

Alta

6 Horas

Media

2 Horas

Comentario
Mostrar Cdigo,
nombre y apellido,
y agregar botn
enviar
Enviar por SMPT,
sendmail, phpmail
WYSIWYG, array,
destinatario POST

Tabla 5. Actividad Ver Perfil del Estudiante

43

Sub-Actividades
Agregar el estado
del Estudiante
Diseo UI

Ver Informacin del Estudiante


Prioridad
Tiempo
Media
3 Horas

Baja

4 Horas

Comentario
Creacin HBM,
entidades API,
entidades PHP
Agregar atributo
estado

Tabla 6. Actividad Ver Informacin del Estudiante

Sub-Actividades
Agregar Docente
a la UI

Mostrar Horario de Clases


Prioridad
Tiempo
Baja
1 Horas

Comentario
Ninguno

Tabla 7. Actividad Mostrar Horario de Clases

Sub-Actividades
Cambiar Nombre
al Mdulo
Agrupar
Aprobadas por
semestre
Agrupar Cursos
Pendientes por
Semestre
Agrupar Pensum
del Programa

Mostrar Semforo Acadmico


Prioridad
Tiempo
Baja
10 Minutos

Comentario
Ninguno

Media

3 Horas

Ninguno

Media

3 Horas

Ninguna

Media

3 Horas

Ninguna

Tabla 8. Actividad Mostrar Semforo Acadmico

Sub-Actividades
Sincronizar cortes
con programacin
acadmica
Obtener periodo
acadmico por
GET

Mostrar Historial de Notas


Prioridad
Tiempo
Urgente
5 Horas

Media

2 Horas

Comentario
Tener en cuenta el
nuevo reglamento
institucional
Ninguna

Tabla 9. Actividad Mostrar Semforo Acadmico


44

Realizar Actualizacin de Datos de Estudiantes


Sub-Actividades
Prioridad
Tiempo
Comentario
Reparar Cdigo
Urgente
9 Horas
Ninguno
JS (jQuery/Ajax)
Revisar/Reparar
que todo guarde

Urgente

6 Horas

Ninguno

Colocar como no
editables los
campos
pertinentes

Media

4 Horas

Implementar
formulario de
Historial Laboral
como MODAL
Implementar
formulario de
Historial
Acadmico como
MODAL
Implementar
formulario de
Estudios de
Idiomas como
MODAL

Baja

2 Horas

5 Siempre
editable datos
personales
6 Cuando no
existan datos
del nombre del
padre y de la
madre, ser
editables
Ninguno

Baja

2 Horas

Ninguno

Baja

2 Horas

Ninguno

Tabla 10. Actividad Realizar Actualizacin de Datos de Estudiantes

Sprint 2: Debido a que en el Sprint anterior se realizaron las actividades


tal cual se planearon no quedaron actividades pendientes, y por ese
motivo, este sprint se plane con la totalidad de las actividades nuevas
al igual que el anterior. Al transcurrir el tiempo, y debido a la confianza
que gan el equipo por el xito de la ejecucin y planeacin del sprint
anterior, surgieron unos inconvenientes a la hora de ejecutar esta
iteracin, ya que las actividades se planearon un poco mal en lo que al
tiempo de desarrollo por actividad se refiere. Las actividades que ste
sprint contempl, adems de que fueron mal estimadas, presentaron
cambios muy inesperados, ya que por rdenes de los directivos de la
universidad y clientes de los desarrollos que se realizaban en el CEV, se
tuvieron adelantar algunas de las actividades y esto produjo que se
demoraran an ms. Llegado el da final del sprint, el equipo de trabajo
no haba terminado todas las actividades, otras se demoraron ms de lo
planeado, unas quedaron sin resolver; todo esto afect
45

significativamente el resultado final de la iteracin, arrojando un balance


en cuanto a tiempo decepcionante.
Las actividades y sub-actividades que se tuvieron en cuenta en este
sprint fueron las siguientes:

Sub-Actividades
Definicin de
Procesos

Solicitar Becas y Descuentos


Prioridad
Tiempo
Baja
4 Horas

Comentario
Ninguna

Tabla 11. Actividad Solicitar Becas y Descuentos

Sub-Actividades
Crear Solicitud de
Practicas

Prcticas Empresariales
Prioridad
Tiempo
Medio
2 Horas

Crear Mdulo de
Gestin de
Empresas
Crear Mdulo de
Finalizacin de
Practicas
Crear Mdulo de
Valoracin de
Practicante
Crear Mdulo para
Responder
Practicante

Medio

2 Horas

Comentario
Posterior a la
creacin de la
solicitud, se debe
enviar un Mail al
responsable
(Coordinador de
Practicas)
Ninguna

Medio

5 Horas

Ninguna

Baja

4 Horas

Valoracin de Inicial
y Valoracin Final

Media

5 Horas

Crear Mdulo para


Diligenciar Bitcora
por parte del
Practicante

Media

5 Horas

Este es el mdulo
en el que el
Coordinador decide
en donde se
realizar las
prcticas de
acuerdo con las
solicitudes.
Ninguna

Tabla 12. Actividad Prcticas Empresariales

46

Persistencia de Acaweb
Prioridad
Tiempo
Urgente
11 Horas

Sub-Actividades
Realizar Active
Record Factory
Realizar
Adecuacin del
Modelo

Urgente

Comentario
Ninguna

3 Horas

Ninguna

Tabla 13. Actividad Persistencia de Acaweb

Sub-Actividades
Agregar entidad
Reconocimientos

Actualizacin de Datos de Egresados


Prioridad
Tiempo
Media
3 Horas

Agregar Encuesta
a la BD

Baja

1 Hora

Realizar UI
Actualizacin de
Datos de
Egresados

Urgente

4 Horas

Agregar
Funcionalidad al
Mdulo

Urgente

6 Horas

Comentario
Agregar en API,
Acaweb y Base de
Datos
Ninguna

Esta vista es muy


parecida a la de
Actualizacin de
Datos de
Estudiantes, pero
con unos datos
adicionales
especficos de los
egresados
Hacer que todo
funciones
perfectamente bien

Tabla 14. Actividad Actualizacin de Datos de Egresados

Sub-Actividades
Cambios en los
script en general

Inscripciones en
lnea provisional

Imprevistas Sprint 2
Prioridad
Tiempo
Urgente
4 Horas

Urgente

8 Horas

47

Comentario
Revisar todos los
scripts que utiliza la
pgina y verificar
algunos errores
presentes
Realizar un portal
provisional de
Inscripciones en
lnea para los
nuevos estudiantes

Implementar un
sistema de
validaciones
gramaticales

Urgente

8 Horas

Mejorar problemas
presentados al
entrar a los
portales desde
Internet Explorer

Urgente

6 Horas

Implementar un
sistema para evitar
que los usuarios
introduzcan letras,
smbolos o nmeros
cuando no son
permitidos.
(Validacin de todos
los campos)
Garantizar un
funcionamiento
adecuado en
Internet Explorer de
todos las
aplicaciones y
servicios que se
estn desarrollando

Tabla 15. Actividad Imprevista Sprint 2

Figura 7. Actividades Sin Planeacin

48

Sprint 3: A razn 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 ms de cautela y
precaucin a la hora de asignar tiempo a las actividades de la iteracin.
La ejecucin del Sprint se llev a cabo sin muchos altercados,
nuevamente se presentaron actividades y cambios a las actividades
planeadas en tiempo de ejecucin 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 iteracin y como resultado se produjo una buena
ejecucin del sprint.
Las actividades y sub-actividades que se tuvieron en cuenta en este
sprint fueron las siguientes:

Prcticas Empresariales (Actividades sin Resolver)


Sub-Actividades
Prioridad
Tiempo
Comentario
Crear Mdulo de
Urgente
2 Horas
Ninguna
Gestin de
Empresas
Crear Mdulo de
Urgente
5 Horas
Ninguna
Finalizacin de
Practicas
Crear Mdulo de
Urgente
4 Horas
Valoracin de
Valoracin de
Inicial y Valoracin
Practicante
Final
Tabla 16. Actividad Prcticas Empresariales (Actividades sin Resolver)

Sub-Actividades
Realizar
Diagrama de
Actividades
Realizar UI de la
matrcula en lnea

Matrcula en lnea
Prioridad
Tiempo
Media
4 Horas

Comentario
Ninguna

Media

4 Horas

Ninguna

Obtencin de Prematrcula

Urgente

3 Horas

Agregar Auditoria

Medio

3 Horas

Calcular la pre-matrcula
del estudiante de
acuerdo al semestre, las
materias que ha perdido
y al reglamente
Ninguna

49

Agregar y validar
Cursos

Urgente

8 Horas

Ninguna

Revisar
Seguridad

Urgente

8 horas

Ninguna

Obtener Cursos
Habilitados

Urgente

6 Horas

Ninguna

Guardar Matricula

Urgente

7 Horas

Ninguna

Tabla 17. Actividad Matrcula en lnea

Sub-Actividades
Obtener
Calendario de los
cortes (API)
Funcionalidad del
Mdulo

Portal Docentes
Prioridad
Tiempo
Urgente
3 Horas

Comentario
Ninguna

Urgente

4 Horas

Ninguna

Mis Cursos

Medio

3 Horas

Crear UI

Urgente

4 Horas

Visualizar
estudiantes y sus
respectivos
correos
electrnicos por
curso.
Ninguna

Horario

Bajo

3 Horas

Ninguna

Realizar
Actualizacin de
Datos

Medio

4 Horas

Es Similar a la de
estudiantes y
egresados, pero
con datos nicos
para los docentes

Tabla 18. Actividad Portal Docentes

Sprint de Refactory: Al finalizar los tres sprint planeados, se pudo


realizar una revisin general o sprint de refactory, con el fin de evaluar
todas y cada una de las actividades que se ejecutaron en el transcurrir
50

de las tres iteraciones. Se pudo concluir, que la metodologa 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 iteracin a causas de modificaciones imprevistas.
Las actividades y sub-actividades que se tuvieron en cuenta en este
sprint fueron las siguientes:

Sub-Actividades
Estandarizacin
de los widgets

Refactor
Prioridad
Tiempo
Medio
5 Horas

Realizar cambios
necesarios para
la
interoperabilidad
entre los
navegadores web

Urgente

10 Horas

Reestructurar
Tamao de los
campos de texto
Redisear las
pestaas

Bajo

3 Horas

Bajo

3 Horas

Editar formulario
de envi de
correo

Medio

5 Horas

Comentario
Pestaas,
botones, campos
de texto, entre
otros.
Debe funcionar en
Internet Explorer
(7 - ms reciente),
Firefox (3 ms
reciente) y Google
Chrome. Revisar
CSS, JS y
atributos
especiales.
Implementar
varios tamaos y
estandarizarlos.
Ninguna

Agregar la
posibilidad de
agregar ms o
eliminar usuarios
mientras se
construye el
correo.

Tabla 19. Actividad de Refactor

Posterior a todas las iteraciones que se presentaron incluyendo el sprint


de refactory y tras concluir que la metodologa fue un xito, surgi la
necesidad de realizar varias actividades fuera de lo planeado, dichas
actividades fueron: Inscripcin en Lnea (Versin Definitiva),
Modificaciones en el portal de egresados y Elecciones estudiantiles.

Sprint Final: Para realizar las actividades que surgieron posteriormente a


las iteraciones planteadas, se plane un sprint con el que se pudo
51

finalizar las actividades restantes, esta iteracin se llev a cabo sin


mayor imprevisto ya que se tena una experiencia previa con las
anteriores iteraciones. Todo surgi segn lo planeado en la reunin
previa y como resultado surgi el portal de inscripciones en lnea que
actualmente est utilizando la universidad para los posibles estudiantes
nuevos, al igual que el portal de egresados que se usa en la actualidad
por la comunidad de egresados de la Universidad de San Buenaventura;
el portal para las elecciones de representante a concejo acadmico de la
Universidad tambin fue terminado satisfactoriamente, con algunos
detalles que fueron mejorados con su puesta en marcha.
Las actividades y sub-actividades que se tuvieron en cuenta en este
sprint fueron las siguientes:

Inscripciones en lnea (Versin Definitiva)


Sub-Actividades
Prioridad
Tiempo
Comentario
Diseo de la UI
Medio
6 Horas
Ninguna

Generador de
PDF con la cita
de la entrevista
Generador de
PDF con la cita
para la prueba
Psicotcnica
Agregar
Funcionalidad al
Mdulo

Medio

3 Horas

Ninguna

Medio

3 Horas

Solo para los


estudiantes de
Psicologa

Medio

5 Horas

Realizar
validaciones
adicionales

Medio

3 Horas

Posibilidad
de completar
parcialmente
el proceso de
inscripcin.
6
Envo de
Correo
electrnico al
terminar la
inscripcin.
Para garantizar
an ms la
funcionalidad en
los distintos
navegadores.

Tabla 20. Actividad Inscripciones en lnea (Versin Definitiva)

Sub-Actividades

Modificaciones Portal Egresados


Prioridad
Tiempo
52

Comentario

Modificaciones
en la
actualizacin de
egresados

Medio

3 Horas

Surgieron unos
inconvenientes a la
hora de guardar los
hijos de los
egresados

Tabla 21. Actividad Modificaciones Portal Egresados

Portal de Elecciones Institucionales


Sub-Actividades
Prioridad
Tiempo
Comentario
Diseo de la UI
Medio
4 Horas
Diseo de Interfaces
de usuario para,
inscripcin de
representantes,
aprobacin de
inscritos y
elecciones.
Agregar
Medio
4 Horas
Garantizar la
Funcionalidad al
funcionalidad en
Mdulo
todos los
navegadores,
implementar un
sistema de
auditoras que
almacene la
direccin IP de
donde se realiz el
voto.
Tabla 22. Actividad Portal de Elecciones Institucionales
Scrum permiti a travs de iteraciones, un desarrollo contnuo de varias
aplicaciones o productos, permitiendo trabajar simultneamente en actividades
con fines diferentes; para esto se cont con un equipo de trabajo autogestionado que trabaj en una serie de tareas, desarrolladas en series de
Sprint de 1 a 4 semanas, hasta que se entreg los productos o aplicaciones
completas.

4.4 DISEO Y DESARROLLO DE INTERFACES.


En este punto es preciso mencionar algunas de las herramientas de software
que se usaron especficamente para este aspecto. Entre las herramientas
usadas se encuentran:
Netbeans como editor de cdigo fuente
Navicat como gestor de base de datos
PhotoShop como herramienta para edicin de imgenes
Navegadores web, entre estos se encuentra Google Chrome, Mozilla
Firefox, Safari e Internet Explorer.
53

A continuacin se mostrarn las interfaces resultantes de la implementacin.

Interfaz principal donde podemos apreciar los diferentes mdulos


realizados durante nuestras pasantas, podemos observar Mis datos el
cual es el lugar donde podremos observar y actualizar toda la informacin
correspondiente a los, Mis Cursos es otro modulo donde se encuentra
toda la informacin referente a Horario, Notas y Cursos Matriculados.
Practicas Industriales, modulo relacionado con toda la vida de prcticas
Industriales. Consultas este mdulo nos da la oportunidad de observar la
informacin correspondiente al volante de pago y al Semforo Acadmico.
(Ver la siguiente Figura)

Figura 8. Pgina de Inicio

Actualizacin de Datos Estudiantes: Interfaz donde se puede apreciar


Mis datos en el cual se pueden observar los datos del estudiante y
actualizar toda la informacin correspondiente del mismo; Mis Cursos
es otro mdulo donde se encuentra toda la informacin referente a
Horario, Notas y Cursos Matriculados; Prcticas Industriales, mdulo
relacionado con toda la vida de prcticas Industriales en caso de tener
vigente alguna; Consultas este mdulo da la oportunidad de observar la
informacin correspondiente al volante de pago y a toda el pensum y
notas del estudiante.

La primera seccin de este mdulo es Actualizar Mis Datos y en l se tiene


acceso a diferentes interfaces donde se puede modificar ciertos atributos que
se inmersos en la ficha el estudiante, estos son:
Actualizar Mis Datos Datos Bsicos: Dentro del mdulo de Mis
Datos se puede Actualizar informacin sobre la ficha de estudiante,
teniendo la opcin de variar toda aquella que al transcurrir el tiempo
54

haya presentado modificaciones como el lugar de residencia,


telfono, correo electrnico y celular. (Ver la siguiente Figura)

Figura 9. Actualizar Mis Datos Datos Bsicos


Actualizar Mis Datos Datos Familiares: En esta Interfaz se tiene
acceso a la informacin que puede variar con el tiempo en referencia
a acudiente o en referencia a datos relacionados con los padres. (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)

Figura 11. Actualizar Mis Datos Historial Laboral


Actualizar Mis Datos Historial Acadmico: Esta interfaz permite
agregar informacin sobre estudios realizados con anterioridad por
el estudiante. (Ver la siguiente Figura)

Figura 12. Actualizar Mis Datos Historial Acadmico


57

Actualizar Mis Datos Idiomas: En esta pestaa se puede aadir


informacin sobre los idiomas que el estudiante maneje desde un nivel
bajo, pasando por medio, hasta llegar a un nivel alto. (Ver la siguiente
Figura)

Figura 13. Actualizar Mis Datos Idiomas


Actualizar Mis Datos - Finalizar: Interfaz Final donde se muestran los
trminos y condiciones para poder confirmar el cambio de informacin
realizado sobre la ficha correspondiente.

La segunda seccin de ste mdulo es Ver mis Datos y permite a los


estudiantes visualizar la informacin relacionada con su ficha estudiantil; est
compuesta por las siguientes interfaces:
Ver Mis Datos Informacin Personal: En Mis Datos se da la opcin de
observar la informacin presente en la Base de Datos de la universidad.
(Ver la siguiente Figura)

58

Figura 14. Ver Mis Datos Informacin Personal


Ver Mis Datos Informacin de Contacto: Ficha de Estudiante con datos
exactos y que permiten datos de residencia, telfono, email entre otros.
(Ver la siguiente Figura)

59

Figura 15. Ver Mis Datos Informacin de Contacto

La tercera seccin de ste mdulo es Mis Cursos en el que el estudiante puede


observar los cursos en los que actualmente se encuentra matriculados,
permitindole ver compaeros de curso, enviarles correos, detallar el horario de
clases, entre otras actividades.

La cuarta seccin de ste mdulo es Prcticas Industriales en el que el


estudiante puede ir aadiendo actividades a su bitcora siempre que lo desee.
Esta seccin estar activada si y slo si el estudiante es asignado a una
empresa que haya expresado su intencin de contar con los servicios de un
practicante. Sus interfaces son:
Prcticas Industriales - Bitacoras: Se da la opcin para que el
estudiante genere actividades con un porcentaje de cumplimiento o
realizacion, aadiendo los objetivos o competencias relacionadascon la
actividad desarrollada. (Ver la siguiente Figura)

60

Figura 16. Prcticas Industriales- Bitcora


Prcticas Industriales Descargar Certificado: En este espacio el
estudiante tiene la opcin de descargar el certificado que prueba que
este ha cumplido con todos los requisitos presentados durante sus
Prcticas industriales, teniendo presente que este debe ser aprobado y
subido por el director de las mismas. (Ver la siguiente Figura)

Figura 17. Prcticas Industriales Descargar Certificado


61

Actualizacin de Datos Egresados. Espacio de los Egresados donde


pueden modificar la informacin relacionada con la que fue en algn
momento su ficha estudiantil.
Actualizar Mis Datos Datos Bsicos: El Portal Egresados y El
Portal Estudiantes con respecto a las actualizaciones son muy
similares donde solo algunos tems hacen la diferencia entre ellos
la opcin de poder agregar hijos .(Ver la siguiente Figura)

Figura 18. Actualizar Mis Datos Datos Bsicos

62

Actualizar Mis Datos Informacin Laboral: En esta interfaz permite


apreciar los campos donde se debe colocar todo lo referente a la
informacin laboral del grupo Egresados as como reconocimientos
dentro de la empresa, entre otros. (Ver la siguiente Figura)

Figura 19. Actualizar Mis Datos Informacin Laboral


Actualizar Mis Datos Informacin Acadmica: La Informacin
acadmica de un egresado se encuentra en esta interfaz, donde podr
aadir nuevos ttulos obtenidos en cualquier entidad educativa (Ver la
siguiente Figura).

63

Figura 20. Actualizar Mis Datos Informacin Acadmica


Actualizar Mis Datos Idiomas: Los egresados tienen la oportunidad de
poder anexar los lenguajes que manejen, teniendo presente el nivel de
escritura, lectura y fluides. (Ver la siguiente Figura)

Figura 21. Actualizar Mis Datos Idiomas

64

Actualizar Mis Datos Datos Complementarios: En esta ltima interfaz se hace


presente informacin complementaria que es de protocolo para la universidad.
(Ver la siguiente Figura).

Figura 22. Actualizar Mis Datos Datos Complementarios

Interfaces Mdulo de Docentes. Campo relacionado con los docentes


donde podrn visualizar informacin que estos poseen, estas interfaces son:
Mdulo de Docentes Horario: Los Docentes tienen la oportunidad de
poder ver el horario de clases generado segn las asignaturas que
fueron otorgadas para ser dictadas. (Ver la siguiente Figura)

65

Figura 23. Mdulo Docentes Horario


Mdulo de Docentes - Cursos: En esta ventana aparecern todos los
cursos asignados al docente con informacin detallada sobre el mismo.
Mdulo de Docentes Notas: Es esta interfaz se permite al docente
asignar las notas acadmicas a cada estudiante, as como corregirlas
segn el lmite de tiempo que para ste efecto se le asigne.

Elecciones Estudiantiles. Espacio donde los estudiantes pueden tomar


eleccin de aquellos que se hayan postulado a Consejo Acadmico o
Representante de Facultad, estas interfaces son:
Elecciones Estudiantiles - Formulario de Inscripcin: En el mdulo de
Elecciones, se permite realizar la inscripcin a la candidatura al Consejo
Academico o a Representante de Facultad; en este formulario tambien
se cuenta con la opcion de colocar todo lo referente al plan de campaa
del postulado. (Ver la siguiente Figura)

66

Figura 24. Elecciones Estudiantiles Formulario de Inscripcin


Elecciones Estudiantiles Admisiones: Esta Interfaz slo se encuentra
disponible para el Jefe de Unidad de Registro Acadmico quien tendr la
opcin de admitir o denegar la inscripcin de los candidatos postulados.
(Ver la siguiente Figura)

67

Figura 25. Elecciones Estudiantiles Admisin


Elecciones Estudiantiles - Votacion: En esta interfaz se puede apreciar
los diferentes aspirantes al consejo acadmico o representante de
facultad que se encuentren admitidos para su eleccin por el cuerpo
estudiantil; adems, tambin se podr sufragar por el candidato de
eleccin (Ver la siguiente Figura)

Figura 26. Elecciones Estudiantiles Votacin


68

Mdulo de Prcticas Industriales. El control y seguimieento de las


prcticas se realiza mediante estas interfaces. En esta oportunidad se
tendran presentes varios usuarios como lo son el Coordiandor de
Prcticas y la Empresa. Las vistas correspondientes al estudiante ya han
sido descritas en la seccin correspondiente a l.
Las interfaces de prcticas industriales que puede visualizar el
Coordinador de Prcticas permiten ver las empresas registradas en la
base de datos, peticiones de stas hagan, asignarles practicante, entre
otras funciones. Sus interfaces son:
Prcticas Industriales Subir Certificado: En este espacio el
Coordinador de Prcticas Industriales tiene la opcin de subir el
certificado que avala el cumplimiento total de las horas asignadas al
estudiante. Este certificado se entrega tras la aprobacin de la
empresa donde se realizan las prcticas, la cual certifica que se han
cumplido todas las actividades planeadas. (Ver la siguiente Figura)

Figura 27. Prcticas Industriales Subir Certificado


Prcticas Industriales Solicitudes: Esta interfaz permite apreciar las
solicitudes de practicantes enviadas por las empresas que tengan
convenio con la Universidad De San Buenaventura Cartagena; el
coordinador tiene la oportunidad de revisarlas, aprobar y asignar el
practicante o sencillamente rechazarlas. (Ver la siguiente Figura)

69

Figura 28. Prcticas Industriales Solicitudes


Prcticas Industriales - Amonestaciones: La empresa tiene la
oportunidad de enviar amonestaciones al Coordinador de prcticas
dndole a conocer a ste el tipo de inconvenientes que se estn
presentando con el practicante asignado. As mismo da la opcin al
Coordinador de responder cada amonestacin. (Ver la siguiente Figura)

70

Figura 29. Prcticas Industriales listado de Amonestaciones


Prcticas Industriales - Amonestaciones Respondidas: El director de
Prcticas podr ver la informacin enviada como respuesta a las
diferentes amonestaciones que hayan realizado las empresas con
practicantes asignados. (Ver la siguiente Figura)

71

Figura 30. Prcticas Industriales Amonestaciones Respondidas

Las interfaces de prcticas industriales que puede visualizar una empresa


registrada ante la Universidad le permiten ver su registro, realizar solicitudes de
practicantes, amonestar un practicante, entre otras funciones. Su principal
seccion se centra en la solicitud de practicante, la cual presenta los siguientes
vistas
Solicitud Practicante - Identificacin de la Empresa: Presenta todo lo
correspondiente
al registro de la empresa ante la Universidad,
permitindosele cambiar cierta informacin. (Ver la siguiente Figura)

72

Figura 31. Solicitud Practicante - Identificacin de la Empresa


Solicitud Practicante - Requerimientos: En esta interfaz se describen
los requerimientos que debe tener el practicante solicitado, como rama
profesional, perfil y fechas de inicio y fin de la prctica. (Ver la siguiente
Figura)

73

Figura 32. Solicitud Practicante - Requerimientos


Solicitud Practicante - Ubicacin Estudiante Solicitado: En esta interfaz
se precisa informacin acerca de ubicacin del estudiante dentro de la
entidad o empresa, el cargo, tutor, entre otros datos. (Ver la siguiente
Figura)

74

Figura 33. Prcticas Industriales Ubicacin Estudiante


Solicitud Practicante - Ubicacin Empresa: La empresa dar informacin
acerca de ubicacin geogrfica del sitio de prcticas; esto facilita
distinguir establecimientos dentro de empresas multinacionales o con
diferentes sedes dentro del pas. (Ver la siguiente Figura)

Figura 34. Solicitud Practicante - Ubicacin Empresa


75

Ver Solicitudes: Las Empresas pueden realizar acciones sobre las


solicitudes que se hayan enviado; segn el estado de una solicitud esta
permite verla, enviar amonestacin, finalizarla, entre otras opciones.
(Ver la siguiente Figura)

Figura 35. Prcticas Industriales Ver Solicitudes

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:
Formulario de inscripcin. (Ver la siguiente Figura)

76

Figura 36. Formulario de inscripcin


Este mdulo tiene una funcionalidad en particular que consiste en que cuando
se termina de diligenciar el formulario en su totalidad, se enva un correo
electrnico al estudiante y varias personas en la universidad las cuales exigen
que se les notifique cada vez que se inscribe alguien nuevo, adems, 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 inscripcin. Cabe resaltar que una vez finalizado el formulario
como tal, no se puede volver a editar, solo permite descargar la citacin a la
entrevista presencial en la universidad.

4.5 EJECUCION DE PRUEBAS


Las pruebas que se desarrollaron durante el desarrollo de los frontend, se
hicieron al finalizar cada uno de los sprints, el procedimiento que se sigui para
la realizacin de la prueba fue repetido en todas las pruebas que se realizaron,
as que a continuacin se describir el proceso que se sigui.
Una vez terminado el sprint, las actividades que se contemplaron en el mismo
eran sometidas a unas pruebas que eran ejecutadas por el Ingeniero Javier
Garca quien ejerca el rol de Scrum Master, bsicamente la prueba consista
en verificar rigurosamente cada detalle que se deba contemplar en la
actividad, por ejemplo, si la actividad era el desarrollo de una interfaz, se
77

probaba a detalle todos los aspectos que correspondan al diseo que se deba
implementar, as como los patrones y recursos que deben seguirse para el
desarrollo de las mismas, cabe aclarar que todos estos aspectos y detalles
eran discutidos en la reunin del sprint. Una vez terminada la prueba que se
efectuaba, el Scrum Master determinaba si la actividad estaba cien por ciento
terminada y se poda proseguir a colocar la actividad como finalizada.
Es relevante mencionar alguna de las pruebas que tuvieron complicaciones o
fueron destacadas durante el desarrollo de la implementacin de la
metodologa Scrum, entre las actividades que ms se destacan se encuentran
las siguientes:
Crear Mdulo de Gestin de empresas, esta actividad fue particular
debido a que la prueba fue planeada para ser realizada en el Sprint 2
pero por razones ya explicadas no se pudo realizar. La prueba que se
realiz consisti en verificar si efectivamente se cre el mdulo que
gestionara las empresas; el mdulo comprenda las acciones CRUD
(Create, Read, Update, Delete por sus siglas en ingls) bsicas que
deban ser usados al momento de gestionar las empresas, se realiz
una prueba para verificar si efectivamente se realizaban las acciones
que deba.
Crear Mdulo de Finalizacin de prcticas, igual que la anterior, esta
actividad se destaca debido a que se contempl la prueba al finalizar el
Sprint 2 y no se llev acabo. La prueba en esta actividad consista en
que efectivamente el mdulo se creara segn lo planeado, pero adems,
que segn los parmetros que exige la universidad, esta deba cumplir
con unas exigencias especficas, relacionadas con la fecha en la que se
poda efectuar la finalizacin de las prcticas y que usuario poda
realizar la finalizacin.
Crear Mdulo de Valoracin de Practicante, esta actividad consisti
en examen que debe diligenciar cada practicante al inicio de las
prcticas y al finalizar las mismas. Se verific que el mdulo cumpliera
con las exigencias que se tenan planteadas respecto a las fechas en las
cuales se deban realizar estas valoraciones.
Otra actividad que vale la pena mencionar en esta seccin 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. Lgicamente, 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 tenan que verificar todas las interfaces en
los 4 navegadores ms usados por los usuarios de internet, los cuales
son (Safari, Internet Explorer, Mozilla Firefox y Google Chrome).
Una de las pruebas ms importantes que realizaron fue la de las
actividades que contemplan las Elecciones Estudiantiles, puesto que de
esas interfaces dependa el hecho de que no hubieran fraudes en las
78

elecciones que se realizaran posteriormente. Esta prueba consisti


incluso en invitar a personas ajenas al CEV para que probaran las
interfaces, adems, se solicit a personas expertas en seguridad que
revisaran tediosamente si la aplicacin tena alguna falla que pudiera
ocasionar un fraude en las elecciones. Debido a esta prueba de
seguridad se implement la funcionalidad que capturaba la direccin IP
del equipo que votaba para as controlar que IP intentaban realizar
fraudes, y tener una auditora de las elecciones, cabe aclarar que las
direcciones IP no se relacionaban con los votantes, es decir, la direccin
IP se registraba con la hora y fecha, incluso el navegador que uso pero
solo a manera de informacin, esta no se encontraba ligada a la persona
que realizo el voto.
Otra prueba que fue muy importante, fue la de las inscripciones en lnea
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 parmetros, uno de los
aspectos que ms se prob fue el de envo de correo electrnico por
parte del portal al estudiante y a los directivos de la universidad
notificando la inscripcin de nuevos interesados, y el de la generacin de
citas para entrevistas personalmente en la universidad, es decir, que el
portal adems que inscriba, enviaba correo notificando y generaba una
cita para la entrevista entre el programa que selecciono el interesado y
el interesado.
Y de ese modo se evaluaban las actividades, probando aspecto por aspecto.
Una vez aprobada la actividad se daba por terminaba y se prosegua a
desarrollar la siguiente que estuviera pendiente en el sprint.

79

CONCLUSIONES

No existe una metodologa que garantice el xito de un proyecto de desarrollo


de software, pero si metodologas que se adaptan al contexto de proyectos con
ms facilidad. Las metodologas tradicionales o clsicas requieren de un mayor
trabajo al querer ser adaptadas a proyectos pequeos y con requisitos
cambiantes, lo que ha generado un creciente inters por metodologas ms
flexibles e igual de productivas:
Scrum como metodologa gil presenta todas las caractersticas propias de
este tipo y que se pueden constatar a lo largo del presente proyecto: permite
adaptarse continuamente a las circunstancias del proyecto, entrega continua y
en plazos cortos con software funcional, trabajo integrado entre el cliente del
producto y desarrolladores, mejora continua de proceso de desarrollo lo que
permite corregir errores a tiempo, al mismo tiempo que se realizan las pruebas.
La metodologa Scrum permiti la elaboracin del frontend de las aplicaciones
(desarrollo de controladores e interfaces graficas de usuario) que apoyan los
procesos acadmicos en la Universidad de San Buenaventura Cartagena,
aportando integridad al equipo de trabajo.
La aplicacin de este tipo de metodologas tambin permite tener una visin
diferente frente al desarrollo de actividades; para Scrum las actividades no son
algo que simplemente se inician y terminan, si no que permite, a travs de las
iteraciones, volver a ellas y agregarles nuevos detalles con el fin de que estas
puedan ir en un crescendo hacindolas cada vez mejor.
Tambin es importante resaltar el enriquecimiento que se puede hacer al tomar
de otras metodologas ciertos aspectos que aportan agregados favorables para
el desarrollo de la metodologa. No ceirse a lo que marca la norma permite
que estos cambios favorables para el proceso puedan hacerse y descubrir de
esta manera una mejor manera de realizar las labores que son encomendadas.
Se demuestra que el seguimiento de metodologas giles evita fases previas de
especificacin de requisitos, anlisis y diseo, costosas en tiempo as como la
correccin de errores en estas fases, lo que generara an ms prdida de
tiempo. Se prescindi del desarrollo de documentos que haran lento el proceso
y poco entendible la globalidad del sistema.
Al finalizar la implementacin de la metodologa en el Centro de Educacin
Virtual, se pudo demostrar con hechos tangibles lo eficiente que pueden llegar
a ser las metodologas agiles para casos en los que los requerimientos son
demasiado cambiantes, en donde nunca se tiene certeza de la totalidad de
funcionalidades que tendr el aplicativo que se busca conseguir. Cabe
destacar, que en la mayora de los casos de desarrollo de software desde el
punto de vista comercial, no se puede tener el planteamiento total de
requerimientos funcionales y no funcionales que se buscan tenga el software,
haciendo de esta, una de las metodologas con mayor ventaja debido a su
flexibilidad para el desarrollo.

80

REFERENCIAS

ABRAHAMSSON, P. Salo, O. Ronkainen, J. Warsta, J. Agile software


develoment methods review and analysis. VTT publications. 2002. 180p.
ALARCN, Pedro P. Especificacin de un modelo de operaciones
aplicable a procesos de desarrollo y operacin de sistemas con software.
PhD thesis, Facultad de Informtica. Universidad Politcnica de Madrid.
2008. 120p.
AMARO C., Sarah y Jorge C. Valverde; Metodologas Agiles. Universidad
Nacional de Trujillo. Trujillo, Per, 2007. 155p.
ANDERSON, D. J. Stretching Agile to fit CMMI Level 3 - the story of creating
MSF for CMMI Process Improvement at Microsoft Corporation. ADC '05:
Proceedings of the Agile Development Conference, IEEE Computer Society.
2005. 65p.
BOEHM, B. Turner, R. Balancing Agility and discipline. A Guide for the
Perplexed. Addison-Wesley. 2003. 89p.
CANOS, J., Letelier, P. y Penads, M. Metodologas Agiles en el desarrollo
de Software. Universidad Politecnica de Valencia, Valencia, 2003. 346p.
CARO, F. Agile manifiesto y experiencias personales. Memorias Jornadas
de Gerencia. Acis. Bogot 2004. 69p.
COCKBUN, A. Agile Software Development. Addison-Wesley. 2001. 160p.
COCKBURN, A. Selecting a Projects Methodology,
Technology. IEEE SOFTWARE July/August 2000. 142p.

Humans And

RUBIO, D. N. Andriano, A. Ruiz de Mendarozqueta, C. Bart. An integrated


improvement framework for sharing assessment lessons learned. La Rioja:
Proceedings del XIV Congreso Argentino de Ciencias de la Computacin,
2008. 269p.
GUTIERREZ, Jaoquin. Metodologas giles. Universidad Pablo de Olavide.
2007. 192p.
PALACIO, Juan. Flexibilidad con Scrum. Disponible en http://www.lulu.com,
consultado el 23 de marzo de 2012. 145p.
PICHLER, ROMAN. Agile Product Management Whit Scrum. Creating
Products That Customers Love. Roman Pichler. 2010. 132p.
PRIES, KIM H. y Quigley, Jon M. Scrum Project Management. Taylor &
Francis Group. 2011. 163p.

81

POPPENDIECK M., Poppendieck T. Lean Software Development: An Agile


Toolkit for Software Develoment Managers. Addison Wesley. 2003. 98p.
SCHWABER, KEN y Belle, Mike. Agile Software Development with Scrum.
Prentice Hall. 2008. 156p.
SCHWADER, KEN. The Enterprice and Scrum. Prentice Hall. 2007.
SCHUWABER, K. Agile Project Management with Scrum (Microsoft
Professional). Mar 10, 2004. 346p.
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
WELLINGTON, A., Briggs, T., y Girard, C.D., Comparison of Student
Experiences with Plan-Driven and Agile Methodologies, Proceedings of the
35th ASEE/IEEE Frontiers in Education Conference, 2005. 163p.

82

Anexo A. Cronograma de Actividades


2011
AGOSTO SEPTIEMBRE OCTUBRE NOVIEMBRE FEBRERO
TIEMPO
ACTIVIDADES
Capacitacin Inicial de los
Prcticantes
Lineamientos e indicaciones
del software
Distribucin de actividades
Ejecucin de actividades
Revisin
Ejecucin de actividades
Revisin Final de Prcticas
Investigacin de factibilidad y
riesgo para la elaboracin del
libro planteado sobre SCRUM
como
metodologa
de
desarrollo ideal
Investigacin general de la
temtica a tratar en los
documentos
que
se
presentarn
Elaboracin
de
los
documentos
Presentacin
previa
para
revisin
Correccin
Entrega final y sustentacin

1 2 3 4

1 2 3 4

83

2012
MARZO

ABRIL

MAYO

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

Anexo B. Presupuesto

RUBROS
Gastos de
personal
Equipos y
software
Materiales y
suministros
Servicios
tcnicos
Otros gastos
TOTALES

CEV

DESCRIPCIN
4 Tutores
3 Estudiantes
iMac 21
Mac Pro con Cinema
Display
Computador HP Quad Core
Papelera
Tner de impresora
Servicio de Computo 600h
5000h
Imprevistos

Especie

Efectivo

$ 2450.000.oo

$ 6335.500.oo
-

$ 7132.000.oo

$ 1835.000.oo
-

$ 200.000.oo
$ 100.000.oo

$ 8000.000.oo

$ 19417.000.oo

$ 1000.000.oo
$ 7635.500.oo

TOTAL DEL PRESUPUESTO

84

FUENTE
Estudiantes

$ 27052.500.oo

You might also like