{"id":2611,"date":"2023-05-24T11:39:43","date_gmt":"2023-05-24T09:39:43","guid":{"rendered":"https:\/\/www.risc-software.at\/fachbeitrag-technische-schuld-und-legacy-systeme\/"},"modified":"2025-05-07T10:23:23","modified_gmt":"2025-05-07T08:23:23","slug":"technical-article-technical-debt-and-legacy-systems","status":"publish","type":"publication","link":"https:\/\/www.risc-software.at\/en\/technicalarticles\/technical-article-technical-debt-and-legacy-systems\/","title":{"rendered":"Technical debt and legacy systems"},"content":{"rendered":"\n<h2 class=\"wp-block-heading is-style-v2-telegrafico\">When do contracts encourage this development?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">by DI (FH) Andreas Lettner<\/h3>\n\n\n<div class=\"wp-block-group-container alignfull \">\n<div class=\"wp-block-group alignfull is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><em>Wherever software is used, there is a risk that old systems will mutate into legacy systems. This means that they can no longer be further developed or maintained within reasonable costs and without foreseeable technical risk. So how can you prevent a system or legacy system from becoming a legacy system? Read<br>the following article to learn how to identify legacy systems in time, how to remove them and ultimately how to avoid them.<\/em><\/p>\n\n\n\n<p><br><br><\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-media-text has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center\"><div class=\"wp-block-media-text__content\">\n<p><strong>Table of contents<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>How are legacy systems detected?<\/li>\n\n\n\n<li>How do you deal with an existing legacy system?<\/li>\n\n\n\n<li>How to avoid a legacy system?<\/li>\n\n\n\n<li>Option 1: The product managers postpone the completion date<\/li>\n\n\n\n<li>Option 2: The development speed is increased<\/li>\n\n\n\n<li>Option 3: Reduction of the project scope<\/li>\n\n\n\n<li>Which option is the best?<\/li>\n\n\n\n<li>Author<\/li>\n<\/ul>\n<\/div><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1-1024x683.jpg\" alt=\"Quick fix button\" class=\"wp-image-2601 size-full\" srcset=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1-1024x683.jpg 1024w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1-300x200.jpg 300w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1-768x512.jpg 768w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1-1536x1024.jpg 1536w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1.jpg 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-group-container alignfull \">\n<div class=\"wp-block-group alignfull is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\">How are legacy systems detected?<\/h3>\n\n\n\n<p>An essential quality criterion for software is long-term maintainability and expandability. By focusing on this criterion, it can be ensured that future extensions can be accurately classified in terms of costs, implementation time, cost-effectiveness and risk. Figure 1 uses the green line to show an optimal cost development in relation to the age of the software. An initial increase in costs is associated with investments in quality, which stabilize costs in the medium term and keep the software alive.<\/p>\n\n\n\n<p>In contrast, the red line shows a possible development for a system where quality criteria are neglected. Each red dot shows a decision in development where a compromise was made between quality and cost or possibly implementation time. This creates something known as \u201ctechnical debt\u201c in the software. This technical debt leads to an increase in the complexity of future maintenance and enhancements, and therefore an increase in the cost of change, as well as the associated risk. From experience, technical debt quickly leads to parts of a system or the system as a whole becoming impossible to maintain or extend.<\/p>\n\n\n\n<p>The evolution of a system towards a legacy system is generally easy to measure. Among other things, the following signs can be observed here:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The costs and implementation times for changes increase over time. This can be observed particularly well for tasks with comparable content.<\/li>\n\n\n\n<li>There is a measurable increase in the error rate in the production system during or after version updates.<\/li>\n\n\n\n<li>The deadlines for go-live cannot be consistently met.<\/li>\n\n\n\n<li>The developers* show uncertainty in the estimates.<\/li>\n\n\n\n<li>Questions about feasibility are piling up.<\/li>\n\n\n\n<li>Product managers and developers are becoming reluctant to push for change.<\/li>\n\n\n\n<li>There is increased talk of workarounds.<\/li>\n\n\n\n<li>etc.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full is-style-rounded\"><img decoding=\"async\" width=\"505\" height=\"280\" sizes=\"(max-width: 505px) 100vw, 505px\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung1_EN.jpg\" alt=\"Cost of change\" class=\"wp-image-2553\" srcset=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung1_EN.jpg 505w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung1_EN-300x166.jpg 300w\" \/><\/figure>\n\n\n\n<p>Figure 1: Cost of change<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-rounded\"><img decoding=\"async\" width=\"1024\" height=\"683\" sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-526274307-2-1024x683.jpg\" alt=\"Development\" class=\"wp-image-1221\" srcset=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-526274307-2-1024x683.jpg 1024w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-526274307-2-300x200.jpg 300w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-526274307-2-768x512.jpg 768w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-526274307-2-1536x1024.jpg 1536w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-526274307-2.jpg 1920w\" \/><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-group-container alignfull \">\n<div class=\"wp-block-group alignfull is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\">How do you deal with an existing legacy system?<\/h3>\n\n\n\n<p>Technical debt will always arise in the course of software development. This is unavoidable. However, the processes in software development can be prioritized in such a way that technical debt can be reduced. A common mindset in the project team is necessary for this. A constant monitoring of the technical debts and the authorization of the developers to be able\/allowed to remove these again are inevitable for this. Methods that are used here include code reviews, coding guidelines, pair programming, refactoring and test-driven development. Figure 2 shows the constant correction of technical debt through small adjustments.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full is-style-rounded\"><img decoding=\"async\" width=\"676\" height=\"295\" sizes=\"(max-width: 676px) 100vw, 676px\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung2_EN.jpg\" alt=\"Constant quality management\" class=\"wp-image-2557\" srcset=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung2_EN.jpg 676w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung2_EN-300x131.jpg 300w\" \/><\/figure>\n\n\n\n<p>Figure 2: Constant quality management<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-group-container alignfull \">\n<div class=\"wp-block-group alignfull is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>Depending on how far along the software product is on its journey towards the \u201cend of life\u201c, minor adjustments may no longer have any effect and major refactorings or reengineering may become necessary. In this case, it is helpful to bring reengineering specialists into the project team to gradually perform a consistent reengineering of the existing legacy systems (<a href=\"http:\/\/ris.w4.at\/en\/technical-article-software-reengineering\" target=\"_blank\" rel=\"noreferrer noopener\">ris.w4.at\/en\/technical-article-software-reengineering<\/a>). Figure 3 shows the late identification of technical debt. Here, countermeasures must be taken with significantly more effort and time in order to bring the system back onto the right path.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full is-style-rounded\"><img decoding=\"async\" width=\"673\" height=\"281\" sizes=\"(max-width: 673px) 100vw, 673px\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung3_EN.jpg\" alt=\"Reengineering, major refactoring\" class=\"wp-image-2561\" srcset=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung3_EN.jpg 673w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung3_EN-300x125.jpg 300w\" \/><\/figure>\n\n\n\n<p>Figure 3: Reengineering, major refactoring<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-group-container alignfull \">\n<div class=\"wp-block-group alignfull is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\">How to avoid a legacy system?<\/h3>\n\n\n\n<p>In addition to observing technical debt, the question arises as to how technical debt can be avoided. To do this, it is necessary to analyze how technical debt comes about. What are the causes and what can be done to mitigate these causes?<\/p>\n\n\n\n<p>As stated in the previous section, developers are the ones responsible for the technical quality of a software product. Technical guilt is not integrated therefore deliberately into a system, but promoted by external factors. If one regards the temporal course of a software development, then the following connection can be determined: The blue line shows the linear project execution, i.e. the fulfillment of the planned project scope up to the delivery date at V1.0. The ideal line in reality should correspond to the green line. There are continuous adjustments in the implementation, which keeps the product development \u201con track\u201c and thus ensures that a valuable, executable product is available on the planned date.<\/p>\n\n\n\n<p>Figure 5 shows a picture which, however, is usually found in reality. A deviation from the plan is noticed. There can be various reasons for this. Possibly an initial estimate was not accurate, the team has lost efficiency, there are external influences such as sick leave, the complexity of the software has changed, the project scope has changed, etc.. The reasons for this can be many and varied. However, at this point it becomes interesting to see what options a project team has. The following primary decisions can be made considering the circumstances.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full is-style-rounded\"><img decoding=\"async\" width=\"504\" height=\"288\" sizes=\"(max-width: 504px) 100vw, 504px\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung4_EN.jpg\" alt=\"Development course\" class=\"wp-image-2565\" srcset=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung4_EN.jpg 504w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung4_EN-300x171.jpg 300w\" \/><\/figure>\n\n\n\n<p>Figure 4: Development course<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-rounded\"><img decoding=\"async\" width=\"536\" height=\"309\" sizes=\"(max-width: 536px) 100vw, 536px\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung5_EN.jpg\" alt=\"Reality\" class=\"wp-image-2569\" srcset=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung5_EN.jpg 536w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung5_EN-300x173.jpg 300w\" \/><\/figure>\n\n\n\n<p>Figure 5: Reality<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-group-container alignfull \">\n<div class=\"wp-block-group alignfull is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\"><strong>Option 1: <\/strong>The product managers postpone the completion date<\/h3>\n\n\n\n<p>The postponement of the completion date is done only if the people responsible for the product have the possibility to do so. Behind a postponement of the completion date are usually other people or systems that are dependent on it and more or less insist on the originally planned date. In addition, there is the disadvantage that not only a go-live and thus the (possibly economic) benefit is postponed in time, but also the project team has to be financed for a longer period of time. This leads to additional costs and later revenues. A direct, negative impact on the ROI is the consequence.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full is-style-rounded\"><img decoding=\"async\" width=\"539\" height=\"316\" sizes=\"(max-width: 539px) 100vw, 539px\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung6_EN.jpg\" alt=\"Move the release date\" class=\"wp-image-2573\" srcset=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung6_EN.jpg 539w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung6_EN-300x176.jpg 300w\" \/><\/figure>\n\n\n\n<p>Figure 6: Move the release date<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-group-container alignfull \">\n<div class=\"wp-block-group alignfull is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\"><strong>Option 2: <\/strong>The development speed is increased<\/h3>\n\n\n\n<p>The least resistance can be expected if the developers\u2018 working speed can be optimized to meet the completion date and the development costs. In fact, this is an option, although we need to distinguish between two different scenarios.<\/p>\n\n\n\n<p><strong>Option 2a:<\/strong>&nbsp;There are influencing factors, which disturb the team in the efficiency, which can be actually repaired. These measures work and are also those that take place during continuous process control and improvement. The scenario in Figure 4 assumes precisely this. The prerequisite for these measures, however, is that the deviations are not detected too late and are not too large. In Figure 7, it may already be too late for such a measure.<\/p>\n\n\n\n<p><strong>Option 2b:<\/strong>&nbsp;There are disruptive influencing factors, but these are not dealt with or it is too late for appropriate measures. In this case an increase of the development speed is reached only by the structure of pressure on the developers. Pressure usually leads to the fact that in the methods one saves, which do not have an obvious direct influence on the product range of a software. These are those, which are necessary for the preservation of the quality and thus it comes successively to a structure of technical debt. Since there is also a lack of time and capital for the reduction of the technical debts, this build-up progresses with appropriate speed if necessary.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full is-style-rounded\"><img decoding=\"async\" width=\"540\" height=\"309\" sizes=\"(max-width: 540px) 100vw, 540px\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung7_EN.jpg\" alt=\"Increasing the speed of development\" class=\"wp-image-2577\" srcset=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung7_EN.jpg 540w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung7_EN-300x172.jpg 300w\" \/><\/figure>\n\n\n\n<p>Figure 7: Increasing the speed of development<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-group-container alignfull \">\n<div class=\"wp-block-group alignfull is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\"><strong>Option 3: <\/strong>Reduction of the project scope<\/h3>\n\n\n\n<p>The third option is to adapt the content of the software product. However, the product owner must have the appropriate authority to do this, and intensive negotiations between the product owner and the stakeholders may be required. Adaptations of this kind are facilitated by various measures:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Variable project scope &#8211; variable content<\/li>\n\n\n\n<li>Ongoing prioritization of required functions<\/li>\n\n\n\n<li>Development of functions according to their priorities<\/li>\n\n\n\n<li>Continuous monitoring of speed, timeline, content, \u2026<\/li>\n\n\n\n<li>Etc.<\/li>\n<\/ul>\n\n\n\n<p>In fact, such an adjustment in the project scope is possible at any time in the implementation. Detected in time, the changes are marginal; detected late, the changes are correspondingly more extensive. The following applies here: Provided that the product already contains the most valuable functions, a productive implementation with a reduced scope of functions should not be an obstacle. With appropriately well-trained and experienced product managers, this risk can be significantly minimized or even avoided.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full is-style-rounded\"><img decoding=\"async\" width=\"537\" height=\"309\" sizes=\"(max-width: 537px) 100vw, 537px\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung8_EN.jpg\" alt=\"Adjustment of the project scope\" class=\"wp-image-2581\" srcset=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung8_EN.jpg 537w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/2021-04-12-Fachbeitrag-Legacy-SystemeAbbildung8_EN-300x173.jpg 300w\" \/><\/figure>\n\n\n\n<p>Figure 8: Adjustment of the project scope<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-group-container alignfull \">\n<div class=\"wp-block-group alignfull is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\">Which option is the best?<\/h3>\n\n\n\n<p>As is so often the case, no general statement can be made here. Possibly one of the options makes sense on its own or a corresponding combination of options 1, 2a and 3 leads to a corresponding correction of the price. Only option 2b should be avoided, since exactly this ultimately develops a system in the direction of \u201cEnd of Life\u201c.<\/p>\n\n\n\n<p>Measures that ultimately prevent a legacy system are<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>a strong and present leadership from an experienced and empowered product owner,<\/li>\n\n\n\n<li>the continuous focus on initiative and proactive improvement by a coach and<\/li>\n\n\n\n<li>deliberate technical quality assurance measures by the developers.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-large is-style-rounded\"><img decoding=\"async\" width=\"1024\" height=\"683\" sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1-1024x683.jpg\" alt=\"Quick fix button\" class=\"wp-image-2601\" srcset=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1-1024x683.jpg 1024w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1-300x200.jpg 300w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1-768x512.jpg 768w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1-1536x1024.jpg 1536w, https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1.jpg 1920w\" \/><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-group-container alignfull \">\n<div class=\"wp-block-group alignfull is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">Why do you contractually bind yourself to technical debt?<\/h3>\n\n\n\n<p>Finally, an important influencing factor should be mentioned, which can limit options 1 &#8211; 3 accordingly: The contract. It is understandable that clients want to have contractual security with regard to what scope will be delivered in what time frame at what cost.<\/p>\n\n\n\n<p>For this reason, contracts are often concluded with the contractors in which all three factors are fixed. However, this leaves the person responsible for the product with no room for maneuver:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The release date is fixed &#8211; there must be no delay (option 1)<\/li>\n\n\n\n<li>The costs are fixed &#8211; no additional work may be carried out (option 1, option 2a)<\/li>\n\n\n\n<li>The scope is fixed &#8211; no features may be removed (option 3)<\/li>\n<\/ul>\n\n\n\n<p>Thus, from a contractual point of view, usually only option 2b remains, namely increasing the pressure on the developers and the associated minimization of the quality of the product.<\/p>\n\n\n\n<p>Instead, it is recommended that release dates and costs be fixed (e.g., by stabilizing the team) and that flexibility be created in the requirements for a product. Through the leadership of a product manager, clients can control the required functional scope of a software product up to the release date and thereby obtain transparent cost control. In addition, the product can be adapted to market needs during implementation and thus positioned in a target group-oriented manner.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-group-container alignfull \">\n<div class=\"wp-block-group alignfull is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\">Contact<\/h3>\n\n\n\n<div class=\"wp-block-contact-form-7-contact-form-selector\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f663-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"663\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/publication\/2611#wpcf7-f663-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"663\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f663-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<div class=\"form-row\">\n\t<div class=\"form-input\">\n\t\t<p><label class=\"sr-only\" for=\"your-name\">Your name <\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" id=\"your-name\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Name\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"form-input\">\n\t\t<p><label class=\"sr-only\" for=\"your-email\">Your email<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" id=\"your-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"E-Mail\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<div class=\"form-row\">\n\t<div class=\"form-input\">\n\t\t<p><label class=\"sr-only\" for=\"your-company\">Company <\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-company\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"your-company\" aria-invalid=\"false\" placeholder=\"Unternehmen\" value=\"\" type=\"text\" name=\"your-company\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"form-input\">\n\t\t<p><label class=\"sr-only\" for=\"your-position\">Position<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-position\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" aria-invalid=\"false\" placeholder=\"Position\" value=\"\" type=\"text\" name=\"your-position\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<div class=\"form-row\">\n\t<div class=\"form-input\">\n\t\t<p><label class=\"sr-only\" for=\"your-subject\"> Subject <\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-subject\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" id=\"your-subject\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Thema\" value=\"\" type=\"text\" name=\"your-subject\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<p><span id=\"wpcf7-69dec16025ce5-wrapper\" class=\"wpcf7-form-control-wrap phone-95-wrap\" style=\"display:none !important; visibility:hidden !important;\"><label for=\"wpcf7-69dec16025ce5-field\" class=\"hp-message\">Please leave this field empty.<\/label><input id=\"wpcf7-69dec16025ce5-field\"  class=\"wpcf7-form-control wpcf7-text\" type=\"text\" name=\"phone-95\" value=\"\" size=\"40\" tabindex=\"-1\" autocomplete=\"new-password\" \/><\/span><br \/>\n<label class=\"sr-only\" for=\"your-message\"> Your message (optional)<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" id=\"your-message\" aria-invalid=\"false\" placeholder=\"Ihre Nachricht an uns\" name=\"your-message\"><\/textarea><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"hcap-cf7\">\t\t<input\n\t\t\t\ttype=\"hidden\"\n\t\t\t\tclass=\"hcaptcha-widget-id\"\n\t\t\t\tname=\"hcaptcha-widget-id\"\n\t\t\t\tvalue=\"eyJzb3VyY2UiOlsiY29udGFjdC1mb3JtLTdcL3dwLWNvbnRhY3QtZm9ybS03LnBocCJdLCJmb3JtX2lkIjo2NjN9-5cf29316f0fc31f5a29d11a228757560\">\n\t\t\t\t<span id=\"hcap_cf7-69dec160264db2.83117083\" class=\"wpcf7-form-control h-captcha \"\n\t\t\tdata-sitekey=\"3a6a81c1-2b2e-4b2a-b1eb-d9446bc09afb\"\n\t\t\tdata-theme=\"light\"\n\t\t\tdata-size=\"normal\"\n\t\t\tdata-auto=\"false\"\n\t\t\tdata-ajax=\"false\"\n\t\t\tdata-force=\"false\">\n\t\t<\/span>\n\t\t<input type=\"hidden\" id=\"_wpnonce\" name=\"_wpnonce\" value=\"c96e028190\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/publication\/2611\" \/><\/span><input class=\"wpcf7-form-control wpcf7-submit has-spinner btn\" type=\"submit\" value=\"Senden\" \/>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<h3 class=\"wp-block-heading\">Author<\/h3>\n\n\n<div class=\"contact-person\">\n      <picture>\n      \n      \n      \n      \n      <img decoding=\"async\" data-aos=\"fade-zoom-in\"\n           data-aos-offset=\"0\" class=\"w-full\" width=\"212\" height=\"293\"\n           src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/alettner2-Background-Removed.jpg\"\n           alt=\"\">\n    <\/picture>\n    \n\n<h5 class=\"wp-block-heading\">DI (FH) Andreas Lettner<\/h5>\n\n\n\n<p>Chief Product Officer,<br>Head of Unit Domain-specific Applications<\/p>\n\n  <\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-group-container alignfull \">\n<div class=\"wp-block-group alignwide is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"posts-slider-block\" data-aos=\"fade-up\" data-aos-offset=\"0\" data-aos-anchor-placement=\"top-bottom\">\n        <section class=\"splide posts-slider\" aria-label=\"Gallery Slides\">\n            <div class=\"splide__arrows\">\n                <button class=\"splide__arrow splide__arrow--prev\">\n                    <span class=\"sr-only\">Previous<\/span>\n                    <img decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"21\" src=\"https:\/\/www.risc-software.at\/app\/themes\/risc-theme\/public\/images\/icon-arrow.35d2ec.svg\"\n                         alt=\"Previous\">\n                <\/button>\n                <button class=\"splide__arrow splide__arrow--next\">\n                    <span class=\"sr-only\">Next<\/span>\n                    <img decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"21\" src=\"https:\/\/www.risc-software.at\/app\/themes\/risc-theme\/public\/images\/icon-arrow.35d2ec.svg\"\n                         alt=\"Next\">\n                <\/button>\n            <\/div>\n            <div class=\"inner\">\n                <div class=\"splide__track\">\n                    <div class=\"splide__list\">\n\n                                                    <a href=\"https:\/\/www.risc-software.at\/en\/technicalarticles\/technical-article-software-reengineering\/\" class=\"splide__slide blog-post-teaser mb-1 lg:mb-3\">\n                                <div class=\"blog-image\">\n                                                                                                                                <picture>\n                                                                                        <img decoding=\"async\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-526274307-2-360x214.jpg\"\n                                                 alt=\"Software-Reengineering: When will the legacy system become a problem?\">\n                                        <\/picture>\n                                                                    <\/div>\n                                <div class=\"blog-content px-2 py-3 xl:px-4 xl:py-5\">\n                                    <h3>Software-Reengineering: When will the legacy system become a problem?<\/h3>\n                                    <div class=\"blog-post-excerpt mt-2\">\n                                        Business-critical software is not immune to a certain aging process. However, an equivalent replacement is often not so easily available. But when is it time to replace the legacy system with the help of software reengineering?\n                                    <\/div>\n                                    <span class=\"inline-block mt-2 more\">mehr erfahren <span class=\"ml-1 icon-more\"><\/span><\/span>\n\n                                <\/div>\n                            <\/a>\n                                                    <a href=\"https:\/\/www.risc-software.at\/en\/technicalarticles\/technical-article-agile-vs-classic-software\/\" class=\"splide__slide blog-post-teaser mb-1 lg:mb-3\">\n                                <div class=\"blog-image\">\n                                                                                                                                <picture>\n                                                                                        <img decoding=\"async\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/Agile-Softwareentwicklung_C_iStock-360x214.jpg\"\n                                                 alt=\"Agile vs. classic software development\">\n                                        <\/picture>\n                                                                    <\/div>\n                                <div class=\"blog-content px-2 py-3 xl:px-4 xl:py-5\">\n                                    <h3>Agile vs. classic software development<\/h3>\n                                    <div class=\"blog-post-excerpt mt-2\">\n                                        Classic approaches such as waterfall, V-model or spiral model or agile approaches such as Scrum or Kanban? At the beginning of a project, the question arises as to which of the existing process models is best suited for the current project.\n                                    <\/div>\n                                    <span class=\"inline-block mt-2 more\">mehr erfahren <span class=\"ml-1 icon-more\"><\/span><\/span>\n\n                                <\/div>\n                            <\/a>\n                                                    <a href=\"https:\/\/www.risc-software.at\/en\/technicalarticles\/technical-article-welcome-change-the-new-scrum-guide\/\" class=\"splide__slide blog-post-teaser mb-1 lg:mb-3\">\n                                <div class=\"blog-image\">\n                                                                                                                                <picture>\n                                                                                        <img decoding=\"async\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/Poster_Scrum_RISC_Software_GmbH_v5-360x214.jpg\"\n                                                 alt=\"Welcome Change \u2013 The new Scrum Guide\">\n                                        <\/picture>\n                                                                    <\/div>\n                                <div class=\"blog-content px-2 py-3 xl:px-4 xl:py-5\">\n                                    <h3>Welcome Change \u2013 The new Scrum Guide<\/h3>\n                                    <div class=\"blog-post-excerpt mt-2\">\n                                        In November 2020, the time had come: The new Scrum Guide was published. Here you can find the fundamental changes at first glance.\n                                    <\/div>\n                                    <span class=\"inline-block mt-2 more\">mehr erfahren <span class=\"ml-1 icon-more\"><\/span><\/span>\n\n                                <\/div>\n                            <\/a>\n                                                    <a href=\"https:\/\/www.risc-software.at\/en\/technicalarticles\/technical-article-estimating-in-agile-projects-with-story-points\/\" class=\"splide__slide blog-post-teaser mb-1 lg:mb-3\">\n                                <div class=\"blog-image\">\n                                                                                                                                <picture>\n                                                                                        <img decoding=\"async\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/07\/RISC_Software_GmbH_Story-Points-1_small-360x214.jpg\"\n                                                 alt=\"Estimating in Agile Projects with Story Points\">\n                                        <\/picture>\n                                                                    <\/div>\n                                <div class=\"blog-content px-2 py-3 xl:px-4 xl:py-5\">\n                                    <h3>Estimating in Agile Projects with Story Points<\/h3>\n                                    <div class=\"blog-post-excerpt mt-2\">\n                                        This article highlights a type of effort estimation that is particularly useful in agile projects: Story Points.\n                                    <\/div>\n                                    <span class=\"inline-block mt-2 more\">mehr erfahren <span class=\"ml-1 icon-more\"><\/span><\/span>\n\n                                <\/div>\n                            <\/a>\n                                            <\/div>\n                <\/div>\n            <\/div>\n        <\/section>\n    <\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>How can you avoid a system or legacy system becoming a legacy system? Read the following article to learn how to identify legacy systems in time, remove them and ultimately avoid them.<\/p>\n","protected":false},"featured_media":2602,"template":"","publication-category":[53],"class_list":["post-2611","publication","type-publication","status-publish","has-post-thumbnail","hentry","publication-category-software-reengineering-en"],"acf":[],"portrait_thumb_url":"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-532278630-1-360x214.jpg","_links":{"self":[{"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/publication\/2611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/publication"}],"about":[{"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/types\/publication"}],"version-history":[{"count":9,"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/publication\/2611\/revisions"}],"predecessor-version":[{"id":4824,"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/publication\/2611\/revisions\/4824"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/media\/2602"}],"wp:attachment":[{"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/media?parent=2611"}],"wp:term":[{"taxonomy":"publication-category","embeddable":true,"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/publication-category?post=2611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}