in blogs, desarrollo web

Desarrollo web: equipo y perfiles

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?