
Writing requirements is an integral part of every product development process. Only when you know what the product is supposed to do can you design it accordingly and ultimately verify it with tests. But time and again, I see specifications that are simply not good. And these poor specifications often lead to shaky product documentation and additional effort in the project.
Why do many people find requirements management difficult?
There's not just one answer; there are several reasons for poor specifications. I'd like to name a few here.
- Companies often lack the methodological expertise for requirements engineering. There is no requirements management process in place, and employees are not adequately trained.
- The company lacks awareness of the importance of specifications. The important thing is that the product is finished quickly, right? The paperwork can be completed later. Keyword: technical debt!
- The right tools are missing. Writing requirements in Microsoft Word and tracing them in Excel is not only very time-consuming and error-prone, it's also fundamentally impossible to manage and maintain. Maintaining traceability becomes a gamble. Tools are often expensive, or people are reluctant to invest the time and effort required to choose a tool and validate it.
- Even if you have a tool, it may not be configured sensibly and will not make your life easier, but instead lead to more pain.
- Not every developer is good at specifying requirements. Why does someone who's great at developing software have to become a part-time requirements engineer? In football, the striker doesn't have to play in goal either. How about if everyone does the job they're good at? And if the company is under time pressure and you want to achieve your goals quickly, why not call on external experts?
What can a company do to improve?
Well, insight is the first step toward improvement. But, of course, you have to take action. The problem won't solve itself. So, here are a few suggestions for implementation:
- You have to train the company's employees who write or review specifications. Only those who understand their tools can do good work. Requirements engineering is a specialized discipline with clear, easy-to-learn rules. There are numerous books, literature, courses, certifications, and seminars. There should be something for everyone. At MEDtech Ingenieur, we also conduct training courses. Writing specifications is part of our work, and this allows us to provide our medical technology customers with practical, proven methods. We can also train using examples from the customer's project, thus bringing about improvements directly within the project. This way, you can kill two birds with one stone.
- Moving forward quickly is, of course, tempting. But technical debt will catch up with you in the future, and as is always the case with debt, it comes with interest. This can be costly for a project! Therefore, technical debt should be avoided whenever possible. Once a company has established a functioning requirements engineering process, it will wonder why it didn't think of it sooner.
- No one would think of building a house with bad tools. Bad tools lead to frustration, poor results, and laborious work. A requirements tool can make life easier. This starts with clear numbering of requirements, tracing across multiple levels, stored workflows, and change control. But there's also a trend toward AI-based systems that help with quality and work speed. A lot is happening in this area right now, and if you don't use them, it's your own fault. And what about the costs? You'd be surprised. There are tools for every budget and every application.
- Implementing a tool is definitely recommended. Unfortunately, that alone doesn't help. In addition to the tools, you also need methodological expertise and the right mindset. The tools often offer a wealth of possibilities, but they first need to be adapted to the company's processes. And then the following often happens: When the tools are introduced, the company's processes change because the tools offer new possibilities. It's definitely helpful to talk to someone about it beforehand before you go through all the learning processes yourself ;-)
- Of course, you can do everything yourself. The question is, does it make sense? Why not ask someone who knows about this kind of thing? At MEDtech Ingenieur, we have over 15 years of experience with requirements engineering and systems engineering in medical technology. This allows us to take you to a new level, allowing you to hit the ground running. We don't offer general training courses; instead, we focus on your specific projects. We roll up our sleeves and get to work, conduct reviews, or train the team with a focus on pragmatic and efficient requirements engineering.
If you've read this far, then the topic seems familiar to you, and I would be delighted if you would contact me. I also welcome your comments and suggestions. If the topic is of interest to someone you know, please feel free to forward this article.
