<?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 - Does Software Need an Apgar Score? - Comments</title>
 <link>http://www.developerdotstar.com/community/node/635</link>
 <description>Comments for &quot;Does Software Need an Apgar Score?&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>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>
<item>
 <title>Balance in Scoring</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1618</link>
 <description>&lt;p&gt;Brad writes:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;For any metric you can design, I can write crappy software that meets the metric perfectly.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;and Andy writes:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;I&#039;m with you on a generalized distaste for metrics (lies and damn lies, if I may paraphrase Twain). And so this notion kinda falls into that hole for me. BUT... if an effective rubric could be developed, one that subtlety enforced overall quality via the total impact of each scored component, you might have something.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Fair points. I think the key to making something like this work is balancing objectivity, subjectivity, and observability. Brad has a good point that, &quot;we know how a baby is supposed to be.&quot; But, allowing for variations among different classifications of software programs, I don&#039;t know if I&#039;m ready to concede that we can&#039;t identify some fundamental qualities or inclusions that a software program should have. Once we have that, there may also be a way to allow for a degree of subjectivity in the evaluation.&lt;/p&gt;
&lt;p&gt;I also think it&#039;s useful to disconnect the concept of &quot;score&quot; from the concept of &quot;metrics.&quot; I think people associate &quot;metrics&quot; with things like &quot;how many bugs did the program have&quot;, &quot;what percentage over budget are you on that task,&quot; and &quot;how many bugs did you open and close today in the bug tracker?&quot; and also with measurements of size and complexity. Counting function points and person-months interest me not at all. It may be important to disconnect the &quot;score&quot; from anything related to process, schedule, size, and complexity. &lt;/p&gt;
&lt;p&gt;Perhaps the theme here is clearly defining the limits of the score, since &quot;overall quality&quot; type issues are so large, subjective, and hard to evaluate. On the other end of the scale, perhaps we should also avoid scoring elements that involve counting or &quot;measuring.&quot; What I like about all of the Apgar score criteria is that they are all essentially binary, and easy to observe.&lt;/p&gt;
&lt;p&gt;I do see a challenge in the relationship between items that are scored and requirements. For example, should we withhold extra points if the programmer did not implement logging as part of the exception handling scheme? Maybe the requirements didn&#039;t call for that, or maybe the programmer was expressly told not to add logging. Perhaps, though, if logging were seen as something important by virtue of the fact that it had been included in the scoring, then maybe stakeholders would empower programmers to make sure the system has logging, lest the score suffer.&lt;/p&gt;
&lt;p&gt;My immediate reaction to Brad&#039;s statement, &quot;For any metric you can design, I can write crappy software that meets the metric perfectly.&quot; was that if you included an error handling scheme in your crappy program just to get your score up, then that doesn&#039;t seem like such a bad thing. I suspect that the sentiment here is linked to that other association with &quot;metrics&quot; as a means of control in an organization to get people to work harder, produce more, and make fewer mistakes. My thinking about this score concept is, I think, separate from that--more of a bottom-up approach, in which programmers have a way of evaluating whether a piece of software meets some basic criteria; management can catch up with us later.&lt;/p&gt;
&lt;p&gt;But I&#039;m ready to let this idea go if it indeed does not have legs...&lt;/p&gt;
&lt;p&gt;Dan&lt;/p&gt;
</description>
 <pubDate>Wed, 01 Nov 2006 14:28:44 -0800</pubDate>
 <dc:creator>Daniel Read</dc:creator>
 <guid isPermaLink="false">comment 1618 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>For any metric you can</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1617</link>
 <description>&lt;p&gt;For any metric you can design, I can write crappy software that meets the metric perfectly.  Perhaps a score where software cannot be good without meeting the metric is possible and useful (two points for on time, two points for making into actual use, two for users NOT crying and having a heart rate over 100).&lt;/p&gt;
&lt;p&gt;The problem is we know how a baby is supposed to be, and variation from the end result differs only by a few factors, all of which it is obvious if they are important or not.&lt;/p&gt;
</description>
 <pubDate>Wed, 01 Nov 2006 13:48:39 -0800</pubDate>
 <dc:creator>Brad</dc:creator>
 <guid isPermaLink="false">comment 1617 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Interesting,  yes.  Practical? Well....</title>
 <link>http://www.developerdotstar.com/community/node/635#comment-1616</link>
 <description>&lt;p&gt;This is definitely thought-provoking, esp. considered in light of an &quot;After the Gold Rush&quot;-flavored push towards more organization and standards in the field.  But as you say at the end, the devil is in the details.&lt;/p&gt;
&lt;p&gt;Would you need a basic Apgar score for pretty much all software, and then subsequent industry/context specific additions to it?  Would there be a side-effect where more software gets written to meet a pre-determined score level, but still largely misses the wider notion of &quot;quality&quot;?  I&#039;m with you on a generalized distaste for metrics (lies and damn lies, if I may paraphrase Twain).  And so this notion kinda falls into that hole for me.  BUT... if an effective rubric could be developed, one that subtlety enforced overall quality via the total impact of each scored component, you might have something.&lt;/p&gt;
&lt;p&gt;I guess I think overall, my doubt springs from the fact that very little in software is as simple as &quot;is the baby moving all four limbs&quot;.  Sure, there are some very basic elements that are pretty much true/false.  But so many are contextually variable.&lt;/p&gt;
&lt;p&gt;Nonetheless, thought-provoking as always, D!&lt;/p&gt;
</description>
 <pubDate>Wed, 01 Nov 2006 13:05:59 -0800</pubDate>
 <dc:creator>Andy Tegethoff</dc:creator>
 <guid isPermaLink="false">comment 1616 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Does Software Need an Apgar Score?</title>
 <link>http://www.developerdotstar.com/community/node/635</link>
 <description>&lt;p&gt;This morning I was reading the Oct 9, 2006 issue of &lt;i&gt;The New Yorker&lt;/i&gt; magazine, which contains an interesting article called &quot;&lt;a href=&quot;http://www.newyorker.com/fact/content/articles/061009fa_fact&quot;&gt;The Score: How childbirth went industrial&lt;/a&gt;.&quot; The article is about the process of childbirth, and more specifically, the medical techniques and industry, for lack of a better word, that have developed around childbirth. When I started reading the article, I was not expecting to encounter an intriguing idea related to software development--but ideas often spring from unexpected sources.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.developerdotstar.com/community/node/635&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.developerdotstar.com/community/node/635#comment</comments>
 <category domain="http://www.developerdotstar.com/community/taxonomy/term/132">Professional and Personal Development</category>
 <category domain="http://www.developerdotstar.com/community/taxonomy/term/4">Quality</category>
 <pubDate>Wed, 01 Nov 2006 11:31:15 -0800</pubDate>
 <dc:creator>Daniel Read</dc:creator>
 <guid isPermaLink="false">635 at http://www.developerdotstar.com/community</guid>
</item>
</channel>
</rss>
