<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.developerdotstar.com/community" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>developer.* Blogs - Professional and Personal Development - Comments</title>
 <link>http://www.developerdotstar.com/community/taxonomy/term/132</link>
 <description>Comments for &quot;Professional and Personal Development&quot;</description>
 <language>en</language>
<item>
 <title>working software &lt;-&gt; good software</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1871</link>
 <description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;reading your article, Dan and then the comments, i feel, two things here might be mixed up. For me, the original apgar score sounds like a good way to see, if the baby is actually well and alive, to see, if the baby is &#039;working&#039;. The apgar score doesn&#039;t tell you, if the brain has any damage, if the kidney is working and many more things. So i think, the apgar score is good in telling, if the baby will survive the next days but it cannot tell, if the baby will develop to a healthy grown-up, and i guess, it wasn&#039;t meant to.&lt;/p&gt;
&lt;p&gt;The same is for software. We already have instruments for knowing, if a program &#039;works&#039;. Unit Testing, for example. Unit tests have the binary system, that you mentioned. It tells you, if that thing is running or not. But of course, it doesn&#039;t tell you, if the design of the software is good, if the architecture is good.&lt;/p&gt;
&lt;p&gt;It is the same, as the apgar score doesn&#039;t tell you, if the baby has a high potential of getting cancer in the future.&lt;/p&gt;
&lt;p&gt;To get this information, the baby would have to be checked very intensively and the resulting report would surely consist of many subjective opinions.&lt;/p&gt;
&lt;p&gt;The same goes for analyzing a programm in terms of desgin and architecture.&lt;/p&gt;
&lt;p&gt;My 2 cents :o)&lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;Sven&lt;/p&gt;
</description>
 <pubDate>Sat, 02 Dec 2006 00:47:48 -0800</pubDate>
 <dc:creator>Sven Busse</dc:creator>
 <guid isPermaLink="false">comment 1871 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Google Video</title>
 <link>http://www.developerdotstar.com/community/node/646#comment-1677</link>
 <description>&lt;p&gt;That was quite an interesting talk!  At one point the speaker calls out data that seems to conclusively show that, almost all of the time, the committer turns out to be a useless predictor of whether a commit will be buggy or not.&lt;/p&gt;
&lt;p&gt;Honestly, I&#039;m not entirely surprised.  I think good programmers can be as error prone as bad ones.  What I think distinguishes a good programmer from a bad one is the survivability of their code.  That is, the good coder will check in reusable components that last in the product, unchanged, for many years. The bad programmer will treat each new challenge as a separate entity and never write much code that is reused.  When their code does persist, it&#039;s usually because it becomes dead code.&lt;/p&gt;
</description>
 <pubDate>Fri, 17 Nov 2006 19:05:57 -0800</pubDate>
 <dc:creator>Steve Benz</dc:creator>
 <guid isPermaLink="false">comment 1677 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Bugs via SCM</title>
 <link>http://www.developerdotstar.com/community/node/646#comment-1667</link>
 <description>&lt;p&gt;Hi Pat, there was a video on Google video about predicting bugs using source control information. Not sure if its the same one. The video is &lt;a href=&quot;http://video.google.com/videoplay?docid=7802818288058377867&amp;amp;q=google+engEDU+bug&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
 <pubDate>Tue, 14 Nov 2006 19:48:13 -0800</pubDate>
 <dc:creator>Siddharta Govindaraj</dc:creator>
 <guid isPermaLink="false">comment 1667 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>I detect a self-contradiction</title>
 <link>http://www.developerdotstar.com/community/node/646#comment-1666</link>
 <description>&lt;p&gt;See my extended post &quot;&lt;a href=&quot;http://www.developerdotstar.com/community/node/647&quot;&gt;Squaring the Circle&lt;/a&gt;&quot;&lt;/p&gt;
</description>
 <pubDate>Tue, 14 Nov 2006 17:40:11 -0800</pubDate>
 <dc:creator>Edward G Nilges</dc:creator>
 <guid isPermaLink="false">comment 1666 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>similar ideas</title>
 <link>http://www.developerdotstar.com/community/node/646#comment-1665</link>
 <description>&lt;p&gt;In his OSCon 2006 presentation 10 Tools for Open Source Projects, Karl Fogel presented some similar ideas about using tools to evaluate bug reports and repository commits to screen potential commit-bit cendidates or other folks who would be good to groom for a bigger role in an open source project.  I can&#039;t find any links to his talk right now, but I think it was released as an mp3 somewhere.&lt;/p&gt;
