    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
     <channel>
        <title>ACCU  :: Delivering Bad News from QA</title>
        <link>https://members.accu.org/index.php/articles/2305</link>
        <description>Professionalism in Programming</description>
        <dc:language>en-us</dc:language> 
        <dc:creator>Administrator</dc:creator> 
        <admin:generatorAgent rdf:resource="http://www.xaraya.org" /> 
        <admin:errorReportsTo rdf:resource="mailto:webeditor@accu.org" />
       <sy:updatePeriod>hourly</sy:updatePeriod>
       <sy:updateFrequency>1</sy:updateFrequency>
       <docs>http://backend.userland.com/rss</docs>




<div class="xar-mod-head"><span class="xar-mod-title">Process Topics + CVu Journal Vol 28, #5 - November 2016</span></div>

<table border="0" cellpadding="1" cellspacing="0">
    <tbody>
    <tr>
        <td valign="top">
            Browse in :
       </td>
       <td valign="top">

                                            <a href="https://members.accu.org/index.php/articles/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c13/">Topics</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c221/">Process</a>
<br />

                                            <a href="https://members.accu.org/index.php/articles/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c76/">Journals</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c77/">CVu</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c367/">285</a>
<br />

                                            <a href="https://members.accu.org/index.php/articles/c221-367/">Any of these categories</a>

                    -                        <a href="https://members.accu.org/index.php/articles/c221+367/">All of these categories</a>
<br />
</td>
   </tr>
   </tbody>
</table>




<div class="xar-error">
   <p>
 <strong>Note:</strong> when you create a new publication type,
the articles module will automatically use the templates
<em>user-display-[publicationtype].xt</em>
and <em>user-summary-[publicationtype].xt</em>.
If those templates do not exist when you try to preview or display a new article,
you'll get this warning :-)  Please place your own templates in themes/<em>yourtheme</em>/modules/articles . The templates will get the extension .xt there. </p>
</div>
<div class="xar-norm xar-standard-box-padding">
   <h1><strong>Title:</strong>&nbsp;Delivering Bad News from QA</h1>
<p><strong>Author:</strong>&nbsp;Martin Moene</p>
<p>
<strong>Date:</strong> 07 November 2016 16:59:01 +00:00 or Mon, 07 November 2016 16:59:01 +00:00</p>
<p><strong>Summary:</strong>&nbsp;Silas S. Brown describes how not to report your senior colleagueâ€™s bug.</p>
<p><strong>Body:</strong>&nbsp;<p>As I type this on a vintage 1999 Psion Revo (remember them?), my Cantonese wife of 18 months is tapping away into LibreOffice on her old laptop (whose malware-infested Windows I upgraded to Linux shortly into our marriage), on the kitchen table of my parentsâ€™ house in a West Dorset village (weâ€™re visiting them this week), occasionally calling me over to check some aspect of English grammar. She is writing to a <em>Nature</em> journal about a C program I wrote which we hope will speed up cancer research teams across the world. But just last week, that same program caused her to feel so bullied by a senior colleague that she resigned, took her notice period off sick and doesnâ€™t want to go anywhere near a research lab again.</p>

<p>About a month previously, my wife had been asked to check batches of molecular primers for a battery of DNA tests and ended up waiting on into the night for the labâ€™s computer to finish simulating their mutual interactions, then bringing home the Visual Basic 6 program which we tried to run on WINE but it got nowhere all weekend (I later found her input was one or two orders of magnitude larger than what that program was designed to take). So I sat her down and fired off a string of stupid non-biologist questions until Iâ€™d coaxed out a specification that I could use as a starting point for re-implementing the thing, except my version was in C with bit-pattern techniques (making full use of 64-bit registers to test many DNA bases at a time) and OpenMP parallelisation. Because this ran literally thousands of times faster than their Visual Basic affair, it opened up the possibility of simulating on larger scales and automating more aspects of the pooling process; I added the extra features they needed, and it seemed none of the other pieces of software out there had features in just the right combination for that kind of cash-strapped cancer research lab (I heard the principal investigator was trying to employ three assistants on a grant that was meant to be for one, so they obviously needed to conserve resources at every turn and thatâ€™s why optimisation was important). Everyone seemed excited that Iâ€™d been able to write what they needed.</p>

