Understanding the difference between a fault, and a feature, is important in software development. For most serious programmers we can joke that a bug is an unintended feature or even more honestly a cock up.
But sometimes you have to really listen to the person reporting a fault, to empathise with them and to get into their shoes.
This relating to your customer is a real big theme at the moment, as we're on deadline for today (in fact Friday, but we're saying today to put that extra spring in our steps) to deliver a really big system for a show, so now only has it got to work flawlessly, but it has to be in a saleable distributable situation.
For this we have a league of testers working live on the system, so as fixes feed out to the lead tester he does a generic test and all the automated stuff, and then he hands the builds over to different people to try to break them.
And today, I had a major call that one of my systems was failing soak, it was "leaking memory" was the report.
I have since last night spent perhaps 8 hours trawling the code, doing builds and tests and checking, there's nothing being wasted, nothing being unallocated, nothing being allocated and then abandoned, it is in the technical sense not leaking memory.
So, I've puzzled over this, and in the end gone down to talk to the testers, I've asked them to show me a machine, they happen to have one which had been on all night and it had a huge amount of memory being taken by "your application".
It was the logger, the log of activity, the debug log which should be turned off was still on, accruing string after string after string of text, nearly 500 megabytes of it over night in fact. Double click to clear the log, or better yet turn it off, and no "memory leak".
What had happened was this user had heard of "memory leaks", and knew that the phrase was associated with memory being allocated that they could not account for. But they'd not thought about what the system as actually doing, they had reported a "memory leak" and caused other semi-conscious technical users to panic, I myself had panicked.
Let this be a lesson learned.
No comments:
Post a Comment