Right now, for my client’s project, I’m just writing code. They have one of their analysts writing the design documents, and will have one of their QA people testing it.
While writing the code, I occasionally find something in the design documents that isn’t completely clear to me, or I think of a scenario that isn’t handled in the document.
Instead of just sending off an e-mail, getting the answer to my question, and getting back to coding, I’m also writing down any question I have. That way, I can start to look for patterns of types of information that may frequently be missing or unclear.
My idea is to eventually use that information to change the template used for creating design documents. If analysts typically leave something out, we can add a section for it in the template. Then it should be much more difficult to forget about it.
I’ve even had an idea for building some sort of program (web app?) that will make it easy to modify the template. The program could also have a way for people to ‘subscribe’ to changes for certain projects and/or documents.
Ideally, this program would be used by analysts, developers, and testers. The questions they ask each other would drive changes to the templates.
I don’t know if I’ll ever write that program, but getting feedback to the analysts, and using the feedback to improve the process, is what Agile/Lean is all about.