Software requirements for developers

Course length:3 days
Dates/Locations: see course schedule
Price: € 1425,– (excluding VAT)
Included: all course materials, lunch, coffee, tea, soda, and snacks
Registration: Online registration form

This course can also be given in-house. Contact us for more information.

Target audience

You are beginning requirements engineer, or a developer who been involved in requirements engineering for some time, but without much formal training. You have experienced that writing good requirements sounds deceptively simple, but is hard in practice. You may have worked on projects where the requirements seemed clear from the start, but where, a few weeks or months later, developers were uncertain that they were building the right system—or where it became painfully clear that they were building the wrong system. Perhaps you have had painful discussions with customers about the interpretation of the requirements after system delivery.

Knowing that problems with deadlines, budget and quality can be attributed for up to 60% to requirements issues, you would like to have some guidelines for writing better requirements.

What you will learn

You will encounter many kinds of requirements, most of which seem `common sense', but are easy to overlook. You will see how these requirements can be classified into functional requirements, non-functional requirements, and constraints. You will discover that there are more types of stakeholders than you may have thought, and you will be able to identify them. You will learn practical techniques for working with stakeholders on requirements discovery. You will see how use case scenarios form an excellent starting point for requirements gathering, but you will understand that use case scenarios themselves are not the requirements. You will learn writing guidelines for improving correctness, completeness and readability, and avoiding ambiguity. You will see how to ensure that requirements are ultimately derived from business goals, and you will be able to formulate them in such a way that they can be tested and validated. You will understand how requirements engineering fits in iterative software development methodologies. You will see how tools can improve the requirements engineering process.

Course format

The balance between theory and practice in this course is about 70% to 30%. In some of the practical assignments, you will be asked to identify what is good and what isn't about a given use case scenario or requirements specification, and to improve upon in with respect to specific criteria. In other assignments, you are encouraged to draw from examples of your own daily work. Some of the assignments are done individually, others in pairs.

The group size is at most 12 persons, so that the difference in experience between participants will not be too large, and such that we can cater to the individual needs and learning goals of all participants.

If all participants speak Dutch, the course is given in Dutch; otherwise, the course is given in English. All course materials are in English.

As all other 59bits courses, this course is intensive and high-paced, but with sufficient smaller and larger breaks to rejuvenate, and to enable you to to process and retain all course content.

Please make sure to read our general course information.

Course topics/keywords

The following list of topics is not exhaustive, and is meant to give you an impression of what you can expect: