viernes, marzo 20, 2009

¿Cuál es el objetivo del cliente?


Actualmente tengo en mis manos y tiempo un extraordinario juego para PSP: Lego Star Wars. Mi más sincera admiración a quienes lograron un juego tan sencillo, entretenido y claro asesino del tiempo productivo. Lograron:
1. Tomar una historia que seguro a millones de personas gusta para garantizar una venta segura
2. Darse el lujo de tener diseñadores gráficos incompetentes ya que todo deliberadamente debe ser cuadrado
3. Tener un juego cuya simpleza es eclipsada por la creatividad de sus creadores
Bien, sin embargo este no es el tema que quiero tratar, sino, algo un poco menos 'juguetón' como lo es el objetivo del cliente y la falta de costumbre de anteponerlo en un proyecto ante toda distracción: vicio difícil de adquirir y crucial para realmente ser una parte rectora de un trabajo extraordinario sea cual sea tu rol.
¿qué tiene que ver Lego Star Wars con el objetivo del cliente?: nada. Sin embargo el proceso de creación de un juego como este me inspira a explicar la importancia de conocer el objetivo y contexto de los clientes cuando les estamos simplificando la vida de cualquier forma.
Imaginemos que conocemos a Moha, excelente diseñadora gráfica con 5 años de experiencia en la industria del desarrollo de videojuegos, apasionada del deporte, cursos de belleza y el hígado de pollo. De igual fo
rma conocemos a John, quien su personalidad lo ha orillado a ser un perfecto adicto a la perfección, por lo que ha sido contratado en múltiples ocasiones a ser ingeniero de calidad (pruebas) para muchas producciones en el pasado; digamos que su perfil es más orientado a lo artístico y sedentario.
Utilicemos la imaginación para pensar que tanto Moha como John han estado dormidos en vida durante los últimos 20 años y jamás han escuchado nada de Star Wars: nada de nada. Una nube invisible pasó por sus ojos y oídos mientras que toda la oleada de modas en torno a la guerra de las galaxias no han tocado ninguno de sus sentidos.
Ahora, explotando nuestra creatividad, pensaremos que a Moha y John ¡fueron contratados para diseñar los personajes del juego y probarlos, respectivamente, para el juego Lego Star Wars! a ambos les entregaron todas las especificaciones de lo que estarán realizando.
Tanto Moha como John leen las especificaciones de lo que les toca: en realidad, no entendiendo mucho lo que estaban leyendo, lograron estar tranquilos con lo que estarán haciendo, tendrían tiempo después de pulir y re-leer todo y de todos modos estaban seguros que alguien les ayudaría si se atoran.
Finalmente, el último y más fuerte jalón de nuestra imaginación: pensemos que Moha y John jamás se preocuparon por saber ¿qué diantres era Star Wars? Alcanzan a entender, en base a ciertas cosas que medio leen en sus especificaciones, que estarían programando a unos personajes que estaban enojados con otros ya que aparentemente son los malos quienes viven en unas naves grandotas grandotas; creyeron no requerir saber más del tema, ¿para qué? ¡si nada más estarán diseñando y probando! total, mañana será otro proyecto.
Moha, siempre preocupada por diseñar y diseñar, comenzó a hacer específicamente eso: diseñar. Especificó las limitantes de movimiento de Skywalker; la breve reseña que alcanzó a entender de las especificaciones le dejó claro que era güero, ágil y con una inteligencia aguda. Moha supuso que tenía tintes metro-sexuales por lo que le diseñó un vestuario y un set de movimientos algo afeminados para apelar a dicha horda cultural.
En función de su capacidad de inferencia, tomó similares decisiones respecto a sus demás personajes:
Darth Vader fue diseñado como un gran emperador afro-americano
Han Solo fue modelado a semejanza de un panzón alcohólico y ninfómano
Pricess Leia fue creada parecida a una dominatrix con tintes lesbiánicos
Yoda finalmente fue visualizado en su mente como una rata que hablaba
Moha finalmente sintió que su conocimiento en Star Wars era el suficiente para tomar todas estas decisiones fundamentadas nada más en la gran interpolación de su entendimiento y su clara falta de necesidad de comprender realmente de lo que se trata la historia, su desarrollo y sus recursos actuales como lo son las películas mismas.
John no muy alejado de la misma situación recibió todo lo que Moha le entregaba y probó también en función de su contexto: completamente ajeno a la realidad de lo que Star Wars significa.
John detectó los errores claros que evitarían que el juego fuera un éxito; pero jamás aquellos atribuidos al contexto de la historia misma: ¡claro! ¡no tenía él mismo idea de dicha historia!
Skywalker caminaba completamente afeminado por los escenarios virtuales con un movimiento al azar que hacía que el personaje acomodara su rubia cabellera con la mano al mismo tiempo que la cabeza y la mirada era proyectada hacia arriba y su infinito.
Darth Vader, al momento de recibir el comando que le forzaba a 'hablar' desde la interface de depuración, hacía ademanes de rapero refinado con ayuda de sus brazos y sus carnosos labios.
Errores igualmente 'extraños' sucedían con Princess Leia y Yoda, este último caminaba en cuatro patas y se asemejaba más un chihuahueño que un viejo Jedi.
¿ilógico? ¿estúpido? ¿qué clase de gente puede generar tonterías con tan convincente densidad? ¡fácil! ¡alguien quien no tiene idea del objetivo, contexto y detalle de quién es su cliente y qué hace para sobrevivir en la realidad fuera de sus computadoras!
Si alguien trabaja en un proyecto, lo mínimo deseable es que realmente entendiendo el contexto de su cliente, sus usuarios, su razón de existir y el objetivo a lograr. Si esto no es cubierto podemos fácilmente estar modelando Chubaccas alopésicos  y C3POs campeones de atletismo, finalmente sin ningún criterio válido y con completa orientación al re-trabajo y la entrega de soluciones que rayan en la completa sin razón, al menos, desde el punto de vista del cliente.

