Está en la página 1de 6

1

lin.wang@epn.edu.ec

Aplicando Scrum en un Proyecto


Interdisciplinario usando Big Data, Internet de
Cosas, y Tarjetas de Crdito
Lissette Angulo, Alejandro Flores
Escuela Politcnica Nacional
Quito, Ecuador
xavier.flores@epn.edu.ec

AbstractEste documento describe el uso de Scrum en un


proyecto de software colaborativo. Se aplica el desarrollo de
software gil, el big data, y el Internet de las cosas para reducir
los fraudes dentro de las operaciones de tarjetas de crdito.
Reporta la experiencia de estudiantes de tres cursos diferentes
que cursaron el posgrado en Ingeniera Electrnica e Informtica
en el Instituto Tecnolgico de Aeronutica (ITA) durante el
primer semestre de 2014. La principal contribucin de este
trabajo es la aplicacin de Interdisciplinary Problem Based
Learning (IPBL).
Este trabajo se realiz durante cuatro sprints del proyecto en
diecisiete semanas. La salida principal era el software de trabajo,
desarrollado y probado usando Scrum. Al final, se utiliz un gran
entorno de datos como una forma transparente de satisfacer las
necesidades de los analistas de transacciones financieras.
Keywords- Problem Based Learning, Mtodo gil
Scrum,
Necesidades de Analistas de transacciones
financieras.

I.

INTRODUCCIN

l Internet de las cosas(IoT) es la tendencia tecnolgica


para el 2014. En este ao ms de 12 billones de
dispositivos estaban conectados al Internet. Cualquier
actividad que involucre multiples cosas, servicios y/o personas
es una opcin para IoT. Este concepto puede ser encontrado en
reas como la medicina, la produccin idustrial, comercio
electrnico, entre otros. Esto esta permite compras con
comercio electrnico desde diferentes dispositivos.
La principal desventaja de comprar con transacciones
electrnicas est relacionado a fraudes en la web.

En este contexto, el Instituto Tecnolgico de Aeronutica ha


desarrollado un prototipo llamado Big Date, Internet de las
cosas y tarjetas de crdito (BDI-C3). BDI-C3 fue desarrollado

acadmicamente como Prueba de concepto (Proof of


Concept
,PoC)
usando
el
enfoque
de
IPBL
(Interdisciplinary Problem Based Learning).

II. ANTECEDENTES
Las principales definiciones relacionadas con el
documento han sido:
A. Big Data

Big Data es una gran cantidad de datos que pueden ser


capturados, comunicados, agregado, almacenado y analizados.
La definicin de Big Data puede variar segn el sector,
dependiendo de qu tipo de herramientas de software estn
disponibles y el volumen del conjunto de datos.
Internet de las cosas
El Internet de las cosas (IoT) es un concepto informtico
que describe un futuro en el que los objetos fsicos cotidianos
estarn conectados a Internet, siendo posible su identificacin
e interaccin con otros dispositivos.
B.

C. Fraude de tarjetas de crditos

El fraude de tarjetas de crdito ha estado incrementndose


alrededor del mundo. Existe un mayor fraude en tarjetas de
crdito que las de dbito segn estudios. Se estima que Brasil
ocupa el 5to puesto con fraudes de tarjetas de crdito.
La temtica de fraude en las tarjetas de crdito fue
seleccionado para IPBL, debido a que se encuentra
relacionado con Big Data y IoT, en el que los tipos de
dispositivos, humanos y cosas, producen masivas
cantidades de datos de transacciones, que requieren anlisis en
tiempo real.
D. Scrum

Scrum es un framework que ha sido usado por aos para


resolver problemas complejos de adaptacin. Como cualquier

2
framework, uno es libre para adaptarlo, con el fin de adaptarse
a los propsitos especficos, empleando varios procesos,
tecnicas.

a travs de lecturas y materiales guiados, el concepto de


mtodos giles.
En el sprint 0, los estudiantes de testing han creado la visin
del producto como un importante artefacto gil usado para

III. ADAPTACIN DE SCRUM PARA FINES ACADMICOS


