furilo página personal de álvaro ortiz

Desarrollo web: equipo y perfiles

# por álvaro · 12 May 07 · 21 comentarios, escribe el tuyo

Un amigo está pensando en iniciar un proyecto web y me he permitido hacerle un par de observaciones relativas al equipo con el que arrancarlo (también podíamos decir que está pensando en montar “un negocio en internet”, y sería preciso dado que pretende (y seguro que lo consigue) vivir de ello).

No subcontrates el equipo de desarrollo

Si te crees el proyecto, y todos damos por hecho que si te vas a meter en este embolado, te lo crees :) , no subcontrates el equipo de desarrollo. Por varias razones:

  • Te saldrá mucho más caro. Cualquier desarrollo contratado a una empresa externa, por pequeña y barata que sea, te resultará más caro que contratar a dos o tres programadores durante un año.
  • Aunque llegues a algún acuerdo y una empresa externa incluso te llegue a regalar el desarrollo (por intercambio de acciones o lo que sea), ten en cuenta que el código de un proyecto es algo vivo en lo que tendrás que trabajar de forma constante mientras dure el proyecto. Es decir, siempre vas a tener programadores manteniendo y ampliando el código. Un desarrollo empieza, pero nunca acaba.
  • Tendrás fases de más intensidad de desarrollo y otras de mantenimiento, pero siempre tendrá que haber alguien encima del código. Cuando una empresa de servicios hace un desarrollo tiene una planificación, en la que el desarrollo empieza, y el desarrollo acaba. Si se acerca la fecha de finalización o consideran que ya llevan mucho tiempo currando y que les empieza a no ser rentable, una empresa externa lo acabará como pueda, con lo que la calidad del producto disminuirá.
  • El código de alguien involucrado en el proyecto tendrá necesariamente más calidad porque ese alguien además de hacer ahora el código tendrá que convivir con él mientras trabaje en la empresa, por lo que se cuidará de que el código sea limpio, esté optimizado, ordenado, etc.
  • A la larga tendrás que tener tus propios desarrollares. Es mejor que trabajen con su propio código y no con el de alguien ajeno. Es más, cuando tengas tus propios desarrolladores hay un alto porcentaje de posibilidades de que no les guste el código y lo acaben reescribiendo.
  • El código de tu proyecto es como un niño que estás pensando en tener. A no ser que por problemas de salud no puedas tener tu propio hijo, nunca harías algo como subcontratar el embarazo y los dos primeros años de vida de tu bebe para empezar a cuidarle después, cuando “el asunto” ya esté en marcha. Lo tendrías tu y en los primeros meses es cuando le dedicarías los cuidados más especiales. Luego cuando crezca un poquito si que podrás pensar en contratar a una canguro cuando te quieras ir de cena. La web es el niño que vas a tener.

Tamaño del equipo

Siempre he trabajado con equipos pequeños y ágiles (persona ágil = proactiva, detallista, educada, optimista, con ganas de hacer cosas), y después de cierto tiempo desarrollando aplicaciones web de muy diverso tamaño, estoy bastante convencido de que no hace falta más. Es más, equipos más grandes pueden ser menos productivos.

  • Un equipo para un desarrollo de una aplicación web media (un 11870, un nvivo.es, un La Coctelera) puede estar formado para empezar por dos o tres personas. 3 programadores organizados y con las cosas claras te dan una productividad muy buena.
  • Huye de equipos en los que haya jefes de proyecto que no programen. ¿Tiene sentido un jefe de proyecto de 28 años que ha dejado la programación -o sea, que tiene poca experiencia con el código- supervisando el trabajo de un programador de 26 años sin ninguna experiencia? No tengo muy claro por qué, es una cuestión de instinto supongo, pero desconfío de una persona con perfil técnico a la que no le guste mojarse y picar código, siempre o al menos de vez en cuando, cuando su tiempo se lo permita si tiene muchas más obligaciones de gestión. Un responsable técnico que no conozca los más oscuros detalles del desarrollo no me cuadra.
  • Un coordinador o director técnico (prefiero huir del término jefe de proyecto) tiene sentido para organizar el trabajo de 5, 6, o más personas. Si no, sobra. Tres programadores (donde haya al menos uno con 10 años de experiencia, y otros dos más junior que sean brillantes) con un buen trabajo de HCI (Arquitectura de información) es más que suficiente para arrancar durante el primer año. Más adelante, cuando se empiece a crecer, pues ya podrá llegar un DBA, un sysadmin, especialistas y/o mantenedores de ciertas partes del código…

