In most IT organisations, 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 development cycle. Your development staff would be able to deliver more applications faster and at a lower cost.
The good news is you can. New technologies are automating application problem resolution and delivering significant improvements in developer productivity. Solutions based on these technologies are helping development teams meet ever-shrinking application delivery times required by the business while creating applications that offer more functionality and higher quality.
Opportunity for Improvement
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 multitier applications that are built on service-oriented architecture and involve multiple services provided by multiple, geographically dispersed resources.
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 that includes:
• Gathering problem information
• Recreating the problem scenario in a controlled environment
• Analysing the recreated problem to determine its root cause
Their approach is characterised by trial-and-error tactics and manual tasks, extending test time in the development stage and support time in the maintenance stage.
Accelerating Problem Resolution
A new generation of solutions is helping development teams streamline and accelerate the problem resolution process. By supporting best-practice processes and automating manual tasks, these solutions significantly reduce the time and effort developers now spend tracking down and fixing problems. Developers can leverage these solutions across the entire application lifecycle — from development through maintenance.
In the development stage, the solutions trim down test time by facilitating information gathering, problem recreation, and information analysis. The solutions improve tester productivity by automatically capturing and attaching comprehensive documentation of failures to a software defect report. They provide the developer with rich contextual information in the initial report. Consequently, the developer does not have to go back to the tester again and again to get key details required for root cause analysis.
The digital documentary 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 replay a movie. Replay eliminates the need recreate problems manually, saving substantial developer time. It also eliminates nonreproducible problems that soak up valuable time on the part of developers, testers, and application support technicians.
A well-architected solution provides rich detail that eliminates the multiple problem analysis cycles typically needed to determine root cause. Such a solution replaces the patchwork of disparate problem-analysis tools with a single, comprehensive, integrated tool suite. Consequently, developers no longer need to make multiple passes through a problem with different tools. The bottom line is that developers get to the root cause faster and get started on a fix sooner.
The new solutions support the maintenance phase of the application lifecycle by optimising collaboration processes among developers, who are often the last line of support, and service desk agents, support specialists, and others involved in problem escalation in the production environment. An automated problem resolution solution streamlines incident documentation by capturing a comprehensive digital documentary. That documentary includes user behavior, the complete problem environment, and code execution. As in the development stage, the developer has all information required to replay a problem scenario and analyse the root cause.
Reaping the Rewards
Automated problem resolution solutions deliver important advantages in both the development and management phases of the application lifecycle:
• Time-consuming, back-and-forth communications to gather data are eliminated
• Every problem is reproducible
• Developers no longer need to recreate problem scenarios or environments
An automated solution shortens the development cycle while increasing application quality. Business agility rises because the development staff can respond more quickly to the needs of the business for new and enhanced applications. Developers have more time to spend designing and writing applications that drive business innovation.
Organisations that have already 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, a problem resolution solution saves $25,000 annually per developer. For a team of 50 developers, the savings is $1,250,000 a year.
Because these solutions greatly facilitate problem resolution, they permit more rigorous quality assurance testing in the development stage without extending the time to market. Time to market may, in fact, shrink. Moreover, applications go into production with fewer defects, which reduces business risk. Developers spend far less time resolving problems in applications that are in the maintenance stage of the application lifecycle.
Savvy organisations recognise that application developers create innovative business services that revolutionise the business. Creating those business services takes time.
Today’s new problem resolution solutions cut the time your developers spend on root cause analysis and problem fixes nearly in half, giving them more time to design applications and write code. So you get what you’re paying for.
With these tools in place, your organisation enjoys a dramatic increase in both the quality and the quantity of applications delivered. Your development staff can deliver more applications in ever-decreasing timeframes in a technology environment that is increasing in complexity. The bottom line for your business is higher efficiency, greater agility, an increase in innovation, and a strong competitive advantage.
Eldad Maniv is vice president of Product Management at BMC Software – Identify Business Unit.
Guest column: Are you getting what you’re paying for? Making the most out of your investment in development
By Eldad Maniv on Dec 20, 2007 11:02AM