¿Big Data mejora la Gestión de Proyectos?

La gestión efectiva de proyectos de software es una tarea extremadamente difícil, guiada por datos, métricas y mucho conocimiento operativo de los equipos implicados. El empleo de técnicas de Big Data para aportar conocimiento y apoyar la toma de decisiones es uno de los temas que más auge ha tomado dentro de los esfuerzos de aplicar estas nuevas técnicas a la ingeniería del Software. En este pequeño post veremos algunas de las razones por las que deberíamos invertir un poquito más en el campo.

Ingeniería del Software y Big Data

screenshot-2016-11-30-12-37-43

La ingeniería del Software se ajusta al modelo de datos usual en las aplicaciones de Big Data. Todo proyecto de software genera constantemente datos variados, así como necesitan que todos sean analizados a la mayor brevedad. Mientras más consistentes sean estos datos, mejor control y reactividad existirá en el proyecto. Esta necesidad se hace evidente dado el bajo número de proyectos de software éxitosos.

Investigación Científica

No obstante, por variadas razones, la comunidad científica no ha mostrado grandes esfuerzos en investigar y desarrollar estos temas, y las áreas en las que se ha visto un mayor impulso, han sido pocas. Si bien es cierto que se ha visto un incremento, todavía es bastante precario, esto queda en evidencia luego de poder observar que el 2015 fue el año de mayores aportes y estos, fueron solamente 10 artículos.

Las áreas beneficiadas incluyen la Visualización y Evolución del Software, el Proceso de Desarrollo, las Interfaces de control Hombre-Máquina y aquellas relacionadas con la Gestión de Proyectos, entre ellas, la Calidad del Software.

screenshot-2016-11-30-12-45-57

Como su nombre indica, Big Data requiere de datos, y este post estaría incompleto de no incluirlos. En materia de software, y el proceso de ingeniería de su desarrollo en sí, los artefactos usualmente más empleados son el código fuente (y sus cambios), los datos de gestión del proyecto y de sus recursos (operacionales) y todos aquellos relativos a los errores.

screenshot-2016-11-30-12-46-18

Big Data en la Gestión de Proyectos

Las posibilidades y potenciales ventajas estratégicas que abre la aplicación de técnicas de Big Data a la Gestión de Proyectos es inmensa, valiosísima y muy variada.

screenshot-2016-11-30-13-01-03

La posibilidad de ser capaces de actuar proactivamente, previendo errores, pudiendo conocer de antemano que requisitos sin capturar nos resultarán necesarios para una etapa posterior del proyecto, conocer qué es lo que funciona y cómo va el avance del proyecto en cada momento… son algunas de las muchas ventajas de invertir tiempo y recursos en desarrollar efectivas herramientas que logren estos cometidos.

Y esto… se aplica para todo formato de empresa, desde pequeña a gran escala. Hay recogidas en la literatura experiencias de empresas que no lograban ver un crecimiento, y luego de aplicar algunas técnicas de Big Data (quizás incluso de forma precaria) lograron crecer y mejorar la visibilidad de sus proyectos y reaccionar a corto plaza para evitar las acumulaciones de trabajo al final de los proyectos, situación, que les sucedía constantemente.

El empleo de Big Data, y específicamente, el análisis de datos funcionales, permite tomar decisiones tanto estratégicas como tácticas, y ser, a la vez, reactivo y proactivo.

En otra de las esferas interesantes de su aplicación, un grupo de investigadores desarrolló un sistema capaz de predecir (según sus datos) con un 93,6% de aciertos los lugares y momentos en los que se generaría un error, facilitando y mejorando la calidad de las pruebas realizadas por el equipo encargado.

screenshot-2016-11-30-13-01-24

Lecciones Aprendidas

Todo post debería tener su aporte, y al igual que Big Data aporta a la Gestión de Proyectos un valor agregado, este pasará a relatar algunas de las principales lecciones aprendidas luego de revisar los escasos trabajos en la literatura que proveían casos prácticos y experiencias de su aplicación.

Para su mejor comprensión por personajes pragmáticos, estructurados y a la vez flexibles (como los gestores de proyecto), estas han sido clasificadas en tres grandes grupos:

  • Obtención de Datos
  • Procesamiento de los Datos
  • Experiencias de Uso de estas tecnologías

Empecemos….

Obtención de Datos

screenshot-2016-11-30-13-01-54

Comenzando por la fase de obtención y recopilación de datos:

Salta a la vista que esta no debería ser realizada de forma manual, sería una experiencia extremadamente tediosa, que provocaría errores y dejación.

Extremadamente importante es que los desarrolladores suelen mostrar recelo y resistencia ante este proceso si llegan a pensar que los datos podrían ser usados en detrimento de sus beneficios.

Que “Mientras más datos y más variados MEJOR” debería ser el slogan de este proceso.

Y finalmente, que los datos deben ser comprados y que es probablemente la fase de aplicación de Big Data que más tiempo suele consumir.

