Tenemos entonces que las descomposiciones actuales no soportan una completa separación de conceptos, la cual es clave para manejar un software entendible y evolucionadle. Podemos afirmar entonces que las técnicas tradicionales no soportan de una manera adecuada la separación de las propiedades de aspectos distintos a la funcionalidad básica, y que esta situación tiene un impacto negativo en la calidad del software. Dos de los principales inconvenientes que se tienen actualmente con las técnicas de programación anteriores son: Código disperso(code Scattering): El código de un requerimiento no esta encapsulado en un único modulo, sino esta disperso por el programa. Código Enredado(code tangling).- Dentro de un mismo modulo encontramos código correspondiente a distintos requerimientos