Monday, November 3, 2008

Control

Do your applications, databases and domain classes look like your business or do they look like the assignments the developers have been given?

Applications build technical debt in many ways - ignoring design principles, misdirected use of design patterns, top-down design, poor integration strategies, etc.   Software development today is often tactical and project-oriented.   Strategic considerations are omitted or overlooked for many reasons but, many times, it is simply due to ignorance of the strategic direction and goals.   This ignorance is simply due to failure to effectively communicate the necessary information.

Many teams spend so much time on bug patrol that they get almost nothing else done.   Good JUnit code coverage means little if all the tests pass but parts of the application don't run.

Experience is a hard teacher because she gives the test first, the lesson afterward. Chinese proverb