Post on 24-Feb-2018
7/25/2019 Scrum ejemplo
1/12
MTODO GIL SCRUM, APLICADO A LA IMPLANTACIN DE UNSISTEMA INFORMTICO PARA EL PROCESO DE RECOLECCIN
MASIVA DE INFORMACIN CON TECNOLOGA MVIL
Klber Toapanta Chancusi1, Marco Vergara Ordoez
2, Mauricio Campaa Ortega
3
1 ESCUELA POLITCNICA DEL EJERCITO, ESPE, klever_tortu@hotmail.com
2 ESCUELA POLITCNICA DEL EJERCITO, ESPE, mavergara@espe.edu.ec
3 ESCUELA POLITCNICA DEL EJERCITO, ESPE, emcampania@espe.edu.ec
RESUMENEl mercado actual es altamente competitivo y cambiante. En ese contexto el desarrollo del Software
busca bsicamente rapidez, calidad y reduccin de costos en la ejecucin de sus proyectos; para asumirestos retos es necesario tener agilidad y flexibilidad. Estas caractersticas se constituyen en el fundamentomismo de las metodologas agiles de desarrollo.
En el mbito de las metodologas de desarrollo de software existe un gran nmero de alternativas y losresponsables de cada proyecto tienen la difcil tarea de seleccionar la alternativa que mejor se ajuste a susnecesidades y recursos.
El presente estudio se enfoc en el anlisis del mtodo gil SCRUM para la implementacin de unametodologa aplicada al desarrollo de software para la recoleccin masiva de informacin con dispositivosmviles.
La ejecucin y culminacin del proyecto permiti establecer una metodologa basada en Scrum,complementada con otros mtodos. El resultado es un producto de software funcional, en cuyo desarrollo sepudo demostrar la validez de Scrum aplicado a proyectos de software de mediano tamao, en entornoscambiantes, con grupos de trabajo pequeos que involucran permanentemente al dueo del producto.
Palabras Clave:Scrum aplicado al desarrollo de software.
ABSTRACTThe current market is very competitive and always is changing. For this reason the development of the
Software is looking for speed, quality and cost reduction in the execution of their projects, to take on thesechallenges is necessary to have agility and flexibility, these characteristics constitute the basis for agile
development methodologies.In the area of the methodologies used to address software development projects there are a lot of
alternatives, and the responsible of each project must to select the best alternative according their needsand resources.
The project is focused on the study of agile method SCRUM and implementation of a methodologyapplied to software development for the massive collection of information with mobile devices, usingSCRUM.
The execution and completion of the project allowed to establish a methodology based in SCRUM,supplemented with other methods. The result is a functional software product, that helped to demonstrate theeffectiveness of SCRUM applied to software projects of medium size, in changing environments, with smallgroups of work constantly involving the product owner.
KeyWords: Scrum applied to software development.
7/25/2019 Scrum ejemplo
2/12
2
1. INTRODUCCIN
Los crecientes avances en la tecnologa de telefona mvil han permitido que los dispositivos mvilespasen de ser simples telfonos celulares a ser fuentes de entretenimiento, puntos de acceso a internet o porque no estaciones de trabajo mviles. Es precisamente la posibilidad de acceder al servicio de internet la
que ha permitido a la empresa ASISTECOM Ca. Ltda. (Proveedor de soluciones tcnicas-operativas aempresas dedicadas a la prestacin de servicios bsicos y/o complementarios) la optimizacin de procesode recoleccin masiva de informacin IN SITU.
En al caso presente, la informacin que es recolectada se refiere a las lecturas de los medidores deconsumo de energa elctrica en DMQ.
El proceso se encontraba automatizado utilizando software de un proveedor externo, aplicacin que seejecutaba sobre la plataforma D.O.S; presentaba dificultades para su ejecucin en Windows XP y no eracompatible con versiones superiores de Windows (Vista, 7, futuras versiones).
Los dispositivos mviles que se usaban en esta aplicacin eran de arquitectura cerrada, utilizadosnicamente para ese propsito especfico, lo que elevaba los costos de adquisicin y mantenimiento.
La ejecucin del presente proyecto permiti el desarrollo de un sistema que se ejecuta sobre cualquierplataforma Windows con soporte para .NET Framework 4.0; utiliza dispositivos mviles modernos, no
especficos, lo que permite aprovechar el acceso a internet disponible actualmente; esto facilita elintercambiar informacin con el servidor central de datos. Esta caracterstica fue el principal objetivoplanteado por el Product Owner.
La implementacin y utilizacin del sistema desarrollado ha permitido optimizar el proceso, disminuirconsiderablemente los recursos utilizados y brindar un mejor servicio a sus clientes.
Para el desarrollo de la aplicacin descrita, se plante el estudio y utilizacin del Mtodo gil Scrum,aplicado al desarrollo de software, lo cual constituye un aporte significativo en el estudio y utilizacin demetodologas giles de desarrollo como alternativa a las metodologas tradicionales.
La ejecucin del proyecto permiti adems evidenciar las fortalezas y debilidades de la utilizacin deScrum en proyectos de desarrollo de software.
7/25/2019 Scrum ejemplo
3/12
3
2. METODOLOGA
Es necesario aclarar que SCRUM, ms que una metodologa de desarrollo de software, es un mtodo degestin de proyectos, el cual puede adaptarse a cualquier tipo de proyecto y no nicamente a los dedesarrollo de software. Aplicada al desarrollo de software, est basado en el modelo de las metodologasgiles, incrementales, basadas en iteraciones y revisiones continuas. El objetivo principal es elevar almximo la productividad del equipo de desarrollo. Reduce al mximo las actividades no orientadas aproducir software funcional y produce resultados en periodos cortos de tiempo.
Como mtodo, enfatiza valores y prcticas de gestin, sin pronunciarse sobre requerimientos, prcticasde desarrollo, implementacin y dems cuestiones tcnicas. Ms bien delega completamente al equipo laresponsabilidad de decidir la mejor manera de trabajar para ser lo ms productivos posibles. Es estacaracterstica hizo que, durante la ejecucin del proyecto se complementara la filosofa del mtodo Scrumcon herramientas, mtodos y procedimientos utilizados en otras metodologas, tanto giles comotradicionales.
La Figura 1esquematiza el mtodo Scrum aplicado el proyecto de recoleccin masiva de informacin
(R.M.I.).
Modeladodelnegocio
Requisitos
Anlisis ydiseo
Implementacin
Pruebas/Despliegue
7/25/2019 Scrum ejemplo
4/12
4
La Figura 2 detalla los objetivos planteados en cada Sprint desarrollado durante la ejecucin del proyectoR.M.I.
Sprint 2
Mdulo de Gestin
Sprint 1
Mdulo de Administracin
Sprint 3
Aplicacin Mvil
Sprint 4
Sincronizacin en Lnea
Backlog
Producto
Backlog Sprint1
Backlog Sprint2
Backlog Sprint3
Backlog Sprint4
Sprint 0
Planificacin Inicial
Planificacin InicialModelado del NegocioRequisitos
Anlisis y Diseo
Mdulo GestinAdmin. de perfilesAdmin. de planes de trabajoAsignacin lecturasSincronizacin
Sincronizacin en lneaServicio WCFSincronizacin
Mdulo Aplicacin MvilControl AccesoMantenimientoLecturas asignadasLecturas excedentes
Mdulo administracinAdministracin de SeguridadAdministracin de UsuariosAdministracin de equiposAdministracin Perfiles
Figura 2 Sprints del proyecto de R.M.I
7/25/2019 Scrum ejemplo
5/12
5
2.2 Fases
Cada iteracin o Sprint del proyecto puede entenderse como un pequeo proyecto individual; en cadaiteracin se repite un proceso de trabajo similar (iterativo) para proporcionar un resultado completo sobre elproducto final, as el Product Owner obtiene los beneficios del proyecto de forma incremental.
La ejecucin de cada Sprint del proyecto puede dividirse en 5 fases, similares al ciclo de vida del modeloen cascada, como se muestra en la Figura 3.
Modelado delnegocio
Requisitos
Anlisis y diseo
Implementacin
Pruebas/Despliegue
Figura 3 Fases de un Sprint del proyecto de R.M.I.
2.2.1 Modelado del negocio
El modelado del negocio tiene como objetivo el comprender y describir de forma simplificada la realidaddel negocio.
Esta fase se la llevo a cabo principalmente durante el Sprint 0, el cual tena como objetivo analizar elnegocio, los requerimientos, plantear una arquitectura base y planificar en forma macro el trabajo a realizaren los Sprints 1,2 ,3 y 4.
Durante el desarrollo de los Sprints planificados, se realizaron afinamientos especficos a los objetivos decada Sprint.
2.2.2 Requisitos
Esta fase tiene como propsito especificar las funcionalidades que sern implementadas durante elSprint.
En el Sprint 0 se especificaron las funcionalidades de toda la aplicacin, mientras que en cada Sprint seanaliz de forma detallas los requerimientos especficos, segn los objetivos planteados.
2.2.3 Anlisis y diseo
El anlisis intenta descubrir qu es lo que realmente se necesita, para llegar a una comprensinadecuada de los requerimientos (Qu hacer?). El diseo representa las caractersticas que permitirn laimplementacin de los requerimientos en forma efectiva (Cmo hacerlo?).
Respecto del diseo, en el Sprint 0 se plante una arquitectura candidata, la misma que fue ratificada o
modificada, segn el anlisis de los requerimientos a implementar en cada Sprint.
7/25/2019 Scrum ejemplo
6/12
6
2.2.4 Implementacin
En esta etapa, el equipo de desarrollo implementa las funcionalidades necesarias, de acuerdo a lasespecificaciones analizadas y segn el diseo planteado.
Esta etapa fue pasada por alto en el Sprint 0, pues el objetivo de este Sprint, fue el de analizar yplanificar el proyecto como tal. En los Sprints 1, 2, 3 y 4 el resultado de esta etapa fue el incremento defuncionalidades en una versin estable (utilizable) del sistema.
2.2.5 Pruebas / Despliegue
La etapa de pruebas tiene como objetivo garantizar el correcto funcionamiento de las funcionalidadesimplementadas.
Durante la ejecucin del proyecto, la etapa de pruebas se la llevo a cabo tanto por los responsables de laimplementacin como de los usuarios del producto que formaban parte del Team del proyecto.
Para que el usuario pueda realizar las pruebas, fue necesario realizar un despliegue o implantacin de laaplicacin en un entorno de testing, esto se llev a cabo con cada incremento de la aplicacin.
3. DISEO E IMPLEMENTACIN
Como resultado del anlisis y planificacin realizados en el Sprint0, se planific el desarrollo de laaplicacin en 4 Sprints, cada sprint con el objetivo de implementa un mdulo independiente.
Sprint1: Mdulo Administracin
Sprint2: Mdulo Gestin (Procesamiento de la informacin)
Sprint3: Mdulo Gestin en campo (Aplicacin para dispositivos mviles)
Sprint4: Sincronizacin en lnea.
Las funcionalidades a implementar en cada Sprint fueron descritas utilizando historias de usuario
priorizadas segn la importancia que estas tenan para el Product Owner. Posteriormente se analizaron lashistorias de usuario utilizando casos de uso y sus respectivas especificaciones.
En base al anlisis realizado en el Sprint0 se plante un modelo Cliente Servidor basado en undesarrollo de N capas (Figura 4), arquitectura predominante para la construccin de software.
Aplicacin Mvil
Capa de Entidades
Capa de presentacin
GUI - Graphical User Interface
Capa Lgica de Negocio
BLL - Business Logic Layer
Capa de Acceso a Datos L ocales
DAL - Data Access Layer
Servidor Central de Datos
Capa de Datos
Aplicacin Escritorio
Capa de Acceso a Datos
DAL - Data Access Layer
Capa Lgica de Negocio
BLL - Business Logic Layer
Capa de EntidadesBEL - Business Entities
Layer
Capa de presentacin
GUI - Graphical User Interface
Figura 4 Diagrama Lgico Sistema R.M.I.
La Figura 5 muestra el diagrama fsico de la aplicacin implementada.
7/25/2019 Scrum ejemplo
7/12
7
Figura 5 Diagrama Fsico - Sistema R.M.I.
4. ENTREGABLES DEL PROYECTO
A continuacin se indican y describen cada uno de los artefactos que se generaron durante la ejecucinde proyecto y que constituyen los entregables del mismo. Como se haba mencionado previamente,SCRUM no es una metodologa de Desarrollo de software, de forma que no existe una especificacin deartefactos a utilizar, aunque se utiliz modelos y procesos utilizados en otras metodologas como RUP y XP.
Es preciso destacar que de acuerdo a la filosofa de RUP y de casi todos los procesos iterativos eincrementales, todos los artefactos son objeto de modificaciones a lo largo del proceso de desarrollo, y sloal trmino del proceso podramos tener una versin definitiva y completa de cada uno de ellos. Sinembargo, cada iteracin estaba orientada a conseguir un cierto grado de completitud y estabilidad de losartefactos.
4.1 Modelo de Casos de Uso del Negocio
Se model para cada Sprint las funciones del negocio vistas desde la perspectiva de los actoresexternos (Usuario Administrador, Usuario Lecturista, Usuario Supervisor).
7/25/2019 Scrum ejemplo
8/12
8
4.2 Especificacin de Casos de Uso
De acuerdo a los modelos de casos de uso identificados para cada Sprint, se realiz una descripcindetallada del caso de uso, utilizando una plantilla de documento donde se incluyen: nombre, identificacin,descripcin, pre condicin, post condicin, excepciones y notas adicionales, como se muestra en la Figura
6.
Figura 6 Plantilla para especificacin de casos de uso
4.3 Modelo de datos
La informacin del sistema es soportada por una base de datos relacional, por tanto este modelodescribe la representacin lgica de los datos. Para expresar este modelo se utiliza un diagrama que
permita la representacin de tablas, claves, etc.En cada Sprint se especific el modelo correspondiente al mdulo a implementar. La Figura 7 muestra elmodelo de datos del sistema para recoleccin masiva de informacin con tecnologa mvil .
7/25/2019 Scrum ejemplo
9/12
9
4.4 Modelo de Diseo
En cada Sprint se especific mediante diagramas que permitan visualizar la interaccin entre losdiferentes componentes del sistema. La Figura 8 muestra como ejemplo, el diagrama de componentes parael mdulo de administracin, basada en la arquitectura de la aplicacin de escritorio descrita previamente
en la Figura 4 Diagrama Lgico Sistema R.M.I.
7/25/2019 Scrum ejemplo
10/12
10
4.6 Checklist de Pruebas
Para llevar un control del correcto funcionamiento de los componentes y las funcionalidadesimplementadas, se registr en archivos de Excel los casos de prueba, valores de entrada, resultadosesperados y resultados obtenidos.
La Figura 10 muestra un ejemplo parcial del checklist de pruebas utilizado en el Sprint1- Mdulo deAdministracin.
Figura 10 Parcial Checklist de pruebas - Sprint 1
4.7 Producto
Los archivos del producto fueron empaquetados y subidos a un repositorio compartido, conjuntamentecon los requisitos adicionales necesarios. El producto, a partir de la primera fase de Construccin delSprint1 es desarrollado incremental e iterativamente, obtenindose un nuevo release al final de cadaiteracin.
Despus del primer release, solo fue necesario remplazar o agregar los archivos (*.DLL) al directorio deejecucin de la aplicacin.
4.8 Manuales
Sobre la versin final del producto, se gener el respectivo manual que permita al usuario la fcilinstalacin y utilizacin del software implementado.
5. RESULTADOS
La aplicacin del Mtodo gil SCRUM permiti la conclusin exitosa del proyecto de desarrollo desoftware para ASISTECOM Ca. Ltda. , empresa proveedora de soluciones tcnicas-operativas, a empresadedicadas a la prestacin de servicios bsicos y/o complementarios.
El producto final de la ejecucin del proyecto utilizando SCRUM es el software instalado en un ambientede produccin, que es utilizado para la recoleccin masiva de informacin utilizando dispositivos mviles.
En el Sprint0 se levanto una tabla de requerimientos funcionales y no funcionales de acuerdo a lo que elProduct Owner esperaba obtener del software a desarrollar, analizando estos requerimientos, se planificatender dichos requerimientos agrupados en tres mdulos (M. Administracin, M. Gestin, M. Gestin enCampo), cada uno en un Sprint y un Sprint adicional para implementar el tema de sincronizacin en lnea.La Tabla 1 resume los requerimientos especificados y los resultados obtenidos.
7/25/2019 Scrum ejemplo
11/12
11
Tabla 1 Resultados / Requerimientos
Requerimiento Importanciaa(Product Owner)
Objetivos planteados Resultados Obtenidos
Mdulo de
Administracin 700
Proporcionar las funcionalidadesnecesarias para la administracinde recursos utilizados en elproceso.
Implementado en el Sprint1, se cumpli con elobjetivo; adicionalmente se identific la necesidadde manejar perfiles de seguridad para controlar elacceso a la aplicacin, estos se plantearon comoobjetivo adicional del Sprint e inicialmente no fueposible implementarlos en el Sprint 1, pero seplantearon como tareas del Sprint2 y fueronimplementados exitosamente, sobrepasando lasexpectativas del Product Owner (P.O).
Mdulo de
Gestin800
Implementar las funcionalidadesnecesarias para gestionarinformacin de entrada y salidadel proceso. Esto es cargar planesde trabajo, asignar rutas a
lecturistas y establecer elesquema de transferencia deinformacin a los dispositivosmviles, a traes del puerto USB.
Implementado en el Sprint2, se cumpli con elobjetivo. La manera en que se implementaron lasfuncionalidades identificadas satisficieron lasexpectativas del P.O. En este Sprint se incluyodentro del Backlog del Sprint las tareas pendientes
del Sprint1.
Mdulo de
Gestin en
Campo
900
Aplicacin para dispositivosmviles, con funcionalidad pararecoleccin y almacenamiento deinformacin gestionada en campocon dispositivos mviles.
Implementado en el Sprint3, fue completadoexitosamente. Fue necesario realizar variaspruebas a nivel funcional, especialmente para quela aplicacin instalada en los dispositivos mviles,resultara intuitiva y de fcil manejo para losusuarios lecturistas.
Sincronizacin
en lnea 1000
OBJETIVO PRINCIPAL, agilitar el
proceso de sincronizacin dedatos, util izando un esquematransferencia de datos en lnea,mediante al acceso a internet delos dispositivos mviles.
Implementado en el Sprint4, fue completadoexitosamente. Este era el punto de mayorimportancia para el P.O., puesto que unaimplementacin exitosa resultara en un ahorro
considerable de recursos para la empresa. Laimplementacin no requiri de un esfuerzoexcesivo, esto debido a una correcta reutilizacinde componentes desarrollados previamente en elSprint2.
Para el negocio, el presente trabajo derivo en la disminucin significativa de tiempos de ejecucin delproceso de recoleccin masiva de informacin con dispositivos mviles, de uno de sus principales clientesEmpresa Elctrica de Quito, esto como resultado de la implementacin de las funcionalidades desincronizacin en lnea.
Otro resultado importante es el marco de trabajo establecido en Asistecom para el desarrollo de nuevasfuncionalidades del software desarrollado o para requerimientos de mantenimiento del mismo, utilizando lametodologa generada como resultado del presente trabajo (Metodologa Basada en el Mtodo SCRUM).
7/25/2019 Scrum ejemplo
12/12
12
6. CONCLUSIONES
Siendo SCRUM un mtodo de gestin de proyectos en general, este est siendo utilizada conbastante xito en el rea del desarrollo de software. Los resultados obtenidos en la ejecucin delpresente proyecto, permiten evidenciar su validez, especialmente en proyectos pequeos ymedianos, con entornos cambiantes, grupos de trabajo pequeos que involucranpermanentemente al dueo del producto.
Como metodologa de desarrollo, SCRUM deja algunos vacos, especialmente en lo referente alos artefactos o entregables a utilizar. Estos vacos metodolgicos fueron exitosamentecomplementados utilizando modelos de otras metodologas, especialmente R.U.P. y X.P.
La comunicacin constante entre todos los implicados del proyecto se constituy en un pilarfundamental de la conclusin exitosa del mismo. Scrum indica que se deben realizar reunionesdiarias con los miembros del equipo; si bien esto no fue posible realizar, se procur mantenercomo mnimo una reunin semanal. Estas reuniones permitan evaluar continuamente losavances de las tareas planteadas para cada sprint, aclarar duras cuando estas se presentaba,
replantear los tiempos asignados para el cumplimiento de tareas tanto de codificacin como depruebas y tomar los correctivos necesarios a tiempo.