App Developers Spend Too Much Time Debugging Errors in Production Systems (betanews.com)
According to a new study, 43 percent of app developers spend between 10 and 25 percent of their time debugging application errors discovered in production. BetaNews adds: The survey carried out by ClusterHQ found that a quarter of respondents report encountering bugs discovered in production one or more times per week. Respondents were also asked to identify the most common causes of bugs. These were, inability to fully recreate production environments in testing (33 percent), interdependence on external systems that makes integration testing difficult (27 percent) and testing against unrealistic data before moving into production (26 percent). When asked to identify the environment in which bugs are most costly to fix, 62 percent selected production as the most expensive stage of app development to fix errors, followed by development (18 percent), staging (seven percent), QA (seven percent) and testing (six percent).
That brings back memories:
Me: "It works for me"
Production: "It gives me this error"
Me: "Can you show me the data"
Prod: "It was in Missouri's data for 2014"
Me: "It still works. Can you show me a screenprint of your data?"
Prod: "I'm using this dataset"
Me: "I don't have access to that (expletive unsaid) dataset. Can you show me a (more unsaid stuff) screenprint??"
Prod: *mumbles something about privicy*
Me: *thinks about shooting someone*
Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
That's not always as easy as it sounds. If there was data conversions involved for example, the previous stable build may not even run anymore and would require restoring everything from backup, which may well be a many-many-hour project in itself -- and possibly taking time away from fixing the issue if it was a small-to-mid size company that recycles people into multiple roles (and programmer/IT services is a frequent combination at the best of times.) Just in time to turn around and have to re-convert as soon as you're done because the fix has been completed.
Never mind the fun of the programmers telling you "it'll just be another 2 hours" for 18 hours straight because issues in software tend to branch out in ways that nobody thinks about/remembers and can't include in their estimates until their nose is already in the code and its looking them in the face.
App developer here.
Something is missing here; namely we spend more time debugging issues found in production, because they get reported. Almost every app nowadays has a crash logger that reports all crashes. Libraries like Twitter's Crashlytics are awesome like that. You get all crashes reported to you, including a ring buffer of the last 100 log messages. It's really, really awesome and I've solved problems in production that wouldn't ever be found normally.
8 of 13 people found this answer helpful. Did you?