O documento discute os desafios no desenvolvimento de software e propõe abordagens para resolvê-los. É apresentado o Domain-Driven Design para focar no domínio do problema e o Naked Objects Pattern para automatizar a geração da interface do usuário. O autor também desenvolveu um framework e linguagem de layout chamados NOVL e Entities para implementar tais padrões de forma a superar limitações de outros frameworks existentes.