El proyecto BDI-C3 se llev a cabo durante diecisiete
semanas, con la participacin de cuarenta estudiantes, dos
profesores dentro de tres cursos del Programa de Posgrados en
Ingeniera Electrnica e Informtica en ITA.
Los estudiantes del Curso de Pruebas (CE-229) han actuado
como POs y Testers, mientras que los estudiantes de los otros
cursos (Proyecto de Sistemas de Base de Datos-CE-240 y
Tecnologas de la Informacin-CE-245) han actuado como
miembros del Equipo de Desarrollo. El proyecto del curso y
los roles de Scrum Master fueron sometidos a adaptaciones. Al
principio, cada curso tena un Scrum Master y en el ltimo
proyecto Sprint fue necesario especificar un Scrum Master
para cada Team Scrum, aplicando el concepto de Scrum of
Scrums.
Los posibles problemas de comunicacin fueron mitigados
con el uso de herramientas gratuitas disponibles en Internet,
como Google Docs Suite, Google Drive, Google Hangouts,
Skype, Github, Trello, entre otros. Para centralizar la
informacin compartida, se cre un sitio web para el proyecto
utilizando Google Sites, como se muestra en la Fig1

Visin del producto


Para corporaciones de transacciones electrnicas que
necesita analizar transacciones de sus clientes.
BDCI-C3 es un anlisis en tiempo real y un sistema de
deteccin de fraude que minimiza el dao y mejore la
reputacin de la compaa.
Diferentemente de ACI Proactive Risk Manager , FICO
Falcon Fraud Manager, IBM System z. Decision Manager y
GAteKeeper: 2.0, nuestro producto es acadmicamente
desarrollado con prcticas giles y pruebas, que involucran
un gran volumen de datos y el internet de las cosas.

identificar y describir el trabajos destacado a ser desarrollado.


La visin del producto El BDI-C3L es como muestra la Fig 2.
Fig 2. Visin del producto BDI-C3

Con el fin de ayudar a los estudiantes a entender el


problema, se gener la primera versin de un posible diseo
de arquitectura. El diseo de arquitectura propuesto fue
diseado para seleccionar las herramientas de entorno de
Apache Hadoop. La biblioteca del software Apache Hadoop es
un framework que permite el procesamiento distribuido de un
largo conjunto de datos a travs de clusters de computadoras
usando los modelos de programacin simple. En la Fig 3 se
indica los cursos divididos entre tecnologas OLAP (On-line
Analytical Processing) and OLTP (On-line Transaction
Processing) y herramientas.

Fig. 1. Pgina principal del proyecto BDI-C3

IV. ENFOQUE DEL IPBL


Esta seccin describe como el software para el proyecto
BDI-C3 fue desarrollado a travs de cuatro Sprints.
A. Sprint 0
El sprint 0 es una clase de proyecto-antes-del-proyecto
donde los POs y los miembros del equipo pueden trabajar
juntos creando un product backlog. Aparte de eso, esta etapa
fue una forma de difundir a travs de los miembros del equipo,

Fig 2. Arquitectura inicial y separacin entre grupos.

Tambin era necesario definir la distribucin Hadoop que


soporta herramientas y tecnologas presentadas dentro de la
arquitectura inicial. Para esto, las distribuciones gratis de IBM
BigInsights, Cloudera, and Pentaho Big Data fueron probadas.
Cloudera fue el elegido, principalmente debido a su sitio
bien documentado y por la posibilidad de descargar una
mquina virtual pre-configurada con la mayora de las

3
herramientas necesarias. Esta mquina virtual pre-configurada
permiti a los miembros de los tres cursos realizar pruebas en
una mquina local antes de enviar su cdigo a un repositorio
remoto en Github.
Una vez definida la arquitectura, los POs produjeron el
product backlog. Para la priorizacin, se utiliz la tcnica de
Business Value Game y, para estimar el esfuerzo, el Planning
Poker.
B. Sprint 1
Una vez elegida la distribucin de Cloudera Hadoop y
definida el product backlog, los estudiantes sugirieron una
reduccin en el alcance de las herramientas utilizadas. Esta
reduccin se sugiri para disminuir el nivel de complejidad
dentro del desarrollo. Despus de eso, una nueva versin de la
arquitectura ha surgido, incluyendo Cloudera y dos fuentes de
datos, una estructurada y una no estructurada, como se
muestra en la Fig 4.

atpicos a travs de grficas boxplot.


Al final del Sprint 1 se produjo un Sprint Review # 1. No
todas las caractersticas planificadas fueron entregadas o
aceptadas por las POs. Esto se puede notar a travs de
Burndown Charts, mostradas en la Fig 5. Las caractersticas
no entregadas se devuelven al Product Backlog para una futura
implementacin.

Fig 5. Sprint 1 Bumdown Chart para USS de gupos OLTP y OLAP.

Durante el Sprint Retrospective #1, de forma remota y


