Metodología sw, calidad y satisfacción del cliente.

Proyecto “Checador móvil”

¿Cuál es la mejor metodología para desarrollar software?

Revisando las metodologías para desarrollar software encontramos que hay una tendencias para utilizar metodologías ágiles, que en teoría permiten responder a los cambios de mejor manera que las metodologías tradicionales.También incorpora como referencia no ágil el Capability Madurity Model (CMM).

CMM

ASD

Crystal

DSDM

FDD

LD

Scrum

XP

Sistema como algo cambiante

1

5

4

3

3

4

5

5

Colaboración

2

5

5

4

4

4

5

5

Características Metodología (CM)

-Resultados

2

5

5

4

4

4

5

5

-Simplicidad

1

4

4

3

5

3

5

5

-Adaptabilidad

2

5

5

3

3

4

4

3

-Excelencia técnica

4

3

3

4

4

4

3

4

-Prácticas de colaboración

2

5

5

4

3

3

4

5

Media CM

2.2

4.4

4.4

3.6

3.8

3.6

4.2

4.4

Media Total

1.7

4.8

4.5

3.6

3.6

3.9

4.7

4.8

Tabla 1. Ranking de “agilidad” (Los valores más altos representan una mayor agilidad)

Como metodología de desarrollo de software en nuestra organización utilizaremos XP. La elección se basa en mi experiencia de desarrollo de software para móviles, ya que generalmente son proyectos donde el riesgo técnico es bastante elevado dada la frecuencia con la que se liberan nuevas versiones de lo sistemas operativos móviles seleccionados, además no existe suficiente experiencia por parte de la mayoría de los desarrolladores y la naturaleza de los proyectos generalmente tiende a ser estratégica para colocar en el mercado un producto que ofrezca a nuestros clientes una ventaja competitiva al ser pioneros en el servicio con grandes expectativas por cumplir.

PROGRAMACIÓN EXTREMA (EXTREME PROGRAMMING, XP)

Autor: Kent Beck

XP11 [2] es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo de software, promoviendo el trabajo en equipo, preocupándose por el aprendizaje de los desarrolladores, y propiciando un buen clima de trabajo. XP se basa en realimentación continua entre el cliente y el equipo de desarrollo, comunicación fluida entre todos los participantes, simplicidad en las soluciones implementadas y coraje para enfrentar los cambios. XP se define como especialmente adecuada para proyectos con requisitos imprecisos y muy cambiantes, y donde existe un alto riesgo técnico.

Las características esenciales de XP se pueden organizar en tres apartados : historias de usuario, roles, proceso y prácticas.

http://www.cyta.com.ar/ta0502/b_v5n2a1.htm

El ciclo de vida ideal de XP consiste de seis fases [2]: Exploración, Planificación de la Entrega (Release), Iteraciones, Producción, Mantenimiento y Muerte del Proyecto.

¿Usar esa metodología los lleva a calidad?

El objetivo es conseguir que un sistema sea satisfactorio para el usuario, sin eso de nada vale lo demás y eso se consigue mediante aproximaciones sucesivas teniendo como soporte a un usuario que es aliado y que está comprometido en el proyecto.

Si nos centramos exclusivamente en el objetivo y no vemos más allá, la calidad del código queda en un segundo plano, es decir, el sistema es lo que el usuario quería, ¿para qué pedir más?. Si el sistema no se va a tocar nunca más, si se van a realizar modificaciones mínimas en el mismo o si no presenta problemas de rendimiento por una mala codificación y/o arquitectura, puede tener sentido que no importe mucho lo que está dentro.

Ahora bien, si se prevén modificaciones de cierta envergadura en el proyecto o que las mismas pueden existir, sí que entra en juego la calidad del código, ya que la deuda técnica del software puede hacer muy costoso el mantenimiento.

Satisfacción del cliente

En primer lugar debemos analizar los puntos de interacción entre el cliente y nuestra organización (web, servicios de atención, documentación comercial, personal..) y las fases de éstas interacciones en el ciclo de relación de cliente (comercial/captacion, venta/servicio, soporte…etc). En cada una de estas interacciones, es necesario conocer la importancia relativa que le otorga el cliente a su experiencia (normalmente bajo en fases previas, aumentando según crece en el ciclo de relación con la compañía – de prospección a venta, por ejemplo) y cómo siente que nuestra organización lo satisface… Este gap nos permitirá entender rápidamente las áreas que debemos mejorar para que nuestros clientes tengan mejores experiencias.

