Alias replied to my last post with this gem. It was too good to just leave buried in the comments. The "or else..." line was mine, the rest is Alias' reply. Enjoy.
> or else Java goons come in and build the whole site out of componets
Hmm, I'm a CPAN goon that comes in and builds the whole site out of components
I keep saying this over and over again, but in the long run I find the only way to create large amounts of functionality over a period of time is by pretending that it's all eventually going to end up on CPAN.
I can skimp on the docs a bit (as long as the POD's there for the primary APIs) and I can skimp on the tests a little if I have suitably thorough empiric-type practical test scripts and become a perfectionist when it comes to regression tests.
But the basic structure of making most or all functionality as a CPAN-like distribution does seem to be the only way I can avoid the debt.
And once I got into that rhythm I've found I can generally found that it's not TOO hard to sell to management that it's better that we build most or all code in reusable "components" so that it can be used by people for other projects.
It takes longer the first time, granted, but there's no second time, and you can maintain development at a reasonable pace indefinitely.