en colaboracin con la plataforma de Google Drive, los
estudiantes describieron que la comunicacin interna de
grupos estaba deteriorada.
Los estudiantes hicieron algunas recomendaciones para el
prximo Sprint: (i) la necesidad de una reunin o presencia
online entre las partes interesadas para alinear los objetivos y
eliminar dudas; (ii) la necesidad de un repositorio de proyectos
compartido (i.e Github, Bitbucket); y (iii) el uso de una
herramienta de foro de discusin.

Fig 4. Arquitectura BCDI-C3-Versin 2.

Este sprint apuntaba a definir el mecanismo de replicacin


de datos entre fuentes de datos (estructurado y no
estructurado) y permita el anlisis de transacciones
fraudulentas a travs de grficos.
En este proyecto, el desafo fue explorar la posibilidad de
replicacin automtica de datos, en tiempo real, de la
arquitectura relacional, representada por MySQL, a los datos
no estructurados, representados por Hadoop Distributed File
System (HDFS). Este reto fue superado con el uso de una
herramienta llamada MySQL Applier para Hadoop (Happlier).
Otro objetivo de este sprint fue la generacin automtica de
grficos, con el fin de ayudar a los analistas de fraude a
detectar transacciones sospechosas. Este objetivo se logr
integrando la arquitectura con el R System mediante llamadas
al sistema operativo. De esta forma, la aplicacin enva un
mensaje con los parmetros necesarios a R que genera la
respuesta, reenvindola a la aplicacin
Con el fin de identificar las transacciones sospechosas, se
utiliz un enfoque estadstico simple para detectar los valores

C. Sprint 2
El Sprint 2 tena como objetivo desarrollar procedimientos
para todas las tecnologas utilizadas en el diseo y la prctica
del desarrollo de Scrum, con el fin de entender cmo realizar
el desarrollo del software, utilizando un mtodo gil.
Durante la Sprint Planning#2, se propusieron cuatro
caractersticas para apoyar a los estudiantes a mejorar el
conocimiento de las tecnologas. Todas estas caractersticas se
documentaron y puso a disposicin en el Portal del proyecto.
Estas caractersticas ayudaron a los estudiantes a crear un
ambiente de desarrollo y prueba. Adems, dos nuevas historias
de usuario, User Stories (USs), fueron creados en el Sprint
Backlog # 2. Tres USs no fueron finalizados en Sprint 1. Las
divisiones del equipo fueron los mismos que en Sprint 1.
En Sprint 2, se defini la Reunin Semanal en Lnea
(Weekly Meeting Online ,WKO). Cada grupo de estudiantes
debe conducir una WKO. Los WKO consistir de al menos un
estudiante de cada curso para cada semana. Esto ha permitido
a los estudiantes trabajar de manera colaborativa y
cooperativa, aunque a distancia.
En este Sprint 2, todos los equipos comenzaron a revisar e
inspeccionar sus propios calendarios de desarrollo de hojas de
clculo (i.e. Google Sheets) disponibles a travs del portal y
Burndown Charts. Las hojas de clculo tenan informacin

4
relacionada con el Sprint Backlog, las prioridades de las USs,
la planificacin de las USs OLAP y OLTP, los casos de
prueba. Adems, se public una hoja de clculo para cada
equipo con el mtodo Kanban dividido en tres fases (i.e.
Hacer, Hacer y Hecho). El uso de Kanban ha permitido un
control detallado de las actividades con informacin
relacionada con los miembros de cada equipo y USs.

La tercera versin de la arquitectura del proyecto se muestra


en la Fig 6. En esta arquitectura, tambin fue posible
identificar la particin de Java entre el comercio electrnico y
la parte del anlisis de datos con big data. Dentro de la parte
de comercio electrnico, la aplicacin fue capaz de vender
artculos en la nube utilizando tarjetas de crdito. Los artculos
vendidos se almacenaron en la base de datos relacional y se
replicaron, en tiempo real, a HDFS a travs de Happlier. Esto
permiti el anlisis de datos usando Hadoop.

Con respecto a las caractersticas desarrolladas, la primera


