Software requirements practical techniques for gathering and managing requirements throughout the product development cycle - Wiegers, Karl Eugene (Microsoft Press, 2003)