当前位置:网站首页>Why do many people misunderstand technical debt

Why do many people misunderstand technical debt

2022-07-07 04:55:00 Software testing network

Most companies consider their technology debt a burden that needs to be managed . Some enterprises have achieved greater success by taking technical debt as an important part of the daily work of developers .

“ Debt is like any trap , It's easy to get in , But it's hard to get rid of .”—— Josh · Billings ( American humorist )

Technical debt is one of the most annoying terms in technology . Just like in life , The mention of debt can be stressful . Because getting rid of debt is a hard job .

say concretely , In software engineering , Technical debt usually refers to aging systems that deplete engineers' valuable time to maintain . Technical debt needs to be managed 、 Maintain and minimize . Because technical debt may be the last straw to overwhelm camels , Eventually, the enterprise will be overwhelmed .

But must it be like this ? More and more industry-leading engineering organizations believe that , Technical debt should be a core part of the work of all software developers , Through active management and elimination of technical debt , Not only can we avoid failure , And it can actually surpass its competitors .

What is technology debt ?

The term technical debt was first coined by computer scientists Ward Cunningham On 1992 in , Technical debt refers to a series of trade-offs arising from the construction of short-term solutions for technical systems , As a result, future debts must be repaid in the form of engineering work .

Just like software developers Martin F owler stay 2003 As described in : Some quick ways of doing things have brought technology debt to enterprises , This is similar to financial debt . Like financial debt , Technology debt also generates interest , This is an additional effort that the enterprise must make in its future development .

according to Stripe The company in 2018 Developer coefficient report released in , Software developers spend an average of 13 More than hours to solve the technical debt problem . Now? , As applications become more and more complex , Managing these technical debts has never been more important .Stepsize CEO of the company Alexandre Omeyer say :“ Any code that is considered debt is technical debt .”

Technical debt takes many forms . Industry experts Isaac Sacolick say ,“ At the low end , It may be a small part of the code that needs to be refactored 、 Libraries that need to be upgraded or unit tests that need to be repaired . In the high-end , Technical debt includes redesigning complex single applications 、 Migrate obsolete Web The service agreement 、 Integrate multiple platforms into one standard 、 Clean up the data debt problem 、 Modernization of infrastructure 、 Introduce observable practices or automated backlog of manual test cases . The worst type of technical debt is a ‘ Burning platform ’, This means that the platform often has interruptions and events that affect the business .”

Although developing anything called “ Burning platform ” It seems that they are not as attractive as launching new functions , But only by working as a team in a positive and sustained way to solve the technical debt , Developers can avoid long-term pain .

Sacolick writes :“ Solving technical debt is often overlooked , Because doing so rarely solves urgent business needs , Especially for non emergency situations , The return on investment is not clear , Therefore, it is considered that it can be postponed . For anything that involves maintenance , Whether it's code or house , This is a classic question .”

Peep into the abyss of technical debt

《 Product to project 》 The author of a book and Tasktop Company founder Mik Kersten say ,“ Technical debt needs to be the primary problem to be solved proactively . Unfortunately , in many instances , This is a novel concept .”

For many engineering teams , Especially for engineering teams in fast-growing organizations , Technical debt may make people feel that there is tension between it and the important work of launching new functions . But for the Honeycomb Chief technology officer and co-founder of the company Charity Majors Come on , Technical debt itself is a sign of success , It means that the enterprise is still alive .

Majors Express , Only to ensure that small things are handled properly , Only in this way can we ensure that little things add up and become difficult to deal with .

Although it's easy to say , But the whole organization needs cultural transformation, but enterprises need cultural transformation , To ensure that technical debt is taken seriously .

Red Monk Company Analyst Rachel Stephens say ,“ For many businesses , Being able to have a real priority is a challenge , Especially those enterprises that are motivated to launch new products but do not have specific performance-based incentives . These companies also have to manage their technology debt .”RedMonk analysts RachelStephens tell InfoWorld.

perhaps , just as Tasktop The company's Kersten said ,“ Only through the incentive function , Enterprises will put themselves in the death vortex of technical debt .”

How to manage technical debt

Launch Darkly Chief technology officer and co-founder of the company John Kodumal Pointed out that , Although technical debt is inevitable in software development , But over time , It's much better to actively reduce debt than to stop other jobs and try to get rid of the mountain of debt .

This proactive approach to dealing with technical debt involves treating anything that an enterprise may consider technical debt as another functional work to be included in the normal agile process .

Industry experts Sacolick Express , The secret to maintaining applications and avoiding or at least delaying legacy state lies in how companies and teams manage technical debt . The key is to be proactive , This means that policies need to be formulated 、 Conventions and processes , And apportion the cost of reducing debt over time .

Many teams will tend to invest certain capabilities to solve technical debt , For example, each sprint Of 20%. However ,Tasktop The company's Kersten Suggest a more dynamic approach , Consider upcoming deadlines or the context of team capabilities .

Kersten say .“ You should measure business results and investment in technology debt , And ensure these balances . Make technology debt visible , In this way, you always know how much technical debt you have . Once visible , Set the target delivery percentage , This percentage must change dynamically over time .”

For cloud storage providers Box Chief technology officer of the company Ben Kus Come on , Repayment of technical debt is what all engineering teams need to include in their work . He said ,“ Of course, this will be postponed , But there should be a lasting feeling , That is to deal with these things all the time .”

