Você está na página 1de 5

Metodologías Ágiles para el Desarrollo de Sistemas de Cómputo Distribuido

Oscar Martín Bianchi Alejandro J. M. Repetto


mbianchi@ejercito.mil.ar arepetto@ejercito.mil.ar
CIDESO1, DIGID2- Ejército Argentino
EST3, IESE4 - Ejército Argentino

José Ignacio Ariznabarreta Fossati


ignacioariznabarreta@gmail.com
EST3, IESE4 - Ejército Argentino

RESUMEN Palabras Clave: Computación Distribuida,


Metodologías Ágiles, Computación en Grilla
El Manifiesto Ágil, escrito en el 2001, es- de Escritorio, Ingeniería del Software.
tablece las pautas para la utilización de las
metodologías ágiles, las metodologías más CONTEXTO
populares y las lecciones aprendidas, para el
desarrollo de software (1). Éstas surgen como Elegir una metodología de desarrollo de
alternativa a los procesos de desarrollo con al- software apropiada es una preocupación
to costo en documentación y procesos excesi- siempre presente en la mayoría de los
vamente prolongados. proyectos de IT, así como en los ámbitos
De la misma forma, las arquitecturas de académicos asociados a la misma actividad.
computación distribuida y computación de Las nuevas metodologías de desarrollo de
grilla surgen como respuesta a la necesidad de software, a diferencia de las clásicas, son
aportar una solución y alternativa a los proce- consideradas mucho más ágiles y fáciles de
sos con alta demanda de recursos. adaptar a los cambios. Éstas no hacen foco en
En la Escuela Superior Técnica del Ejérci- el largo ciclo de desarrollo sino en iteraciones
to, durante el año 2011, se llevó adelante el más cortas y ligeras, con el sello de una
proyecto CoDiSe (Computación Distribuida proximidad más acentuada a los Stakeholders
para Seguridad Informática) (2), que sirvió (4).
como prototipo experimental para el proyecto Al respecto, las metodologías ágiles
CODEC (Computación Distribuida para Ex- proveen la oportunidad de evaluar la
perimentación Científica) (3), el cual pretende dirección del proyecto a medida que se
dotar a los laboratorios de las distintas espe- desarrolla el ciclo de desarrollo natural del
cialidades de la EST con un sistema capaz de sistema. Esto se alcanza a través del ritmo
procesar grandes cantidades de información o regular establecido de trabajo, conocido como
realizar cómputos a gran escala, sirviéndose iteraciones o sprint, al final de los cuales se
de los infraestructura informática ociosa de la puede presentar algún estado de terminación
universidad. del producto (sistema en este caso).
El presente trabajo tiene por objetivo com- Enfocándose en la repetición de ciclos de
partir las experiencias obtenidas en el uso de trabajo abreviados (o iteraciones) los equipos
las metodologías agiles en el ámbito académi- de trabajo tienen la posibilidad de corregir
co, en el marco del desarrollo de un sistemas tempranamente desvíos al inicio de cada
de computación distribuida como parte del iteración, reduciendo de esta forma el impacto
dictado de la asignatura Lenguajes de Pro- de cualquier error o falla cometido en las
gramación I. etapas previas (4) (5).
Asimismo, esta metodología de desarrollo
en paralelo propuesta está basada en el
1
CIDESO: Centro de Investigación y Desarrollo de Software
2
DIGID: Dirección General de Investigación y Desarrollo
3
EST: Escuela Superior Técnica – Facultad de Ingeniería del Ejército Argentino
4
IESE: Instituto de Enseñanza Superior del Ejército – Universidad del Ejército Argentino

