<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple style='word-wrap: break-word;-webkit-nbsp-mode: space;-webkit-line-break: after-white-space'><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Peter,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I don&#8217;t see requirements for the landing collateral impacting the internal processes any organization uses.&nbsp; We are trying to define the common framework for what needs to be delivered for code to be accepted and integrated into the main tree.&nbsp; &nbsp;This definition will then be a basis for what OpenSFS will require in the statements of work resulting from the RFPs.&nbsp; &nbsp;&nbsp;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I very much appreciate your contributions to this discussion.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>--jc<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> twg-bounces@lists.opensfs.org [mailto:twg-bounces@lists.opensfs.org] <b>On Behalf Of </b>Peter Bojanic<br><b>Sent:</b> Thursday, May 05, 2011 10:10 AM<br><b>To:</b> Andreas Dilger; Chris Gearing<br><b>Cc:</b> twg@lists.opensfs.org<br><b>Subject:</b> Re: [Twg] Managing code history and test collateral<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Andreas, Chris,<o:p></o:p></p><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>I acknowledge the challenge associated with widely distributed &quot;snippets&quot; of technical documentation. &nbsp;A solid body of knowledge associated with code changes (features and bug fixes) will be increasingly important with diverse parties contributing to Lustre.<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>At Xyratex we're weaving a lot of process around Google Docs, which enables us to have shared tables and forms (leveraging spreadsheets extensively) that can be updated and maintained as workflow progresses. Nothing&nbsp;(Jira, Bugzilla, etc.)&nbsp;is quite as flexible as Google docs and there's robust change tracking as well as (new) issue discussion/resolution features that have just shown up in the Enterprise edition.<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>We track development items as they progress through stages of our process (based on TSP) so everyone knows exactly what steps we have completed and what is left to do. Our control tables accommodate linking to other documents (requirements, test plans, high level designs, etc.) so you've got a complete inventory of the associated artefacts.&nbsp;I know that many of us (OpenSFS, probably WhamCloud) are using Google Docs already and you're probably doing something similar.<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>I would highly recommend that the TWG craft process that enables our respective organizations to use our own internal quality development processes yet ties it all together into a common framework for advancing contributions to canonical code base.<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>I'd be happy to contribute to such an effort.<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>Cheers,<o:p></o:p></p></div><div><p class=MsoNormal>Bojanic<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><div><p class=MsoNormal>On May 5, 2011, at 13:54 , Andreas Dilger wrote:<o:p></o:p></p></div><p class=MsoNormal><br><br><o:p></o:p></p><div><div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal><b><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif"'>From: </span></b><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif"'>Chris Gearing &lt;<a href="mailto:chris@whamcloud.com">chris@whamcloud.com</a>&gt;</span><o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>The greatest problem facing the code acceptance process for Lustre is establishing the complete history of the code being submitted.&nbsp;To fully establish the history the code development process must be documented from conception thru landing. &nbsp;This documentation which will form part of the landing&nbsp;collateral&nbsp;will include at least the requirements specification, the design document, test specification/plan, results of testing, the code itself and for copyright purposes the identity of the owner of the submitted code. A key piece of information that must be present is evidence in the form of failing tests that indicate the tests built are fit for purpose. Results showing the failing tests before code implementation are vital to demonstrate that passing results have value.<o:p></o:p></p></div><div><p class=MsoNormal><br>As a timeline this collateral can be defined as;<o:p></o:p></p></div><div><p class=MsoNormal>1/ What is the requirement<o:p></o:p></p></div><div><p class=MsoNormal>2/ How will the requirement be met<o:p></o:p></p></div><div><p class=MsoNormal>3/ How will success be measured<o:p></o:p></p></div><div><p class=MsoNormal>4/ Validation that the code does not already meet the requirement<o:p></o:p></p></div><div><p class=MsoNormal>5/ The Code<o:p></o:p></p></div><div><p class=MsoNormal>6/ Validation the code now meets the requirement including general regression testing.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>7/ Code ownership information.<br><br>The documents can be extensive and detailed for a major project like the health network or updates of a bugtracker for a bug or small improvement, however in all cases each of the 7&nbsp;collateral&nbsp;points must be covered. Another key requirement of all documents is that they must be free standing in&nbsp;their&nbsp;own right, this means that whilst references to other specifications or documents are obviously acceptable&nbsp;references&nbsp;to 'lustre-devel', 'email-threads' or 'Skype&nbsp;discussions' etc are not. In all cases a lustre capable gatekeeper should have at hand everything to answer the 7 points on the timeline without the need for any historical knowledge of the code change.<o:p></o:p></p></div></blockquote></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><div><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif"'><br>Cheers, Andreas<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif"'>--<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif"'>Andreas Dilger&nbsp;<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif"'>Principal Engineer<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif"'>Whamcloud, Inc.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></span></p></div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><p class=MsoNormal>_______________________________________________<br>twg mailing list<br><a href="mailto:twg@lists.opensfs.org">twg@lists.opensfs.org</a><br>http://lists.opensfs.org/listinfo.cgi/twg-opensfs.org<o:p></o:p></p></div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><pre>______________________________________________________________________<o:p></o:p></pre><pre>This email may contain privileged or confidential information, which should only be used for the purpose for which it was sent by Xyratex. No further rights or licenses are granted to use such information. If you are not the intended recipient of this message, please notify the sender by return and delete it. You may not use, copy, disclose or rely on the information contained in it.<o:p></o:p></pre><pre> <o:p></o:p></pre><pre>Internet email is susceptible to data corruption, interception and unauthorised amendment for which Xyratex does not accept liability. While we have taken reasonable precautions to ensure that this email is free of viruses, Xyratex does not accept liability for the presence of any computer viruses in this email, nor for any losses caused as a result of viruses.<o:p></o:p></pre><pre> <o:p></o:p></pre><pre>Xyratex Technology Limited (03134912), Registered in England &amp; Wales, Registered Office, Langstone Road, Havant, Hampshire, PO9 1SA.<o:p></o:p></pre><pre> <o:p></o:p></pre><pre>The Xyratex group of companies also includes, Xyratex Ltd, registered in Bermuda, Xyratex International Inc, registered in California, Xyratex (Malaysia) Sdn Bhd registered in Malaysia, Xyratex Technology (Wuxi) Co Ltd registered in The People's Republic of China and Xyratex Japan Limited registered in Japan.<o:p></o:p></pre><pre>______________________________________________________________________<o:p></o:p></pre><pre> <o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre></div></body></html>