Si tuviese que organizar una empresa de informática...

Vamos a jugar al "Si fuera...", con la tranquilidad que da saber que esto es un blog y que no van mis habichuelas en ello :).


Si tuviese que organizar una empresa que desarrollase aplicaciones...
  • Utilizaría Scrum como metodología de trabajo. Creo que las metodologías tradicionales (RUP, Metrica...) son demasiado pesadas y recargadas de documentación y burocracia. Ojo, que lo que tengo en mente son aplicaciones de gestión, "convencionales". Si tuviese que desarrollar el software de un satélite o de instrumental médico, otro gallo cantaría. Para cada situación, la mejor herramienta.
  • Me olvidaría de certificaciones ISO, CMMI y demás a menos que realmente me obligasen, al menos al principio. Tenerlas no garantiza realmente nada. Yo soy el primer interesado en desarrollar software de calidad, y voy a hacer todo lo posible por lograrlo. Si a lo que ya hago puedo ponerle un sello, perfecto. No quiero andar parcheando, como todas las empresas, la semana antes de una revisión.
  • Si tuviese que fijar una única plataforma de trabajo (es un requisito que se suele establecer en las organizaciones) sería Java, desarrollando con Seam. Hibernate es fantástico, RichFaces me parece la mejor librería JSF para Ajax... y Seam los integra y mejora.
  • Los desarrolladores tendríamos Eclipse, con JBossTools y otros plugins útiles como JadClipse.
  • En el repositorio, SVN, tendríamos los proyectos listos para construir con Maven 2.
  • Usaríamos Trac para gestionar los errores.
  • Y XWiki para la documentación a compartir (tutoriales, ayudas...).
  • Tendríamos un sistema de integración contínua (¿Hudson, quizá?) que nos monitorizase los proyectos, ejecutando...
  • ... pruebas con JUnit, TestNG y/o Unitils, y...
  • ... medidas de calidad del código como Eclipse Metrics, PMD (¡con CPD!), Crap4J, Coverage.
  • ... pero escucharía comentarios y leería sobre herramientas para usar lo mejor posible :).
Algunas de estas decisiones se basan en la experiencia y otras por ahora sólo en expectativas. ¿Qué opináis?

Otra de mis dudas es el servidor de aplicaciones y el SGBD. En función de la escala supongo que habrá que elegir puntos intermedios desde Tomcat+MySQL hasta WebSphere+Oracle...

Posted by Juan Ignacio Sánchez Lara 16:00  

3 Comments:

  1. alfredo.casado said...
    De entre lo que dices añado una que me parece fundamental, "contraría a los mejores desarrolladores de software que puediese encontrar"

    Aunque en lugar de 5 contrates 2, pagales lo que tuvieras pensado pagar a los 5 y asegurate de que sean unos cracks. Da igual que hagas aplicaciones de gestión aparentemente sencillas, un buen programador es como poco 10 veces más productivo que uno normal, así que pagarle el doble de lo que pagarias a uno normal es el mejor negocio posible.
    Nacho said...
    Lo suscribo al 100%. No lo he puesto expresamente porque en las tareas me he centrado en las principales de un arquitecto software, que es lo que pretendía describir, y porque eso es algo que ya he dicho en repetidas ocasiones.

    Las mismas palabras que pronuncias las he dicho infinidad de veces (¡ojo, que no me considero original :)!).

    "Sólo" queda convencer a quienes firman los contratos ;)
    kuadrosx said...
    1% deacuerdo... lo unico en que concordamos es en que las metodologias formales apestan :)

    si quieres ideas puedes leer el:
    http://gettingreal.37signals.com/

    yo usaria git para el control de versiones y tecnologias ruby como plataforma de trabajo y claro todo sobre linux :D.

Post a Comment