____________________________________
PAGINA - 405 -
enfoque de inspeccionar y adaptar (inspect- decide avanzar con un prototipo experimental
and-adapt), solucionando o evitando de un sistema de CD, de la mano del proyecto
problemas como la parálisis por análisis CoDiSe (2) , obteniendo en el 2012, como
(analysis paralysis), la sobrecarga de fruto de este trabajo el proyecto CODEC (3).
información y el problema de la racionalidad Este proyecto tiene como propósito el
limitada (bounded rationality), entre otros. desarrollo de un sistema de computación
En ese aspecto, en los últimos años se ha distribuida multipropósito construido sobre la
observado un aumento exponencial en la base del sistema BOINC. El fin de CODEC es
práctica de metodologías ágiles de desarrollo poner a disposición de la EST un sistema con
de software. Esto se debe en gran parte al gran capacidad de procesamiento basado en
hecho que estas prácticas facilitan el trabajo una arquitectura de Computación de Grilla de
en equipo, especialmente si los grupos están Escritorio (7), aprovechando a su vez la
fragmentados o distribuidos, haciendo infraestructura informática de la universidad,
hincapié en el uso de herramientas de gestión bajo el paradigma Infraestructura como
como los Sprint y los Scrum. Servicio (IaaS – Infrastructure as a Service).
Ambas herramientas ofrecen la posibilidad Esta variedad de conceptos y tecnologías
de simplificar la aproximación a desarrollos hacen de la comprensión y ejecución de un
complejos, facilitando tanto la comprensión proyecto como CODEC una tarea compleja
del problema, como la implementación y para aquellos participantes del mismo. Por
seguimiento de la solución. Estas cualidades esto, y dadas las características del proyecto,
hacen del Scrum una metodología de específicamente su origen académico como
desarrollo viable para su utilización en el trabajo práctico de la cátedra de Lenguajes de
ámbito académico (6). Programación I, el uso de metodologías ágiles
En cuanto a la tecnología implementada, el surge como la alternativa natural.
uso de computación distribuida (CD) para
solucionar problemas de rendimiento o INTRODUCCIÓN
disponibilidad de recursos (necesarios para
grandes cómputos) es una tendencia en Una de las características determinantes de
crecimiento. Se puede observar en áreas tan CODEC es el hecho que cada uno de sus
diversas como la experimentación científica sprint es semestral (y no mensual, o bimestral
(con proyectos como SETIa y BOINCb) y la como recomiendan los especialistas en el te-
seguridad cibernética (tanto en su uso como ma) coincidiendo con el ciclo académico de
herramienta de testeo de nuevas tecnologías, las materias asociadas. Por la misma razón, el
como instrumento de hacking). proyecto posee en sí mismo una alta variabili-
La incorporación de conceptos como “Grid dad en los equipos de trabajo (los que rotan
Desktop Computing” (GDC) (7) y “Cloud anualmente), perfiles de los miembros, cono-
Computing” a las tecnologías ya existentes de cimientos, dedicación horaria e incluso área
CD, la vuelven en una herramienta valiosa no de experticia. Esto constituye un ambiente al-
sólo para el desarrollo de software de tamente hostil para el desarrollo de software,
cómputo de alto rendimiento, sino también lo que llevo a la evaluación de diferentes
como herramienta pedagógica de enseñanza aproximaciones y metodologías de desarrollo,
que aporta una variedad de conocimientos y surgiendo el enfoque ágil como la opción más
conceptos amplia, fundamentales para la próxima a las necesidades y naturaleza del
formación profesional de los estudiantes de proyecto
las carreras de IT. Entre las ventajas que nos aporta el enfoque
Teniendo presente esto, y como evolución ágil podemos mencionar la posibilidad de
de experiencias previas, en el año 2011 se contar con versiones de alcance limitado en
donde se podrá tener un producto tangible, el
a
cual le será entregado en sus diferentes ver-
http://setiathome.berkeley.edu/
bhttp://boinc.berkeley.edu/

