miércoles, 23 de noviembre de 2011

Opinión: ¿Qué hace un CTO emprendedor?


¿Qué hace un director de tecnología (CTO) de un emprendimiento en realidad?
Por Eric Ries  



¿Qué hace su director de tecnología en todo el día? Muchas veces, parece que la gente está pensando que es sinónimo de "el tipo que se le paga para sentarse en la esquina y pensar pensamientos " técnicos" profundos" o "el tipo que llega a sola vez en un reorganizar mi proyecto en el último minuto por un capricho”. He tratado de no estar a la altura (¿o bajeza?) de los estereotipos, pero no es fácil. Carecemos de una definición clara y coherente del trabajo.
Cuando le he pedido a mentores míos que han trabajado en grandes empresas sobre el papel de un CTO, por lo general hablan de la importancia de ser la cara externa de la plataforma tecnológica de la empresa, un evangelista de desarrolladores, clientes y empleados. Eso es un trabajo importante, por cierto, y he tenido que hacerlo de vez en cuando. Pero no creo que la mayoría de los emprendimientos realmente tengan una necesidad de que alguien haga ese trabajo a tiempo completo.
Entonces, ¿qué quiere decir CTO, además de simplemente " técnico fundador que realmente no puede manejar a alguien?"
Siempre he asumido que no tendría que gestionar a nadie. Ser un gerente no sonaba divertido – bien metido, que realmente quiere ser responsable por las acciones de otras personas? Quiero decir, ¿usted ha visto a otras personas? ¡Ellos pueden hacer cualquier cosa! Por lo que inicialmente gravité hacia el título de director técnico, y no vicepresidente de ingeniería. Yo pensé que volvería a traer a un profesional para hacer la gestión y programación de tipo material, y que podría mantenerse enfocado en asegurar que construimos la tecnología realmente impresionante. Pero en el camino, algo extraño sucedió. Se hizo más difícil y más difícil separar el funcionamiento del software de cómo el software está estructurado. Si usted está tratando de diseñar una arquitectura para aumentar la agilidad, ¿cómo puede funcionar si algunas personas no están trabajando en Test-Driven Development (TDD) y los demás? ¿Cómo puede funcionar si algunas personas usan el pre-building y otros usan el “5 why’s” para tomar decisiones? ¿Y qué pasa si el despliegue tarda una eternidad? Algunas opciones pueden mejorar el rendimiento del software a expensas de la legibilidad, la capacidad de despliegue, o la escalabilidad. ¿Debiera tomarlos? Estos me sonaban a problemas técnicos, pero cuando lo hace cualquier tipo de análisis causal resultaban ser problemas de la gente. Y no hay realmente ninguna manera de abordar los problemas de la gente desde la barrera.
Así que terminé aprendiendo la disciplina de dirigir a otras personas. Resulta que yo no era demasiado malo en ello, y me di cuenta qué tan gratificante que puede ser. Pero desde que pasó un largo tiempo en un rol híbrido CTO / VP de Ingeniería, todavía tengo esa molesta pregunta. ¿Qué se supone qué el CTO debe hacer?
Esta es mi opinión. La tarea principal del CTO es asegurarse de que la estrategia de tecnología de la compañía sirva a su estrategia de negocios. Si esto suena demasiado simple o demasiado genérico, piense por un segundo si los hay compañías que usted conoce hace la inversa. ¿Alguna vez has oído a un técnico el uso de galimatías para hacer que suene como una idea de negocio que él o ella no le gustaban y era prácticamente imposible de implementar? Eso es lo que se debe tratar de evitar.
Voy a tratar de dividirla en cinco habilidades específicas.
  • Selección de plataforma y diseño técnico - si su estrategia de negocio es crear un emprendimiento de bajo capital, altamente iterativo es mejor utilizar herramientas fundamentales que la hagan fácil en lugar de difícil. ¿Masivas bases de datos propietarias? No lo creo. ¿Puede la compañía meterse en sus herramientas cuando fallen y corregirlas? Si no, ¿quién va a insistir en cambiar a software libre y de código abierto? Cuando los proyectos son para despegar del suelo, quién puede consultar con el equipo para asegurarse de que sus planes son viables?  ¿Quién se hará responsable por el impacto de sus proyectos en la plataforma en su conjunto?       
  • Ver el panorama general (en detalles gráficos) - El director técnico debe ser la persona en la sala que se puede mantener en su cabeza todo lo que su tecnología puede y no puede hacer. Eso significa saber lo que está escrito y lo que no, lo que la arquitectura puede y no puede soportar, y cuánto tiempo se tardaría en construir algo nuevo. Eso es más que dibujar diagramas de arquitectura, sin embargo. Ser capaz de ver la macro y micro al mismo tiempo es una característica de todos los técnicos realmente grande que he tenido el privilegio de trabajar con ellos.
  • Proporcionar opciones - otra característica de un buen director técnico es que nunca dicen "eso es imposible" o "nunca haría eso." En su lugar, se encuentran las opciones y puede comunicar a todos en la empresa. Si el CEO quiere cambiar por completo el producto con el fin de servir a un nuevo segmento de clientes, usted necesita a alguien en la sala que pueden digerir las necesidades de la nueva (propuesta) de negocios y diseñar los costos de cada uno de los enfoques posibles. Algunos técnicos tienen una tendencia sólo para "decidir por ti" y le dará la "mejor" opción, pero eso es peligroso. No se puede tener un diálogo honesto, si una de las partes conoce todas las respuestas.
  • Encontrar el 80/20 - esta fue mi parte favorita del trabajo. A veces, estás en una reunión en la que alguien quiere construir una nueva característica del producto. Y en su mente, lo tiene todo especificado de rabo a cabo. Sus rebanadas, sus cubitos, y probablemente hasta como hará para lavarte tu coche también. En mi mente, se están acumulando los costos (de un mes para que una parte, dos meses para que la otra parte, uh oh!). En un mal día, acababas de darles la noticia aleccionadora. Pero un buen día se veía de este modo. En el momento que entendía cual era el  objetivo de la característica adicional para los clientes, a veces podía ver una manera de obtener el 80% del beneficio al 20% del costo. "¿Sería usted capaz de aprender lo que usted necesita saber si esta característica sólo estuviese en rodajas, pero no en cubitos? Porque si no es necesario agregar un módulo de corte en cubitos, se puede reutilizar el condensador de flujo a través de las llamaradas solares ...." Me quedé sorprendido constantemente sobre la frecuencia con la respuesta fuese algo así como "¿en serio? ¿Cortar en cubos es lo caro? ¡Sólo lo dije como un capricho nomás!"

  • Crecer a los líderes técnicos - Me gusta formalizar esta responsabilidad al final designando a algunos ingenieros como "técnico líderes" y delegar en ellos el trabajo de guiar a la dirección técnica de los proyectos más y más. Esta es la única forma de escalar. También me obligó a poner en claro qué aspectos de la dirección técnica de nuestra compañía eran realmente principios importantes, y que eran simplemente artefactos de cómo llegamos allí. Con varias personas tratando de trabajar con el mismo estándar, tenía que ser mucho más nítidos en nuestras definiciones. ¿Fue el hecho de que estábamos utilizando principalmente PHP esencial, o se podría agregar nuevas herramientas escritas en otros idiomas? ¿Fue un hecho importante o irrelevante que la mayoría de nuestro código web era de procedimiento y no orientada a objetos? ¿Y qué si alguien quería escribir su módulo en el estilo de programación orientada a objetos? Mediante la delegación y la formación, creamos un cuerpo de líderes que intervenir para proveer servicios tipo CTO a sus subordinados. Y trabajando juntos, creamos un equipo cuyo conjunto era mayor que la suma de sus partes.