¿Qué opináis? ¿Cúal ha sido vuestra experiencia desarrollando vuestra aplicación web?

21 Responses to “Desarrollo web: equipo y perfiles”

  1. Juan Lupión Says:

    Una observación acerca de la subcontratación: aunque las empresas que se dedican a ello suelen cobrar cantidades poco modestas por sus servicios, los programadores subcontratados por lo general no cobran de manera acorde, con lo que ello implica: terminan empleando a gente con poca experiencia y menos motivación.

    Uno se puede creer que está subcontratando el desarrollo de *su* aplicación a un expermentado equipo de mercenarios cuando en realidad está poniéndose en manos de un puñado de monos con pistola.

  2. álvaro Says:

    Totalmente de acuerdo Juan…

  3. Agustín Vivancos Says:

    Me ha encanto tu artículo, lo apoyo mucho, en mi blog hablo sobretodo de cosas parecidas a esta. Mi experiencia es la siguiente: tengo 18 años pero con 6 de experiencia programando en desarrollo web en general y ultimamente el marketing, posicionamiento y usabilidad. Tengo una oferta muy buena para una StartUp y en principio iba a ser subcontratado pero cuando vieron mis cualidades decidieron negociar directamente conmigo y contratarme directamente en la plantilla de la empresa. Podeís leer más en Promocionar blogs que aparte comento algunas formulas para hacer un blog popular.

  4. Loogic.com Flodeo fotoblogs Says:

    […] Sigo pensando que hay una oportunidad de negocio para quien monte un sistema de fotoblogs original, eso si, creo que para montar algo así hace falta contar con un buen equipo de desarrollo, ganar a los usuarios por la vista, con bonitos diseños de plantillas y sobre todo hacerlo muy usable. […]

  5. links for 2007-05-13 | 7 minutos antes de la medianoche Says:

    […] Consejos sobre equipos y perfiles en el Desarrollo web Genial post sobre consejos al programar aplicaciones web con equipos de personas (tags: Startup desarrolloweb programación) […]

  6. rag Says:

    bueno eso hacemos nosotros. nuestras criaturas, y con poquitos recursos ya se sabe… está claro que además escribir código para pymes no sale rentable ;) pero allí se descubren muchas cosas, bueno pues que nos falta gente :( para hacer las cosas más rápido… por si alguien se anima.

    a ver voy a probar el cocomment en tu blog furilo, espero no tirarte lo ;)

  7. victor Says:

    Muy de acuerdo en esto que dices sobre los jefes de proyecto que no tocan código. Los mejores jefes de proyecto que he conocido nunca dejaron de tocar código (hasta que pasaron a dirección, pero entonces ya no eran responsables técnicos); y me sirven como modelo.

    Actualmente el jefe de proyecto soy yo, pero me niego a dejar de tocar código por miedo a oxidarme - y por que me gusta, para que nos vamos a engañar!

  8. Angel Says:

    A mi se me ocurren ventajas para la subcontratación:

    A una empresa se le pueden exigir plazos de entrega y acordar penalizaciones, para que el proyecto no se prolongue demasiado. A tus propios empleados solo les puedes despedir en caso de que no lo hagan y en el mejor de los casos solo te costará dinero y tener que seguir con otros nuevos.

    A una empresa se la puede auditar para que el producto sea se calidad y cumpla con los estándares y si no los cumple no te costará más dinero, a tus empleados les puedes auditar y alomejor te das cuenta de que no eran tan buenos como pensabas…

    Aunque las empresas cobran caro el mantenimiento y soporte de un producto, creo que te ofrecen más garantía (al menos legal) y en el caso de háztelo tu mismo, si tu equipo decide irse a otro lugar, te puedes quedar bien tirado.

    En resumen, creo que para un desarrollo en el que el “creador” se involucra y además conoce perfectamente el medio puede ser mucho más efectivo y barato tener un equipo propio, para todo lo demás, yo contrataría a una empresa, vamos igual que para cualquier otra cosa en la vida….

  9. álvaro Says:

    Angel, si tu negocio no está fundamentado principalmente en una web, puede que tus observaciones tengan sentido (y aún así, en muchos casos tener un equipo de dos personas te saldría más barato).

    POr otro lado, al desarrollo de productos informáticos le falta todavía mucho para que sea una ciencia exacta. Si alguien se retrasa (ya sea tu equipo o el subcontratado), es decir, cuando el equipo se retrase, porque siempre se retrasará :) la empresa subcontratada aumentará el ritmo y la calidad del producto bajará, tu equipo mantendrá el mismo ritmo y puede que tarde un poco más, pero el producto será mejor.

    Si alguna vez te has visto involucrado en un desarrollo, coincidirás en que es mejor lo segundo que lo primero, ya que lo primero es pan para hoy y hambre para mañana.

  10. jorgemaestre Says:

    Veo dos aproximaciones:

    * La del artesano o el taller, que es se ajusta más a la que insinúas, con equipos pequeños, que disfrutan con lo que hacen, con mimo por el detalle y las cosas bien hechas. Aquí el jefe de proyecto es más un coordinador o guía del grupo; se relega la ingeniería de proyectos por algo más cercano, es como crear la Espada de Induráin.

    * La factoría, cadenas de montaje con obreros altamente especializados donde prima la producción, donde el jefe de proyecto vela por la misma, probablemente dedicándose al seguimiento y planificación del mismo y solventando los problemas con el cliente y otros proveedores, dejando a un lado la programación. Esto es más una ciencia exacta, como un gran proyecto de ingeniería como la construcción de un puente o una autovía.

    Probablemente estemos hablando en torno a un 20-80% o incluso menos de proporción de gente, y menos hablando de dinero.

  11. Arthur Says:

    “Huye de equipos en los que haya jefes de proyecto que no programen”. Totalmente de acuerdo.

    O como dice el famoso refrán “El que ha sido cocinero antes que fraile, lo que pasa en la cocina bien sabe”. Creo que esto se aplica a todos los ámbitos laborales, no solo al nuestro.

  12. Luis Villa Says:

    Álvaro, te doy la razón pero creo que hay que resaltar que esto es válido en proyectos startup web en que uno es el promotor, no en otros más tecnológicos, sensibles y políticos en los que hay otros imponderables y requerimientos. Y aún así…

    No conviene identificar subcontratación y gestión con malas prácticas profesionales en un sector donde hay mucha oferta y en la que muchos clientes son demasiado inmaduros se aprovechan obligando a tirar los precios hasta que tienen las chapuzas que merecen.

    Subcontratación
    No confundamos la necesidad puntual de perfiles cualificados de una empresa con lo que ofrecen proveedores de colmillo torcido que venden expertos formados en el tiempo que dura un taxi desde la firma del contrato hasta el cliente final. Desde luego, este tipo de proveedores garantizan el desastre. Para eso hay auditorías, certificaciones, etc.

    A veces es inviable contratar en plantilla un equipo para un desarrollo que va a durar unos pocos meses. La parte viva del proyecto la puede llevar un equipo más pequeño.

    Huye de equipos en los que haya jefes de proyecto que no programen
    No estoy del todo de acuerdo. Hay excelentes Jefes de Proyecto que no programan… la gestión bien hecha no obliga a ser programador sino a saber informarse de los esfuerzos y tareas que conlleva un desarrollo. Claro que para eso el que haya sido “programador antes que fraile” tiene ventaja.

    El Jefe de Proyecto, es en muchos casos, director de orquesta, un facilitador que según el tamaño del proyecto y del equipo tiene cosas de más valor que hacer que ponerse a picar código, y entre ellas aplicar su visión y experiencia de manera que el proyecto llegue a buen término.

    Con los años la tecnología se come a los programadores, automatización creciente y bajadas de precio de horas hombre. La evolución lógica es aplicar la experiencia en otros campos en los que importan los conceptos y guiar a los que empiezan no las líneas de código.

    Gestionar y programar simultáneamente pueden ser, por experiencia, causantes de desastres. (Y en proyectos relativamente pequeños y sin excesivo riesgo, divertido).

    Plazos y calidad
    Aquí entra el buen Jefe de Proyecto que hay pocos. Uno de esos que levanta un margen ajustado a base de ampliaciones y gestiones de cambios. Que sabe negociar plazos y entregas para que no baje la calidad… y para que el cliente haga sus deberes!!! :-)

    Un proyecto se compone de streams, eventos, perfiles, dedicación y presupuesto. Un buen gestor de proyectos “profesional” puede gestionar igual un ERP que un CRM o un canal transaccional de banca. La construcción de una casa que un proyecto tecnológico.

    Contado este rollo… mi experiencia presonal en una frase: “Small is sexy” :-))))

  13. Week-log.225 | Denken Über Says:

    […] - Blogestudio » Migración desde la nueva versión de Blogger a WordPress - Linotipo y un video de ¿Qué es un blog? - Dirson ¿Cómo evitar que Google fagocite tu proyecto web? - Blogpocket Hiro Nakamura en la portada de Wired.. que loco que sea el heroe de los geeks :P - furilo equipo y perfiles para desarrollo - Error500 y los anémicos Windows Live Folders - Fabio ¿hay plagio a Star Wars de Harry Potter? - SEO Dictionary un muy buen recurso para SEO.. obvio no? :S - ICeman le da las gracias a Microsoft ;) - Blog de Viajes y otra estadística del turismo en USA - ALT1040 Flashmob basado en el comercial de Xbox 360 - Tecnorantes Second Life: mucho ruido y pocas nueces - Historiador.net un digg clone pero de historia :) - Mapa de .NET es GENIAL… esto lo vi a través de Patricio Cañete - MinutoUno y una promesa electoral que le puede dejar las mandíbulas rotas a la candidata :P - Andrea muestra estadísticas de ventas de consolas de juegos - Andres y un relaity de marketing online - La Bitacora del Capitan nos cuenta sobre el observatorio Pierre Auger - Carrero y la noticia de que PayPal se convertirá en un banco este año - El Blogazo muestra el diario freak del mundo :P - Victor Martin Garcia y un muy buena “Yahoo! Pipe” para saber tu site ;) - Error500 y los nuevos fichajes de Joost - Ismael tambien es un fivelaber (¿un que? :P) […]

  14. coRank Says:

    Perfil del equipo para desarrollo web de una startup…

    Un par de consejos relacionados al equipo adecuado para montar “un negocio en internet”: No subcontratar al equipo de desarrollo y armar equipos pequeños con personas ágiles: proactivas, detallistas, educadas, optimistas y con ganas de hac…

  15. meneame.net Says:

    Perfil del equipo para desarrollo web de una startup…

    Un par de consejos relacionados al equipo adecuado para montar “un negocio en internet”: No subcontratar al equipo de desarrollo y armar equipos pequeños con personas ágiles: proactivas, detallistas, educadas, optimistas y con ganas de hacer cosas. Equ…

  16. El Blog de Vallebro Comunicación » Enlaces recientes para emprendedores interneteros Says:

    […] - Como por lo visto esto de empezar un proyecto en internet necesita alguien que lo haga, digamos que programadores, una reflexión de Furilo sobre el equipo técnico necesario: “Desarrollo web: Equipo y perfiles”. Continuando con Furilo, en un post anterior cita una lista de 15 mandamientos para una startup de Mark Fletcher (Bloglines), y me parecen muy buenos los 4 con los que se queda. […]

  17. Miky Says:

    Muy de acuerdo con esto que comentas Furilo, lo que dices sobre los jefes de proyecto que no tocan código es algo que yo nunca he comprendido porqué se sigue haciendo. Cómo va a poder supervisar alguién que no sabe lo que es una clase ni un objeto un proyecto hecho en Java ? (esto lo he sufrido yo) Y efectivamente, así salen las cosas, esa persona no puede hacer una planificación correcta de dicho proyecto, con lo que al final todo fueron retrasos y prisas, está claro.
    En cambio, recuerdo un gran equipo que tuve, donde la jefa de proyecto tenía una amplia experiencia en desarrollos muy similares y aunque ya no escribía ella misma el código, sí que lo revisaba y te aconsejaba si era necesario. No es esto mucho más lógico ? El resultado : ni una hora extra.

    En fin ….

  18. David Horat Says:

    Sobre el jefe de proyectos, creo que hay que diferenciar este rol del rol de coordinador técnico ya que no es lo mismo. Un jefe de proyectos debe manejar los recursos, los tiempos y saber hacer estimaciones correctas. Si sabe del código que se está tocando lo hará, lógicamente, mucho mejor. Por otro lado, el coordinador técnico es el encargado de solucionar toda la parte técnica del proyecto, es a donde los programadores tienen que ir a preguntarle y es quien tiene la visión global. Actualmente estoy en un proyecto con un equipo de 20 personas y ambos, tanto el jefe de proyectos como el coordinador técnico tocan código, pero se a quién tengo que ir para cosas. Saludos. :)

  19. Cinetic Says:

    Hola,

    Creo que nada es tan facil como parece. Primero de todo, si el emprendedor no es programador, lo ha sido o tiene un conocimiento bastante técnico suficiente en temas web, le va a ser muy difícil realizar el proyecto con un equipo propio; primero de todo, como va a valorar si los profesionales a los que contrata tienen el conocimiento que requiere?, por otro lado, controlar el desarrollo de un proyecto informático no es para nada una tarea fácil. Si existen las empresas dedicadas a realizar proyectos de forma subcontratada será porque el mercado ha detectado unas ventajas a contratar directamente.

    En referencia al codigo vivo, estoy totalmente deacuerdo, por este mismo motivo, personalmente encargaria el desarrollo inicial a una empresa con experiencia para que creara una primera versión y, si el proyecto funciona y es rentable, me plantearia su evolución con un equipo propio.

    No estoy deacuerdo, sin embargo, en las diferencias de coste. Si empiezas a contar los costes de buscar y montar el equipo, los costes de salario (del personal y de SS), los costes estructurales para hacer funcionar el equipo (espacio, luz, agua, ordenadores, internet, material vario necesario para el proyecto), tiempo de planificación (es decir horas en las que no se produce todavia), cambiar a un programador que no funciona por otro, coste de un gestor de proyectos (que lo vas a necesitar seguro, sea de 28 o de 38 años si quieres hacer algo un poco profesional) etc., los costes no són tan diferentes, algo sí, pero ahí es donde está la seguridad de que te van a dar un proyecto funcionando y terminado en las fechas pactadas.

  20. eXtreme programacion para su empresa » Blog Archive » Modus operandi Says:

    […] Si tu empresa está en esta situación te recomiendo una intereseante nota de mi amigo Furilo […]

  21. Anonymous Says:

    Hola a todos:
    Soy de esos que no tienen más remedio que contratar externos porque no tengo curritos… He puesto en la calle un par de portales y alguna revisión de uno de ellos.
    Mi reflexión:
    - En uno de los portales llegue a coordinar (¿?) el trabajo de 34 personas. Solo pusimos en pié la mitad de las funcionalidades previstas, nos pasamos 3 meses de plazo y la cosa no fue tan expectacular…
    - En la revisión del portal este 3 años despues rehicimos casi todo, se reinstaló en máquinas nuevas, se hizo upgrade de versión de todos los productos… con 4 personas mas 2 tecnicos de sistemas y un consultor del Gestor de Contenidos. Entragado en fecha (+15 días) y en marcha hasta la semana pasada que un compañero le ha lavado la cara en dos meses con tres personas (yo ya no llevo portales)
    - Tengo 49 años, mi primera página web estuvo en la red en enero de 1995 (ha llovido), tengo correo electrónico desde 1989, utilizaba Whais, Archie y gopher (casi había olvidado como se escribe), programaba con el vi y a puro pelo… La velocidad en la que están apareciendo herramientas de desarrollo (eclipse, dreamweaver, etc.) y sucesivas versiones, la incorporación de estándares a toda mecha: xml, css, xForms, portlets,… hace que alguno dejemos de teclear para coordinar. Hay jefes de proyecto que son “facilitadores”, yo recojo especificaciones, consigo acuerdos, negocio los tiempos, animo a la gente…
    Creo que no lo hago mal.
    Para darle a la tecla me dejo hacer desde casa las páginas de unos amigos titiriteros que me soportan los experimentos con ajax, con imagenes, etc…

    Hay un concepto que creo que hay que transmitir al “cliente-usuario”: un proyecto web tiene mucha similitud con un proyecto editorial. Pero no sacamos un libro, sacamos una revista y estas tienen el número 2, y el 3 y… y si es posible que haya un pico inicial de carga de trabajo para salir, no es menos cierto que esta carga acaba por ser un esfuerzo diario mantenido.

    Salud y da gusto ver que gente con 18 años tiene 6 de experiencia. Ojala los ordenadores que había cuando yo tenía 12 años hubiesen cabido en mi habitación…

    Lucas

Leave a Reply

  • No quitar
  • Carbones
  • Arte callejero
  • Arte callejero
  • Miss Calamar
  • Mi salón
  • volviendo de los bares. quien dijo abuelo? 18 01 2008
  • headhunteando... ya saben amigos: http://the-cocktail.com/empleo.html 18 01 2008
  • en primera fila para ver a fountains of wayne, estan montando 17 01 2008

Se dice, se comenta

Siempre pensé que:

Listas

Por ahí...

Hablando de:

Todo este tiempo:

Aliméntate

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):