Mostrando entradas con la etiqueta CTO. Mostrar todas las entradas
Mostrando entradas con la etiqueta CTO. Mostrar todas las entradas

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?


viernes, 11 de noviembre de 2011

Organizaciones R&D en Software: Quién hace qué en una empresa de software

¿Quién hace qué en una empresa de software?[1]


Se necesita una aldea para criar a un niño, y ocupan muchos roles profesionales hacer una compañía de software con éxito, o para traer un producto de software con éxito en el mercado. En las empresas más pequeñas, usted encontrará que las personas puedan usar muchos sombreros (muchas tareas por cada persona). En una sociedad de dos, el arquitecto de producto, programador jefe, director general y el equipo de marketing de todo pueden ser casi con seguridad las mismas personas. He aquí un resumen rápido de las funciones principales que podría ver en una organización típica del software. La mayoría de las compañías de software tienen las personas que efectivamente realizan más de una de estas funciones. Sólo las empresas más grandes tienen distintas posiciones de trabajo para cada uno de las funciones descritas en la Tabla 1.

Tabla 1. ¿Quién hace qué en una empresa de software?
Rol
Descripción
Director general (Chief Executive Officer):

Papel: ejecutivo responsable por el éxito comercial de la empresa.
Antigüedad: Jefe de la organización.
Ámbito de aplicación: la estrategia de negocios global y el éxito. Las respuestas a la junta directiva.
CTO (Chief Technological Officer):  

Papel: función ejecutiva con la dirección general técnica de la empresa.
Antigüedad: más alto miembro del personal técnico, sin rendir cuentas a otros ejecutivos de nivel C y vicepresidentes (VP).
Ámbito de aplicación: la estrategia técnica, a menudo llamados a apoyar las oportunidades de negocio.
Asociado (Fellow)

Papel: un pensador estratégico técnico e innovador. Este suele ser el más alto nivel técnico en una compañía de software. Por lo general menos de 1 por ciento de los empleados pueden llegar a este nivel.
Esto es a menudo una posición ejecutiva.
Antigüedad: La parte superior de la cadena técnica. Dependiendo de la compañía, esta posición no puede ser mayor que la CTO. Sin embargo, a diferencia de un CTO, los becarios no pueden controlar directamente los equipos técnicos.
Alcance: de dominio específico, basado en la experiencia. Por ejemplo, los becarios se suelen asociar a un campo específico, como compiladores, sistemas operativos, informática móvil, etc.
Vicepresidente (de desarrollo, marketing, ventas, etc)
Rol: Un ejecutivo responsable del éxito de una función entera dentro de una marca o una gran parte de la empresa, como la I + D, marketing o ventas.
Antigüedad: rinde cuentas a un ejecutivo de nivel C o un vicepresidente de mayor rango.
Ámbito de aplicación: nivel de producto o marca.
Director de ingeniería

Papel: Un ejecutivo responsable del equipo de I + D, en parte, a la ingeniería de garantizar que la estrategia está bien definida, pero más específicamente para asegurar que el desarrollo del producto está bien administrado.
Antigüedad: Informa a un vicepresidente. La mayoría del equipo de desarrollo estará bajo control del director.
Alcance: Toda la organización del I + D.
Director de marketing  

Función: Responsable del equipo de marketing, en parte para asegurar que la estrategia de marketing está bien definida, pero más específicamente para asegurar que la ejecución de la estrategia esté bien administrada.
Antigüedad: Reporta a un vicepresidente. La mayoría del equipo de desarrollo estará bajo control del director.
Ámbito de aplicación: Una organización de marketing completa.
Arquitecto jefe

Papel: la responsabilidad de arquitectura para un producto o marca.
Antigüedad: Un alto cargo, de forma similar en estatura al Director. A veces se denomina ingeniero distinguido si el papel es un cargo ejecutivo.
Alcance: El arquitecto en jefe es el arquitecto de los arquitectos. Todas las decisiones técnicas de diseño se encuentran bajo su / su ámbito de competencia.
Gerente de distribución

