Developers are getting better at building software, but we're not getting better at fixing it.
The problem is that fixing bugs and errors is still a very manual process. Developers have to dedicate significant time and effort investigating what went wrong before they can even begin to fix issues. That's because traditional observability tools will tell you if your infrastructure is having problems, but don't provide the context a developer needs to fix the code or how to prioritize them based on business requirements. Also, traditional observability tools produce far too much noise and too many false positives, leading to alert fatigue.
This drains developer time and productivity — and can result in a fair amount of frustration.
Fixing Bugs and Errors Is Developers' No. 1 Pain Point
Rollbar research reveals that fixing bugs and errors in code is developers' No. 1 pain point.
The research, based on a survey of nearly 1,000 developers, also indicates that 88% of developers feel that traditional tools used for error monitoring fall short of their expectations.
The developer survey group explained that traditional error monitoring is lacking because:
■ It requires them to manually respond to errors (39%)
■ It takes them too long to find all of the details they need to fix bugs and errors (36%)
■ It focuses on system stability and not enough on code health (31%)
■ It makes it difficult to detect errors (29%)
■ Its approach to error aggregation is either too broad or too narrow (23%)
With Traditional Troubleshooting, Developers Spend Significant Time Investigating Problems
This example will illustrate how many of these challenges can play out for an organization.
Imagine that you launched a new web app feature after ensuring the feature passed all tests. But in the morning, the support team finds that your highest paying customer has reported a single issue. Then another issue comes in from the same customer, and then another. The frustrated customer then mentions your company on Twitter in an effort to get your attention.
Customer support escalates this issue to their lead. The lead brings in the product manager, who asks someone to investigate. Your company's site reliability engineering (SRE) team investigates, but everything is looking good as far as they can see. Their telemetry shows that the error response rate is about the same, all servers are up, and the database is in good shape.
Eventually, a lead developer is tasked to investigate. Essentially, this individual needs to answer one question as quickly as possible: How do I reproduce this? To get the answer, the developer must talk to the customer to understand exactly what issue that customer is facing. This typically takes several hours of back and forth between the customer and developer.
Ultimately, the developer determines that the issue is on a single URL. This leads the developer to look into a log file to try to understand when and where this is happening. The developer finds one log line that has the stack trace with this error message: "The request parameter is invalid." This provides a clue that leads the developer to the line of code that needs to be checked.
The developer runs git blame on the file, which identifies the code's original author. The author joins the investigation squad. A few hours later, the squad figures out the cause of the issue and how they can fix it. They release a new build, and they ask customer support to check in with the customer to see if that customer is still experiencing the problem. By that point, the customer has gone to bed. Now the team must wait until tomorrow morning to get feedback.
That Delays Issue Resolution and Doesn't Work at Scale
The example above illustrates that troubleshooting for bugs and errors is still manual. That results in slow mean time to awareness (MTTA) and mean time to repair (MTTR).
Traditional troubleshooting tools also don't scale. That's a big problem because it prevents developer teams from moving quickly, whether they are working on shipping new releases, creating new features or even just contending with tech debt.
Most Observability Solutions Fall Short - Leaving Customers to Report Problems
Nearly half (46%) of developers said they have error monitoring solutions. But while most tools will tell you what's broken, they won't provide the context needed to understand issues and prioritize fixes. This helps explain why a whopping 88% of developers said that they only find out about bugs and errors from user complaints reported through the app or via social media.
Part of the problem is that developers frequently use tools which focus on system metrics and logging to solve challenges that address whether or not an app is working — and if not, why not. Modern observability tools aim to answer such questions as: Which microservice latency is causing 502s or which line of code is causing an elevated error rate?
But observability tools create problems of their own. For example, they generate too much noise, which leads to an inability to automate. That, in turn, results in slower triaging, fixes and remediation. The bottom line is that the process is still far too manual, slow, and not scalable.
Continuous Code Improvement Enables Fast Understanding and Action
What's really needed is more contextual information to find the root cause of errors, faster. Grouping together similar root causes also can alleviate alert fatigue. This enables developers to easily identify the source of bugs and errors — and resolve issues before customers complain.
This is now possible using continuous code improvement, which enables developers to observe and act on issues — often before customers are even aware that such problems exist.
Continuous code improvement also makes developers more productive because they can now spend less time debugging and more time building innovative solutions that add new value.
Many have assumed that the mainframe is a dying entity, but instead, a mainframe renaissance is underway. Despite this notion, we are ushering in a future of more strategic investments, increased capacity, and leading innovations ...
Most (85%) consumers shop online or via a mobile app, with 59% using these digital channels as their primary holiday shopping channel, according to the Black Friday Consumer Report from Perforce Software. As brands head into a highly profitable time of year, starting with Black Friday and Cyber Monday, it's imperative development teams prepare for peak traffic, optimal channel performance, and seamless user experiences to retain and attract shoppers ...
From staffing issues to ineffective cloud strategies, NetOps teams are looking at how to streamline processes, consolidate tools, and improve network monitoring. What are some best practices that can help achieve this? Let's dive into five ...
On November 1, Taylor Swift announced the Eras Tour ... the whole world is now standing in the same virtual queue, and even the most durable cloud architecture can't handle this level of deluge ...
OpenTelemetry, a collaborative open source observability project, has introduced a new network protocol that addresses the infrastructure management headache, coupled with collector configuration options to filter and reduce data volume ...
A unified view of digital infrastructure is essential for IT teams that must improve the digital user experience while boosting overall organizational productivity, according to a survey of IT managers in the United Arab Emirates (UAE), from Riverbed and market research firm IDC ...
Building the visibility infrastructure to make cloud networks observable is a complex technical challenge. But with careful planning and a few strategic decisions, it's possible to appropriately design, set up and manage visibility solutions for the cloud ...
According to a recent IT at Work: 2022 and Beyond study, there have been a few silver linings to the pandemic ... The study revealed some intriguing trends, which will be discussed in turn ...
The absence of topology can be a key inhibitor for AIOps tools, creating blind spots for AIOps as they only have access to event data. A topology, an IT service model, or a dependency map is a real-time picture of tools and services that are connected and dependent on each other to deliver an IT service ...
A modern data stack is a suite of technologies and apps built specifically to funnel data into an organization, transform it into actionable data, build a plan for acting on that data, and then implement that plan. The majority of modern data stacks are built on cloud-based services, composed of low- and no-code tools that enable a variety of groups within an organization to explore and use their data. Read on to learn how to optimize your data stack ...