Debugging is an essential part of app development. There’s no way around it. Ideally, developers want to spend as little time as necessary debugging their software so they can concentrate more on creating the features their customers want. There is always that fine line between delivering a bug-free product and delivering one that is feature-rich. The problem is that debugging is taking too much time. It is slowing down app development far more than it should.
A recent survey conducted by ClusterHQ reveals just how inhibiting debugging can be to software developers. ClusterHQ surveyed 386 professionals to learn their thoughts on application testing. Among other things, they learned that:
- 43% of app developers spend between 10% and 25% of their time debugging errors uncovered during production
- just over 10% said they encounter production bugs at least once a day; roughly 13% encounter production bugs 2-3 times per week
- 62% say that bugs discovered in production are the most costly to fix.
Interestingly enough, the survey developers say that the number one problem they face in the arena of bug-fixing is an inadequate testing environment. Developers are unable to test their software in environments that adequately replicate real-time data and scenarios, rendering the result inadequate at best.
Something Has to Give
There is one more statistic from the ClusterHQ survey that just about says it all: 88% of the developers stated that they want the ability to test software using realistic data in order to cut down on bugs found in production. It’s clear that something has to give.
Right now,several different things are hindering the ability to create a more accurate testing environment. For example, keeping test data up-to-date and keeping track of various versions of test data present logistical nightmares that are not easy to address. But that should not stop someone from trying.
We live in an era in which software development, particularly mobile apps, is quickly moving away from waterfall practices in favor of agile development. Being that flexibility and responsiveness are core principles of agility, the industry is only hampering itself by not figuring out a way to create a better testing environment. And until that better testing environment is reality, the potential of agility will never be trulyrealized.
Better Testing for Nearshore Firms
A good candidate for developing a better testing environment is the nearshore sector. Why? Because nearshore software development companies market themselves as being able to produce more quickly as a result of fewer time and cultural constraints. But the nearshore model would be so much better if providers could speed up delivery times even more by reducing the time spent debugging.
The more we look at the software development environment here in the U.S., the more apparent it’s becoming that there is a real opportunity here for anyone who can adequately address the bug-testing problem. Let’s look at it in terms of sheer numbers.
If a developer spends 25% of his or her time debugging errors found in production, that means 10 hours out of every 40-hour work week is not being devoted to adding features. A project that takes 1,000 man-hours to complete is losing 250 of those hours to debugging. Imagine a more adequate testing environment that could cut that in half. It would mean a lot more hours spent making customers happy with new features instead of trying to assuage their displeasure by fixing errors.
Error debugging is slowing down software development. But it doesn’t have to. We just need to figure out a more accurate way to test.