Some folks are working on a standard curriculum for software engineering and a standard process to follow that incorporates both waterfall and agile methodologies. In fact it also includes having an engineering team think about what they are doing and evaluating the quality of their process using a number of standard dimensions and metrics.<p>Read more about SEMAT here <a href="http:&#x2F;&#x2F;semat.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;semat.org&#x2F;</a><p>Stuff like this is a prerequisite to creating software that is done, and can be used for 200 years without any substantial change.<p>Could Java ever get to that stage? What about some of the JVM ecosystem such as Tomcat or Camel?