viernes, marzo 13, 2009

YAML

¿les pasó/pasa lo siguiente?

La primera vez que escuché de XML me dije a mi mismo:
¿porqué tanto revuelo con esta cosa? ¿es tan estúpida como lo veo? ¿porqué se hizo famoso un estándar tan feo?

En fin... después descubrí que simplemente ayuda a que la computadora lea un archivo y yo también le entienda, en una manera más estructurada que un .INI ¿cierto?

Ahora, cuando ven un archivo XML grande, ¿no les da diarrea tratar de interpretar y cachar todos los anidamientos? o bien ¿porqué todo tiene que cerrar con />? ¿porqué porqué porqué?

Bueno; si a alguien le pasó esto, ¡no es el el/la único(a)!

Inviertan 5 minutos en aprender YAML (prometido, 5 minutos, 1 por página)
http://yaml.kwiki.org/?YamlInFiveMinutes

miércoles, marzo 11, 2009

CODES

Si piensas que una persona, por concluir un nivel educativo que avala su capacidad de remover casi por completo materia fecal después de deponer (universidad), domina en cierto nivel el arte de hablar y escribir con eficacia: te equivocas. Bajo la premisa que el objetivo de estas actividades son comunicar, tengo que develar que esta aseveración no nada más dista de ser real, sino algo más: trágicamente errónea.

El día de hoy muchos de mis colegas sacaron a la luz, a manera de remembranza cómica histérica, lo complejo que es no perder el tiempo de nuestras valiosas vidas solucionando problemas crasamente estúpidos causados por una ruín comunicación. Todo esto se agrava y complica cuando nuestro idioma y cultura permite que hablemos con una insoportable ambigüedad:
  • dame 5 minutos
    (el valor del minuto, siendo exacto, nos permitimos asignarle una temporalidad flexible)
  • nos vemos mañana de 10:00 a 11:00
    (a ver, ¿10:00 u 11:00?! o qué, a las 10:30???)
  • en un ratito está listo
    (ratito... ¿cuánto será un ratito? ¡caray!)
  • igual y mañana lo vemos
    (¿igual y si, o, igual y no?)
  • dime cuando no estés ocupado y lo solucionamos
    ¡siempre estoy ocupado!, ¡agendemos una hora exacta!
  • te digo el lunes o martes
    (¡48 horas de víspera!)
  • termino 'en la semana'
    (ahora si me cago, 168 horas a la espera)
A esto podemos aunar que algunas personas piensan que efectivamente el universo no circunscrito de Deepak Chopra opera a tal nivel de eficacia que podemos todos saber qué está pensando la otra persona para que, de repente y sin previo aviso, arribe a tu lugar y te diga:
- Oye, ¿ya terminaste tu pendiente?
- ¿de qué pendiente me hablas?
- ¿cómo cuál? ¡pues del que no haz terminado!
- no tengo idea de qué me hablas
- ¡por eso nadie te pregunta nada! ¡nunca quieres atendernos! adiós

Basta de quejas; mi solución ñoña:
CODES
Fácil de recordar y bastante eficaz; siempre que toques un tema con alguna persona, ya sea por correo electrónico, llamda telefónica, reunión presencial y/o virtual, procura acordarte de:
CODES
  • C
    Contexto. SIEMPRE, antes de empezar a comunicar es necesario indicarle al receptor el tema o situación que estarás tocando en conjunto a sus matices y situaciones relacionadas
  • O
    Objetivo.
    Plantea puntualmente qué quieres lograr con tu comunicado y asegúrate que sea comprendido
  • D
    Desarrollo.
    Expón tu punto (AHORA SI), lo menos ambigüo que tu mente te permita
  • E
    Expectativa
    . Explica de forma exacta para cuándo necesitas solucionado tu problema o concluida la labor que implica tu comunicado
  • S
    Seguimiento
    . Deja muy claro qué sucederá con el tema o situación en un futuro de forma objetiva, estableciendo fechas y estrategia clara y acordada
La comunicación oral nos permite vivir el CODES de una manera más ágil y no ocasiona tanto problema no seguirlo ya que los interlocutres tienen un canal altamente eficiente de retroalimentación, el habla y la comunicación no escrita, por lo que sin querer queriendo logramos todos los puntos de una manera más sencilla.

Donde realmente es grave el problema es el no utilizar el CODES en una comunicación escríta y asíncrona. Días completos pasan sin que un mensaje llegue completo del emisor al receptor. En el caso del correo electrónico tenemos el grave problema que pensamos es muy rápido; desgraciadamente no lo es gracias a la diarrea comunictiva que ejercen muchas personas después de 4 o 5 correos electrónicos y la latencia que vivimos entre cada uno de ellos todo para cubrir los puntos del CODES.

El objetivo es que un solo mensaje exponga todo lo que necesitamos de tal forma que el receptor, con una sola respuesta, solucione lo planteado.

Anteriormente cuando las computadoras no eran rápidas y la compilación de un código fuente tardaba horas y horas, los programadores revisaban y re-revisaban cada línea de código antes de mandarla compilar, de esta forma, evitaban al máximo la conclusión del proceso con un error que los forzaba volver a comenzar. Acaso, actualmente ¿vale menos nuestro tiempo porque todo es más 'rápido'?

Dejemos de perder tiempo por no exponer nuestras necesidades, instrucciones y solicitudes de manera clara y completa, respetando así, el nuestro tiempo y el de los demás.

Etiquetas: