Se trata de una técnica que inicialmente estaba orientada a programadores y otros actores en el campo del desarrollo web que se reúnen para desarrollar aplicaciones de software de forma colaborativa, ininterrumpida, en un mismo espacio físico y en un lapso de tiempo corto. Actualmente esta técnica también puede ser abordada con un enfoque educativo tipo STEAM (ciencias, tecnología, ingeniería, arte y matemáticas) al congregar estudiantes de diferentes disciplinas para diseñar en equipos multidisciplinares soluciones creativas e innovadoras a problemas científicos del mundo real en un corto periodo de tiempo.
Dentro de los aprendizajes que fomenta se encuentran los siguientes:
- Comunicación.
- Pensamiento crítico, iniciativa y creatividad.
- Análisis y comprensión de la información.
- Resolución de problemas y conflictos.
- Interacción social, trabajo colaborativo.
- Cuidado de sí mismo, aprendizaje autónomo y desarrollo personal.