Understanding the requirements of a problem is among the most difficult tasks that face a software engineer. When you first think about it, requirements engineering doesn't seem that hard. After all, doesn't the customer know what is required? Shouldn't the end-users have a good understanding of the features and functions that will provide benefit? Surprisingly, in many instances the answer to these questions is no. And even if customers and end-users are explicit in their needs, those needs will change throughout the project. Requirements engineering is hard.
To learn more about the book this website supports, please visit its Information Center.