</description>
 <pubDate>Tue, 14 Nov 2006 16:34:57 -0800</pubDate>
 <dc:creator>Pat Eyler</dc:creator>
 <guid isPermaLink="false">comment 1665 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>CVS - the Vessel of The Awful Truth</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1664</link>
 <description>&lt;p&gt;I tend to agree with Chris that there&#039;s perhaps more value in repository changes than many other metrics.  My personal take on it is that it might be a good idea to look at who writes code that gets delta&#039;ed alot.  Check out my &lt;a href=&quot;http://www.developerdotstar.com/community/node/646&quot;&gt;blog entry&lt;/a&gt; on the subject for a complete musing on the subject.&lt;/p&gt;
</description>
 <pubDate>Tue, 14 Nov 2006 14:01:37 -0800</pubDate>
 <dc:creator>Steve Benz</dc:creator>
 <guid isPermaLink="false">comment 1664 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Balanced scorecard</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1650</link>
 <description>&lt;p&gt;At a recent management review, I was asked a great question: &quot;Name a feature of the recent release which was directly requested by a customer&quot;. A software Apgar should include some indicators of whether the right software was built.&lt;/p&gt;
&lt;p&gt;It&#039;s true that all metrics can be gamed. This is a direct consequence of the fact that what we do is hard. But it doesn&#039;t follow that they are useless.&lt;/p&gt;
&lt;p&gt;I use number of commits per month as an indicator of team morale. It&#039;s a very crude one, but it has some utility. Either it confirms what I already knew - but in an objective way, that I can quote, my bosses don&#039;t want to rely on my gut feelings. Or it contains a surprise, in which case I have to do some listening and thinking. Sometimes the conclusion is that the result is an artefact, e.g. due to holidays. But any reality check is good, even an imperfect one.&lt;/p&gt;
&lt;p&gt;On important guideline is not to reward the team for improving the metrics. That is asking for trouble. A objective measure of the fitness for purpose of the product is not possible.&lt;/p&gt;
&lt;p&gt;Incidentally, I&#039;m sceptical about the idea that doctors can&#039;t game the Apgar score. We&#039;d have to ask an obstretrician, but babies are more complicated than software products. In the UK we have free health care, which also means rationed health care, and we have lots of experience of hospital administrators gaming targets.&lt;/p&gt;
</description>
 <pubDate>Sat, 04 Nov 2006 22:16:25 -0800</pubDate>
 <dc:creator>chrishmorris</dc:creator>
 <guid isPermaLink="false">comment 1650 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Getting Us Started</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1643</link>
 <description>&lt;p&gt;Thanks, Dave! I hope to post a new blog post soon to summarize some of the things that have been said in these discussions, and to start exploring some actual &quot;score-able traits&quot; (like those in your list), program classifications, and systems for scoring.&lt;/p&gt;
&lt;p&gt;Best,&lt;br /&gt;
Dan&lt;/p&gt;
</description>
 <pubDate>Fri, 03 Nov 2006 15:28:12 -0800</pubDate>
 <dc:creator>Daniel Read</dc:creator>
 <guid isPermaLink="false">comment 1643 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Other categories</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1642</link>
 <description>&lt;p&gt;I bet it&#039;s best to pick the priorities for your project, and then devise a unique set of tests before you get going. That being said, here are some guidelines that I wish were in place for every project I&#039;ve worked on.&lt;/p&gt;
&lt;p&gt;1. No stupidly big code files, say over 1000 lines.&lt;br /&gt;
2. No commented out code.&lt;br /&gt;
3. No unused files, functions, or lines of code (this one could be tricky to enforce)&lt;/p&gt;
</description>
 <pubDate>Fri, 03 Nov 2006 14:37:24 -0800</pubDate>
 <dc:creator>Dave Aaron Smith</dc:creator>
 <guid isPermaLink="false">comment 1642 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>The Joel Test is Process-Oriented</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1638</link>
 <description>&lt;p&gt;Mark, thank you for pointing out The Joel Test. I had read this essay by Joel a couple times (once online, and once in the &lt;i&gt;Joel on Software&lt;/i&gt; book), and it didn&#039;t even come to mind in my thinking about this Apgar score idea. Now, thanks to your link, I&#039;ve read it a third time, and I can see why it did not come to mind: Joel&#039;s score is process-oriented. It measures, &quot;how do you go about building software?&quot; as opposed to, &quot;how does this particular piece of software measure up to some idea of minimum quality?&quot;&lt;/p&gt;