Rol: Un jefe de proyecto que tiene la responsabilidad general de asegurar que un producto se entregue.
Antigüedad: Por lo general, depende del alcance de lo que se está manejando. Para que un producto pequeño que puede ser similar a un programador senior o jefe de departamento. Para que un producto muy grande esto puede ser equivalente a un gerente de segunda línea.
Ámbito de aplicación: nivel de producto.
Gerente de segunda línea
Rol: Un gestor de gestores. Segunda línea, los gerentes por lo general director de administrar una organización de 50 a 200 personas.
Antigüedad: Un papel de la alta dirección, por lo general la presentación de informes a un director o vicepresidente.
Ámbito de aplicación: el responsable del éxito del equipo (s) administrados, así como las necesidades de personal de los informes directos.
Arquitecto

Papel: la responsabilidad de arquitectura para una gran parte de un producto o un producto completo. Refiere a veces como miembro del personal técnico superior (no ejecutivos) o Ingeniero Distinguido (ejecutivo).
Antigüedad: Al igual que un gerente de segunda línea o primera superior jerárquico, según el alcance.
Ámbito de aplicación: Todas las decisiones de diseño técnico de un dominio específico están bajo su / su ámbito de competencia. Uno de los componentes del producto o el arquitecto es responsable ante el Jefe de Arquitectura de la integridad del diseño y la eficiencia.
Director técnico

Papel: Gestiona el personal de trabajo productivo real, sino también actúa como el líder técnico senior en el equipo.
Antigüedad: gerente de nivel medio, la presentación de informes ya sea a un gerente de segunda línea o de otro miembro del personal de alto nivel.
Alcance: Se encarga de las prestaciones de los empleados, la dirección técnica para el departamento, y las necesidades del departamento de personal. Los directores técnicos tienden a manejar un poco más pequeños departamentos de los jefes de departamento ordinario, ya que su función incluye la dirección técnica.
Director del programa

Función: Combina las funciones de Gerente de Producto y gestores de proyectos. Asegura que los recursos que se aplican a las cosas correctas y, en menor medida, de que las cosas se están construyendo justo.
Antigüedad: Por lo general, una posición de nivel medio, similar a un jefe de departamento, aunque hay una amplia gama en función de su alcance. Esto puede ser una posición muy alta, comparable a un Director.
Ámbito de aplicación: nivel de producto o marca.
Director de departamento

Papel: Gestiona el personal de trabajo productivo real.
Antigüedad: gerente de nivel medio, la presentación de informes ya sea a un gerente de segunda línea o de otro miembro del personal de alto nivel.
Alcance: Se encarga de las prestaciones de los empleados en el departamento, así como sus necesidades de personal. Se encarga de reclutamiento y entrenamiento.
Miembro del personal de investigación

Función: a tiempo completo investigador. Esta posición requiere generalmente un doctorado, aunque hay excepciones.
Antigüedad: de gran prestigio, pero con moderado a escaso control sobre los equipos de personas. Esto es el equivalente corporativo de un investigador universitario.
Ámbito de aplicación: Por lo general se centró en un área de experiencia de investigación, tales como sistemas operativos, optimización matemática, la base de datos, etc El éxito se mide tanto por su impacto en la innovación de productos reales y las métricas tradicionales de investigación, tales como patentes y publicaciones de nivel  1.
Gerente de producto (o planificador de producto)

Función: Define la estrategia y el contenido de un producto con el aporte de múltiples fuentes (I + D, marketing y ventas). También ayuda a definir los precios y el embalaje (términos de la licencia y la agrupación).
Antigüedad: Por lo general, una posición de nivel medio, similar a un jefe de departamento.
Ámbito de aplicación: nivel de producto.
Ingeniero de usabilidad

