Developer Tools You Don't Use – And Why You Don't Use Them

By Esther Schindler, ITworld |  Development, data modeling, debugger 5 comments

Just about every developer uses a debugger, at least occasionally. The reasons are obvious: Code inevitably has defects, and a tool can help find them.

However, other categories of software tools are used far less often. According to several years-worth of data collected by analyst firm Evans Data, a steady 20-30% of software developers stay away from some developer tools categories entirely. For example, a quarter of North American developers never use a load and stress test tool; 22% never use data modeling tools.

[ See also: Fathers of Technology: 10 Unsung Heroes and The end of bloatware: The return of programming's golden age? ]

Sometimes this makes perfect sense, based on the application or where it runs. Intranet apps rarely need a load and stress tool to determine if they can handle a Slashdot load. If you think your application might endure the occasional heavy load, you might consider hosting with a cloud-based server rather than tune for a situation that never arrives. When some developers say, "These tools aren't necessary," they have good reason for that opinion. According to the latest Evans North American Development Survey, performance tools aren't used by 29% of the developers who primarily write departmental in-house software (as compared to those who write apps the whole enterprise uses), and 44% of those departmental developers never use load and stress test tools. In contrast, 90% of independent software vendors (ISVs) use performance tools at least occasionally, and three quarters use load testing tools.

Most unused development tools
Performance tools 18%
Load and stress test tools 25%
Refactoring tools 26%
Application modeling tools 27%
Data modeling tools 28%
Source: Evans Data  

But other categories of developer tools, such as security testing and performance tuning, presumably could benefit everyone. Why don't developers adopt them? To learn the answer, I asked dozens of developers why they don't use data modeling tools, application modeling tools, load and stress test tools, security testing tools, refactoring tools, or performance tools. I also invited a few vendors to chime in, to share the most common sales objections they encounter.

The Tools Are Unnecessary or Irrelevant

A common answer to, "Why don't you…?" is "Because I don't need it."

These tools are out of scope for many projects, points out developer Quentin Neill. Recently, he built an ad-hoc tool to mine a database, merge data into a document infrastructure, and publish it to the web. That application didn't use any of those tools, he says; there was simply no need for them.

Often, tools are perceived as overkill. Developer Leonid Lastovkin explains, "I do not need a bulldozer to build a sand castle. If I am building a big sand castle – then maybe." Developers like Lastovkin must see a tangible, practical need before adopting a toolset. "Performance [tools] can be quite useful, but not until you hit a realistic bottleneck," he says. "It all depends on scalability requirements."

That sentiment is echoed by Charles Wilde, CTO at Aton International, who decides on tool relevance based on project size and type. For instance, an Agile development project with three people might skip data and application modeling tools; a short lifetime project may not justify refactoring or performance tools. "As a project manager, I must make decisions on tools based on cost/benefit. These decisions can vary widely on the specific details," says Wilde.

"I do not need a bulldozer to build a sand castle. If I am building a big sand castle – then maybe."

Leonid Lastovkin

This assumes that developers know when the out-of-scope application status changes. Explains Brian Vosicky, consultant at Corporate Technology Solutions, most projects start small and do not take into account possible growth; customers want a quick turnaround that meets today's requirements. "But the problem is: Requirements constantly change and expand, which then exacerbates the shortsightedness in design and testing and skews the calculation of the benefit," says Vosicky.

Of about 40 teams supported by Capgemini's Paul Oldfield, a methodologist with 25 years experience, few if any of the Legacy Enhancement teams use application modeling tools, because they already know the application back to front and inside out. Other teams have different reasons. "The better [teams] manage fine with whiteboards and paper; a few individuals 'just wing it' despite evidence that they are less productive overall if they go that way."

Sure. That makes sense. If you believe that any individual developer knows what he's talking about.

5 comments

    Anonymous 2 years ago
    "half of the developers in the world are below average" ('scuse me whilst I put my nerd hat on.)Nope. Half the developers are below the median standard.The vast majority of people in the world have an above average number of legs. The average number of legs per person is something like 1.99999, but almost all people have 2.Adam
    Esther Schindler
    Esther Schindler 2 years ago in reply to Anonymous
    Your wording may be more accurate. But mine is funnier! :-)
    Anonymous 2 years ago
    As a professional performance engineer, I simply can't conceive of a software development project not doing performance / load / stress testing. Nor can I conceive of an organization so non-supportive that it expects developers to invest development effort into building a custom performance test framework when such tools as LoadRunner, SilkPerformer and BrowserMob exist!Debuggers: well, up until a couple of months ago I had not used a debugger since my FORTRAN days. But I found that it was far easier to develop simple Perl scripts to interact with the Twitter API using a debugger (Komodo) than it was to write a bunch of test scripts. In any event, as far as I'm concerned, developers should develop only software that directly impacts the organization's mission. Other tools should be purchased.
    Anonymous 2 years ago in reply to Anonymous
    For many projects, the priorities are: functionality (features), correctness (no bugs), maintainability (low cost), and performance. You can make the point that usability is a feature, and that poor performance impacting usability would warrant performance testing ... but I've seen and worked on standalone/single user applications where the user wouldn't even notice a 100% performance boost because the "poor" performance is masked by dual core/2G desktop.
    Anonymous 2 years ago
    I wonder if lumping all the programming tools together is too broad.Let's look at performance tools. Lately I've been using Sun's Analyzer which is free, and it is just wildly easy to use. There's no reason (except lack of time) not to run "collect prog..." and then see what functions are running hot and consider putting someone on it to speed things up. At the very least pick the best compiler options.That is if you care about performance at all anyway.

      Add a comment

      Post a comment using one of these accounts
      Or join now
      At least 6 characters

      Note: Comment will appear soon after you have activated your account.
      Obscene/spam comments will be removed and accounts suspended.
      The information you submit is subject to our Privacy Policy and Terms of Service.

      ITworld LIVE

      DevelopmentWhite Papers & Webcasts

      White Paper

      HP NonStop SQL Fundamentals whitepaper

      This whitepaper offers a detailed look into the fundamentals of HP NonStop SQL solutions. See how this system delivers unprecedented levels of application availability with fail-safe data integrity and meets the needs of enterprises with large-scale business critical applications.

      White Paper

      Nebraska Medical Center case study

      See how the Nebraska Medical Center implemented a SQL solution to make information more readily available to streamline operations, improve patient care and facilitate medical research with an enterprise solution running on HP NonStop servers.

      White Paper

      Concepts of NonStop SQL/MX

      For DBAs and developers who are familiar with Oracle solutions and want to learn about NonStop SQL/MX, this whitepaper provides an overview of the similarities and differences between the two products-with a specific focus on implementation.

      White Paper

      6 Things Your CIO Needs to Know About Requirements

      If your organization is not predictably successful on technology projects, there is likely an issue in requirements. CIOs must take action and own requirements maturity improvement. There are 6 main things a CIO must know about requirements.

      Webcast On Demand

      User Experience Monitoring

      In this webinar, you will learn hints & tips for improving end-user response times from Forrester Research analyst, Jean-Pierre Garbani.

      Sponsor: Nimsoft

      See more White Papers | Webcasts

      Ask a question

      Ask a Question