You deal with software requirements all the time. Whether you are a developer in an agile environment, an analyst who identifies and documents requirements for plan-driven development, a software designer who studies requirements as the basis for agile development, a tester who employs or often must discover requirements as the foundation of test cases, or a technical user who describes your needs to development, you need the right approaches and skills to develop and interpret software requirements.