Un des problèmes les plus importants en génie logiciel a été comment programmer des pièces vastes et complexes du logiciel. Souvent, les grands projets impliquent des centaines de programmeurs travaillant sur des millions de lignes de code. Dans ce type d'environnement, il est facile de perdre la trace de ce code particulier le fait, ou de produire un code qui doit être réécrit ailleurs. Pour éviter de tels scénarios de mauvaise planification, des informaticiens ont commencé à organiser autour du concept de "modularisation," ce qui signifie de briser et d'organiser le code basé sur la tâche qu'il exécute. De cette façon, le code devient réutilisable et plus facile à déboguer et à gérer.