Pruebas de concepto:

Son proyectos cuyo objetivo es probar una tecnología o una solución para ver si resuelve un problema y encaja en nuestro equipo. Son de muy corto alcance, desde unas pocas horas a dos o tres días. A veces se repite la misma prueba usando otra alternativa para poder comparar. En cualquier caso al finalizar se desecha el código.

Prototipo:

En este caso lo que se valida es una funcionalidad. La idea es hacer una implementación mínima que sirva al equipo para verificar una solución o ilustrar un problema. Deben ser de corta duración, desde pocos días a un par de semanas como mucho. Igualmente se debe desechar su código porque no debemos arrastrar los compromisos adquiridos durante el desarrollo estricto de la funcionalidad.

Plantillas:

También conocidos por sus nombres en inglés seeds, generators, boilerplates o blueprints. Estos proyectos ya son más serios. Su objetivo es servir de base o semilla para otros; así que aquí debemos emplear todo nuestro arsenal de buenas prácticas y realizar un esfuerzo de codificación y arquitectura lo más limpias y escalables posible. Deben acompañarse de suficiente documentación e indicaciones de uso. Sin volverse locos, hay que dedicarles tiempo suficiente. Desde un par de semanas hasta un par de meses. El código no será perdido, será de lo más apreciado.

Frameworks:

Cualquiera de estas plantillas, suficientemente evolucionada y generalizada acabará convirtiéndose en un framework. Lo cual no es necesariamente malo. Al final un marco de trabajo es el conjunto de herramientas, librerías, decisiones de arquitectura y procesos de integración que aplicamos a nuestro código. Normalmente se desarrollan entre tres y seis meses. Es cuestión de valorar el rendimiento de la inversión y no reinventar la rueda.