During my last post I mentioned the method of Complete Programming, which started as my knee jerk reaction to the insanities of waterfall and XP. I'm not really big on manifestos but writing down things helps to think clearly and so you might also benefit from thinking about one important principle in CP.

And that is: You only can focus at one thing at a time. Yeah big time revelation. It's like when you using a camera: pick what you want to portrait and the rest will be blurry in comparison. This is less an issue when you write a quick script. Than your API is simply core Perl and maybe a module or two.

But when you have an enough sized project, there are several sides you have to keep in mind: the user API, the inner API and the API's to the software you use underneath. Especially the ladder is a swamp. Unless you repackaging what you already did program once you never know can this library deliver, under which limitations it can, and how will the concrete code look like that implements a certain feature?

That's why we have in CP we have in CP prototypes that answer just this for one (important) function at a time. Once these issues are solve you can plan the layer on top which much less mental burden and more clarity.

There is much more to CP but I think you get the gist. More to follow ...