caracterstica gener una documentacin completa sobre la
instalacin de tecnologas utilizada en el VM Cloudera en el
entorno del proyecto BDIC3. Esta documentacin fue
generada de forma colaborativa por estudiantes que
adquirieron conocimientos sobre tecnologas usadas (Java,
Eclipse IDE, MySQL, entre otros) durante el desarrollo del
proyecto. As, una VM fue creada y distribuida a los
estudiantes. Todo el mundo debera haber tenido el mismo
entorno de desarrollo, con el fin de explorar las herramientas
utilizadas en el contexto BDI-C3.
La segunda caracterstica fue responsable de crear una
cuenta en Github (https://github.com/projetobdic3/bdic3/)
donde se centraliz el desarrollo del proyecto. El uso de
Github ha permitido que los archivos utilizados en la
implementacin del proyecto estn disponibles para todos, en
cualquier momento, en cualquier lugar y sin cargo alguno.
Con el fin de ayudar a los estudiantes, se prepar un tutorial
completo sobre cmo usar el Github y el Git con Eclipse.
El resultado de la tercera caracterstica fue un conjunto de
datos basado en el modelo de base de datos relacional de
Sprint 1. El conjunto de datos carg las tablas principales de la
base de datos relacionadas con transacciones. Este conjunto de
datos ha permitido identificar mil fraudes conocidos en ms de
un milln de transacciones.
Cada transaccin de datos tena una identificacin de
georreferenciada y un nmero de tarjeta de crdito. Las
transacciones se mantuvieron por primera vez en una base de
datos relacional y luego se replicaron instantneamente a
HDFS en formato CSV, a travs de MySQL Hadoop Applier.
Para el anlisis posterior, se utiliz el HIVE y el CSVs
remapped como bases de datos y tablas correspondientes al
modelo relacional.
La cuarta funcin ha ayudado a implementar el concepto de
IoT creando un comercio electrnico. Se defini a Java con la
aplicacin Spring Framework, con herramientas de integracin
que facilitan y aceleran el desarrollo. Como Maven para
administrar el ciclo de vida de las aplicaciones y el control de
las dependencias y Hibernate para la persistencia de los datos.
Tambin se utiliz la arquitectura MVC (Model View
Controller) y la API REST, permitiendo la integracin de
cualquier dispositivo conectado a Internet. La aplicacin est
alojada en el servidor Apache Tomcat.

Fig 4. Arquitectura BCI-C3-Versin 3.

A travs del Maven, las bibliotecas de HIVE fueron


importadas en la aplicacin Java y el servidor de inicio en la
VM HIVE Cloudera. El analista de transacciones podra
realizar bsquedas, de forma transparente, utilizando Map
Reduce mediante la aplicacin de interfaces grficas.
Para el anlisis estadstico, la herramienta R es una buena
opcin. Sin embargo, es una herramienta independiente.
Durante el diseo del BDIC3, la intencin fue agregar anlisis
en scripts R dentro de la aplicacin Java. Para que esto sea
posible de una manera satisfactoria, la aplicacin Java ejecuta
Scripts R accediendo a los datos a travs de Impala, presenta
grficas y contornos al analista.
Para mostrar la distribucin geogrfica del fraude en Brasil,
se utiliz la aplicacin built-in Online Arcgis de Java y un
conjunto de datos con ms de diez mil fraudes identificados en
ms de un milln de transacciones que se han producido a lo
largo del primer semestre de 2013.
En el mapa de la Fig 7, las transacciones fraudulentas se
simbolizaban con el tamao proporcional de las transacciones.

5
present identificacin de fraude en tiempo real en mapas del
mundo.

Fig 7. Mapa de fraudes

Al final del Sprint 2, se observ a travs de Burndown


Charts, como se muestra en la Fig 8, que todos los USs fueron
completados y entregados. Es digno de mencin que en este
proyecto se considere que un US se entrega slo si se
desarroll, prob y aprob adecuadamente

Esta divisin surgi de la experiencia que cada equipo


adquiri durante los Sprints anteriores. El desarrollo del
proyecto se bas en IPBL, cada grupo de estudiantes tuvo que
encontrar soluciones especficas para el proyecto. Para
consolidar los conocimientos obtenidos, fue necesario integrar
las implementaciones de los cinco equipos en una aplicacin
nica. Las herramientas utilizadas para cada equipo se miran
en la Tabla 1.
El Sprint 3 se caracteriz como la integracin de todas las
caractersticas del proyecto BDI-C3. Un repositorio gratuito
en la nube (i.e. Github) era esencial para permitir el desarrollo
paralelo e integrado del Proyecto. La Figura 10 muestra el
tercer burndown chart de Sprint 3, con mejoras de los
anteriores Burndown charts, una vez que los equipos ganaron
experiencia en IPBL y Agile Development.
TABLA I. HERRAMIENTAS USADAS POR EQUIPO

Fig 8. El Burndown Charts del Sprint 2

Algunas sugerencias para Sprint 3 tambin fueron, el


aumento de la frecuencia de comits de Github, con el fin de
seguir la evolucin del cdigo fuente. Adems, debido a la
gran cantidad de estudiantes y la forma de desarrollar los USs
que requieren estudiantes de tres cursos, un Scrum Master por
curso no era la mejor opcin.
D. Sprint 3
Durante la Sprint Planning # 3, se decidi cambios en la
divisin de roles y en la organizacin de los equipos. Con el
fin de mejorar la comunicacin entre los equipos, se utiliz la
prctica de Scrum of Scrums.
Sprint 3 tena como objetivo integrar todas las tecnologas
en el proyecto en una sola aplicacin. En este Sprint, los
estudiantes fueron divididos en cinco grupos con 7 a 9
miembros de los 3 cursos implicados. Los estudiantes de
prueba se mantuvieron como POs. Se definieron cinco Scrum
Masters, uno para cada grupo, y los otros estudiantes fueron
considerados miembros del equipo, formando equipos
multidisciplinarios de Scrum.
Los grupos se dividieron de acuerdo con las siguientes
especialidades: (i) comercio electrnico (i.e. equipo 1),
trabajando con la arquitectura REST; (ii) (i.e. Equipo 2),
analizando datos de HDFS; iii) el Equipo 3 analiz las
disputas de fraude de clientes, utilizando Hive y Happlier, con
replicacin de datos en tiempo real; (iv) el Equipo 4 utiliz
scripts R en JAVA, con el fin de presentar el Anlisis
Estadstico; y (v) ArcGis Online fue el deber del equipo 5, que

