We recently completed several days of training with the fabulous Jeff Patton. At a 10,000 foot level, the techniques he talked about focus on getting the whole story on a project you are considering doing. Most agile and lean techniques are all about building better software faster, rather than building the right software.
This is more than a good requirements document; as he said, requirements tend to be “conversation enders” rather than beginners. I can attest to this in my own experience … when a client presents us with a thorough requirements document, my focus often turns to that document instead of the people. Perils of being an engineer I guess.
The real danger is that we miss the reason the project exists at all. The goal of a software development project is not to develop software – it’s to solve a business problem, grasp a market opportunity, to help someone. Outcomes versus output. I’m grossly oversimplifying; read Jeff’s stuff if you want to get into details. Highly, highly recommended for any group building software.