Christian Omar Picon Farah*
Roberto Carlos Crespo Mendoza**
Ronald Alfredo Barriga Díaz***
Jose Abel Alarcón Salvatierra****
Docentes de la Facultad de Matemáticas y Física, Universidad de Guayaquil, Ecuador
christian.piconf@ug.edu.ecRESUMEN:
El crecimiento acelerado de las tecnologías de la información y la comunicación, la necesidad de los sistemas informáticos en las empresas de cualquier índole; sean estas públicas o privadas; grandes, pequeñas o pymes ha proporcionado el ambiente propicio para el desarrollo masivo de proyectos de software, los cuales tienen gran demanda acompañados de urgencia por su implementación en dichas entidades a fin de abaratar los costos y suplir sus necesidades. Para ello las instituciones educativas superiores, específicamente en sus carreras de sistemas o informática son las llamadas a generar profesionales de alta calidad en sus procesos de titulación y a producir los sistemas que tanto necesitan las entidades, sobre todo las gubernamentales si a universidades públicas se refiere. Habiendo esta premura, se propone usar las metodologías ágiles en los proyectos de software correspondientes a los procesos de titulación de dichas entidades, siendo recomendadas estas prácticas debido a su efectividad y popularidad en el ámbito de la elaboración e ingeniería de software, recomendando de manera especial la técnica llamada SCRUM, por ser la más usada en los proyectos ágiles, teniendo una rápidamente respuesta al cambio, acortando los tiempos y sobretodo mejorando la calidad en la entrega del producto final. Una vez hecha la propuesta se explica el porqué de la elección y la recomendación de SCRUM ante las demás técnicas de ágil, se expone además de la importancia, su manera de aplicar para los proyectos futuros a fin de que sea un estándar que logre resultados positivos para la excelencia académica y prestigio institucional.
PALABRAS CLAVE:
Metodologías Ágiles, Proyectos De Software, Entidades Educativas Superiores, Procesos de Titulación.
SUMMARY
The rapid growth of information and communications technology, the need for computer systems in companies of any kind; be they public or private; large, small or SME has provided the enabling environment for the massive development projects software environment, which are in great demand urgent accompanied by implementation in these organizations to cut costs and meet their needs. To do this the top, specifically in their careers systems or computer educational institutions are called to generate high-quality professionals in their titling processes and produce systems much needed institutions, especially government if public universities are concerned. It having this urgency, it is proposed to use agile methodologies in projects related to titling processes such entities software, they are recommended these practices because of its effectiveness and popularity in the field of development and software engineering, recommending a special way the technique called SCRUM, being the most used in agile projects, having a quick response to change, especially reducing times and improving quality in the delivery of the final product. Once the proposal why the choice and recommendation of SCRUM to other techniques agile explained, it is further exposed the importance, how to apply for future projects so that is a standard that achieves positive results for academic excellence and institutional prestige.
KEYWORDS:
Agile Software Development, Software Projects, Universities, Degree Process
Para citar este artículo puede utilizar el siguiente formato:
Christian Omar Picon Farah, Roberto Carlos Crespo Mendoza, Ronald Alfredo Barriga Díaz y Jose Abel Alarcón Salvatierra (2016): “La metodología ágil como herramienta para el desarrollo de proyectos de software en las instituciones educativas superiores”, Revista Caribeña de Ciencias Sociales (noviembre 2016). En línea: https://www.eumed.net/rev/caribe/2016/11/proyectos.html
http://hdl.handle.net/20.500.11763/caribe1611proyectos
El desarrollo acelerado de la ciencia, la tecnología, la política de Organización por proyectos y el perfeccionamiento empresarial e institucional, crean las condiciones necesarias para la aplicación de las Metodologías de desarrollo en la Ingeniería de software, apoyándose en las nuevas tecnologías de la informática, a fin de obtener los objetivos propuestos, acortando los plazos de tiempo, optimizando los recursos y con la calidad requerida en los proyectos.
A la presente fecha se han utilizado una variedad de metodologías de desarrollo de software en los proyectos de grado de las Instituciones Educativas Superiores, con las cuales se han elaborado múltiples productos que en su mayoría no han cumplido con los criterios definidos, tiempos establecidos, funcionalidades deseadas, cambios solicitados, etc., provocando así un descontento en los usuarios finales del producto y causando finalmente el desprecio del mismo.
Muchas de estas metodologías de desarrollo de software se han enfocado en distintas dimensiones del proceso de elaboración, teniendo un cuidadoso énfasis en el control de dicho proceso mediante una definición de roles, modelado y documentación detallada. Este tipo de metodologías se han denominado “Metodologías Tradicionales”, dando buenos resultados en proyectos de gran tamaño, pero mostrándose un poco ineficientes en desarrollos más pequeños.
Por lo tanto es necesaria la intervención en los proyectos de titulación de una metodología de desarrollo dinámica capaz de cumplir en un corto tiempo con requerimientos menos estables que requieren flexibilidad y rapidez como es el caso de los proyectos de software de las Instituciones Educativas Superiores del Ecuador cuya misión es la búsqueda de la verdad y el desarrollo de la cultura, la ciencia y tecnología del país.
Para ello se propone la aplicación de las Metodologías Ágiles, las cuales tienen la capacidad de cumplir en un corto tiempo partes funcionales de la mejor manera posible, además de contar con un constante monitoreo del progreso del proyecto y poder tomar medidas en caso de haber obstáculos que lo impidan a fin de garantizar la elaboración de un producto de calidad.
Las Instituciones de Educación Superior son la última etapa del proceso de aprendizaje académico, es decir todas las trayectorias formativas post-secundarias que cada país contempla en su sistema.
El Sistema Nacional de Educación Superior está conformado por universidades y escuelas politécnicas, creadas por ley; y, por los institutos superiores técnicos y tecnológicos, creados por el Consejo Nacional de Educación Superior (CONESUP)
Las instituciones del Sistema Nacional de Educación Superior Ecuatoriano tienen como misión la búsqueda de la verdad, el desarrollo de las culturas universal y ancestral ecuatoriana, de la ciencia y la tecnología, mediante la docencia, la investigación y la vinculación con la colectividad. Dirigen su actividad a la formación integral del ser humano para contribuir al desarrollo del país y al logro de la justicia social, al fortalecimiento de la identidad nacional en el contexto pluricultural del país, a la afirmación de la democracia, la paz, los derechos humanos, la integración latinoamericana y la defensa y protección del medio ambiente. Les corresponde producir propuestas y planteamientos para buscar la solución de los problemas del país: propiciar el diálogo entre las culturas nacionales y de éstas con la cultura universal, la difusión y el fortalecimiento de sus valores en la sociedad ecuatoriana, la formación profesional, técnica y científica y la contribución para lograr una sociedad más justa, equitativa y solidaria, en colaboración con los organismos del estado y la sociedad.
Las metodologías ágiles están especialmente orientadas a proyectos que necesitan soluciones a medida, con una elevada simplificación en términos de tiempo y recursos, sin dejar de lado el aseguramiento de la calidad del producto.
Estas metodologías se centran en el factor humano y el producto software; es decir, le dan mayor importancia al equipo de desarrollo, a la colaboración del cliente y al desarrollo incremental del software con iteraciones cortas (en tiempo).
Como apoyo a la realización de este artículo científico se referencian las siguientes investigaciones y tesis:
Elkin José Torres Martínez, Edson Carlo Arzuza Agudelo y Oscar Fernando Becerra Uribe de Cartagena, Colombia en el año 2012, presentaron un Trabajo Especial de Grado titulado “Aplicación De La Metodología Scrum cuyo objetivo es la Optimización De Procesos Académicos En La Universidad De San Buenaventura, Cartagena”, este estudio se convierte en punto de apoyo ya que se centra en la elaboración de un manual de implementación de la metodología SCRUM a partir de su aplicación en la producción de un software por el Centro de desarrollo de esa Universidad.
De igual Juan Garbajosa Sopeña y Pilar Rodríguez González en España - Madrid, septiembre de 2008, presentaron Tesis de Master sobre tecnologías de la Información íntimamente relacionada con Scrum llamada “Estudio de la Aplicación de Metodologías Agiles para la Evolución de Productos Software”; la tesis presentada hace referencia a Scrum como núcleo 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 podría entender Scrum como un tipo de ingeniería social que pretende conseguir la satisfacción de todos los que participan en el desarrollo, fomentando la cooperación a través de la auto-organización. De esta forma, se favorece la franqueza entre el equipo y la visibilidad del producto. Pretende que no haya problemas ocultos, asuntos u obstáculos que puedan poner en peligro el proyecto. Los equipos se guían por su conocimiento y experiencia más que por planes de proyecto formalmente definidos. La planificación detallada se realiza sobre cortos espacios de tiempo lo que permite una constante retroalimentación que proporciona inspecciones simples y un ciclo de vida adaptable. Así, el desarrollo de productos se produce de forma incremental y con un control empírico del proceso que permite la mejora continua”; esto conlleva a reafirmar la utilización de Scrum como metodología de desarrollo con la consiguiente obtención de resultados optimizados.
A su vez María Alejandra Mora Rodríguez de San José, Costa Rica en el año 2011, presentó en la Universidad para la Cooperación Internacional un proyecto titulado “Metodología Para Estandarización De La Administración De Proyectos Informáticos Dentro De La Dirección De Tecnología De Información Y Comunicaciones Del Banco Nacional”, en donde se analizan los procesos de administración de proyectos para compararlos y aplicar la metodología propuesta lo que conlleva a la reafirmación de la estandarización del proceso de gestión del proyectos.
(Sommerville, 2011) La ingeniería de software es una disciplina de la ingeniería que se interesa por todos los aspectos de la producción de software.
Hoy día es cada vez más frecuente la consideración de la Ingeniería del Software como una nueva área de la Ingeniería, y el Ingeniero del Software comienza a ser una profesión implantada en el mundo laboral internacional, con derechos, deberes y responsabilidades que cumplir, junto a una, ya, reconocida consideración social en el mundo empresarial y, por suerte, para esas personas con brillante futuro.
Aunque los más populares creadores y promotores de las metodologías ágiles han suscrito el manifiesto ágil y coinciden con los principios enunciados anteriormente, existen varias metodologías basadas en estos principios, cada una tiene sus propias características y enfatiza en algunos aspectos específicos. A continuación, se resumen alunas metodologías ágiles.
Método desarrollado por Ken Schwaber, Jeff Sutherland y Mike Beedle. Define un marco para la gestión de proyectos, que se ha utilizado con éxito durante los últimos 10 años.
Está especialmente indicada para proyectos con un rápido cambio de requisitos.
Sus principales características se pueden resumir en:
(Extrema, 2012) La Programación Extrema consiste en un conjunto de prácticas que a lo largo de los años han demostrado ser las mejores prácticas de desarrollo de software, llevadas al extremo, fundamentadas en los valores de las metodologías ágiles.
Ventajas
Desventajas
Esta metodología se la recomienda en proyectos que sean cambiantes y con requisitos que sean imprecisos.
(Methodologies, 2012) Consiste en un conjunto de metodologías para el desarrollo de software caracterizadas por estar centradas en las personas que componen el equipo y la reducción al máximo del número de artefactos producidos.
El desarrollo de software se considera un juego cooperativo de invención y comunicación, limitado por los recursos a utilizar. El equipo de desarrollo es clave, por lo que deben invertirse esfuerzos en mejorar sus habilidades y destrezas, así como tener políticas de trabajo en equipo bien definidos. Estas políticas dependerán del tamaño del equipo, definiéndose una clasificación por colores, por ejemplo Crystal Clear (3 a 8 miembros) y Crystal Orange (25 a 50 miembros).
(Method, 2012) (Scrum, 2012) Define el marco para desarrollar un proceso de producción de software. Se enfoca en crear una metodología RAD unificada. Sus principales características son:
Se generan grandes cambios en las metodologías adoptadas por los equipos por la necesidad de que los proyectos concluyan exitosamente y obtener un producto de gran valor para el cliente, puesto que, unas se adaptan mejor que otras, al contexto del proyecto, brindando mejores ventajas.
El éxito del proyecto y la calidad del producto que sea de gran valor para el cliente dependen en gran parte de la metodología escogida por el equipo, sea esta tradicional o ágil, puesto que es necesario que los equipos maximicen su potencial, aumenten la calidad del producto con los recursos y tiempos establecidos.
El siguiente cuadro muestra las principales diferencias respecto del proceso, equipo y organización que es más conveniente a cada una de estos esquemas de desarrollo de software.
Como prueba del uso de las metodologías ágiles se presenta a continuación la aplicación de la Metodología SCRUM en el Proyecto “ABC de la Democracia” perteneciente al proceso de titulación de las Carreras de Ingeniería en Sistemas Computacionales e Ingeniería en Networking y Telecomunicaciones.
(CHANCUSI, 2012) SCRUM es un método ágil de gestión de proyectos que tiene como objetivo principal obtener la máxima productividad del equipo de desarrollo. Minimiza las actividades que no corresponden a la producción de software funcional y produce resultados en cortos períodos de tiempo. Esta metodología enfatiza valores y prácticas de gestión, sin pronunciarse sobre requerimientos, prácticas de desarrollo, implementación y demás cuestiones técnicas las cuales son delegadas completamente al equipo para que decidan la mejor manera de trabajar para ser lo más productivos posibles.
(Scrum, 2012) La palabra SCRUM procede de la terminología del juego de rugby, donde SCRUM se define como el acto de preparar el avance del equipo en unidad pasando el balón entre uno y otro jugador. SCRUM fue desarrollado por Jeff Sutherland y elaborado más formalmente por Ken Schwaber. Poco después Sutherland y Schwaber se unieron para refinar y extender la metodología SCRUM y ha llegado a ser conocida como una herramienta de hiperproductividad.
SCRUM no sólo es un método para desarrollo de software, sino que se puede aplicar teóricamente a cualquier contexto en donde un grupo de personas necesita trabajar junta para lograr un objetivo común.
Scrum controla la evolución del proyecto a través de las siguientes prácticas de la gestión ágil:
Cada vez que se finaliza las iteraciones o sprints se lleva a cabo una revisión con todas las personas implicadas en el proyecto.
Quiere decir que al final de cada iteración se dispone de una parte de producto operativa, que se puede inspeccionar y evaluar.
Los modelos de gestión ágil se emplean para trabajar en entornos de incertidumbre e inestabilidad de requisitos.
En Scrum los equipos son auto-organizados (no auto-dirigidos), con margen de decisión suficiente para tomar las decisiones que consideren oportunas.
Cada miembro del equipo debe colaborar de forma abierta con los demás, según sus capacidades y no según su rol o su puesto.
Reunión de trabajo previa al inicio de cada sprint donde se define cuál va a ser el trabajo y los objetivos a conseguir en la iteración.
Corta revisión, en la que diariamente cada miembro del equipo describe tres cuestiones:
Análisis y revisión del incremento generado.
Lista de requerimientos o historias de usuario que crece y evoluciona durante el desarrollo.
Lista de las tareas que el equipo debe realizar durante el sprint para generar el incremento esperado.
Resultado de cada iteración.
Las personas que intervienen en SCRUM se clasifican en dos grupos: comprometidos e implicados. En relación a la metodología se acostumbra llamar a los primeros (sin ninguna connotación peyorativa) “cerdos” y a los segundos “gallinas”.
El nombre de los miembros del equipo y los externos se deriva de una típica fábula agilista: un cerdo y una gallina discutían qué nombre ponerle a un nuevo restaurante; la gallina propuso “Jamón y Huevos”. “No, gracias”, respondió el cerdo, “Yo estaré comprometido, mientras tú sólo implicada”.
El origen de estos nombres es esta metáfora que ilustra de forma gráfica la diferencia entre “compromiso” e “implicación” con el proyecto.
Es el responsable de lograr el mayor valor de producto para los clientes, usuarios y resto de implicados.
Grupo o grupos de trabajo que desarrollan el producto.
Responsable del funcionamiento de la metodología Scrum en la organización.
Los roles gallina en realidad no son parte del proceso Scrum, pero deben tenerse en cuenta. Un aspecto importante de una aproximación ágil es la práctica de involucrar en el proceso a los usuarios, expertos del negocio y otros interesados (stakeholders).
Desde el punto de vista estratégico, la aplicación del Framework de Trabajo Propuesto que integra la utilización de la metodología SCRUM en el desarrollo de los proyectos de manera que se puedan utilizar correctamente los recursos para asegurar la consecución de resultados óptimos de las instituciones educativas.
Desde el punto de vista práctico, permitirá a las instituciones educativas lograr con éxito sus objetivos, lo cual les permitirán darse a conocer, superar sus expectativas, demostrar sus capacidades, en pro de ganar nuevos y mejores proyectos y alcanzar la excelencia.
Desde el punto de vista teórico, esta investigación permitirá evaluar cómo las mejores prácticas en las distintas áreas de conocimiento y la ingeniería de software, pueden ser adaptadas a cualquier tipo de proyectos y necesidades particulares, tomando en cuenta las características propias de cada caso.
Desde el punto de vista metodológico, esta investigación servirá como punto de referencia para futuros trabajos e investigaciones relacionadas con la aplicación de las mejores prácticas en cada una de las áreas de conocimiento dentro del campo de la Ingeniería de Software y la utilización de la metodología ágil SCRUM.
Se puede decir entonces por todos estos motivos que el nivel de factibilidad de esta propuesta es alto. Para esto a continuación se presenta un gráfico en el cual se nota según portales web, el uso de estas metodologías especialmente la SCRUM.
La situación surge debido a que el éxito de la institución se mide en la actualidad por la cantidad de estudiantes que se titulan, por lo cual se genera una premura en la organización por agilizar este proceso comprometiéndose así con muchas instituciones en su mayoría públicas.
Teniendo como referencia esta situación el accionar de la institución y el logro de sus metas se demoran y problematizan dado que los estudiantes en su afán de terminar el proyecto no aplican correctamente o incluso en ningún momento las metodologías que de por si no son aplicables a los proyectos asignados por la Carrera causando así la gran demora y poca calidad en la entrega del producto. Por otra parte el proceso de titulación se dilata, debido a la falta de gestión de los Proyectos de titulación afectando al accionar de la institución. Por último lugar las entidades interesadas en el producto, reciben en un tiempo tardío un producto que no cumple con sus expectativas lo que provoca el descontento por la experiencia promoviendo así no volver a confiar los proyectos a la institución educativa.
Art. 16.- Todas las personas, en forma individual o colectiva, tienen derecho a:
2. El acceso universal a las tecnologías de información y comunicación.
Art. 350.- “El sistema de educación superior tiene como finalidad la formación académica y profesional con visión científica y humanista; la investigación científica y tecnológica; la innovación, promoción, desarrollo y difusión de los saberes y las culturas; la construcción de soluciones para los problemas del país, en relación con los objetivos del régimen de desarrollo.”
Art. 25.- Son funciones del Consejo Nacional Electoral:
17. Promover la formación cívica y democrática de los ciudadanos incorporando el principio de interculturalidad.
Los comentarios al artículo son responsabilidad exclusiva del remitente.
Si necesita algún tipo de información referente al articulo póngase en contacto con el email suministrado por el autor del articulo al principio del mismo.
Un comentario no es mas que un simple medio para comunicar su opinion a futuros lectores.
El autor del articulo no esta obligado a responder o leer comentarios referentes al articulo.
Al escribir un comentario, debe tener en cuenta que recibirá notificaciones cada vez que alguien escriba un nuevo comentario en este articulo.
Eumed.net se reserva el derecho de eliminar aquellos comentarios que tengan lenguaje inadecuado o agresivo.
Si usted considera que algún comentario de esta página es inadecuado o agresivo, por favor,pulse aqui.