Procesamiento de Datos

screenshot-2016-11-30-13-02-11

En este apartado, resulta extremadamente importante recalcar que debe realizarse de forma periódica para permitir reaccionar rápidamente ante cualquier traba, error o cambio.

Que al igual que la obtención requiere de tiempo, el procesamiento conlleva encontrar las mejores métricas y los algoritmos correctos para su efectiva aplicación, tarea potencialmente consumidora de tiempo.

Es un área dentro de las nueva tecnologías que todavía semuestra incipiente, joven e inmadura, pero que tiene todo un mundo de consideraciones, investigaciones y oportunidades por delante.

Por otra parte, las herramientas existentes son muy costosas y generalmente específicas del dominio en el que se aplican y para el cuál fueron concebidas.

Y quizás lo más chocante para los newbies en Big Data… es requerido un alto nivel de conocimiento estadístico para lograr sacar provecho a los resultados obtenidos.

y finalmente…

Experiencias de Uso de estas tecnologías

screenshot-2016-11-30-15-02-26

En este sentido, publicar los resultados parece ser una buen práctica. Esto promueve la autoregulación, mejores tiempos de reacción y mejora, de forma general, el conocimiento de cada miembro del equipo sobre los avances de la empresa y los proyectos en los que está enfrascada.

Permite encontrar oportunidades de mejora y que al conocer más sobre el avance de los proyectos se genera menos sobrecarga en las etapas finales. En algunas de las experiencias prácticas, incluso relataban que aquellos que estaban sin mucha carga en un proyecto, eran enviados a otros a realizar pruebas durante ese período, de esta forma garantizaban un mejor empleo de los recursos.

De esta forma, se evidencia un marcado potencial para el mejoramiento de los cronogramas y la planificación y estimación del tiempo y el proyecto. Esto provee a la empresa de mejores herramientas a la hora de reunirse con potenciales clientes y al tratar con los existentes.

y Finalmente, en el tema de Calidad se evidenciaron variados esfuerzos e investigaciones, algunas proponen encontrar los errores antes de que se produzcan, otros, encontrarlos más rápidamente. En cualquier caso, ya sea proactivo o reactivo, su aplicabilidad y valor es inmenso.

¿Qué podemos concluir?

screenshot-2016-11-30-13-01-37

Pues, ya estamos acabando el  post, no los torturaré mucho más… solo un par de notas finales que no pueden pasar desapercibidas:

  • Las investigaciones han sido escasas, principalmente teóricas, pero prometedoras.

y en cuanto a ellas..

  • Luego de analizar un poquito (realmente no es necesario pensarlo mucho) queda claro que para la etapa de obtención de datos la automatización es materia obligatoria …o como diríamos en inglés mandatory.
  • En cuanto al procesamiento, pues lo mejor (sin pensarlo mucho tampoco), contratar a un especialista en análisis de datos.
  • Y de forma general, los usos indudablemente nos inspiran confianza y es muy fácil (..si, si, han sido conclusiones “muy facilistas“) merece la pena la inversión en tiempo y dinero para llevar a feliz final su implementación y las mejoras que puede aportar a nuestra gestión de proyectos de software.
screenshot-2016-11-30-12-05-18

y para finalizar, les dejo por aquí un enlace a una historia ficticia (cualquier parecido con la realidad no es pura coincidencia)

…vaaale, y como se que lo estaban esperando, aquí les dejo todas las maravillosas imágenes agrupadas por temática.

screenshot-2016-11-30-16-22-16
Material Relacionado

Bagriyanik, S. (2016). Big data in software engineering: A systematic literature review. Global Journal of Information Technology, 6(61), 107–116. Retrieved from http://sproc.org/ojs/index.php/gjit

Batarseh, F. A., & Gonzalez, A. J. (2015). Predicting failures in agile software development through data analytics. Software Quality Journal, 1–18. https://doi.org/10.1007/s11219-015-9285-3

Buse, R. P. L., & Zimmermann, T. (n.d.). Information Needs for Software Development Analytics.

Moritz Beller, Georgios Gousios, A. Z. (n.d.). How (Much) Do Developers Test?

Robbes, R., Vidal, R., & Bastarrica, M. C. (2013). Are software analytics efforts worthwhile for small Companies? the case of amisoft. IEEE Software, 30(5), 46–53. https://doi.org/10.1109/MS.2013.92

Salmanoglu, M., Öztür, K., Bağrıyanık, S., Ungan, E., & Demirörs, O. (2015). Benefits and Challenges of Measuring Software Size: Early Results in a Large Organization.

…gracias al equipo de powtoon.com por la increíble herramienta que han desarrollado.

Big Data, Gestión de Proyectos, Ingeniería del Software, Project Management, Software Enginnering

Leave a Reply

Your email address will not be published. Required fields are marked *

SWA Learners Blog © 2018