however ,Kus It is not recommended to assign some engineers to focus on technical debt . He said :“ This may be the root cause of brain drain . No one wants to work on technical debt or restructuring .”

Box The company hopes to be in sprint In the process 、 After the event analysis and standby, evenly distribute the work and surface problems of the engineering team .Kus say ,“ We have a strict post analysis process , We will determine the problems to be solved , To prevent the same problem from happening again . We don't take it for granted ‘ Give up everything to solve the problem ’, But we made it clear , If the problem happens again , This will become a matter of responsibility . If it happens again , That would be very unpleasant .”

The importance of standby rotation

As the engineering team hopes to effectively mine and measure the technical debt that slows them down , This on call element is becoming more and more important .

image Honeycomb The company's Majors Such engineering managers support the regular separation of engineers from feature work , To be on standby , Focus on repairing 、 Restructure and automate debt .

Majors say ,“ It is important to have an engineer who is mainly responsible for small things . As part of standby , They should be actively discouraged from engaging in product work . This introduces elasticity into a system that is usually rarely used .”

Chris Evans yes Incident.io The founder of the company , The company is a software start-up specializing in incident response . He said ,“ The whole point of tracking things is to eliminate those tacit knowledge , Employees will be asked to do things they are not good at .”

Although it sounds terrible at first , But the problem will be solved , then , By emphasizing what went wrong in the post event cleanup or post event analysis , The importance of solving technical debt will become more obvious .

Evans In the last year 12 I wrote in a blog post published in August ,“ By assuming operational responsibility for the work we do , We have accelerated the feedback cycle . This helps to make pragmatic engineering decisions , And maintain a healthy tension between releasing new code and supporting and improving our existing code .”

for example , The company's engineers recently slowed down due to interaction with one of the databases .Evans say ,“ Through a week's effort , We think we can establish a better way to interact with the database , This will have a compound impact on how we build each function in the future .”

These successes should be as important as solving a major event , Or developing excellent new functions is also worth celebrating , And eliminate a lot of technical debt , As important as getting new customers .

The British 《 The financial times 》 Reflection on technical debt

The British 《 The financial times 》 Over the past six years, it has been reshaping its approach to technology debt . As early as 2015 year , The website of this British newspaper consists of a section called Falcon Support for a single application .2016 year , The company's developers will Falcon Convert to a set of microservices , Now its name is Next. The resulting 332 Code repositories are managed by a group of persistent teams with clear responsibilities , From application 、 Content discovery and advertising to the central platform , Only responsible for 72 Repositories .

The British 《 The financial times 》 Customer product technical director Anna Shipman stay 4 Held in London in September QCon Expressed at the meeting . In about a year , Things are starting to get rough . Its development team ignores the overall technology strategy and who owns what services . This leads to more and more technical debt , No one wants to use an orphaned code base , And fewer and fewer engineers are willing to be on call in a few hours .

just as Shipman A colleague of told her that :“ It doesn't feel like we own or guide this system . We just stuff something into it .”

Enterprises need to clear those technical debts and accept complexity , In order to manage it more effectively . Only when the team has clear ownership of their technology stack , Enterprises can start to clear those technical debts more consciously .

Shipman say ,“ This is not something to do with regular function delivery , It's something that needs to set aside time appropriately and arrange time to do , It's not a once and for all thing .”

Although there is no central authorization to put all the project time 20% Allocated to clear and manage technical debt , but Shipman Think their team can now better balance function delivery and technical debt .

Convince executives

Once the relationship with cross engineering debt is reassessed , Developers will liberate the value of slow speed to continue to solve technical debt , But the challenge is not over , It is still necessary to convey this value to executives .

Honeycomb The company's Majors say ,“ Product and engineering managers allocate their time to adding business value , It seems that flashy functions are the only value .”

Resolving technology debt may be the first priority when pursuing business goals , But the engineering manager must change this statement .

eBay Senior chief architect of the company David Van Couvering In a blog post earlier this year . “ When I communicate with the engineer , One of the most common complaints I hear is , They feel they have to constantly develop functions , And the software and tools they use become more fragile 、 Inconsistent and frustrating , It becomes more and more difficult for them to finish the work .”

Let people in different departments know the risks of these fragile systems , By emphasizing that clearing technical debt now can make the project develop faster in the future , Make sure the software is more secure .

Van Couvering writes ,“ When clearing technical debt , Enterprises 、 The team and employees will benefit . Because they avoid the possible failure caused by the accumulation of engineering work .”

Financial times Shipman Suggestive way ,“ Other engineers will understand the importance of this work . Enterprises need to be truly connected with business indicators , For example, turnaround time 、 Performance and quality .”

Don't take risks

Successful management of technology debt requires a lot of effort to change deep-rooted corporate culture and working methods , And improve the communication between engineering team and business team . The incentives taken by developers may need to be changed , But the risk of ignoring the growing technology debt may exist .

RedMonk Company Analyst Rachel Stephens say ,“ If the enterprise focuses on helping business partners understand how today's decisions increase future risks , Then the argument against technical debt will be strengthened . It can show the loss of predictability in the project , The problems faced will lead to future performance degradation .”

Developing new functions will make customers and executives happy , But a system with heavy technical debt will bring everything to a standstill , Therefore, enterprises need to try their best to avoid technical debt .

原网站

版权声明
本文为[Software testing network]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207062221316135.html

随机推荐