La academia persiste en tratar de medir lo que saben los estudiantes individualmente. En la mayoría de las clases de programación, los estudiantes comienzan desde una pantalla en blanco y escriben un código limpio de forma independiente o, con menos frecuencia, con un compañero.
Pero no es así como se diseña software en el mundo real. Los ingenieros de software profesionales casi siempre comienzan con el código de otra persona y trabajan en colaboración en grandes grupos para modificarlo, mejorarlo y corregirlo, para luego integrarlo con el código escrito por otros ingenieros en otros grupos.
Es común que los grupos de desarrollo de software incluyan personas de diferentes países y en diferentes zonas horarias. Trabajar de manera efectiva requiere que los miembros del equipo se comuniquen bien en diferentes idiomas y en diferentes culturas. También significa que alguien más debe poder ver su código y saber lo que hace, por lo que es fundamental establecer estándares de formato y proporcionar comentarios claros.
Sin embargo, en el deseo de asegurar de que cada estudiante entienda cada concepto de programación y regla de sintaxis, se pasa por alto las oportunidades de enseñar el desarrollo de software en colaboración y ayudar a los estudiantes a desarrollar habilidades profesionales críticas
