En un servicio, conforme aumenta la variabilidad, también aumenta el costo. Por ejemplo, si el cliente cambia con frecuencia de decisión, en cuanto a si quiere su sistema con una funcionalidad específica o no, el costo de la aplicación se eleva, y se genera trabajo que finalmente no se utilizará. Para poder resolver esta problemática, el autor del artículo que leí, plantea la necesidad de definir el tipo de interrupción que genera el cliente, y tomar la decisión entre:
a) Manejar la variabilidad en forma controlada. Por ejemplo, los procesos de Starbucks están diseñados para ofrecer un gran número de opciones, y aun así, controlarlas dentro del mismo proceso.
b) Reducir la variabilidad. Por ejemplo, un restaurante maneja tipos de cocina y menús para reducir las posibilidades de variación dentro de las elecciones a seguir.
Máquinas y personas
Tal vez lo que más me llamó la atención del artículo, fueron las implicaciones que esta diferencia entre productos y servicios tiene en el área de sistemas. Todos sabemos que desarrollar sistemas es, tanto un producto (el sistema en cuestión) como un servicio (análisis de la problemática, diseño de la solución, etcétera). Esta dualidad hace que el desarrollo de sistemas sea una labor sumamente compleja y llena de decisiones, y el gran problema que nos trae es que lo que a un cliente dejó sumamente maravillado, a otro simplemente no le trae ningún valor, por lo que es difícil hacerlo repetible. Por desgracia, muchas de las teorías de Ingeniería de Software y modelos de Calidad, se basan en modelos de manufactura, en donde el cliente genera una variabilidad mínima.
Esto nos lleva a una amplia diferenciación entre dos extremos de pensamiento: por un lado están los que ven la calidad como una lista de proceso, plantillas, y reglas inquebrantables que todo proyecto debe seguir para minimizar la variabilidad. Por otro lado, están los que piensan que no tienen sentido los modelos de calidad, pues por más procesos que se tengan, siempre existirán miles de decisiones que se toman en su momento, y lo mejor es tener gente inteligente que pueda resolver de forma autónoma todos los problemas que se le presenten. El proceso que se siga, será a discreción de dichos individuos.
La estrategia de calidad inteligente, es precisamente la que se mueve en medio de estos dos mundos, la que da una serie de reglas, prácticas técnicas y lineamientos. Se asegura que éstos se sigan de acuerdo a como se planeó al principio del proyecto, y tiene apoyo constante del resto de la organización para asegurarse de lograr un buen balance entre flexibilidad y variabilidad.
Ni muy muy ni tan tan
Veamos de nuevo el desarrollo de software como un servicio. Los procesos de calidad tienen dos funciones primordiales:
1) Lograr generar un producto sin defectos y bajo un presupuesto predeterminado
2) Reducir el costo de manera constante al capitalizar el conocimiento, para que el siguiente producto se haga de forma más rápida.
En otras palabras, estamos buscando complacer al usuario lo más eficientemente posible, por ende, con la menor variación posible.
Así, todo proyecto debe iniciar preguntándole al cliente cuáles son sus requerimientos no funcionales más importantes y por qué. Con esta información, podemos crear una serie de métricas que nos ayuden a ver si estamos cumpliendo con lo que un cliente en particular considera calidad. Algunos clientes tienen muy claro que las métricas más importantes de su proyecto son la entrega a tiempo, sin defectos y bajo el presupuesto acordado. Sin embargo, tenemos muchos otros con ideas diferentes, hay algunos que no les preocupan esas cosas; buscan una compañía con la que se puedan entender, por lo que para ellos, lo más importante es la flexibilidad en la forma de trabajo, y una gran comunicación entre las personas del proyecto. Mientras que a otros, lo que les interesa es que su gente se quede con el conocimiento necesario, aunque cueste más caro. Sin importar cuáles son los requisitos, es muy importante conocerlos, medirlos, y en base a ellos, establecer en dónde se debe guiar al cliente y en dónde seguirlo.
A final de cuentas
Bajo ningún motivo, un proceso substituye a tener gente capaz de resolver y entender las necesidades del cliente. Por lo tanto, la idea de que exista un proceso, es buscar cómo disminuir, en la medida posible, la mayoría de las variaciones en el proyecto, para así lograr resultados más eficientes, y al mismo tiempo tener a nuestros clientes siempre contentos, sin importar lo que estén buscando.
Acerca del autor
Luis R. Cuellar es Director de Calidad a nivel mundial de Softtek Information Services. Luis es reconocido por la American Society for Quality (ASQ) como Certified Quality Manager, Certified Software Engineer, y Six Sigma Black Belt. En los últimos cinco años ha estado a cargo de la definición e implantación de la estrategia para CMMI5 y Six Sigma a través de las diferentes áreas del centro de desarrollo de Softtek
- Log in to post comments