Rol: Un rol interdisciplinario que ayuda a diseñar y / o validar de la facilidad de uso de un producto o una característica.
Antigüedad: Una gama de niveles, incluidos los intermedios asociados, y de alto nivel. El grado de responsabilidades de diseño y liderazgo de equipos aumenta en cada nivel.
Alcance: El producto o el nivel de prestaciones, responsabilidades.
Programador

Rol: Diseño de software y nuevos programas.
Antigüedad: Una gama de niveles, incluyendo programadores, intermedio y superior. El grado de responsabilidades de diseño y liderazgo de equipos aumenta en cada nivel.
Ámbito de aplicación: especificaciones, el diseño, el desarrollo de código, y las tareas asociadas
Función de probador de verificación

Papel: verificación funcional.
Antigüedad: Una gama de niveles, incluyendo probador, intermedio y superior. El grado de responsabilidades de diseño y liderazgo de equipos aumenta en cada nivel.
Alcance: Ensayo de planes, ensayo de diseños, desarrollo y ejecución de pruebas, y tareas asociadas y centradas específicamente en la verificación funcional.
Medidor de verificación de sistema

Papel: la verificación del sistema. A diferencia de verificación funcional, que examina la función de un producto, la verificación de sistema examina las interacciones de los componentes cuando se integran y operado bajo estrés. Las pruebas del sistema incluye la prueba de perfil de usuario, las pruebas de estrés (concurrencia, volumen, escala), y las pruebas de integración.
Antigüedad: Una gama de niveles, incluyendo probador, intermedio y superior. El grado de responsabilidades de diseño y liderazgo de equipos aumenta en cada nivel.
Alcance: Ensayo de planes, ensayo de diseño, desarrollo y ejecución de pruebas, y las tareas asociadas y centradas específicamente en la verificación sistémica.
Vendedor técnico

Papel: Las ventas a socios de negocios o bien, distribuidores, proveedores de software independientes (ISV), o clientes
Antigüedad: Una gama de niveles, incluyendo especialista asociado de ventas, intermedio y superior.
Alcance: personal de ventas técnicas representan un subgrupo del equipo de ventas. Por lo general son más profundamente expertos en líneas específicas de productos y ayudar al equipo de ventas más amplia en el manejo de las cuentas detalladas.
Puede trabajar con una comunidad más amplia para llevar una prueba de concepto de las implementaciones.
Vendedor directo

Papel: Las ventas a clientes.
Antigüedad: Una gama de niveles, incluyendo especialista asociado de ventas, intermedio y superior.
Ámbito de aplicación: presenta los productos y marcas a los clientes potenciales. El viaje es común, y puede ser regional o internacional.
Vendedor de canal

Papel: Las ventas a los socios comerciales, distribuidores, y los ISVs
Antigüedad: Una gama de niveles, incluyendo especialista asociado de ventas, intermedio y superior.
Ámbito de aplicación: presenta los productos y marcas a las empresas que revenden el producto, ya sea directamente (distribuidor) o en conjunción con sus propios (como agrupación de una base de datos con un paquete de contabilidad). Los  viajes, ya sea regional o internacional, es común.
Técnico evangelista

Papel: Evangelista tecnológico, realza el entusiasmo de la comunidad para un producto o marca. Apoya la comercialización y los equipos de ventas. Un evangelista técnico o de tecnología es una persona que intenta construir una masa crítica de apoyo para una determinada tecnología con el fin de establecerlo como una norma técnica en un mercado que está sujeto a los efectos de red
Antigüedad: Una gama de niveles, incluidos los intermedios asociados, y de alto nivel.
Ámbito de aplicación: nivel de producto o marca. Ámbito de aplicación es a la vez hacia el interior mirando hacia la I + D, marketing, y equipos de ventas, así como hacia el exterior orientada hacia las comunidades de usuarios. A menudo responsables de la creación de demos, white papers, y la garantía de publicidad.




[1] Making It Big in Software por Sam Lightstone, Prentice Hall, 2010.

Twitter Delicious Facebook Digg Stumbleupon Favorites More

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