Quiero agregar una última idea, aunque reconozco que es objeto de controversia, en la frontera en el límite entre la CTO y vicepresidente de ingeniería. No sé lo mucho que estoy influenciado por haber llevado dos sombreros, pero creo que es lo suficientemente importante como para salir en una extremidad y agregar.
  • Aprópiese de la metodología de desarrollo - en una instalación de desarrollo de productos tradicionales, el vicepresidente de ingeniería o algún otro directivo a tiempo completo sería el responsable de asegurarse de que los ingenieros escribieran las especificaciones adecuadas, bien conectadas con control de calidad, y también ejecutaran la  "trenes" de cronogramas  para las versiones. Pero creo que en un emprendimiento lean, la metodología de desarrollo es demasiado importante para ser considerado "sólo de gestión". Si el equipo se va a utilizar TDD o escalabilidad JIT (just-in-time), por ejemplo, estas decisiones tienen un impacto enorme en cómo la arquitectura debe parecerse. Como mínimo, creo que el CTO y los líderes de tecnología tienen que ser responsables por los análisis de los defectos por análisis causal usando los 5 why’s. De lo contrario, ¿cómo pueden saber cuáles son sus puntos débiles y asegurarse de que el equipo y la arquitectura los arregle? Esa tarea requiere de alguien que ve todo el panorama.

Su director de tecnología (CTO) puede ser un gran arquitecto, evangelista, diseñador de la interfaz o depurador increíble. Esos son grandes habilidades para tener y tengo curiosidad de ver que funciona o no para usted. Yo seré el primero en admitir que mi experiencia es limitada, así que estoy recogiendo anécdotas. ¿Ha trabajado con o para un gran director de tecnología? ¿Qué los hizo tan excepcional? ¿Qué es una cosa un nuevo director de tecnología por primera vez podría aprender de ellos?


0 comentarios:

Publicar un comentario

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Hostgator Coupon Code