Software engineers develop their personal practices when they first learn to write
programs. Since they are given little or no professional guidance on how to do the work,
most engineers start off with exceedingly poor personal practices. As they gain
experience, some engineers may change and improve their practices, but many do not. In
general, the highly varied ways in which individual software engineers work are rarely
based on a sound analysis of available methods and practices.