<p>But then it turned sour. We tested the software by asking it to check the mutual interactions in a set of pools that had been meticulously derived by hand by one of that labâ€™s senior academics a couple of years earlier, and it pointed out 11 amplicon overlaps <a href="#[1]">[1]</a>. That academic was supposed to have eliminated all amplicon overlaps, and had done a pretty good job of getting rid of hundreds of them, but the fact that thereâ€™d been 11 left called into question their work and potentially the labâ€™s results for the last 2 years. We carefully checked if my software report was incorrect. It wasnâ€™t. My wife went to the lab and basically said â€˜look how good our software is: it found these 11 mistakes in Dr Xâ€™s workâ€™. And said senior academic took things very badly and, Iâ€™m told, began the workplace bullying that led to my wifeâ€™s resignation as previously mentioned.</p>

<p>I should have insisted on going to her lab myself to present the software and take Q&amp;A. Not because Iâ€™m macho (which Iâ€™m not over much), nor because my visual impairment deprives the bullies of one of their dimensions of expression, nor because I have the experience of being physically bullied by dozens of boys in primary school and therefore ended up with a wider sense of perspective, but simply because, as a programmer, I know that bugs can happen to anybody. I could have included in my presentation tales of Cambridge professor Sir Maurice Wilkes finding a bug in his second EDSAC program in the late 1940s, and no doubt other examples to show that to err is human (no matter how clever you are) and itâ€™s good for all of us to run our work through some form of automated testing, and that sanity-checking tools that work well are good no matter who we are (note the â€˜weâ€™; it sounds better than â€˜youâ€™ when the subject is human error). One does not join an organisation and within months walk up to seniority (especially non-programmers) and say â€˜I found a bug in your workâ€™ (so there). One says â€˜I was trying to put your work through this compiler and it said this; do you think thatâ€™s a problem?â€™ or some such. (Make sure to say it was the compiler that found the problem, not you. You might have thought finding problems gets you credit, but it might instead get you some wrath.) Non-programmers are not used to bug reports, so we have to be tactful especially if weâ€™ve just developed a new QA tool thatâ€™s throwing up newly-discovered problems (after all, itâ€™s also possible the tool is simply wrong to flag up all that). Unfortunately I didnâ€™t think to warn my wife about all this in advance; she didnâ€™t have previous experience delivering such reports to senior non-programmers and she naturally put the proverbial foot in it. I honestly donâ€™t know how far their project is going to get now sheâ€™s left, and letâ€™s not even think about how many more patients die while things are delayed. At least weâ€™re still trying to get the software past peer review so other labs can start using it (I asked an old classmate who now works in a commercial bio lab and she basically said â€˜sounds good but tell me when itâ€™s gone through peer reviewâ€™; many labs have a policy of not being the first to try new tools, so having it published in a medical journal is important).</p>

<p>Once our <em>Nature</em> paper is ready to submit, we take the daily village bus (which my late grandmother campaigned for and subsequently couldnâ€™t use) to visit the public library of the small nearby town (around which my parents lived all their lives), where we have to battle with Windows against a time limit â€“ shorter than expected because somebody else had booked the computer, and theyâ€™ve locked down the configuration so I canâ€™t turn up the print size or type in the Dvorak keyboard layout, and accidentally muttering â€˜for goodnessâ€™ sakeâ€™ gets me told off for swearing in the library â€“ but we somehow get it done. Two days later, I am able to briefly get a signal in the village by holding my mobile phone against a tree on the hillside (the capacitative coupling seems to help) and we see <em>Nature</em> thought our paper was too specialist for them. Their response is a model of how to say this the right way: they specifically said they didnâ€™t doubt the technical quality of our work or its interest to others working with primer pools; they just didnâ€™t think the advances presented would have sufficiently significant immediate impact on the broader readership. They wanted to return it to us as soon as possible so it can be sent elsewhere without delay. My wife is very happy about this and says we will look at it once weâ€™re back in Cambridge (perhaps weâ€™ve done enough of rushing it from the rurals). Weâ€™ll probably try the <em>Oxford Bioinformatics</em> journal (I wouldnâ€™t want to task our very own Frances Buontempo with assembling a medically-qualified peer review team for an <em>Overload</em> paper).</p>

<p>If we could all train ourselves to be as nice as those <em>Nature</em> editors when reporting problems within an organisation, perhaps our professional relationships would be a tiny bit better. Perhaps.</p>

<p>Postscript: Shortly after we returned, my father succumbed to his illness and passed away. We immediately made a second visit to Dorset and wrote the second paper while there, which my wife decided we should send to <em>Nucleic Acids Research</em>. That editor felt itâ€™s still off-topic but was kind enough to transfer it to another journal which might be appropriate; their decision is still pending.</p>

<h2>Note</h2>
<p class="bibliomixed"><a id="[1]"></a>[1]	An amplicon overlap is the error of placing primers for two overlapping sections of the DNA into the same pool.</p>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
