当前位置:网站首页>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 .
边栏推荐
- 架构实战训练营|课后作业|模块 6
- On the 110th anniversary of Turing's birth, has the prediction of intelligent machine come true?
- 九章云极DataCanvas公司蝉联中国机器学习平台市场TOP 3
- Jetson nano configures pytorch deep learning environment / / to be improved
- 组织实战攻防演练的5个阶段
- Factor analysis r practice (with R installation tutorial and code)
- What is Web3
- AttributeError: module ‘torch._C‘ has no attribute ‘_cuda_setDevice‘
- Vscode 如何使用内置浏览器?
- 过气光刻机也不能卖给中国!美国无理施压荷兰ASML,国产芯片再遭打压
猜你喜欢
Break the memory wall with CPU scheme? Learn from PayPal to expand the capacity of aoteng, and the volume of missed fraud transactions can be reduced to 1/30
Common methods of list and map
How to package the parsed Excel data into objects and write this object set into the database?
Common Oracle SQL statements
offer如何选择该考虑哪些因素
【愚公系列】2022年7月 Go教学课程 005-变量
MySQL forgot how to change the password
Flex layout and usage
A simple and beautiful regression table is produced in one line of code~
Gavin teacher's perception of transformer live class - rasa project actual combat e-commerce retail customer service intelligent business dialogue robot microservice code analysis and dialogue experim
随机推荐
JS variable case output user name
How to open win11 remote desktop connection? Five methods of win11 Remote Desktop Connection
Have you got the same "artifact" of cross architecture development praised by various industry leaders?
MySQL forgot how to change the password
STM32F103ZE+SHT30检测环境温度与湿度(IIC模拟时序)
PLC模拟量输出 模拟量输出FB analog2NDA(三菱FX3U)
Introduction to the PureMVC series
Deeply cultivate the developer ecosystem, accelerate the innovation and development of AI industry, and Intel brings many partners together
Servicemesh mainly solves three pain points
Markdown编辑器
How does vscade use the built-in browser?
计数排序基础思路
组织实战攻防演练的5个阶段
广告归因:买量如何做价值衡量?
Lessons and thoughts of the first SQL injection
Section 1: (3) logic chip process substrate selection
未婚夫捐5亿美元给女PI,让她不用申请项目,招150位科学家,安心做科研!
九章云极DataCanvas公司蝉联中国机器学习平台市场TOP 3
Poor math students who once dropped out of school won the fields award this year
[digital analog] source code of MATLAB allcycles() function (not available before 2021a)