Fig *. El Burndown Charts del Sprint 3

Dentro del Sprint Retrospective # 3, todos los


estudiantes, por unanimidad, acordaron que las prcticas de
Scrum of Scrums han mejorado el desarrollo del proyecto. Un
aspecto positivo de la prctica est relacionado con el aumento
de los roles de Scrum Masters en el proyecto porque eran
crticos para la integracin de los equipos.
Dado que la aplicacin de software se basaba en una
mquina virtual, se recomend en la retrospectiva, el uso de
una arquitectura agrupada para verificar el mejor desempeo
de las operaciones desarrolladas. Otra sugerencia fue usar
HBase para organizar los datos de manera columnar, lo que
puede mejorar el rendimiento del anlisis en tiempo real o
agregar tecnologas de base de datos en la memoria y flujo de
proceso para anlisis en tiempo real

6
E. La presentation final
El 18 de junio de 2014, los estudiantes realizaron una
presentacin final del proyecto a una audiencia compuesta por
los profesores e invitados de algunas instituciones financieras.
Los asistentes han sealado como un punto positivo, el uso de
herramientas gratuitas para el desarrollo y la gestin. Tambin
destacaron el uso transparente de las tecnologas de Big Data,
convirtindolo en una excelente herramienta para los analistas
de transacciones financieras.

V. CONCLUSIN
El objetivo de este trabajo fue describir el desarrollo de un
proyecto acadmico interdisciplinario utilizando el mtodo
Scrum agile y sus mejores prcticas, para desarrollar un
prototipo de aplicacin Java basado en Big Data, IoT y
deteccin de fraudes de tarjetas de crdito para una prueba de
concepto(Proof of Concept, PoC ), utilizando recursos de
computacin en la nube.
Este resultado exitoso se deriv de un conjunto de
elementos:
(i) el uso de un PBL alineado con las necesidades reales del
mercado; (ii) la integracin de equipos de estudiantes de otras
disciplinas de posgrado; iii) la utilizacin de mtodos giles;
(iv) el enfoque en la entrega de software; y (v) la eleccin de
herramientas de cdigo abierto result ser un xito a gran

escala.
Se sugiere la explotacin de herramientas especficas para
proporcionar automatizacin de pruebas para Big Data, De
esta manera, es posible explorar y verificar que estas
herramientas pueden convertir la aplicacin en una ms
segura. Como trabajo futuro, tambin se sugiere continuar la
investigacin sobre Big Data, IoT, y fraudes de tarjetas de
crdito, centrndose en distribuir su arquitectura creada con
escalabilidad, y mejorar el volumen de conjunto de datos para
trabajar con petabytes, haciendo que el proyecto up-to-date
con las necesidades del mercado.
VI. REFERENCIAS
[1] Maria, R. E., Junior, L. A. R., de Vasconcelos, L. E.
G., Pinto, A. F. M., Tsoucamoto, P. T., Silva, H. N. A., ... &
Dias, L. A. V. (2015, April). Applying Scrum in an
Interdisciplinary Project Using Big Data, Internet of
Things, and Credit Cards. In Information TechnologyNew Generations (ITNG), 2015 12th International
Conference on (pp. 67-72). IEEE.

También podría gustarte