{"id":2212,"date":"2019-05-23T08:00:28","date_gmt":"2019-05-23T06:00:28","guid":{"rendered":"https:\/\/se-trends.de\/?p=2212"},"modified":"2019-05-22T21:40:46","modified_gmt":"2019-05-22T19:40:46","slug":"non-functional-requirements","status":"publish","type":"post","link":"https:\/\/www.se-trends.de\/en\/nicht-funktionale-anforderungen\/","title":{"rendered":"Why non-functional requirements are becoming increasingly important"},"content":{"rendered":"<p class=\"wp-block-paragraph\">If a system does not fulfill its function, we have a serious problem: what would a music player be that does not play music? But there are also many requirements that have nothing directly to do with the function of the system. And these are becoming increasingly important.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">First the terminology: Functional requirements are, well, about the function of the system. What should the system do? The music player should play music (among other things). There is a long tradition of working with functional requirements and <a href=\"https:\/\/www.se-trends.de\/en\/functional-architecture\/\">Many approaches<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The term \"non-functional requirement\" is often criticized, partly because the name suggests that these are not so important. This is why the term \"quality characteristic\" is often used.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Non-functional requirements come in many shades. Some are directly relevant to the user, such as appearance or performance. Others are indirectly relevant, such as safety or operating costs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Form Follows Function<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The guiding principle in design has long been \"Form Follows Function\" - function comes first, and form (a non-functional characteristic) must not stand in the way of this and, at best, supports it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This way of thinking is undoubtedly still important and correct today. However, we are currently experiencing a decoupling of form and function, driven in part by software. This is particularly easy to see in products that have \"stabilized\": In cars, four wheels have proven their worth; in smartphones, the flat, rectangular shape with the display on one side. Even if there are variants, it is difficult to differentiate between them. This often comes from non-functional features.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Equal rights right from the development stage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Functions also take a back seat because they can often be retrofitted via software. During development, it is therefore sometimes sufficient if a function can potentially be supported. For example, the music player mentioned at the beginning could be retrofitted with the ability to play other file formats. For the end customer, this would alleviate a missing function. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At the same time, the non-functional features are often the ones that the user comes into contact with. Who doesn't remember ticket machines with horrible user guidance? The function is there, but the non-functional user guidance makes it frustrating to use.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Incorporating non-functional requirements into development<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Especially in software development, it is quite easy to specify and consider non-functional requirements right from the start. By working with <a rel=\"noreferrer noopener\" aria-label=\"User Stories (opens in a new tab)\" href=\"https:\/\/de.wikipedia.org\/wiki\/User_Story\" target=\"_blank\">User stories<\/a>for example, often have a positive impact on usability. Automated load tests ensure that the system performs well at an early stage, etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Even <a rel=\"noreferrer noopener\" aria-label=\"In modeling, non-functional requirements can be (opens in a new tab)\" href=\"https:\/\/modeling-languages.com\/non-functional-requirements-model-driven-survey\/\" target=\"_blank\">In modeling, non-functional requirements can be <\/a>be taken into account. This can be done using languages designed for this purpose, but also by quantifying aspects (e.g. performance) or by systematically recording cross-cutting issues.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Functions are easy to recognize and copy from competitors. Non-functional requirements are an important way to stand out from the competition. This was not the case in the past, which is why non-functional requirements are more important than ever.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"text-align:right\">Photo by <a href=\"https:\/\/unsplash.com\/photos\/5E5N49RWtbA?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Cody Davis<\/a> on <a href=\"https:\/\/unsplash.com\/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>If a system does not fulfill its function, we have a serious problem: what would a music player be that does not play music? But there are also many requirements that have nothing directly to do with the function of the system. And these are becoming increasingly important.<\/p>","protected":false},"author":1,"featured_media":2217,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[110,83],"tags":[63,397,109],"class_list":["post-2212","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-anforderungen","category-methoden","tag-modellierung","tag-nicht-funktionale-anforderungen","tag-qualitaet"],"_links":{"self":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/2212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/comments?post=2212"}],"version-history":[{"count":0,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/2212\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media\/2217"}],"wp:attachment":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media?parent=2212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/categories?post=2212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/tags?post=2212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}