The other issues I have with Agile is that I do work mostly on large complex system, other groups may be running waterfall, and others XP, they all change delivery schedules on the fly and it is very difficult to pull it all together for a clean delivery. That's why I often have to be the project manager as well as the QA manager, most teams do not like to watch the other’s ball, and the PMO’s tend to vastly underestimate the complexity of the project as a whole.
Sounds like a good idea. I think many people are stuck between two worlds. It’s also a challenge for engineers since the process is partly experimental - to be realistic. I don’t know how many times I use the word “prototype” in the commentary I’ve written on HLL’s past so far ... and now it’s emerging as “real software.”
So, when software is written for reuse, it’s better to think of it going through stages. There is a prototyping - experimental - phase that often can’t be avoided. But at some point (easier for some things than others) it’s going to settle in to a component with a well-defined purpose, justifying investment in support of nice documentation and test procedures.
I’ve used the word “product” in the article w.r.t. components - intending to suggest a shift in what it takes to finish one; i.e. what it’s character is. Reuse justifies the effort.