&lt;p&gt;I don&#039;t mean this as a criticism of Joel&#039;s Test, nor as a criticism of your suggestion. I do, however, see the software Apgar as more about the *what* than the *how*, if that makes sense. There is a relationship, of course, between the &lt;i&gt;what&lt;/i&gt; and the &lt;i&gt;how&lt;/i&gt;. As I understand it, in obstetrics the Apgar does not judge hospital procedures, doctor and nurse training, sanitary conditions, equipment quality, etc. But of course, the &lt;i&gt;how&lt;/i&gt; influences the &lt;i&gt;what&lt;/i&gt;. If a maternity ward is doing a poor job with procedures, training, cleanliness, and equipment, then the babies it brings into the world might have lower Apgar scores. (Though of course it&#039;s more complicated than that, with things like the diet and health of the mother for the previous nine months having a huge influence.)&lt;/p&gt;
&lt;p&gt;I really like this statement from your comment, Mark:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;But the Apgar doesn&#039;t tell you if the baby has a tumor or genetic heart problem. It isn&#039;t trying to replace MRI machines.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Thanks again for the contribution.&lt;/p&gt;
&lt;p&gt;Dan&lt;/p&gt;
</description>
 <pubDate>Fri, 03 Nov 2006 08:35:43 -0800</pubDate>
 <dc:creator>Daniel Read</dc:creator>
 <guid isPermaLink="false">comment 1638 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>The Joel Score</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1633</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://www.joelonsoftware.com/articles/fog0000000043.html&quot;&gt;The Joel Test&lt;/a&gt; is probably at a higher level than you were intending, but I think it is pretty quick and pretty telling.&lt;/p&gt;
&lt;p&gt;Yes you can game it and the code can still be horrible, same for ISO-9000 and CMM.  But the Apgar doesn&#039;t tell you if the baby has a tumor or genetic heart problem.  It isn&#039;t trying to replace MRI machines.&lt;/p&gt;
&lt;p&gt;I think we should improve on The Joel Test (e.g. automated unit tests, quality/quantity of documentation, etc.).&lt;/p&gt;
</description>
 <pubDate>Thu, 02 Nov 2006 13:44:25 -0800</pubDate>
 <dc:creator>Mark</dc:creator>
 <guid isPermaLink="false">comment 1633 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Score candidates</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1631</link>
 <description>&lt;p&gt;Here are some candidates. Assume everything is worth one point, for now.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Error Handling&lt;/li&gt;
&lt;li&gt;Error Logging&lt;/li&gt;
&lt;li&gt;Comments that make explicit reference to the requirement supported by the code in question&lt;/li&gt;
&lt;li&gt;Descriptive names&lt;/li&gt;
&lt;li&gt;Internally consistent naming convention&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I picked these because I can imagine taking any non-expert and bringing them up to speed on the scoring system in a couple of hours. Thus, I left out things like global variables, because that might require a level of expertise that may not be available. I&#039;m thinking in terms of a system that the client can use to score the program. I&#039;m not sure about &#039;descriptive names&#039; because there is a subjectivity about it that may be at odds with objective scoring.&lt;/p&gt;
&lt;p&gt;Another reason for picking these was because it isolates the &#039;code score&#039; from the &#039;program score&#039; in the same way that Apgar separates physical health from mental and emotional health. Not that we should be ignoring other factors, but other issues probably require different scoring systems.&lt;/p&gt;
</description>
 <pubDate>Thu, 02 Nov 2006 10:35:47 -0800</pubDate>
 <dc:creator>Ron Porter</dc:creator>
 <guid isPermaLink="false">comment 1631 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>See my blog if you like on this matter</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1629</link>
 <description>&lt;p&gt;See my blog post &quot;&lt;a href=&quot;http://www.developerdotstar.com/community/node/637&quot;&gt;Apgar score: less than zero&lt;/a&gt;&quot;&lt;/p&gt;
