If you are going to buy an expensive software system or have someone to develop it, you should specify your requirements to the system - what it should do - before you spend money on the system. It sounds easy, but it isn't. Specifying requirements is recognized as one of the most difficult, yet important areas of systems development. Little guidance is available for the practitioner, although several textbooks exist. One particularly critical issue has been the lack of real-life examples of requirements specifications. I have based this book on real-life examples and we show realistic ways of specifying requirements. As an example, your system should be easy to use. But how can you know if it is? Finding out isn't that difficult - once you get the possible ways to do it. The book shows you six ways. It handles other kinds of requirements in similar ways. Many practitioners ask why we explain all these ways. Why cannot we just present the right ones that always lead to the good result? I wish we could - give all of you the silver bullet that kills any monster. But a long life in the IT industry has taught me that projects are different. What is crucial in one project, may be waste of time in another. The best advice is to become a good analyst: The good analyst knows many techniques, but also when to use them and when not. He combines and modifies techniques according to specific needs. The aim of this book is to help you on that path. Teach you many techniques, and advice you on when to use them and when not.