Software Analytics

El área de software analytics es un campo promisorio, el crecimiento en esta área es bastante grande. Con la gran cantidad de datos que las organizaciones tienen a su disposición para la toma de decisiones, el área de software analytics puede dar una solución eficaz para extraer información útil a partir de los datos para la toma de decisiones. Software anlytics, debido a la gran cantidad de información que maneja, requiere de un cierto grado de automatización y la intervención de expertos en el análisis de datos para poder extraer la información a partir de los datos. Observaremos más a fondo qué es software analytics, cuáles son las características de esta área y cuáles son las utilidades que se pueden sacar provecho para tomar decisiones en el área de la ingeniería de software.

screen-shot-2016-10-29-at-01-12-22

¿Qué es software analytics?

Para poder tener una idea de que software analytics primero se debe conocer ¿qué es analítica? Analítica es el uso de herramientas de análisis, datos y razonamiento sistemático para poder extraer información útil a partir de los datos que posteriormente sean útiles para la toma de decisiones.

En consecuencia, software analytics es el uso de herramientas de analítica en datos del campo de la ingeniería de software, con el interés de dar a los ingenieros y equipos de desarrollo de software herramientas para poder obtener y compartir información a partir de sus datos y así poder mejorar la toma de decisiones.

 La analítica debe ser en tiempo real y procesable

Una parte importante de software analytics es que es un proceso que debe llevar a una solución procesable con resultados concretos. Por ejemplo, si un conductor se va dirigiendo a un acantilado, los resultados del procesamiento de datos no debe ser las características del camino, las nubes o el paisaje del entorno, el resultado debe ser indicar al conductor que ¡tiene un acantilado a la vista! Lo que suceda después ya es decisión del conductor. 

En la práctica analytics debe estar disponible en tiempo real, es decir más rápido que los efectos de la información obtenida en el procesamiento de datos produce en el proyecto. Por tanto, las decisiones deberán tomarse en base a información actualizada. Las técnicas tradicionales de recolección y procesamiento de datos son muy lentas y cuando se obtiene la información para la toma de decisiones ya puede ser muy tarde.

En base a lo expuesto anteriormente surge la pregunta, ¿Qué cantidad de tiempo representa al tiempo real? Esto depende del dominio en el que se esté tratando el problema. Por ejemplo, en una bolsa de valores, tiempo real puede representar micro segundos, mientras que en un proyecto de software, tiempo real puede representar antes de diciembre.

La analítica significa compartir información

Analytics implica que se puede aprender entre uno y otro proyecto de software. Echando un vistazo a las décadas de investigaciones en esta área, software analytics permite compartir muchas cosas entre proyectos:

  • Compartir modelos
  • Compartir conocimiento
  • Compartir datos
  • Compartir métodos

En el pasado se buscaba un modelo general para el desarrollo de software, en donde se asumía la existencia de un único modelo que serviría para todos los proyectos de software. Actualmente esa concepción ha cambiado, un modelo puede ser útil en un proyecto y en el otro ser completamente inútil. Por ejemplo, en el año 2009 se demostró un modelo para predecir defectos en Internet Explorer resultaba no ser tan útil para predecir defectos en Firefox.

Principios generales para software analytics y la necesidad de gente calificada

En el manifiesto de ingeniería inductiva se establecen siete principios para software analytics:

  1. Usuarios antes que algoritmos
  2. Planificar para escalar
  3. Realimentación temprana
  4. Mantener la mente abierta
  5. Realizar aprendizaje inteligente
  6. Vivir con los datos que tienes
  7. Amplio conjunto de habilidades

Adicionalmente el éxito de software analytics no radica únicamente en el hardware disponible para realizar las tareas de data mining. Más importante que el hardware que se utiliza, es como este hardware es usado por gente calificada.

Distintos tipos de analytics

  • Analítica interna y externa

Una primera distinción que se puede realizar es analítica interna y externa. En la analítica interna el equipo que analiza la información tiene acceso a los datos. En cambio en la analítica externa los datos deben ser sacados de la organización, lo que conlleva ciertos problemas. Por ejemplo uno de los problemas que se puede presentar es cuando se quiere mantener confidencialidad en los datos, esto puede producir que al momento de alterar la información para mantener la confidencialidad, los resultados del análisis no sean los correctos.

  • Analítica cuantitativa y cualitativa

Otra distinción que se puede realizar en analítica es analítica utilizando métodos cuantitativos o cualitativos. Los métodos cuantitativos pueden ser desarrollado por tareas automatizadas realizadas por paquetes estadísticos y herramientas de data mining. En cambio, los métodos cuantitativos son más manuales y requieren más interacción con el usuario.

  • Analítica exploratoria vs analítica de despliegue

En la analítica exploratoria no es claro cómo se puede añadir valor al negocio. En esta etapa, el trabajo de un analista de datos es preliminar y puede llevar a puntos muertos donde no se obtienen resultados. Si la analítica exploratoria es exitosa, esta puede ser elegible para implementarla en la analítica de despliegue. En cambio en la analítica de despliegue, las metas son más claras, y el equipo busca integrar los métodos de análisis en los sistemas de información de la organización.

Conclusión

El campo de software analytics  en la ingeniería de software ofrece grandes ventajas ya que brinda información útil extraída a partir de una gran cantidad de datos para facilitar la toma de decisiones en proyectos de software. Las características que brinda este campo son amplias: se puede disponer de información de forma temprana y en tiempo real, permite compartir información entre distintos proyectos, entre otras. Adicionalmente, es indispensable combinar las herramientas de data mining, con expertos en análisis de datos para poder aprovechar de una mejor forma las herramientas que provee este campo.

Leave a Reply

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

SWA Learners Blog © 2018