Fred Reichheld creó en 2003 una métrica, el Net Promoter Score (NPS), que permite medir  la experiencia del cliente de una forma muy sencilla, ya que se basa en la respuesta a la siguiente pregunta:

“En una escala del 0 al 10, ¿recomendaría usted (nuestra marca) a un familiar o a  un amigo cercano?”

Esta métrica nos permite identificar de forma temprana a:

  • Detractores: Puntuaciones de 1 a 6

  • Pasivos: Puntuaciones de 7 a 8

  • Promotores: Puntuaciones de 9 a 10

    *

Este indicador puede ser enlazado con aspectos tales como el crecimiento en ventas o margen de productos y servicios, y habitualmente tienen una correlación clara o directa con la retención del cliente y su fidelidad (de hecho, se considera prácticamente inexpugnables para la competencia clientes con NPS superior a 8).

En modelos de negocio que utilizan principalmente el canal internet, la definición de una estrategia de mejora de la experiencia de cliente resulta vital, y permite mejorar los ratios de conversión de forma sorprendente. Existen múltiples formas de actuar en las fases tempranas del ciclo de ventas, como el uso del  marketing experiencial… de lo que hablaremos en otra ocasión.

http://javiermegias.com/blog/2010/04/experiencia-de-cliente-cuando-la-satisfaccion-no-es-suficiente/

¿Como vamos a medir la calidad?

El estándar ISO/IEC 9126 presenta la calidad del software como un conjunto de seis características globales:

  • Funcionalidad. Las funciones del software son aquellas que buscan satisfacer las necesidades del usuario.

  • Confiabilidad. La capacidad del software de mantener su rendimiento bajo ciertas condiciones durante cierto período de tiempo.

  • Usabilidad. Basada en el esfuerzo necesario para utilizar el software por parte de un grupo de usuarios.

  • Eficiencia. Basada en la relación entre el nivel de rendimiento del software y el volumen de recursos utilizado, bajo ciertas condiciones.

  • Capacidad de mantenimiento. Basada en el esfuerzo necesario para realizar modificaciones específicas.

  • Portabilidad. Basada en la capacidad del software para ser transferido de un entorno a otro.

http://www.4rsoluciones.com/como-medir-la-calidad-en-software/

Para medir la calidad del software que produce Móvil Útil encontramos las siguientes alternativas:

  • Satisfacción del cliente (se suele hacer encuestas para obtener este dato)

  • Número de bugs en producción (bugs encontrados y la importancia de los mismos, se podría incluir en satisfacción del cliente)

  • Rentabilidad económica (%, precio de venta – coste de desarrollo)

  • Tiempo de vida por cliente (años que el software está funcionando)

  • Número de clientes (clientes que tiene el software implantado y en producción)

http://geeks.ms/blogs/msierra/archive/2008/08/25/_BF00_C_F300_mo-se-mide-la-calidad-en-el-software_3F00_.aspx

Sin embargo para medir la calidad de nuestro sw utilizaremos el modelo EPCU.

El procedimiento que se seguirá para evaluar la calidad interna/externa de los productos de software consistirá en solicitar a cada líder de proyecto la asignación de valores para las características definidas en el estándar para la calidad externa/interna en relación a su proyecto, las características fueron consideradas como variables de entrada en el modelo EPCU.

La asignación de los valores de las variables de entrada se realizará considerando el juicio de experto de los líderes de cada proyecto, determinando un valor en un rango definido de 0 a 5 sobre el dominio de los número reales.

Por cada área de la organización se obtuvo el promedio de los valores asignados a cada una de las características de calidad considerando todos los proyectos evaluados.

Con los datos promedio de las categorías por área se calculó el índice de calidad por proyecto utilizando el modelo EPCU, de tal manera que se obtuvo un índice de calidad promedio que representa la calidad de los proyectos desarrollados en cada área de la organización.

Esto se realizó para la evaluación de la calidad externa/interna. Un ejemplo de los resultados de este modelo se muestran en las figuras 1 y 2.Figura 1. Asignación de valores promedio para calidad interna.Figura 2. Asignación de valores promedio para calidad externa.

http://sg.com.mx/revista/40/midiendo-la-calidad-del-software

Equipo:

Patricia  Sagahón

Anastacio Lara