____________________________________
PAGINA - 406 -
siones en los sprints propuestos, así como una sumado a la disponibilidad de cada uno de los
versión final en el tiempo acordado. alumnos y docentes, dejaba un marco horario
Con respecto a lo estrictamente técnico, la extremadamente estrecho. Por esta misma ra-
implementación y las pruebas se simplifican zón se decidió realizar los scrum una vez por
sensiblemente al subdividirse cada una de las semana durante el horario de dictado de clase.
tareas programadas en el sprint en hitos más • Sprint semestral: cada una de las itera-
atómicos. ciones se basa en una fase del proyecto, cada
Como antecedente, la metodología utilizada una de las cuales tiene la duración de un ciclo
durante el año 2012 puede ser considerado un lectivo.
“híbrido” debido a que, si bien se utilizó la • Generación de una métrica que permi-
definición base de la metodología scrum, el ta evaluar los progresos del proyecto y la
marco en el que fue desarrollado el proyecto efectividad del trabajo realizado durante cada
forzó a un sprint semestral, debido a que la iteración con respecto a la anterior. Sobre este
realización del mismo se llevó a cabo en la último punto, la métrica propuesta evaluara
cátedra “Lenguaje de Programación 1”, dicta- una serie de cuestiones entre las que cabe
da semanalmente, en donde se realizaba el mencionar:
scrum semanal. Esto colaboró en la resolución • Formación de equipos: los equipos
de los problemas identificados a lo largo del han de ser formados de teniendo en cuenta
proceso de desarrollo, ya que el hecho de con- las habilidades de cada miembro, así como
tar con equipos reducidos y metas atómicas los conocimientos transversales que deben
facilitaba la posibilidad de cumplirlas de for- poseer.
ma autodidacta. • Trabajo interdisciplinario: dándose la
Por último, no podemos dejar de mencionar particularidad que alumnos de dos carreras
un aspecto fundamental: los recursos huma- diferentes forman parte de CODEC, esta
nos. Sobre este particular, es importante seña- oportunidad es aprovechada para evaluar el
lar que esta metodología nos abstrae de la trabajo en equipo entre futuros profesiona-
problemática de encontrar alumnos con dife- les de distintas especialidades, tomando
rentes capacidades, así como diferentes cono- como parámetro el rendimiento de cada
cimientos (adquiridos de manera extra curri- grupo individualmente.
cular o de forma autodidacta), además de la • Evaluación de conocimientos: siendo
dedicación que se le brindaba a dicho proyec- de interés tanto para la cátedra como para
to, trayendo a consideración nuevamente, la la institución, la evaluación de conoci-
situación de estudiantes de Ingeniería en In- mientos de cada participante del proyecto,
formática, así como de Ingenieros en Electró- previa y posterior al sprint, ofrece un claro
nica. parámetro del grado de asimilación de los
conocimientos y aptitudes que pretende
LÍNEAS DE INVESTIGACIÓN Y ofrecer el proyecto.
DESARROLLO • Éxito individual de los grupos: cada
sprint planteara una serie de objetivos a
La metodología utilizada en CODEC plan- cumplir (generalmente asociados a peque-
tea una línea de investiga clara con respecto a ños ciclos de desarrollo o componentes de
la estrategia a utilizar, siendo esta una varia- alcance acotado), considerando el éxito de
ción de la metodología ágil, adaptada a las cada grupo en el trabajo en el grado de
necesidades del proyecto. Entre sus caracte- cumplimiento de cada tarea asignada.
rísticas más importantes podemos mencionar:
• Integración del trabajo grupal: la tarea
• Scrum reducido: en lugar de realizar de integración del trabajo de cada grupo
Scrum diarios, se decidió llevar adelante una (su dificultad, nivel de éxito, resultados en
práctica de Scrum semanales. Esto se debió a general, etc.) ofrece una clara perspectiva
las características de la asignatura, la cual te- para evaluar el apego a los estándares de
nía una carga horaria muy limitada, lo que integración fijados así como la facilidad de

____________________________________
PAGINA - 407 -
interpretación del trabajo de terceros entre FORMACIÓN DE RECURSOS
los distintos grupos. HUMANOS

RESULTADOS Y OBJETIVOS Una marca distintiva de CODEC es el he-


cho de haber nacido de la colaboración de dos
Los resultados obtenidos durante el 2012 centros de investigación dentro del Ejército
en lo que hace al rendimiento del curso Argentino (3). Y la particularidad que uno de
revelaron que el uso de las metodologías dichos centros es parte funcional de la EST.
ágiles desarrollo lograron: Esto pone al proyecto en un ámbito privile-
• Facilitar la comprensión de la giado para la formación de recursos humanos.
temática, y el trabajo a realizar. Por un lado, el CIDESO tiene amplia expe-
• Mejor aprovechamiento del tiempo riencia en la formación de recursos humanos
dedicado al proyecto y flexibilidad a los en el terreno de la investigación aplicada en
cambios. sistemas de información de diversa índole, in-
• Sencillez en el seguimiento del cluyendo sistemas de simulación para el
progreso, la supervisión y el soporte a los adiestramiento, sistemas de información geo-
alumnos/desarrolladores. gráfica, sistemas de visualización, sistemas
En lo que hace a las mejoras que esperamos inteligentes, sistemas móviles, sistemas de
obtener respecto al rendimiento del curso, comunicación de alta complejidad y sistemas
haremos referencia al incremento en la de cómputo de alto rendimiento. Por el otro,
calidad del software, lo cual es consecuencia la EST tiene experiencia en investigación bá-
de la implementación de tareas, lo que trae sica en el terreno de la ciencia de la informá-
una reducción en cuanto a la complejidad y, tica, asociado estrechamente al hecho de po-
por ende, soluciones más rápidas ante seer la carrera de Ingeniería Informática como
cualquier eventualidad (como la metodología parte de su oferta académica.
de trabajo ágil propone). En los laboratorios de la institución se dis-
En la siguiente iteración se pretende pone del material y los recursos humanos es-
cumplir los siguientes objetivos: pecíficos para la investigación en tanto en el
• Reducción de riesgos, al poder área de la seguridad, comunicaciones así co-
atomizarse el trabajo y la posibilidad de elegir mo en las asociadas a las tecnologías de CD.
comenzar por las tareas más críticas, se También cabe mencionar que cuenta con ex-
reducen los riesgos fracaso del proyecto. pertos informáticos, matemáticos y criptógra-
• Disminución del tiempo de desarrollo, fos que dan cuerpo muchas veces a las inves-
se pueden ir realizando entregas medida que tigaciones de los trabajos finales de carrera
vayan estando disponibles las diferentes que se realizan en los posgrados que brinda la
partes/objetivos/sprint del proyecto. universidad.
• Análisis previo para identificar, de Tanto el CIDESO como los laboratorios de
forma prematura, las tareas críticas en cuanto la EST, a través del dictado de materias de
a la realización, para que las mismas sean grado en Ingeniería Informática, aportan re-
abordadas desde un comienzo, reduciendo los cursos humanos a la misma universidad. Es
riesgos de fracaso del proyecto. así que investigadores de los laboratorios dan
cátedras en la EST y, de manera análoga,
• La liberación de productos finalizados
alumnos de la escuela aportan sus análisis a
(releases) por ciclo. Es por ello que al
realizar diferentes betas/releases a medida los laboratorios a través de trabajos prácticos
de laboratorio, prácticas profesionales super-
que se van cumpliendo a los diferentes sprints
visadas o tesis y tesinas de grado y posgrado.
del proyecto, esperamos lograr una
En particular, el prototipo experimental del
disminución del tiempo de desarrollo del
cual nace la idea de CODEC fue
sistema.
implementado por los alumnos de tercer año
de Ingeniería Informática y Electrónica como

