| It takes repetition: code is a liability. The less code you produce to solve your problem, the better. OTOH there is a cycle I see everywhere, all the time: * A first generation of anything is bare-bones, with multiple deficiencies and corners cut, with important parts held together by duct tape. * A second generation of the same thing tries to fix everything, adds reams of missing features, and ends up being an over-complicated, bloated monster [second system]. * A third generation of the same thing builds on the knowledge gained so far, refines the ideas, throws away all the unneeded parts, and organizes the few necessary parts elegantly and reliably. (I use indefinite articles before "first", "second", and "third", because each may take much more than one iteration.) Your hyper-productive developers likely produce the first two varieties. This may still be very useful, if they allow the business to grow. They as well may introduce too many technical problems and operation costs, and thus be detrimental to the business, too. [second system]: http://wiki.c2.com/?SecondSystemEffect (Edited: typos.) |