&lt;p&gt;[&lt;i&gt;Editor&#039;s note: for those interested in following the discussion, an interesting thread has also sprung up on Edward&#039;s blog post, starting with &lt;a href=&quot;http://www.developerdotstar.com/community/node/637#comment-1632&quot;&gt;this comment by regular developer.* reader Ron Porter&lt;/a&gt;.&lt;/i&gt;]&lt;/p&gt;
</description>
 <pubDate>Thu, 02 Nov 2006 09:00:21 -0800</pubDate>
 <dc:creator>Edward G Nilges</dc:creator>
 <guid isPermaLink="false">comment 1629 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Scorable Traits</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1628</link>
 <description>&lt;p&gt;Since the topic of my post falls squarely into his area of expertise, I emailed a link to &lt;a href=&quot;http://www.developerdotstar.com/mag/bios/robert_glass.html&quot;&gt;Robert L. Glass&lt;/a&gt;. He was kind enough to read it and reply with some comments, which he agreed to let me share:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;A thought-provoking post. Your original idea is a good one, but/and your readers have done a good job of identifying the problems.&lt;/p&gt;
&lt;p&gt;I think the key to making this work is easily-scored traits. And that&#039;s a HUGE problem. As you point out, metrics are different from scores, and I think they&#039;re a wrong path to go down. (Metrics are also hugely controversial--far too many are more a gleam in an academic&#039;s eye than anything meaningful to practice). Perhaps someone should hold a contest to identify software Apgar candidates.  I could do something in &lt;a href=&quot;http://www.developerdotstar.com/mag/bios/software_practitioner.html&quot;&gt;The Software Practitioner&lt;/a&gt;.  Want to put together an article?&lt;/p&gt;
&lt;p&gt;You glossed over something else that I think is important, the idea that &quot;nothing ought to be introduced into practice unless it has been properly tested and proved efficient by research centers.&quot; Implementing that idea alone would make for dramatic changes in how we do computing research; it&#039;s an idea I&#039;ve been arguing for (unsuccessfully!) for far too long. That may not result in an Apgar either, but it would sure improve both how practice functions and how research and practice interact.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I agree with Mr. Glass that coming up with the list of &quot;easily-scored traits&quot; is key, and appears to be the next step in taking this idea further--and should indicate whether there&#039;s anywhere further to go. I might try getting a list going with developer.* readers first, and then perhaps we can open it up to Bob&#039;s &lt;i&gt;Software Practitioner&lt;/i&gt; readers if we have something going.&lt;/p&gt;
&lt;p&gt;The issue raised in the last paragraph of Bob&#039;s comments is interesting in that Bob and I seemed to draw opposite conclusions. Here was my comment back to Bob:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;One of the reasons I included that quote from the article about &quot;nothing ought to be introduced into practice unless it has been properly tested and proved efficient by research centers&quot; is that the article seemed to be crediting obstetrics with being successful in spite of (or even because of) this lack of pre-confirmation. This reminded me of the general disconnect between software academe and practice, and also of the &quot;practice often precedes theory&quot; idea that you have discussed in your writing.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Thanks for reading,&lt;br /&gt;
Dan&lt;/p&gt;
&lt;p&gt;P.S.&lt;br /&gt;
I can&#039;t resist getting in a plug for the two books by Robert L. Glass published by developer.* Books, &lt;a href=&quot;http://www.developerdotstar.com/books/software_conflict_glass.html&quot;&gt;Software Conflict 2.0&lt;/a&gt; and &lt;a href=&quot;http://www.developerdotstar.com/community/node/560&quot;&gt;Software Creativity 2.0&lt;/a&gt;.&lt;/p&gt;
</description>
 <pubDate>Thu, 02 Nov 2006 07:01:02 -0800</pubDate>
 <dc:creator>Daniel Read</dc:creator>
 <guid isPermaLink="false">comment 1628 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>The baby and the bathwater</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1621</link>
 <description>&lt;p&gt;The problem with an Apgar score is that the Apgar score can be checked against and supplements the physical baby as the poor little tyke squirms in the nurse&#039;s hands, poor little perisher that he is.&lt;/p&gt;
&lt;p&gt;You can&#039;t &quot;game&quot; the score.&lt;/p&gt;
&lt;p&gt;Wherease software is a pure or *reinen* Idea on which we must focus, and gaming our Apgar score is a distraction.&lt;/p&gt;
&lt;p&gt;Ultimately, a work of software must be judged as we judge a literary work, with the added constraint that it must be mathematically correct. This is the hard fact which &quot;software engineers&quot; try to avoid, because it means that the only qualified assessors of software are either collectives of users, or individuals who have been spared educational moronization and tracking into &quot;SAT Verbal&quot; or &quot;SAT Math&quot;.&lt;/p&gt;
</description>
 <pubDate>Wed, 01 Nov 2006 18:24:06 -0800</pubDate>
 <dc:creator>Edward G Nilges</dc:creator>
 <guid isPermaLink="false">comment 1621 at http://www.developerdotstar.com/community</guid>
</item>
</channel>
</rss>
