DevSmart

Record and Replay

Development more time resolving application problems then designing and coding.

You're paying your application developers to write code. But are they doing what you're paying them to do?

In most IT organizations, the answer is no. Industry analysts estimate that developers spend only about 20 percent of their time designing and coding. How do they spend the bulk of their time? Resolving application problems.

Identifying and correcting defects discovered in the testing phase of a software project consumes 50 percent or more of your developers' time. Developers also spend time resolving problems, even after the application enters the maintenance phase of its lifecycle.

If you could streamline problem resolution, you could shorten the dev cycle. Your development staff would be able to deliver more apps faster and at a lower cost. Now new technologies are automating application problem resolution and delivering significant improvements in developer productivity.

Root Cause and Resolution
Problem resolution encompasses two steps: root cause analysis and problem fix. The vast majority of problem resolution time goes into root cause analysis.

It's a complex task. Symptoms rarely point directly to the source of the problem. If a transaction fails to execute during integration testing, the cause could be a source code bug, an application server service failure, a network problem, improper configuration or a combination of conditions. Pinpointing the cause is difficult enough in traditional applications. It's even more difficult in multi-tier applications that are built on services-oriented architecture, or .NET-connected applications that include Web services.

The analysis process is cumbersome as well. Developers collaborate with testers in the development stage and support teams in the maintenance stage using a reiterative process. Their approach is characterized by trial-and-error tactics and manual tasks.

Black Box Recorder
A new generation of technology is helping development teams streamline and accelerate the problem resolution process. Developers can leverage these solutions across the entire application lifecycle -- from development through maintenance.

Automated problem resolution software captures a synchronized, real-time log of application activity at several levels -- user, system and code -- much like the "black box" flight recorder on an aircraft captures a real-time record of a flight. The technology can help dev teams diagnose the root cause of unexpected application behavior, whether it's a user error, performance issue, configuration problem, functional error or integration or scalability problem. These tools help determine the root cause of Web service or database call failures, component incompatibility, .NET Remoting and Interop errors, business logic issues, performance, app migration and upgrade problems, among many others.

The documentary log from the information-gathering phase enables developers to replay the problem scenario exactly as the tester experienced it. It's like using a DVD to record and replay a movie. Replay eliminates the need to recreate problems manually, saving substantial developer time. It also eliminates non-reproducible problems that soak up valuable time on the part of developers, testers and app-support technicians.

Well-architected app problem resolution provides rich detail that eliminates the multiple problem-analysis cycles typically needed to determine root cause. Consequently, developers can drill down to system-level (Web page execution, database calls) and code level (function calls, arguments, exceptions) views and replay a problem scenario.

The Phantom Deadlock
[click image for larger view]
Development

This type of tooling can also be used to support the maintenance phase of the application lifecycle by optimizing collaboration processes among support specialists and developers, who are often the last line of support. The software streamlines incident documentation by capturing a synchronized timeline that includes user behavior, the complete problem environment and code execution. As in the development stage, the developer has all the information needed to replay a problem scenario and analyze the root cause.

Time Is Money
Automated problem resolution delivers important advantages in both the development and management phases of the application lifecycle.

Organizations that have implemented these solutions are finding that developers can cut problem resolution time nearly in half. Assuming that developers spend half of their total time in problem resolution during development and maintenance, this translates to a savings of more than one-fourth of the developer's total time. At a fully loaded cost of $100,000 per developer per year, automated problem resolution saves $25,000 annually per developer. For a team of 50 developers, that savings is $1.25 million a year.

Savvy organizations recognize that application developers create innovative business services that revolutionize the industry. Creating those business services takes time. With these tools in place, your dev team can deliver better apps in a technology environment that's increasingly complex.

comments powered by Disqus

Featured

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

  • What's New for Python, Java in Visual Studio Code

    Microsoft announced March 2024 updates to its Python and Java extensions for Visual Studio Code, the open source-based, cross-platform code editor that has repeatedly been named the No. 1 tool in major development surveys.

Subscribe on YouTube