Our article about agile and traditional requirements is published in the latest printed Systeemityölehti 2/2009. Its content can be partially found in Tieturis discussion forum.. In Finnish, sorry 🙂
Then something that I did or did not say in this discussion. The word “requirement” is harmful because business decisions about content and technical decisions about its implementation depend on each other. So, the business decisions can’t be done in a vacuum before any technical issues. This means that in a software engineering project there is no phases of requirement development, design and so on. From lean we find that we should postpone decisions to last possible moment, because we have then more information and we can assume that we make better decisions with better information. We should even study carefully multiple options before we commit to any of them. And that is not waste.
It is also important that we use scientific method in our decision making. For example we test the architectural choices before we continue.
The role of specifications is also different. We start with minimal specifications and use face-to-face communications to make sure that that the parties of the development understand each other. Specifications are not the maintenance documents of the forthcoming software because they change quite much during the development.