____________________________________
PAGINA - 408 -
trabajo práctico de laboratorio de la materia en el Desarrollo de Software. s.l. :
Lenguajes de Programación I, y tutorado por Universidad Politécnica de Valencia, 2010.
investigadores del CIDESO y el CriptoLab, 6. K., Schwaber, M., Beedle y R.C,
que a la vez son docentes de dicha cátedra. Martin. Agile Software Development with
Para el próximo paso, se pretende continuar SCRUM. s.l. : Prentice Hall, 2001.
con esta interacción fluida entre los centros de
7. Ahmar, Abbas. Grid Computing
investigación y el alumnado, formado
Technology: An Overview. s.l. : Abbas, 2004.
profesionales con conocimientos de campo en
el terreno de la computación de alto 8. Grid Desktop Computing for
rendimiento y un conocimiento acabado sobre Constructive Battlefield Simulation. Repetto,
temas criptográficos. Alejandro J. M. San Salvador de Jujuy : Red
Además, al expandirse el sistema para ser UNSI, 2009. XV Congreso Argentino de
aplicado en cualquier problema que requiera Ciencias de la Computación (CACIC 2009).
altos niveles de cómputo, se pretende 978-897-24068-4-1.
incorporar alumnos y docentes de otras 9. Hybrid Architecture for Constructive
cátedras, de cualquiera de las ingenierías que Interactive Simulation: Evaluation and
se dictan en la Facultad. Outcomes. Repetto, Alejandro J. M.
Por otro lado, se continuará con la Orlando, FL : s.n., 2010. /ITSEC’10,
formación de profesionales en investigación Interservice/Industry Training, Simulation
utilizando estas nuevas tecnologías en los dos and Education Conference.
laboratorios participantes a través de la 10. Berstis, Viktors. Fundamentals of Grid
utilización de la GDC. Computing. s.l. : Redbooks Paper, IBM Corp,
Así, pues, se formarán recursos humanos 2002.
de todos los niveles, grado, posgrado o 11. Constantinescu-Fulop, Nicolae-
investigadores activos, incorporando más Zoran. A Desktop Grid Computing Approach
alumnos a los laboratorios y, potencialmente, for Scientific Computing. s.l. : Department of
becarios que se dediquen de modo formal (no Computer and Information Science Faculty of
sólo académico) a la profundización de los Information Technology, Norwegian
modelos propuestos. University of Science and Technology, 2008.
12. Computerized Bussiness Solutions.
5- BIBLIOFRAFÍA Centralized vs Distributed Computing: White
1. Cockbun, A. Agile Software Paper. 2007.
Development. s.l. : Addison-Wesley, 2001. 13. Opiyo, Elisha T. O., y otros.
2. Bianchi, Oscar Martín y Repetto, Computing Research Challenges and
Alejandro. Sistema de Computacion Opportunities with Grid Computing.
Distribuida para Seguridad Informatica. 14. Neves, Rodrigo, y otros. Parallel and
Posadas, Misiones : Workshop de Distributed Computing BOINC Grid
Investigadores en Ciencias de la Computación Implementation.
2012, 2012.
3. Bianchi, Oscar Martín y Bönke,
Matías Miguel. Computación Distribuida
para Experimentación Científica. Mar del
Plata, Buenos Aires, Argentina : RIIPRO
Joven - 3er CIIP, 2012.
4. Abrahamsson, P., y otros. Agile
software development methods Review and
analysis. s.l. : VTT Publications, 2002.
5. Canós, José H., Letelier, Patricio y
Penadés, M. Carmen. Métodologías Ágiles

____________________________________
PAGINA - 409 -

Você também pode gostar