<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7676275663441826276</id><updated>2011-10-08T07:45:36.711-04:00</updated><category term='randomness'/><category term='software performance testing'/><category term='locus of control'/><category term='Measurement'/><category term='process maturity improvement'/><category term='Infrastructure'/><category term='stickiness'/><category term='fooled by randomness'/><category term='economic models'/><category term='SOA'/><category term='CFO'/><category term='outsourcing'/><category term='quality assurance'/><category term='creativity'/><category term='CIO'/><category term='decision making'/><category term='product metrics'/><category term='Zweig'/><category term='commodity'/><category term='resource management'/><category term='CAST'/><category term='metrics'/><category term='sales'/><category term='James Powell'/><category term='Applications'/><category term='cloud migration'/><category term='prospecting'/><category term='Nicholas Carr'/><category term='PPM tools'/><category term='naming'/><category term='intra-IT coordination'/><category term='utility'/><category term='focus'/><category term='software quality'/><category term='process metrics'/><category term='software requirements'/><category term='ROI'/><category term='irrationality'/><category term='software metrics'/><category term='cloud computing'/><category term='statistical inference'/><category term='golf'/><category term='process'/><category term='Malcolm Gladwell'/><category term='software design'/><category term='Leinweber'/><category term='developer tools'/><category term='luck'/><category term='decisions'/><category term='probabilisitic inference'/><category term='value of advice'/><category term='concentration'/><category term='Enterprise Systems'/><category term='nerds on wall street'/><category term='Gap Store'/><category term='service oriented architecture'/><category term='checklist'/><category term='marketing'/><category term='chance'/><category term='quality'/><category term='cloud performance'/><category term='expertise'/><category term='project management'/><category term='Free'/><category term='Chris Anderson'/><category term='skill'/><title type='text'>Nested Lists</title><subtitle type='html'>Notes on a multiply-nested world</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-1173301250992455542</id><published>2011-06-08T10:33:00.000-04:00</published><updated>2011-06-08T10:33:34.069-04:00</updated><title type='text'>The Life of an Idea</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This morning I read a quote from George Orwell who is supposed to have said, "Any life, when viewed from the inside is simply a series of defeats."&lt;span class="fullpost"&gt;   &lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well, I'm not sure if that's true, but like all interesting quotes, it makes you sit up and pay attention. It does seem to apply quite nicely to the ideas I have though. A while ago I drew this "Krebs cycle" like diagram on the lifecyle of my ideas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-BW4yhv23_A8/Te-GxP66YWI/AAAAAAAADHc/0CfzXniTC5s/s1600/IdeaLifeCycle.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://2.bp.blogspot.com/-BW4yhv23_A8/Te-GxP66YWI/AAAAAAAADHc/0CfzXniTC5s/s320/IdeaLifeCycle.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-1173301250992455542?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/1173301250992455542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=1173301250992455542&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/1173301250992455542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/1173301250992455542'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2011/06/life-of-idea.html' title='The Life of an Idea'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-BW4yhv23_A8/Te-GxP66YWI/AAAAAAAADHc/0CfzXniTC5s/s72-c/IdeaLifeCycle.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-2061460672369142529</id><published>2011-01-09T15:13:00.000-05:00</published><updated>2011-01-09T15:13:08.211-05:00</updated><title type='text'>Better Late...or Never</title><content type='html'>I've been putting off writing this for months now. Why? Because procrastination is not easy to overcome.&amp;nbsp;&lt;span class="fullpost"&gt;   &lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The idea came to me when I read &lt;a href="http://www.newyorker.com/arts/critics/books/2010/10/11/101011crbo_books_surowiecki?currentPage=all"&gt;James Surowiecki's book review in the New Yorker&lt;/a&gt;. It was published on October 11 and I must have read it around the first week of November, I think.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As I read the piece I recognized some of my own mental habits that make me procrastinate. They fall into two areas.&lt;br /&gt;&lt;br /&gt;I. Uncertainty about achieving a result in a given time.&lt;/div&gt;&lt;div&gt;The result need not be a theorem -- it could be a diagram, a paragraph, a bit of conceptual progress. But when you begin, you don't know what's going to come out of the inquiry. And this uncertainty just doesn't sit well with my need for extreme productivity.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;It’s uncomfortable grappling with unformed concepts, ones that are nebulous and unstructured and can be structured in many different ways. The same goes for arranging a constellation of well-formed ideas - how should they be ordered? How are they best related? The constant analysis, synthesis, re-analysis, and re-synthesis is scary. There's no way of knowing if this is a dead end or a productive line of inquiry.&lt;/li&gt;&lt;li&gt;This leads to needing to learn more about the concepts, but not being sure of what exactly to learn and how to proceed. The potential for wasting time is great and the urge to prevent this by not starting at all usually overcomes all motivation.&lt;/li&gt;&lt;li&gt;Not knowing how to proceed in concrete steps. This comes from not knowing how to break down the inquiry into manageable bits, and is closely related to the first bullet above.&lt;/li&gt;&lt;li&gt;Trying to hedge against lost productivity by having a preconceived notion of “time blocks” and not being able to fit the activity into an available time block. This stops me from starting a lot of things!&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;II. Uncertainty about the value of the task.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;The task seems of low value compared to everything else I have to do. This is irrational - I do this even when the long-term value of the task I’m ignoring is high! It might be related to the “hyperbolic discounter” concept in cognitive psychology.&lt;/li&gt;&lt;li&gt;I'm too bored to write down what I've thought through -- it just feels unbearable to put pen to paper!&amp;nbsp;&lt;/li&gt;&lt;li&gt;Can't get past the feeling that I deserve to be doing something else -- usually this comes from making artificial distinctions between work time and play time and then not doing something because it happens to be time for play, not work.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-2061460672369142529?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/2061460672369142529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=2061460672369142529&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/2061460672369142529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/2061460672369142529'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2011/01/better-lateor-never.html' title='Better Late...or Never'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-4702798016627931235</id><published>2010-10-13T11:34:00.000-04:00</published><updated>2010-10-13T11:34:14.424-04:00</updated><title type='text'>Only in Software Engineering</title><content type='html'>&lt;div class="MsoNormal"&gt;I’m usually on trains late at night.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;On one such train ride, I was reading Fred Brooks’ new book, The Design of Design, listening to &lt;a href="http://www.jefffoxworthy.com/"&gt;Jeff Foxworthy&lt;/a&gt;, and periodically looking out the window (take that, ye who doubt my multi-tasking capabilities).&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;So, I give you, Only in Software Engineering….. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in software engineering would you define quality simply as meeting functional specifications. (Would you define the quality of your car that way?)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in software engineering would you measure everything *BUT* the product that you’re building – the thing that is going to generate value. (It’s like Usain Bolt measuring everything he does *except* his 100 meters time.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in software engineering would you put together a diverse number of elements to make a single giant application and then pretend they seamlessly fit together.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in software engineering would you test the quality of the product after it’s already too late and impractical to do anything about it. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in software engineering would you collect reams of data about how fixing defects early save you gobs of money and then ignore it. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in software engineering would you insist that building software should be just like building a widget in a manufacturing production line even though you’ve never been able to do it this way. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in software engineering would you profess that repeatable process is sufficient for producing a high quality product.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in software engineering would you painstakingly catalog best practices and then ignore them. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in software engineering would you prove theorems about NP-hard problems and then claim that your test coverage plan is adequate. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in software engineering would you equate software quality with testing.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in software engineering would a software engineering book written in 1975 be just as relevant and correct today as it was 35 years ago. (I’m talking about Frederick Brooks’ classic, &lt;i style="mso-bidi-font-style: normal;"&gt;The Mythical Man Month&lt;/i&gt;.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;And from our Chief Scientist, Bill Curtis: &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in software engineering would it be the case that the worse the initial specification, the more certain the estimate needs to be. (Curtis’ Conjecture on Estimative Dissonance – named for our Chief Scientist, Bill Curtis who first coined it in a webinar he did on Agile techniques.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;And finally, also from Bill Curtis,&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Only in&amp;nbsp;software&amp;nbsp;engineering&amp;nbsp;do the Indians always beat the cowboys.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;By the way…&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;If your dad walks you to school …because you’re both in the same grade, you may be redneck. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;That’s my favorite Jeff Foxworthy line.&lt;/div&gt;&lt;span class="fullpost"&gt;   &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-4702798016627931235?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/4702798016627931235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=4702798016627931235&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/4702798016627931235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/4702798016627931235'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2010/10/only-in-software-engineering.html' title='Only in Software Engineering'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-5213077062383811374</id><published>2010-04-01T16:28:00.001-04:00</published><updated>2010-04-01T16:28:36.182-04:00</updated><title type='text'>C A S T  Announces  Software  Psychoanalysis  Service</title><content type='html'>Happy April Fool's Day from CAST!  &lt;div style="width:477px" id="__ss_3615378"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/jsub/c-a-s-t-announces-software-psychoanalysis-service" title="C A S T  Announces  Software  Psychoanalysis  Service"&gt;C A S T  Announces  Software  Psychoanalysis  Service&lt;/a&gt;&lt;/strong&gt;&lt;object width="477" height="510"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayerd.swf?doc=castannouncessoftwarepsychoanalysisservice-100401151556-phpapp02&amp;stripped_title=c-a-s-t-announces-software-psychoanalysis-service" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayerd.swf?doc=castannouncessoftwarepsychoanalysisservice-100401151556-phpapp02&amp;stripped_title=c-a-s-t-announces-software-psychoanalysis-service" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="477" height="510"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding:5px 0 12px"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;documents&lt;/a&gt; from &lt;a href="http://www.slideshare.net/jsub"&gt;CAST Inc.&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-5213077062383811374?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/5213077062383811374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=5213077062383811374&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/5213077062383811374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/5213077062383811374'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2010/04/c-s-t-announces-software-psychoanalysis.html' title='C A S T  Announces  Software  Psychoanalysis  Service'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-635681749886148816</id><published>2010-03-21T17:10:00.000-04:00</published><updated>2010-03-21T17:10:57.027-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='creativity'/><category scheme='http://www.blogger.com/atom/ns#' term='focus'/><category scheme='http://www.blogger.com/atom/ns#' term='concentration'/><title type='text'>Diffusion</title><content type='html'>Recently, I noticed something about the way I think.&lt;br /&gt;&lt;br /&gt;Suppose there's a way to measure how closely two ideas are related. I don't know of a way to do this offhand, but I can think of a way to construct this similarity metric. For the moment, assume we have it.&lt;br /&gt;&lt;br /&gt;Then, a chain of thought would have a diffusion coefficient, just as a drop of ink in water does.&amp;nbsp;The lower the diffusion coefficient, the tighter the relationship between the ideas. The higher the diffusion coefficient, the looser the relationship between the ideas.&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;Sometimes, the diffusion coefficient of my thoughts is high – I flit from one thought to another, sometimes even one task to another. Sometimes the diffusion coefficient of my thoughts is low – I can stay on a tight cluster of related thoughts for a long time.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;As for the end product, it doesn’t seem to make much of a difference whether the process was a low or high diffusion coefficient one.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;But here's what I noticed: my level of satisfaction seems to be much higher when the diffusion coefficient is high.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: navy; font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-635681749886148816?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/635681749886148816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=635681749886148816&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/635681749886148816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/635681749886148816'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2010/03/diffusion.html' title='Diffusion'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-1748027708718295886</id><published>2010-03-20T13:41:00.000-04:00</published><updated>2010-03-20T13:41:01.954-04:00</updated><title type='text'>Juxtaposition</title><content type='html'>&lt;span class="fullpost"&gt;Spent the day yesterday in Chicago at the IT Executives Club meeting in the Union League Building. Walked around with an old friend who gave me a quick architecture tour.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;On the plane back I was reading Rishi Narang's book on quantitative trading. I had the pages open to a chapter titled "Alpha Models: How Quants Make Money". I happened to glance down at my seat mate's book, "The Healing Power of Crystals".&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Thought 1: Never in the history of the universe have these books been open side by side! Can the difference be any greater?&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;This was very quickly followed by thought 2:&amp;nbsp;Maybe they're not that different after all!&lt;br /&gt;&lt;span class="fullpost"&gt; &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-1748027708718295886?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/1748027708718295886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=1748027708718295886&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/1748027708718295886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/1748027708718295886'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2010/03/juxtaposition.html' title='Juxtaposition'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-7825270579375101509</id><published>2009-11-09T20:44:00.002-05:00</published><updated>2009-11-09T20:56:20.240-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software quality'/><category scheme='http://www.blogger.com/atom/ns#' term='software performance testing'/><title type='text'>For Software Quality, Context Matters</title><content type='html'>If you've been in any airport in the last few years, you've seen ads from HSBC - the global bank that prides itself on local knowledge.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_fQZgjf6OD14/Su3ZwWZWHYI/AAAAAAAACCI/ahuT9nScQ4A/s1600-h/hsbc_leader_follower.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_fQZgjf6OD14/Su3ZwWZWHYI/AAAAAAAACCI/ahuT9nScQ4A/s320/hsbc_leader_follower.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The point is, &lt;i&gt;context&lt;/i&gt; matters. The same outfit means opposite things depending on where you are or who you're with. The same thing applies to software quality. Quality is not just a local thing -- only when you have global knowledge can you act effectively on the local level.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Two of my colleagues, Olivier Bonsignour and Bill Curtis recently wrote an article explaining this at length. Here is a summary of their excellent article -- well worth &lt;a target="_blank" title="Application Quality Is Not Code Quality" href="http://www.slideshare.net/jsub/application-quality-is-not-code-quality"&gt;checking out in full&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;"Quality is not an intrinsic property of code: &lt;i&gt;the exact same piece of code can be excellent in quality or highly dangerous depending on the context in which it operates&lt;/i&gt;. Analyzing the quality of modern applications in the context of the numerous interconnections with other code, databases, middleware, and APIs is monstrously complex. It can only be accomplished with automated software that analyzes the inner structure of all components and evaluates their interactions in the context of the entire business application."&lt;br /&gt;&lt;br /&gt;They go on to show the quality problems that arise when context is ignored. Again, I'll summarize. You can find the detailed examples here.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Typical application quality problems are listed below to clarify the distinction between application and code quality. Performance testing alone is not sufficient to detect these application quality problems.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A. Bypassing the Architecture&lt;/b&gt;. Components in one tier of a multi-tier application are typically designed to access components in another tier only through an intermediate “traffic management” component. Bypassing this traffic management component will usually result in a cascade of problems. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;B. Failure to Control Processing Volumes&lt;/b&gt;. Applications can behave erratically when they fail to control the amount of data or processing they allow.&amp;nbsp; This problem is often caused by a failure to incorporate controls in each of several different architectural tiers. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;C. Application Resource Imbalances&lt;/b&gt;. When database resources in a connection pool are mismatched with the number of request threads from an application, resource contention will block the threads until a resource becomes available, tying up CPU resources with the waiting threads and slowing application response times to a crawl.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;D. Security Weaknesses&lt;/b&gt;. Applications are vulnerable to security attacks when they lack appropriate sanitization checks on user inputs in all relevant tiers of the application.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;E. Lack of Defensive Mechanisms&lt;/b&gt;. Since the developers implementing one tier cannot anticipate every situation, they must implement defensive code that sustains the application’s performance in the face of stresses or failures affecting other tiers.&amp;nbsp; Tiers that lack these defensive structures are fragile because they fail to protect themselves from problems in their interaction with other tiers.&lt;br /&gt;&lt;br /&gt;Each of these application quality problems will result in unpredictable application performance, business disruption, data corruption, and make it difficult to alter the application in response to pressing business needs. Reliably detecting these problems requires an analysis of each application component in the context of the entire application as a whole – an evaluation of application rather than code quality.&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-7825270579375101509?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/7825270579375101509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=7825270579375101509&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/7825270579375101509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/7825270579375101509'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/11/for-software-quality-context-matters.html' title='For Software Quality, Context Matters'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fQZgjf6OD14/Su3ZwWZWHYI/AAAAAAAACCI/ahuT9nScQ4A/s72-c/hsbc_leader_follower.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-8217506937841404576</id><published>2009-11-01T13:02:00.000-05:00</published><updated>2009-11-01T13:02:56.003-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software quality'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='James Powell'/><category scheme='http://www.blogger.com/atom/ns#' term='software performance testing'/><title type='text'>Q&amp;A on Software Quality</title><content type='html'>A recent article from James Powell of &lt;em&gt;Enterprise Systems &lt;/em&gt;magazine on software quality — it’s a Q&amp;amp;A format with yours truly providing the A.&lt;br /&gt;&lt;br /&gt;The gist: Moving beyond software testing to understand and measure the structural quality of the entire software system is the key to preventing software glitches.&lt;br /&gt;&lt;br /&gt;Check it out here: &lt;a href="http://esj.com/articles/2009/10/06/improving-software-quality.aspx" target="_blank" title="Enterprise Systems"&gt;Improving Software Quality&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-8217506937841404576?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/8217506937841404576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=8217506937841404576&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/8217506937841404576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/8217506937841404576'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/11/q-on-software-quality.html' title='Q&amp;A on Software Quality'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-4252184708718717249</id><published>2009-10-15T00:13:00.000-04:00</published><updated>2009-10-15T00:13:56.062-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nicholas Carr'/><category scheme='http://www.blogger.com/atom/ns#' term='Chris Anderson'/><category scheme='http://www.blogger.com/atom/ns#' term='Malcolm Gladwell'/><category scheme='http://www.blogger.com/atom/ns#' term='Free'/><title type='text'>Is Free a Four-Letter Word?</title><content type='html'>We live in an amazing world! Shake a phone, get restaurant listings. &lt;a href="http://www.planetary.org/explore/topics/saturn/titan_sounds.html" id="gq05" target="_blank" title="Cassini-Huygens Titan Landing"&gt;Listen&lt;/a&gt; to the sound of a space craft landing on Saturn's moon Titan, without leaving your desk! Check the wind speed in Patagonia, from Peoria. See what &lt;a href="http://www.youtube.com/watch?v=hPzNl6NKAG0&amp;amp;feature=related" id="z0t_" target="_blank" title="Maru the Cat"&gt;Maru&lt;/a&gt; is up to this week. Find your rooftop on Google Earth. While you're at it, check out what your neighbor's house sold for (sorry, that's so 2008). &lt;br /&gt;&lt;br /&gt;A couple of years ago, Nicholas Carr (of "Does IT Matter?" fame) observed that three things - bandwidth, storage, and processing power -- were simultaneously and rapidly declining in cost. Amazing things happen when this combination becomes virtually free.&lt;br /&gt;&lt;br /&gt;Or "Free", as Chris Anderson puts it in his latest book. By now you're probably familiar with the dust kicked up by Malcolm Gladwell's  &lt;a href="http://www.newyorker.com/arts/critics/books/2009/07/06/090706crbo_books_gladwell" id="jez." target="_blank" title="Gladwell's Review"&gt;review of "Free"&lt;/a&gt; in the New Yorker. Anderson's key idea is itself susceptible to being misconstrued, so there are plenty of straw-man rebuttals kicking around as well.&lt;br /&gt;&lt;br /&gt;The idea of "Free" is a mesmerizing one. Here it is: "From the consumer's perspective, there is a huge difference between cheap and free. Give a product away, and it can go viral. Charge a single cent for it and you're in an entirely different business... The truth is that zero is one market and any other price is another." (I'm quoting Gladwell who in turn is quoting Anderson.)&lt;br /&gt;&lt;br /&gt;Gladwell distinguishes four types of claims about Free. &lt;br /&gt;&lt;br /&gt;A) Technological: Digital infrastructure is free&lt;br /&gt;&lt;br /&gt;B) Psychological: People love free products&lt;br /&gt;&lt;br /&gt;C) Transactional: Free means no barriers to entry -- anyone can create information, anyone can participate&lt;br /&gt;&lt;br /&gt;D) Commercial: Free stuff can make you a lot of money &lt;br /&gt;&lt;br /&gt;To these four, I add two more that seem relevant to the topics Anderson covers:&lt;br /&gt;&lt;br /&gt;E) Teleological: information/knowledge "wants" to be free&lt;br /&gt;&lt;br /&gt;F) Practical: The best way to create an information-based product is through a free exchange of ideas. &lt;br /&gt;&lt;br /&gt;Gladwell argues that (A) is false (although YouTube is free for the user, it costs Google a lot of money to keep it running), and that claims (B) and (C) together undermine (D). Even if that's true, there's lots of room to maneuver. It's true that a low barrier to entry can result in products of low quality. But it isn't necessary - you could add a quality filter to improve the contributions. Or you could filter out certain contributions. You could argue that this amounts to a barrier to entry. But this conflates participation with contribution (I participated in the election, but I didn't contribute to Bush's win in 2004).&lt;br /&gt;&lt;br /&gt;(E) and (F) are deeply embedded in the open source software movement (&lt;a href="http://www.gnu.org/philosophy/shouldbefree.html" id="zg:m" target="_blank" title="Why Software Should Be Free"&gt;Richard Stallman&lt;/a&gt; and &lt;a href="http://www.catb.org/%7Eesr/writings/cathedral-bazaar/" id="ln2n" target="_blank" title="The Cathedral and the Bazaar"&gt;Eric Raymond&lt;/a&gt; make eloquent cases for them). I'm a fan of open source, but nothing I say here relies on the truth these claims. &lt;br /&gt;&lt;br /&gt;"You can tell whether a man is clever by his answers. You can tell whether a man is wise by his questions." (Naguib Mahfouz). &lt;br /&gt;&lt;br /&gt;In that spirit, I ask four questions -- the key questions to answer if you want to produce a Free product that also enables you to be make money (not by selling the product alone of course, but by selling something associated with that Free product). &lt;br /&gt;&lt;br /&gt;Here are the four M's of Free.&lt;br /&gt;&lt;br /&gt;1) The Market: What kind of information to aggregate? &lt;br /&gt;2) The Mechanism: How best to aggregate this information (for free)? &lt;br /&gt;3) The Multiplier: How to maintain or improve the value of this information?&lt;br /&gt;4) The Business Model: How best to package and sell this information? &lt;br /&gt;&lt;br /&gt;While the answers to these questions are difficult to rattle off, it's easier to say what the attributes of a good answer should be. &lt;br /&gt;&lt;br /&gt;Attributes of the answer to question 1:&lt;br /&gt;&lt;br /&gt;1a) Unique: Information you can't get anywhere else (Chowhound or Amazon reviews)&lt;br /&gt;1b) Productivity Booster: Information product that turns something hard into something easy to do (Westlaw for case preparation)&lt;br /&gt;&lt;br /&gt;Attributes of the answer to questions 2 and 3:&lt;br /&gt;&lt;br /&gt;2a) Easy to Use (AOL CDs)&lt;br /&gt;2b) Continually Increases in Value (Wikipedia)&lt;br /&gt;2c) Versatile: Can be used to do more than one thing (Facebook, Linux)&lt;br /&gt;2d) Powerful: Does something others can't do nearly as well (Bloomberg terminals, Linux)&lt;br /&gt;&lt;br /&gt;As for question 4, there are three well known models that work with Free.&lt;br /&gt;&lt;br /&gt;4a) Free product, charge for services (RedHat)&lt;br /&gt;4b) Free product to begin; product is good enough to lock the user in; then charge for the product (Facebook and Gmail are good potential candidates)&lt;br /&gt;4c) Free basic product; charge for advanced features&lt;br /&gt;&lt;br /&gt;Which model you adopt will depend on the strength of your product attributes. If it's very easy to use, very versatile, and continually increases in value, then switching costs will be high and the lock-in business model will work. If the advanced features are unique, boost productivity, and are powerful, then charging for them will work. &lt;br /&gt;&lt;br /&gt;There's nothing different about information- or knowledge-based products: they make (or lose) money just like regular products. But our amazing technological advances make possible some amazing knowledge-based products. How we create and capture value from them is something well worth thinking about.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-4252184708718717249?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/4252184708718717249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=4252184708718717249&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/4252184708718717249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/4252184708718717249'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/10/is-free-four-letter-word.html' title='Is Free a Four-Letter Word?'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-2437174530058140237</id><published>2009-10-03T23:46:00.000-04:00</published><updated>2009-10-03T23:46:29.385-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gap Store'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='irrationality'/><title type='text'>How Gap Can Make Me a Repeat Customer</title><content type='html'>I'm fascinated with irrationality.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There's willful irrationality where you don't bother to get the information you need, or don't use what you have, or ignore relevant information. At the extreme end of that scale is what the ancient Greeks called "akrasia" -- the disposition to act contrary to one's own considered judgment about what it is best to do (&lt;i&gt;The Routledge Encyclopedia of Philosophy&lt;/i&gt;, Edward Craig, ed. 1:139). This is the stuff of tragedy, the rise and fall of empires, and the downfall of many a politician.&lt;br /&gt;&lt;br /&gt;Then there's irrationality you can't help -- like the biases that Kahneman and Tversky so brilliantly catalogue. Even writers of advertising copy fall for advertisements!&lt;br /&gt;&lt;br /&gt;Another type of irrationality stems from a failure to be instrumentally rational. You know the other side has a valid argument, but you just can't bear to act on it. You know you should walk away, but you don't. "It's the principle of it damnit!," you hear yourself thinking. At the extreme end of this scale is the willful failure of self defeat. &lt;br /&gt;&lt;br /&gt;Today I had a bout of instrumental irrationality.&lt;br /&gt;&lt;br /&gt;I live near Dupont Circle. There's a Gap store a few blocks down Connecticut Avenue, so I walked there to get a few things. After the clerk had rung up my items, he said, "Do you want to save $50 today? You can, if you apply for a Gap card!"&lt;br /&gt;&lt;br /&gt;Now, I'm not crazy. I know $50 is a good sum of money. But I didn't do it. I'm not sure why I didn't.&lt;br /&gt;&lt;br /&gt;It might be the hassle of filling out the form, just when I'm looking forward to getting out of the store. (It's certainly not about receiving spam, which doesn't bother me at all.)&lt;br /&gt;&lt;br /&gt;It might be because I felt manipulated. &lt;br /&gt;&lt;br /&gt;It might be that I was just irrational -- but as Dan Ariely would say, predictably so, because I never, ever sign up for these cards.&lt;br /&gt;&lt;br /&gt;I don't know how many others are like me, but I was thinking about this incident as I walked home. If The Gap really wanted me to buy more from them, the clerk should simply have said, "Thanks so much for shopping here. We really value you as our customer and want to give you $50 back right away!"&lt;br /&gt;&lt;br /&gt;What would they have lost? My name in a database, tens of emails that I would have deleted without reading, and snail mail fliers and catalogues that I would have just thrown out (I'm very predictable there as well).&lt;br /&gt;&lt;br /&gt;What would they have gained? A repeat customer. I don't shop often, but you bet I would have walked down to that Gap again, or had a look at their web site first when I needed casual clothing.&lt;br /&gt;&lt;br /&gt;Just giving me $50 without hassling me to fill in a form would have been the most effective marketing they could have done, with a customer like me. The marginal return of having my name in a database is miniscule in comparison. &lt;br /&gt;&lt;br /&gt;So perhaps they are being instrumentally irrational too.&lt;br /&gt;&lt;br /&gt;If they're so hell bent on getting my contact information, why not give me some warning? Put up some signs and let your customers know right when they walk into the store that you have big discounts in exchange for contact information. Have the forms on display and give people a safe space to fill out the forms (but don't have store employees hawking or cajoling shoppers to fill them out). I might have filled out a form then, perhaps.&lt;br /&gt;&lt;br /&gt;Just because you have an offer that &lt;i&gt;should be&lt;/i&gt; irresistible to a rational shopper doesn't mean the offer &lt;i&gt;is&lt;/i&gt; irresistible. Plan for irrational shoppers.&lt;br /&gt;&lt;br /&gt;Retailers including Gap already tap into this irrationality with the feng shui of merchandise display and placement, store layout, music, lighting, and other sensory factors.&lt;br /&gt;&lt;br /&gt;Why not also plan for customer irrationality at the checkout counter?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-2437174530058140237?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/2437174530058140237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=2437174530058140237&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/2437174530058140237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/2437174530058140237'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/10/how-gap-can-make-me-repeat-customer.html' title='How Gap Can Make Me a Repeat Customer'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-3914272749546181401</id><published>2009-09-19T12:44:00.001-04:00</published><updated>2009-10-15T22:48:02.259-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software quality'/><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='software metrics'/><category scheme='http://www.blogger.com/atom/ns#' term='CAST'/><category scheme='http://www.blogger.com/atom/ns#' term='product metrics'/><title type='text'>Be Like Usain Bolt - Measure Output</title><content type='html'>In &lt;a href="http://nestedlists.blogspot.com/2009/08/three-types-of-software-quality.html"&gt;a recent post&lt;/a&gt; I wrote about the craziness of just measuring the things you do to build something, without ever measuring the quality of the thing you build.&lt;br /&gt;&lt;br /&gt;Imagine &lt;a href="http://www.michelangelo.com/buon/bio-index2.html"&gt;Michelangelo Buonarroti&lt;/a&gt; measuring the force and angle of his blows on stone without any sense of the beauty of the statue emerging from these blows?&lt;br /&gt;&lt;br /&gt;Imagine &lt;a href="http://www.youtube.com/watch?v=0xDhGY-ehYg"&gt;Usain Bolt&lt;/a&gt; clocking his sleep time, his training time, his eating time, his Playstation time, but somehow failing to clock the time it takes him to run 100 meters!&lt;br /&gt;&lt;br /&gt;Sure, that's crazy. But it's EXACTLY what happens in software development, enhancement, and maintenance projects. &lt;br /&gt;&lt;br /&gt;Now, software projects do suffer from the Michelangelo problem: how do you define and measure the "goodness" of the software you produce? &lt;br /&gt;&lt;br /&gt;Usain has it easy in this regard. How can we make the software product measurement problem less like Michelangelo's problem and more like Usain's?&lt;br /&gt;&lt;br /&gt;Here's how you define and measure the quality of the software you produce.&lt;br /&gt;&lt;br /&gt;The CAST Quality Model&lt;br /&gt;&lt;br /&gt;For any given technology/language, CAST goes right down to the smallest unit of that language/technology. All metrics below are captured at that fundamental unit level and then rolled up all the way to the application level. The application-level metrics are also rolled up to the application portfolio level. An application may consist of many different languages and technologies -- that's a major strength of the CAST platform: it provides an end-to-end view of the entire system from database, to application logic, to middleware, to business logic, to the user interface.&lt;br /&gt;&lt;br /&gt;There is extensive documentation on how each metric below is defined and how it is computed. But it's worth a short explanation here. CAST measures the degree to which an application satisfies a set of rules. At the foundational level, you can think of CAST as three things:&lt;br /&gt;&lt;ol&gt;&lt;li dir="ltr" style="margin-bottom: 12pt; text-align: left;"&gt;&amp;nbsp;&lt;span lang="en-US"&gt;a set of highly sophisticated language parsers (to parse source code in 30+ technologies/languages), &lt;/span&gt;&lt;/li&gt;&lt;li dir="ltr" style="margin-bottom: 12pt; text-align: left;"&gt;&amp;nbsp;&lt;span lang="en-US"&gt;a knowledge base of 900+ rules of software engineering (culled from the engineering specs of the technology, industry standards such as SEI, MITRE, ISO, etc., and field experience from our existing clients), and &lt;/span&gt;&lt;/li&gt;&lt;li dir="ltr" style="margin-bottom: 12pt; text-align: left;"&gt;&amp;nbsp;&lt;span lang="en-US"&gt;a highly sophisticated comparator or rules engine that calculates the degree to which an application's components (and hence the application as a whole) complies with the 900+ rules of software engineering.&lt;/span&gt;    &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;The language parsers and the knowledge base or rules evolve to keep pace with changing technologies, languages, and software engineering standards and practices. They rules are kept up to date by our engineering team.&lt;br /&gt;&lt;br /&gt;Rules in the knowledge base are classified by technology/language. For example, there is a set of rules for Java and another distinct set of rules for C++. There is also one general set of rules that is independent of technology/language. &lt;br /&gt;&lt;br /&gt;Each rule in the knowledge base is assigned a series of weights - each weight tracks that rule's contribution to a quality metric (weights can be zero). A complete assignment of rules to weights is called a &lt;span lang="en-US" style="font-style: italic;"&gt;Quality Model&lt;/span&gt;. The weights of the quality model can easily be tailored to particular production environments in which the systems operate.&lt;br /&gt;&lt;br /&gt;Once the source code of the software system (multi-tier, multi-platform, multi-language) is parsed, the rules engine goes to work assessing the degree to which each basic component of the system complies with all rules that apply to it. Some rules will apply to sets of components; for example, how a set of UI objects calls a database object.&lt;br /&gt;&lt;br /&gt;Quality measures are rolled up to two high level metrics: The &lt;span lang="en-US" style="font-style: italic;"&gt;Technical Quality Index&lt;/span&gt;&lt;span lang="en-US"&gt; (TQI) a gross measure of the quality of the software system, and &lt;/span&gt;&lt;a href="http://www.castsoftware.com/Solutions/Value/Application-Software-Quality.aspx"&gt;&lt;span lang="en-US" style="font-style: italic;"&gt;5 Health Factors&lt;/span&gt;&lt;/a&gt;&lt;span lang="en-US"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span lang="en-US"&gt;Performance - Business Productivity&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="en-US"&gt;Security - Peace of Mind&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="en-US"&gt;Robustness - Responsiveness to Business Needs&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="en-US"&gt;Changeability - Speed to Market&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="en-US"&gt;Transferability - Rapid Knowledge Transfer Between Teams &lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;So there you have it. A way to define and measure the quality of the software output you produce.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When it comes to software, be like Usain!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-3914272749546181401?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/3914272749546181401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=3914272749546181401&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/3914272749546181401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/3914272749546181401'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/09/be-like-usain-bolt-measure-your-output.html' title='Be Like Usain Bolt - Measure Output'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-7389069319953405713</id><published>2009-09-08T20:39:00.001-04:00</published><updated>2009-09-08T20:39:00.889-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='process'/><title type='text'>Anatomy of a Process</title><content type='html'>When I think process, I find it useful to break it down.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When I hear process I want to know the following: &lt;br /&gt;&lt;ol id="crj:"&gt;&lt;li id="vgzc"&gt;&lt;div class="western" id="v6n-"&gt;What’s the  input?&lt;/div&gt;&lt;/li&gt;&lt;li id="ex5o"&gt;&lt;div class="western" id="lxwl"&gt;What’s the  output?&lt;/div&gt;&lt;/li&gt;&lt;li id="jlr-"&gt;&lt;div class="western" id="b67o"&gt;How repeatable is  it?&lt;/div&gt;&lt;/li&gt;&lt;li id="a9:t"&gt;&lt;div class="western" id="uz.g"&gt;What’s the  frequency or cadence?&lt;/div&gt;&lt;/li&gt;&lt;li id="xwk1"&gt;&lt;div class="western" id="e251"&gt;What impact does  it have on the rest of the process chain?&lt;/div&gt;&lt;/li&gt;&lt;li id="exrt"&gt;&lt;div class="western" id="nqry"&gt;How is it related  to other processes?&lt;/div&gt;&lt;/li&gt;&lt;li id="dda1"&gt;&lt;div class="western" id="ialb"&gt;What are the  common variations and how frequently do they occur?&lt;/div&gt;&lt;/li&gt;&lt;li id="z37o"&gt;&lt;div class="western" id="zibj"&gt;How are exceptions  managed?&lt;/div&gt;&lt;/li&gt;&lt;li id="c3tm"&gt;What are the escalation protocols?&lt;/li&gt;&lt;ol&gt;&lt;li id="o6-i"&gt;what are the triggers?&lt;/li&gt;&lt;li id="zekx"&gt;how are the thresholds set? &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li id="z4z3"&gt;&lt;div class="western" id="ugt4"&gt;What are the  operational costs?&lt;/div&gt;&lt;/li&gt;&lt;li id="h7yb"&gt;&lt;div class="western" id="w3ye"&gt;Who owns it?&lt;/div&gt;&lt;/li&gt;&lt;li id="iut."&gt;&lt;div class="western" id="bkpc"&gt;Who administers  it?&lt;/div&gt;&lt;/li&gt;&lt;li id="x5tm"&gt;Who are the participants?&lt;/li&gt;&lt;ol&gt;&lt;li id="za8y"&gt;What is their organizational structure?&lt;/li&gt;&lt;li id="upv7"&gt;What are their incentives? &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li id="rjv."&gt;&lt;div class="western" id="b:3g"&gt;What are the  success metrics?&lt;/div&gt;&lt;/li&gt;&lt;li id="q:gd"&gt;&lt;div class="western" id="ecee"&gt;What are the  operational metrics?&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-7389069319953405713?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/7389069319953405713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=7389069319953405713&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/7389069319953405713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/7389069319953405713'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/09/anatomy-of-process.html' title='Anatomy of a Process'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-3443940920085010573</id><published>2009-09-07T18:32:00.000-04:00</published><updated>2009-09-07T18:32:40.938-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='outsourcing'/><category scheme='http://www.blogger.com/atom/ns#' term='intra-IT coordination'/><category scheme='http://www.blogger.com/atom/ns#' term='Infrastructure'/><title type='text'>Two Overlooked Drivers of Application Complexity</title><content type='html'>&lt;span style="font-family: Verdana,sans-serif; font-size: small;"&gt;&lt;/span&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;There's a lot written about how the Applications portfolio has steadily become more complex. But there's very little attention paid to two significant drivers of this complexity. &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;One of the least talked about drivers of complexity in IT is the sourcing of the infrastructure to one vendor and the sourcing of applications on which they run to another vendor. This has disaster written all over it.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Typically, there's a many-to-many map between application components and the infrastructure components they run on. Good luck (a) tracking down the root cause of the problem, and (b) fixing it quickly.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The second overlooked driver of complexity is the shrinking Infrastructure footprint (due to a combination of data center consolidation and virtualization).&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;span id="o5nx439"&gt;&lt;span id="bszo93"&gt;Infrastructure shrinkage drives application consolidation&lt;/span&gt;&lt;/span&gt;: &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul id="o5nx434" style="font-family: Verdana,sans-serif;" type="circle"&gt;&lt;li class="MsoNormal" id="o5nx441" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: small;"&gt;more infrastructure consolidation =&amp;gt; more application consolidation =&amp;gt; more interfaces =&amp;gt; more inter-application connections&amp;nbsp; &lt;span id="o5nx449"&gt;&lt;span id="bszo96"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" id="o5nx441" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span id="o5nx449"&gt;&lt;span id="bszo96"&gt;more infrastructure consolidation =&amp;gt; more physical distance between where an application is housed and where the global user base is located =&amp;gt; application performance problems &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" id="o5nx441" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span id="o5nx449"&gt;&lt;span id="bszo96"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span id="o5nx452"&gt;&lt;span id="bszo97"&gt;more infrastructure consolidation =&amp;gt; more users per system =&amp;gt; application performance problems&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" id="o5nx441" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span id="o5nx455"&gt;&lt;span id="bszo98"&gt;Infrastructure is getting more consolidated while the environment in which applications are consumed is getting more fragmented. In particular, the degree of geographic distribution and the intensity of local customization is a lethal combination. Applications heads face two equally unpalatable consequences due to actions taken by one of their partners over which they had no say and no control. (and they are put in the position of reacting to what someone else has done over which they have no control): increase in application complexity, and a decrease in application performance (The Applications Death Spiral).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;These drivers of complexity put a tremendous strain on the already frayed coordination between the Infrastructure and Applications functions. &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="western" id="olmk514" style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div class="western" id="olmk514" style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The Pitfalls of Coordination between the Infrastructure and the Applications Function&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul id="olmk517" style="font-family: Verdana,sans-serif;"&gt;&lt;li id="f3sp"&gt; &lt;div class="western" id="olmk519"&gt;&lt;span style="font-size: small;"&gt;Incentives are not aligned&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li id="nntp"&gt;&lt;span style="font-size: small;"&gt;Language is not aligned -- different metrics, different ways of measuring and capturing value&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li id="olmk520"&gt; &lt;div class="western" id="olmk521"&gt;&lt;span style="font-size: small;"&gt;Each side has responsibility but no accountability&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li id="olmk522"&gt; &lt;div class="western" id="olmk523"&gt;&lt;span style="font-size: small;"&gt;Resourcing misalignment (not ready when you need them to be, don’t follow your prioritization, don’t have the right skills for the job)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li id="olmk524"&gt; &lt;div class="western" id="olmk525"&gt;&lt;span style="font-size: small;"&gt;Objectives are not aligned&lt;/span&gt;&lt;/div&gt;&lt;ul id="olmk526"&gt;&lt;li id="olmk527"&gt; &lt;div class="western" id="olmk528"&gt;&lt;span style="font-size: small;"&gt;Quality vs. cycle time&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li id="olmk529"&gt; &lt;div class="western" id="olmk530"&gt;&lt;span style="font-size: small;"&gt;Prioritization is broken&lt;/span&gt;&lt;/div&gt;&lt;ul id="olmk531"&gt;&lt;li id="olmk532"&gt; &lt;div class="western" id="olmk533"&gt;&lt;span style="font-size: small;"&gt;Reverts to first come first served&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li id="olmk534"&gt; &lt;div class="western" id="olmk535"&gt;&lt;span style="font-size: small;"&gt;Reverts to servicing the squeaky wheel to the detriment of others&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li id="olmk536"&gt; &lt;div class="western" id="olmk537"&gt;&lt;span style="font-size: small;"&gt;Easily gamed by managers&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li id="olmk538"&gt; &lt;div class="western" id="olmk539"&gt;&lt;span style="font-size: small;"&gt;Lack of insight into importance of project (sequencing, ordering, dependence on other projects – so just biz value alone doesn’t always provide the complete picture of how integral a project is to a company)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li id="olmk540"&gt; &lt;div class="western" id="olmk541"&gt;&lt;span style="font-size: small;"&gt;Subjective measures of value&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li id="olmk542"&gt; &lt;div class="western" id="olmk543"&gt;&lt;span style="font-size: small;"&gt;Governance/Process Sclerosis – to manage the demand these shared service groups often put out draconian service catalogs and do things in an overly bureaucratic way.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-3443940920085010573?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/3443940920085010573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=3443940920085010573&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/3443940920085010573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/3443940920085010573'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/09/two-overlooked-drivers-of-application.html' title='Two Overlooked Drivers of Application Complexity'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-8111820319818193240</id><published>2009-08-31T16:01:00.001-04:00</published><updated>2009-08-31T16:01:00.749-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='decision making'/><category scheme='http://www.blogger.com/atom/ns#' term='decisions'/><title type='text'>The Anatomy of Decisions</title><content type='html'>Two posts ago, I wrote about making decisions with very little information -- the bane of top executives. This post outlines the various attributes of a decision.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="ob5y" type="HEADER"&gt;&lt;b&gt;Attributes of Decisions&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul id="t.4q"&gt;&lt;li id="u60l"&gt;&lt;div class="western" id="c2t6"&gt;Similarity to  other decisions made&lt;/div&gt;&lt;/li&gt;&lt;li id="b-ed"&gt;&lt;div class="western" id="fdx2"&gt;Scope or impact of  decision&lt;/div&gt;&lt;/li&gt;&lt;li id="y09s"&gt;&lt;div class="western" id="hpwr"&gt;Availability of  needed information - timeliness&lt;/div&gt;&lt;/li&gt;&lt;li id="rt4l"&gt;&lt;div class="western" id="hw:z"&gt;Integrity of  available information&lt;/div&gt;&lt;ul id="bru:"&gt;&lt;li id="sea_"&gt;&lt;div class="western" id="wryo"&gt;accuracy&lt;/div&gt;&lt;/li&gt;&lt;li id="j5ni"&gt;&lt;div class="western" id="g34b"&gt;completeness&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li id="legj"&gt;&lt;div class="western" id="e0e0"&gt;Ability to  determine what would count as information relevant to the decision&lt;/div&gt;&lt;/li&gt;&lt;li id="byow"&gt;&lt;div class="western" id="pyjr"&gt;Identifying first,  second, and third order impact of variables&lt;/div&gt;&lt;div class="western" id="pyjr"&gt;* Cost of getting it wrong&lt;/div&gt;&lt;div class="western" id="pyjr"&gt;* Benefit of getting it right&lt;/div&gt;&lt;div class="western" id="v6ba"&gt;&lt;/div&gt;&lt;div class="western" id="v6ba"&gt;&lt;b&gt;The Mechanics of Decision Making&lt;/b&gt; - Structuring the decision elements (the bits of information that are relevant to making the decision)&lt;/div&gt;&lt;/li&gt;&lt;li id="uwps"&gt;  &lt;ul id="rrms"&gt;&lt;li id="mbdp"&gt;&lt;div class="western" id="diph"&gt;composite with  weighting (all elements are taken into account simultaneously -- with each assigned a weight towards the outcome)&lt;/div&gt;&lt;/li&gt;&lt;li id="l8.s"&gt;&lt;div class="western" id="mj6n"&gt;strictly  sequential (stepping through each element one by one in an ordered  sequence - this is the way a flowchart works)&lt;/div&gt;&lt;/li&gt;&lt;li id="plrb"&gt;&lt;div class="western" id="ytaf"&gt;partially  sequential (stepping through sets of elements in an ordered  sequence)&lt;/div&gt;&lt;ul id="o9vj"&gt;&lt;li id="hlhz"&gt;&lt;div class="western" id="u45q"&gt;Intra-set  weighting (relative weights &lt;i&gt;within &lt;/i&gt;a set of elements)&lt;/div&gt;&lt;/li&gt;&lt;li id="h85e"&gt;&lt;div class="western" id="f:83"&gt;Inter-set  weighting (relative weights of the different sets of elements)&lt;/div&gt;&lt;/li&gt;&lt;li id="coib"&gt;&lt;div class="western" id="lci1"&gt;Sequence order (which set to consider first, next, and so on)&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="western" id="dw32"&gt;&lt;b&gt;Dimensions of Decisions&lt;/b&gt;&lt;/div&gt;&lt;ul id="ryyc"&gt;&lt;li id="q.-_"&gt;&lt;div class="western" id="ssuw"&gt;Time frame&lt;/div&gt;&lt;/li&gt;&lt;li id="fvt4"&gt;&lt;div class="western" id="yhq7"&gt;Level of  responsibility&lt;/div&gt;&lt;/li&gt;&lt;li id="x2es"&gt;&lt;div class="western" id="c.7o"&gt;Level of control&lt;/div&gt;&lt;/li&gt;&lt;li id="xzbc"&gt;&lt;div class="western" id="s7gy"&gt;Sequence&lt;/div&gt;&lt;/li&gt;&lt;li id="wrk4"&gt;&lt;div class="western" id="mr._"&gt;Resource  allocation per sequence&lt;/div&gt;&lt;/li&gt;&lt;li id="itlb"&gt;&lt;div class="western" id="w2eg"&gt;Sensitivity (how  much to push and for which output)&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Quality of Decisions&lt;/b&gt; [from &lt;i&gt;The Logic of Failure&lt;/i&gt; by Dietrich Dörner]&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Frequency with which hypotheses are tested&lt;/li&gt;&lt;li&gt;Number of decisions per goal&lt;/li&gt;&lt;li&gt;Number of "why?" questions asked&lt;/li&gt;&lt;li&gt;Innovation level of the decision (type of decision made - see the book for details)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Stability index (what the decision maker considers -- see book for details)&lt;/li&gt;&lt;li&gt;Level of fixation on a single thing&lt;/li&gt;&lt;li&gt;Degree of self organization&lt;/li&gt;&lt;li&gt;Facing adversity without shirking&lt;/li&gt;&lt;li&gt;Ability to deal with ambiguity&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Reasons for Decisions Going Awry&lt;/b&gt; [from &lt;i&gt;The Logic of Failure&lt;/i&gt; by Dietrich Dörner]&lt;ul&gt;&lt;li&gt;Trying to control the outcome, not the process&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Oversteer - looking at points in time when it's the change from time to time that matters&lt;/li&gt;&lt;li&gt;Not understanding exponential growth or deceleration&lt;/li&gt;&lt;li&gt;Not accounting for time lags between cause and effect&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Mental habits&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Ritualization of behavior&lt;/li&gt;&lt;li&gt;Coming to believe that there's no rationally comprehensible principle at work&lt;/li&gt;&lt;li&gt;Overgeneralization from local experience&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Failing to understand complex system behavior&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Interdependencies&lt;/li&gt;&lt;li&gt;Complexity&lt;/li&gt;&lt;li&gt;Internal dynamics&lt;/li&gt;&lt;li&gt;Incomplete understanding of the complete system (the whole behaves very differently from the parts)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-8111820319818193240?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/8111820319818193240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=8111820319818193240&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/8111820319818193240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/8111820319818193240'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/08/anatomy-of-decisions.html' title='The Anatomy of Decisions'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-6556931744666190703</id><published>2009-08-30T18:58:00.000-04:00</published><updated>2009-08-30T18:58:51.135-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software quality'/><category scheme='http://www.blogger.com/atom/ns#' term='process metrics'/><category scheme='http://www.blogger.com/atom/ns#' term='software metrics'/><category scheme='http://www.blogger.com/atom/ns#' term='product metrics'/><title type='text'>Three Types of Software Quality</title><content type='html'>&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&lt;/span&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;There are three basic types of software quality. &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol style="font-family: Verdana,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Functional Quality&lt;/b&gt; -- a measure of &lt;i&gt;what&lt;/i&gt; the software does vs. what it's supposed to do&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Non-Functional Quality&lt;/b&gt; --&lt;i&gt; &lt;/i&gt;a measure of&lt;i&gt; how well&lt;/i&gt; it does it vs. how well it's supposed to do it&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Latent Quality&lt;/b&gt; -- a measure of &lt;i&gt;how well it will continue to do it&lt;/i&gt; in the future&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;I say basic because out of these three types emerge other aspects of quality -- &lt;b&gt;Usability&lt;/b&gt; is one such derived quality. Think of it as filling the gap between the &lt;i&gt;what&lt;/i&gt; and the &lt;i&gt;how well&lt;/i&gt; -- it's &lt;i&gt;how &lt;/i&gt;the product is put together to meet the user's needs. This is a mix of Functional and Non-Functional quality (and perhaps even a little bit of latent quality).&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;More on usability at the end. &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;You need Latent quality in the mix because we know things will change in the future. The software will itself change due to changes in business needs, changes in technology, or changes to other software that it needs to play nice with. Something that's readily changeable is better than something that gives you a migraine to extend.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;All three kinds of software quality are critical to the &lt;i&gt;value&lt;/i&gt; you derive from software once it's released. It needs to do what I want, do it reasonably fast without compromising my privacy, and keep up with my changing usage patterns and new needs. Nothing controversial about that. &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;But there's something terribly wrong here. Let me explain.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;The three types of software quality are all attributes or characteristics of the &lt;i&gt;product &lt;/i&gt;itself -- the stuff that gets sold in a shrink-wrapped box or downloaded and installed. Product attributes are very hard to measure as the thing itself is being built. Even once the thing is built, product attributes are difficult to measure. There are two main reasons for this difficulty:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Verdana,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;product metrics are difficult to define -- how do you measure security? how do you measure the ability to change easily to meet future needs?&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;product metrics (even if we can define them precisely) are difficult to obtain &lt;i&gt;as the product is being built. &lt;/i&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;Because of these rather severe difficulties, we do something that is understandable, but crazy. We rely almost entirely on measuring things like on-time and on-budget metrics. But these are &lt;i&gt;process &lt;/i&gt;metrics -- they have nothing at all to do with the value the product is going to deliver once built.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;It's like measuring temperature, when what you really need is a measure of weight. &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span class="494525122-27082009"&gt;Measuring product metrics only partially or  not at all during the development cycle means that we are rolling the dice on  software value post release. The danger of this is exacerbated because many of  the practices we adopt to get better on the process metrics can have significant  deleterious effects on the product metrics. Not only do we make bad trade-offs between process objectives (meeting the schedule) and product objectives (protects sensitive data), we might make them in such a way that product value is forever sacrificed -- it's impossible to go back and redo it like was supposed to be.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span class="494525122-27082009"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span class="494525122-27082009"&gt;But we don't need to roll the dice -- there are ways to define and measure product quality right from the start of the development life cycle and throughout a software product's useful life.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span class="494525122-27082009"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span class="494525122-27082009"&gt;To see how, go &lt;a href="http://www.slideshare.net/jsub/the-business-value-of-application-internal-quality-web-version-1928853"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;End Note on Usability&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt; &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;It's easier to say when something is &lt;i&gt;not&lt;/i&gt; usable than when it is. &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;Key lapses in usability:&lt;/span&gt;   &lt;/div&gt;&lt;ol start="1" style="font-family: Verdana,sans-serif;" type="1"&gt;&lt;ol&gt;&lt;li class="MsoNormal"&gt;         &lt;span style="font-size: x-small;"&gt;don't know it's there&lt;/span&gt;       &lt;/li&gt;&lt;li class="MsoNormal"&gt;         &lt;span style="font-size: x-small;"&gt;know it's there, but don't know what it does&lt;br /&gt;&lt;/span&gt;       &lt;/li&gt;&lt;li class="MsoNormal"&gt;         &lt;span style="font-size: x-small;"&gt;know it's there but don't know how to use it&lt;/span&gt;       &lt;/li&gt;&lt;li class="MsoNormal"&gt;         &lt;span style="font-size: x-small;"&gt;know it's there, know how to use it, but it's not what I need&lt;br /&gt;&lt;/span&gt;       &lt;/li&gt;&lt;li class="MsoNormal"&gt;         &lt;span style="font-size: x-small;"&gt;know it's there, know how to use it, it's what I need but it's too difficult to use (usually a workaround is found and adoption of the feature plunges to zero)&lt;/span&gt;       &lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-6556931744666190703?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/6556931744666190703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=6556931744666190703&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/6556931744666190703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/6556931744666190703'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/08/three-types-of-software-quality.html' title='Three Types of Software Quality'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-441968032895876453</id><published>2009-08-24T18:24:00.003-04:00</published><updated>2009-08-24T18:37:55.965-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='economic models'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='Measurement'/><title type='text'>Managing What You Can't Measure</title><content type='html'>I'm tired of hearing "You can't manage what you can't measure." If you're older than 6, you know Santa is a fiction. If you're older than 11, you don't need me to break it to you that of course you can manage what you can't measure. There's big money in that.&lt;br /&gt;&lt;br /&gt;Let me give you some examples of managing without measuring.&lt;br /&gt;&lt;br /&gt;Managing Without Measuring&lt;br /&gt;&lt;br /&gt;+ Tiger Woods manages his swing quite well when it's windy. He might know the wind speed and direction, but he's not managing the way the wind blows. He's managing his body mechanics.&lt;br /&gt;&lt;br /&gt;+ Baseball hitters manage to hit the ball without measuring anything. Yes, their eyes and brains are processing information; if you want to call that "measuring", then fine, but realize that just makes the original claim trivial -- "you can't manage without your brain processing information". OK, I won't argue against that -- even someone in a coma fulfills that condition.&lt;br /&gt;&lt;br /&gt;+ Writers manage to finish screenplays without measuring anything.&lt;br /&gt;&lt;br /&gt;+ Bridge players manage to win hands without measuring anything. (I'm cheating a bit, but read on.)&lt;br /&gt;&lt;br /&gt;So there's plenty you can manage without measuring.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What About Managing &lt;i&gt;Well&lt;/i&gt;?&lt;br /&gt;&lt;br /&gt;Rankled yet? "This is not what managers do!", you say. "Managers manage people, they set targets, they measure progress towards those targets, and they alter course and speed depending on the results of their measurements." Yes, I agree. Strictly speaking, you don't need to measure anything to manage people, but the good ones seem to be measuring things. And by the way, bridge players are measuring something -- the odds that their opponents have particular cards. (I'll come to that in one moment.)&lt;br /&gt;&lt;br /&gt;So maybe we should say, "To manage well, you need to measure." Or, "You can't &lt;i&gt;improve&lt;/i&gt; what you can't measure." Or, "You can't &lt;i&gt;control&lt;/i&gt; what you can't measure."&lt;br /&gt;&lt;br /&gt;Now we're getting somewhere. Managing well means improving performance and gaining some degree of control over the outcomes you're interested in.&lt;br /&gt;&lt;br /&gt;To improve or control outcomes you have to at least have a measure of the outcomes. Often you need more. If you manage a sales team you might measure completed sales per quarter. If you manage a research team you measure the number of publications per quarter and their quality. Measuring outcomes can range from easy (number of sales in a given period) to hard (the quality of a research paper). But that's a separate issue.&lt;br /&gt;&lt;br /&gt;To improve or control something you often have to measure more than just outcome metrics. You have to measure process metrics. If you're looking for completed sales, then you need to research companies, send emails, call companies, and meet with prospects. If you're not hitting your sales numbers then you can ask why not -- am I making enough calls, sending enough emails, meeting with enough prospects?&lt;br /&gt;&lt;br /&gt;Process metrics help you figure out where things might be going wrong. If you measure the right things, you might even be able to catch things early, before it becomes a full-blown problem. And process metrics themselves can be broken down into objectives and process metrics, and so on, iteratively. You'd be a fool to run production in a manufacturing plant without a lot of these layers of metrics.&lt;br /&gt;&lt;br /&gt;You can be measuring all these things quite nicely and still not be managing well. The reason: you don't know what really influences outcomes and how much.&lt;br /&gt;&lt;br /&gt;To have a feel for that is to have a fairly complex causal model -- a set of drivers that interact with each other and the outcome variables to produce the outcomes you're looking to improve or control.&lt;br /&gt;&lt;br /&gt;So, "You can't manage what you can't model." But modeling is hard.&lt;br /&gt;&lt;br /&gt;* It's hard to know what to measure (there are lots of things you &lt;i&gt;could&lt;/i&gt; measure -- how do you pick the right ones?)&lt;br /&gt;* It's hard to know how to measure it (quality of an idea? an author's degree of influence? complexity of an ERP system?)&lt;br /&gt;* It's hard to know if the causal model is valid (do the metrics you've strung together really influence the outcome, and if so, by how much?)&lt;br /&gt;&lt;br /&gt;Once you've gotten past these issues, you're ready to manage! Congratulations!&lt;br /&gt;&lt;br /&gt;How do the best managers do it? Sure they have models. But the best managers are really good at two things:&lt;br /&gt;&lt;br /&gt;* Having a great feel for what influences what and by how much,&lt;br /&gt;&lt;br /&gt;and most importantly,&lt;br /&gt;&lt;br /&gt;* Having a great feel for what to look for to know that you're not on the right track to the goal (either you're off in direction or speed)&lt;br /&gt;&lt;br /&gt;This second attribute -- knowing whether you're off course and what to do to get back -- is what good CEOs get a lot of money to do.&lt;br /&gt;&lt;br /&gt;Why? Because their decisions are often made in conditions where:&lt;br /&gt;&lt;br /&gt;* There is very little information&lt;br /&gt;* The situation is not very similar to ones they've faced before&lt;br /&gt;* The stakes are high&lt;br /&gt;* There's very little time to make the decision&lt;br /&gt;&lt;br /&gt;If you find yourself in this situation time and again, there's only one way to manage. You've got to know quickly that you're off track and know what will get you back on. People who can do this for a living (justifiably) earn gobs of money.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-441968032895876453?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/441968032895876453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=441968032895876453&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/441968032895876453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/441968032895876453'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/08/managing-what-you-cant-measure.html' title='Managing What You Can&apos;t Measure'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-6947344068268828993</id><published>2009-08-20T10:22:00.017-04:00</published><updated>2009-08-30T16:24:49.007-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software quality'/><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud performance'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud migration'/><title type='text'>Cloud -- Is That Something You Might Be Interested In?</title><content type='html'>This morning on &lt;a href="http://slashdot.org/" target="_blank"&gt;Slashdot&lt;/a&gt;, there was mention of an Australian team that studied the &lt;a href="http://www.itnews.com.au/News/153451,stress-tests-rain-on-amazons-cloud.aspx" target="_blank"&gt;performance of the Amazon, Google, and Microsoft Clouds&lt;/a&gt;. It reminded me of Bob on &lt;a href="http://www.hbo.com/entourage/index.html"&gt;Entourage&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;The results are not surprising. The on-demand cloud services from these companies "suffer from regular performance and availability issues." &lt;br /&gt;&lt;br /&gt;Now, not to make too much of this -- we already know that blazing performance on the cloud is neither a promise these vendors make nor an economic reality. After all, if you want cheap AND scalable, something's got to give. &lt;br /&gt;&lt;br /&gt;But you &lt;span style="font-style: italic;"&gt;can &lt;/span&gt;be prepared. &lt;br /&gt;&lt;br /&gt;If you could precisely measure the performance and availability of an application on the cloud, would that be something you might be interested in? &lt;br /&gt;&lt;br /&gt;If you could do this &lt;span style="font-style: italic;"&gt;before &lt;/span&gt;you migrated to the cloud, would this be something you might be interested in? &lt;br /&gt;&lt;br /&gt;If you're a vendor of Cloud services, would you be interested in tracking not just usage, but quality of service? &lt;br /&gt;&lt;br /&gt;Well, you can. &lt;br /&gt;&lt;br /&gt;&lt;meta content="text/html; charset=utf-8" equiv="Content-Type"&gt;&lt;/meta&gt;&lt;meta content="Word.Document" name="ProgId"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 11" name="Generator"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 11" name="Originator"&gt;&lt;/meta&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5CJSU%7E1.CAS%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;/link&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:2359637; 	mso-list-type:hybrid; 	mso-list-template-ids:2078721088 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 	{mso-level-tab-stop:.25in; 	mso-level-number-position:left; 	margin-left:.25in; 	text-indent:-.25in;} @list l0:level2 	{mso-level-number-format:alpha-lower; 	mso-level-tab-stop:.75in; 	mso-level-number-position:left; 	margin-left:.75in; 	text-indent:-.25in;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;  &lt;br /&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;1.&lt;span style="font-family: &amp;quot;; font-size: 7;"&gt;      &lt;/span&gt;&lt;b&gt;If you manage an IT organization, use CAST &lt;i&gt;before&lt;/i&gt; you move one or more of your applications to the Cloud&lt;/b&gt;. A CAST analysis will determine which applications are ready for migration to Cloud and vet the performance of those applications &lt;i&gt;before&lt;/i&gt; you put it on the cloud. Once on the cloud, CAST enables you to painlessly monitor your application's performance to ensure you are not wasting your money.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in;"&gt;a.&lt;span style="font-family: &amp;quot;; font-size: 7;"&gt;       &lt;/span&gt;Understand how well the application will perform, measure robustness, performance, and security. (Cloud hosts can kick you off the cloud if your application puts others on the cloud at risk.) &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in;"&gt;b.&lt;span style="font-family: &amp;quot;; font-size: 7;"&gt;      &lt;/span&gt;In measuring quality, CAST can also quickly highlight and measure the drivers of application costs. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in;"&gt;c.&lt;span style="font-family: &amp;quot;; font-size: 7;"&gt;       &lt;/span&gt;If cloud is a cost cutting measure, use &lt;a href="http://www.castsoftware.com/Solutions/Automated-Application-Assessment.aspx" target="_blank"&gt;CAST metrics&lt;/a&gt; to make sure you're not burning more MIPS, using more memory, and transferring more data than you should. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;2.&lt;span style="font-family: &amp;quot;; font-size: 7;"&gt;      &lt;/span&gt;&lt;b&gt;As a SaaS/Cloud vendor, use CAST for competitive differentiation&lt;/b&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in;"&gt;a.&lt;span style="font-family: &amp;quot;; font-size: 7;"&gt;       &lt;/span&gt;Measure and communicate the quality of your SaaS/Cloud environment to current and potential customers. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in;"&gt;b.&lt;span style="font-family: &amp;quot;; font-size: 7;"&gt;      &lt;/span&gt;Use CAST’s quality metrics to demonstrate the measurable cost of quality of your services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;I'd be glad to tell you more - just &lt;a href="mailto:brannfinn@gmail.com"&gt;email&lt;/a&gt; me. Or go &lt;a href="http://www.slideshare.net/jsub/cast-because-good-software-is-good-business-1711795" target="_blank"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Now Bob might be a parody of himself, but he really gets to the core of what matters. In software, it's the only thing that matters in the end is the product, the stuff, aka the code. It's so difficult to measure that people get frustrated. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=4PTzhkWG-cY" target="_blank"&gt;But it's something you &lt;span style="font-style: italic;"&gt;should&lt;/span&gt; be interested in.&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-6947344068268828993?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/6947344068268828993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=6947344068268828993&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/6947344068268828993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/6947344068268828993'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/08/cloud-is-that-something-you-might-be.html' title='Cloud -- Is That Something You Might Be Interested In?'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-8649336548253075518</id><published>2009-08-14T14:08:00.006-04:00</published><updated>2009-08-14T14:20:05.872-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='service oriented architecture'/><title type='text'>Got SOA? Get CAST!</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CJSU%7E1.CAS%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1968732533; 	mso-list-type:hybrid; 	mso-list-template-ids:215646862 67698703 67698713 67698703 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 	{mso-level-tab-stop:.25in; 	mso-level-number-position:left; 	margin-left:.25in; 	text-indent:-.25in;} @list l0:level2 	{mso-level-number-format:alpha-lower; 	mso-level-tab-stop:.75in; 	mso-level-number-position:left; 	margin-left:.75in; 	text-indent:-.25in;} @list l0:level3 	{mso-level-tab-stop:99.0pt; 	mso-level-number-position:left; 	margin-left:99.0pt; 	text-indent:-.25in;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt; Four Reasons for Using CAST for SOA Development, Rollout, and Governance&lt;br /&gt;&lt;br /&gt;1.    Stop critical single points of failure. A failure in a single SOA component can have an impact on multiple applications. Hence, quality is critical to SOA components.&lt;br /&gt;  a.    CAST automatically analyzes applications and components against more than 800 industry best practices to identify quality lapses in your SOA repositories,&lt;br /&gt;  b.    CAST provides actionable guidance on how to improve the quality of your SOA components.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Question: Do you know how to reliably detect and stop critical single points of failure?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2.    Manage application performance across the multiple technologies and tiers spanned by your SOA systems. SOA repositories are typically built on a wide range of technologies. Performance problems are hardest to detect at the interfaces between tiers and technologies. CAST’s 28+ different native analyzers cover most technologies and platforms. CAST analyzes interactions between components across different layers and technologies to ensure each individual component, and the application as a whole, is of high quality.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Question: How does your data and application logic behave when crossing technology tiers?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3.    Give your architects and developers practical guidance. Governance is the key to successful SOA implementation. However, governance is often an "ivory-tower" activity with very little practical guidance for day to day operational decisions. Strict conformity to SOA component development guidelines is key to a successful implementation of SOA. CAST automates the enforcement of these guidelines.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Question: How can architectural rules be written to provide practical guidance for developers?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4.    Make service reuse a reality. The promise of service reuse, and the quantum leap in productivity it can generate, is quickly ruined by unprincipled service explosion. The result is a spaghetti bowl of services with many different variants of the same service, and developer confusion about what to reuse.&lt;br /&gt;  a.    CAST automatically generates detailed information on service inputs and outputs, giving developers and architects a practical way to see the degree of similarity between any two services&lt;br /&gt;  b.    Developers and architects can use this practical information to drive decisions around service modification, consolidation, or elimination.&lt;br /&gt;  c.    CAST's automated visibility into service attributes makes service reuse a reality.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Question: How do you keep the explosion of services in check? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-8649336548253075518?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/8649336548253075518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=8649336548253075518&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/8649336548253075518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/8649336548253075518'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/08/got-soa-get-cast.html' title='Got SOA? Get CAST!'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-3679574054265729017</id><published>2009-08-10T05:01:00.006-04:00</published><updated>2009-08-10T05:01:00.576-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software quality'/><category scheme='http://www.blogger.com/atom/ns#' term='software performance testing'/><category scheme='http://www.blogger.com/atom/ns#' term='quality assurance'/><category scheme='http://www.blogger.com/atom/ns#' term='process maturity improvement'/><category scheme='http://www.blogger.com/atom/ns#' term='software metrics'/><category scheme='http://www.blogger.com/atom/ns#' term='CAST'/><title type='text'>Why the CAST AIP is Cool -- Five Reasons</title><content type='html'>As you know, I work for CAST. I work here because our product is really cool.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Let me tell you why it's cool and I think you'll agree as well.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;The &lt;a href="http://www.castsoftware.com/Solutions/Value/Application-Software-Quality.aspx"&gt;CAST Application Intelligence Platform&lt;/a&gt; (AIP) is cool because it goes beyond what’s available in 5 groundbreaking ways.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;1) The CAST AIP &lt;span style="font-weight: bold;"&gt;objectively measures software quality, complexity, and size&lt;/span&gt; – attributes that have traditionally been very slippery to quantify. (Think about this for a second -- it happens to be true.)&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;2) CAST’s &lt;span style="font-weight: bold;"&gt;coverage of languages, platforms, and technologies is unmatched&lt;/span&gt; (30+ languages, all major platforms and technologies, and all major packaged software including SAP and Oracle).Trying to simulate what the CAST AIP does with open source applications or other existing products is an exercise in frustration. Not only do you end up with a patchwork quilt of systems, they don't really do what you really want them to do -- reliably detect the problems that lurk in the interfaces between technologies and platforms. Only the CAST AIP can do this.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;3) &lt;span style="font-weight: bold;"&gt;Granular, surgical drill downs&lt;/span&gt;. The CAST AIP gives you multiple views into the end-to-end (developer, architect, project manager, business manager) and precise guidance on fixing the root cause of the problem. CAST AIP is a great example of how insight is used to guide effective actions.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;4) &lt;span style="font-weight: bold;"&gt;Quantifying productivity and the effectiveness of process improvement&lt;/span&gt;. The very metrics that are used to measure software quality, complexity, and size can be used to track the effectiveness of improvement efforts. You can read more about it in a &lt;a href="http://nestedlists.blogspot.com/2009/08/recipe-for-quantifying-roi-of-process.html"&gt;previous post&lt;/a&gt;. &lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;5) CAST AIP &lt;i style="font-weight: bold;"&gt;goes beyond&lt;/i&gt;&lt;span style="font-weight: bold;"&gt; performance testing&lt;/span&gt; by:&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;Automatically      tracing application performance problems to the root cause. Testing teams      can find problems more reliably, fix them faster, and fix them once and      for all using the precise guidance CAST AIP provides. &lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Finding      performance bottlenecks that go beyond those uncovered in traditional      performance testing by revealing problems that lie hidden at the interfaces      &lt;i style=""&gt;between language and technology      tiers&lt;/i&gt;. &lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Uncovering      &lt;i style=""&gt;future problems, not just present      ones&lt;/i&gt;. Performance testing doesn’t tell you how something will perform      in a few months when production conditions have (invariably) changed. It      won’t tell you how easy it will be to modify the system to meet a pressing      business need. And it won’t tell you how difficult it will be to transfer      support to another team (internal or external). CAST AIP can do all of the      above. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;When something is &lt;span style="font-style: italic;"&gt;this&lt;/span&gt; different it takes a while to appreciate the power of it.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-3679574054265729017?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/3679574054265729017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=3679574054265729017&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/3679574054265729017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/3679574054265729017'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/08/why-cast-aip-is-cool-five-reasons.html' title='Why the CAST AIP is Cool -- Five Reasons'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-3366013824363282812</id><published>2009-08-09T11:35:00.002-04:00</published><updated>2009-08-09T11:35:00.782-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='checklist'/><category scheme='http://www.blogger.com/atom/ns#' term='naming'/><title type='text'>How to Name Things</title><content type='html'>&lt;span class="fullpost"&gt;I name things. I do so frequently. I come up with lots of names every day for our cat.&lt;br /&gt;&lt;br /&gt;When I'm more reflective about naming, I use this checklist.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Arial; color: navy;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;The WHAT&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;What is it?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;What does it do?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;  &lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;How does it do it? – The critical  active ingredient.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;What is *&lt;/span&gt;&lt;b&gt;the&lt;/b&gt;&lt;span style="font-size:85%;"&gt;* thing that  makes it unique?&lt;/span&gt;&lt;/span&gt;  &lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;What are the benefits?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;What are the benefits of the  benefits?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-family: Arial; color: navy;"&gt;&lt;span style="font-size:85%;"&gt; The Mechanics&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;Is the name easy to say?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;Does it need a tag line? &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;6 to 8 words max&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;Personable, lively, clever,  but not an inside joke&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;Does it lend itself to a good  acronym?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;Does it escape the Chevy Nova  problem?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-family: Arial; color: navy;"&gt;&lt;span style="font-size:85%;"&gt; The Emotion&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;Does it make me think of good  things? &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;Does it make me proud to say  it?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;Does it make it me care enough to act?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;Does it tie into my rituals? &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;Does it inspire me? &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: navy;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size:85%;"&gt;Does it motivate me? &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  P.S. When you take the Dulles Airport access road from Washington DC to (where else) Dulles Airport, you see a lot of dot com (er, Web 2.0) company names plastered on buildings. They're a great source of good as well as bad names.&lt;br /&gt;&lt;br /&gt;A good one is "Oracle". They're so huge and ubiquitous that we don't really pause to reflect on it any more, but "Oracle" is a great name for a database company!&lt;br /&gt;&lt;br /&gt;On the other hand "Simplexity" (I'm not making this up) is a terrible name! Look for it the next time.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-3366013824363282812?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/3366013824363282812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=3366013824363282812&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/3366013824363282812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/3366013824363282812'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/08/how-to-name-things.html' title='How to Name Things'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-2049772993551754425</id><published>2009-08-07T11:08:00.002-04:00</published><updated>2009-09-07T20:14:26.183-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ROI'/><category scheme='http://www.blogger.com/atom/ns#' term='metrics'/><category scheme='http://www.blogger.com/atom/ns#' term='process maturity improvement'/><title type='text'>A Recipe for Quantifying the ROI of Process Maturity Improvement</title><content type='html'>&lt;b id="vi:v"&gt;Types of Process Management Frameworks&lt;/b&gt;  &lt;br /&gt;&lt;ol id="ymiz"&gt;&lt;li id="q6:9"&gt;&lt;br /&gt;&lt;div class="western" id="vuka"&gt;What should I do?  -- Process Definition Frameworks (Associated Metric Type = Objective or End-Result, or Benefit)&lt;br /&gt;&lt;/div&gt;&lt;ol id="xz_q"&gt;&lt;li id="nuzp"&gt;&lt;br /&gt;&lt;div class="western" id="mmx_"&gt;ITIL&lt;/div&gt;&lt;/li&gt;&lt;li id="zo7f"&gt;&lt;br /&gt;&lt;div class="western" id="r9.m"&gt;MOF&lt;/div&gt;&lt;/li&gt;&lt;li id="wq8d"&gt;&lt;br /&gt;&lt;div class="western" id="kaas"&gt;ISO, etc.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li id="f6bd"&gt;&lt;br /&gt;&lt;div class="western" id="d6q-"&gt;How well am I  doing it? – Control/Audit/Maturity Frameworks (Associated Metric Type = Operational Level or Quality Indicator)&lt;br /&gt;&lt;/div&gt;&lt;ol id="uwat"&gt;&lt;li id="m5px"&gt;&lt;br /&gt;&lt;div class="western" id="c11-"&gt;BS 15000&lt;/div&gt;&lt;/li&gt;&lt;li id="lfrz"&gt;&lt;br /&gt;&lt;div class="western" id="hhz0"&gt;CMMI, etc.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li id="wknw"&gt;&lt;br /&gt;&lt;div class="western" id="u-xg"&gt;How can I improve  it? – Process Improvement Frameworks (Associated Metric Type = mix of above two metric types)&lt;br /&gt;&lt;/div&gt;&lt;ol id="xffd"&gt;&lt;li id="i9b6"&gt;&lt;br /&gt;&lt;div class="western" id="s4.j"&gt;Six Sigma&lt;/div&gt;&lt;/li&gt;&lt;li id="you9"&gt;&lt;br /&gt;&lt;div class="western" id="w7a8"&gt;TQM&lt;/div&gt;&lt;/li&gt;&lt;li id="n:57"&gt;&lt;br /&gt;&lt;div class="western" id="fbbr"&gt;Lean, etc.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;A Recipe for Quantifying the ROI of Process Improvement -- the bang for the buck on improving the repeatability and quality of processes:&lt;br /&gt;&lt;ol id="ix651"&gt;&lt;li id="gm7t29"&gt;1.Define the end-result metric (e.g. support cost per year in $)&lt;br /&gt;&lt;/li&gt;&lt;li id="twmq"&gt;2. Define the process performance metric (e.g. defect injection rate)&lt;/li&gt;&lt;li id="f5uk"&gt;3. Quantify the end-result metric as a function of the process performance metric -- e.g. support cost per year = f(defect injection rate)&lt;br /&gt;&lt;/li&gt;&lt;li id="gm7t31"&gt;4. Define processes and break down process activities (e.g. testing process)&lt;br /&gt;&lt;/li&gt;&lt;li id="gm7t32"&gt;5. Define activity maturity levels -- what it means to be at maturity level 1, level 2, etc.&lt;br /&gt;&lt;/li&gt;&lt;li id="tw4c"&gt;6. Quantify the change in performance metrics due to change from one maturity level to another.&lt;br /&gt;&lt;/li&gt;&lt;li id="ccdh"&gt;7. Use (3) to calculate the benefit of moving from one maturity level to another.&lt;br /&gt;&lt;/li&gt;&lt;li id="v.zz"&gt;8. Quantify the cost of moving from one maturity level to another (one-time and ongoing cost categories are: organizational change, business process change, software licences, productivity loss, administrative costs)&lt;/li&gt;&lt;li id="ksbf"&gt;9. Divide (7) by (8) to calculate the ROI of process maturity improvement&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-2049772993551754425?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/2049772993551754425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=2049772993551754425&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/2049772993551754425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/2049772993551754425'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/08/recipe-for-quantifying-roi-of-process.html' title='A Recipe for Quantifying the ROI of Process Maturity Improvement'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-2155225693866230323</id><published>2009-08-03T06:09:00.001-04:00</published><updated>2009-08-03T06:09:00.660-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software design'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Antonella and Software Requirements</title><content type='html'>&lt;a title="&amp;quot;Before Creating the Car, Ford Designs the Driver&amp;quot;, by Phil Patton, New York Times, July 16, 2009" target="_blank" href="http://bit.ly/gOMn" id="s5dl"&gt;Antonella&lt;/a&gt; is 28. She's attractive, lives in Rome, and loves to go clubbing.&lt;br /&gt;&lt;br /&gt;I'd like to know Antonella! But it's not what you think.&lt;br /&gt;&lt;br /&gt;Antonella is a fiction. But a useful fiction. The designers at Ford Motor Company use her (or the idea of her) to guide their design decisions and resolve conflicts. As Phil Patton, the author of an article on Ford says:&lt;br /&gt;&lt;br /&gt;"Ford is using characters like Antonella to bring a human element to the dry statistical research drawn from polls and interviews. Based on psychological profiles, these characters are a more modern version of the 'theme boards' that designers once covered with snapshots and swatches of material to inspire a design. They are also like avatars, those invented characters used in online games and forums to symbolize a participant’s personality."&lt;br /&gt;&lt;br /&gt;Patton quotes Murat &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Yalman&lt;/span&gt;, Ford's director of global advanced product strategy: “You get a common focus for everyone from the clay modeler to the chief executive.”&lt;br /&gt;&lt;br /&gt;Can this technique work for eliciting software requirements and keeping them up to date as the design evolves? Do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Antonellas&lt;/span&gt; exist for software projects?&lt;br /&gt;&lt;br /&gt;I'm old fashioned. When I think about getting requirements right, I think about getting to a set of features (not more than 20 to 25). I then draw each feature out into a set of use cases, and turn each use case into a bunch of requirements.&lt;br /&gt;&lt;br /&gt;I could definitely use Antonella at each of these stages, especially at the requirements satisfaction stage where all the difficult conflicts arise about how best to fulfill a feature through a set of requirements.&lt;br /&gt;&lt;br /&gt;Or at least I thought so, until I read this in Stephen &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Few's&lt;/span&gt; 2006 book &lt;a title="Stephen Few, Amazon.com Description" target="_blank" href="http://bit.ly/6njM" id="sqot"&gt;Information Dashboard Design.&lt;/a&gt; Few writes:&lt;br /&gt;&lt;br /&gt;"In a genuine attempt to please their customers, software engineers focus on checking all the items, one by one, off of lists of requested features. This approach makes sense to technology-oriented software engineers, but it results in lumbering beasts. Customers are expert in knowing what they need to accomplish, but not in knowing how software ought to be designed to support their needs. &lt;i&gt;Allowing customers to design software through feature requests is the worst form of disaster by committee&lt;/i&gt;." [My emphasis]&lt;br /&gt;&lt;br /&gt;The distinction is between knowing what I as a customer need to accomplish, versus knowing how a tool that helps me accomplish that goal is to be designed.&lt;br /&gt;&lt;br /&gt;Makes sense. In software design, especially in Agile development methodologies, are we veering too far in the direction of letting customers design the tool itself?&lt;br /&gt;&lt;br /&gt;Can Antonella prevent us from going too far? Maybe we should all get to know Antonella.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-2155225693866230323?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/2155225693866230323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=2155225693866230323&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/2155225693866230323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/2155225693866230323'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/08/antonella-and-software-requirements.html' title='Antonella and Software Requirements'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-542420070628211220</id><published>2009-08-01T16:37:00.052-04:00</published><updated>2009-08-31T00:06:54.223-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='chance'/><category scheme='http://www.blogger.com/atom/ns#' term='fooled by randomness'/><category scheme='http://www.blogger.com/atom/ns#' term='Zweig'/><category scheme='http://www.blogger.com/atom/ns#' term='luck'/><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><category scheme='http://www.blogger.com/atom/ns#' term='nerds on wall street'/><category scheme='http://www.blogger.com/atom/ns#' term='Leinweber'/><category scheme='http://www.blogger.com/atom/ns#' term='statistical inference'/><category scheme='http://www.blogger.com/atom/ns#' term='probabilisitic inference'/><title type='text'>Feeling Lucky? The Prequel aka the Back-Testing Problem</title><content type='html'>A couple of years ago, I took the 14-hour Qantas flight from Los Angeles to Sydney and back.&lt;br /&gt;&lt;br /&gt;For a slow reader like me, 14 hours is the perfect time to polish off a book from cover to cover. On the way to Sydney I read Thomas Schelling's &lt;i&gt;&lt;a href="http://www.amazon.com/Micromotives-Macrobehavior-Thomas-Schelling/dp/0393329461" id="vftl" target="_blank" title="Amazon.com Description"&gt;Micromotives and Macrobehavior&lt;/a&gt;. &lt;/i&gt;The hair on the back of my neck stood up; I got goosebumps!&lt;br /&gt;&lt;br /&gt;Schelling's analysis is so clean and simple, yet packs a tremendous conceptual wallop. I was instantly reminded of Einstein's &lt;i&gt;Investigations on the Theory of Brownian Movement &lt;/i&gt;and Feynman's &lt;i&gt;&lt;a href="http://bit.ly/14YoXO" id="gobf" target="_blank" title="The Strange Theory of Light and Matter - Amazon.com Description"&gt;QED&lt;/a&gt;. &lt;/i&gt;These books make each step seem so simple, yet when you string them all together, the result is substantial, deep, and beautiful.&lt;br /&gt;&lt;br /&gt;Schelling's book took me back to the first time I laid eyes on Euclid's axioms. Before I knew it, we had landed and I was in a long taxi line that was winding it's way through a temporary building outside the terminal.&lt;br /&gt;&lt;br /&gt;On my way back to Los Angeles, I read Nassim Taleb's &lt;i&gt;&lt;a href="http://bit.ly/3z4Ujv" id="ncxa" target="_blank" title="Amazon.com Description"&gt;Fooled by Randomness&lt;/a&gt;&lt;/i&gt;. It's a relatively slim book. But it kept me occupied the whole flight. In fact, it got me angry. I was cursing out loud! (I come from the &lt;i&gt;&lt;a href="http://bit.ly/189pA4" id="f.qt" target="_blank" title="by James Kelman - Amazon.com Description"&gt;How Late It Was, How Late&lt;/a&gt;&lt;/i&gt; school of cursing.)&lt;br /&gt;&lt;br /&gt;I think it was Bertrand Russell who wrote this one-line book review: "I should think the covers of this book are too far apart." That summed it up for me. &lt;i&gt;Fooled by Randomness&lt;/i&gt; could have been a&lt;i&gt; great &lt;/i&gt;book. Instead the tragically hip pseudo intellectual poseur shtick beat the life out of it.&lt;br /&gt;&lt;br /&gt;Here's what it could have been.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A Precis of &lt;/b&gt;&lt;i&gt;&lt;b&gt;Fooled by Randomness&lt;/b&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;ol id="lio:"&gt;&lt;li id="iv0c"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="western" id="m7kp"&gt;Any data set can  be “explained” by an infinite number of patterns  (&lt;a href="http://bit.ly/3I6QIE" id="yknc" target="_blank" title="Amazon.com Description"&gt;Choice and Chance&lt;/a&gt;, by Brian Skyrms). [This has hugely interesting implications -- more on this at the end]&lt;/div&gt;&lt;/li&gt;&lt;li id="g7-s"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="western" id="wr7g"&gt;Use Monte Carlo analysis to uncover the role of randomness:&lt;/div&gt;&lt;ul&gt;&lt;li id="jnb3"&gt;    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="western" id="we73"&gt;Rule out  alternative explanations (ones that have very low probability)&lt;/div&gt;&lt;/li&gt;&lt;li id="dcll"&gt;  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="western" id="x3jn"&gt;Determine the  relative strength of the current explanation&lt;/div&gt;&lt;/li&gt;&lt;li id="fjcm"&gt;  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="western" id="y8r8"&gt;Find  interdependencies of variables in certain permutations&lt;/div&gt;&lt;/li&gt;&lt;li id="mls:"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="western" id="f77v"&gt;Find missing  variables&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li id="i5js"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="western" id="h.0v"&gt;Interesting  results from probability theory that should inform your reasoning:&lt;/div&gt;&lt;ol id="e9ou"&gt;&lt;li id="s_fv"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="western" id="awmr"&gt;Dependence of  probability on time scale&lt;/div&gt;&lt;/li&gt;&lt;li id="b_4h"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="western" id="g_76"&gt;Counterintuitive  results due to skewness and asymmetry&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li id="rm1a"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="western" id="w.xo"&gt;Common mistakes in  probabilistic inference (the best summary of results is Scott Plous' &lt;a href="http://bit.ly/NVpiF" id="tsxu" target="_blank" title="Amazon.com Description"&gt;The Psychology of Judgement and Decision Making&lt;/a&gt;)&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;Main Point: &lt;/b&gt;Even the most savvy Wall Street traders make huge mistakes when they reason about statistics. In particular, they grossly underestimate the role of sheer luck in the results they achieve.&lt;br /&gt;&lt;br /&gt;Now &lt;i&gt;that&lt;/i&gt; would have been a great book! Not wholly original, but highly informative.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To give you a sense of what this randomness is like (and how Monte Carlo analysis can illuminate it), here is a quote from LeonardMlodinow ( &lt;a href="http://bit.ly/Xa3L3" id="fp2t" target="_blank" title="Was Joe DiMaggio's Hitting Streak a Fluke?"&gt;The Triumph of the Random by , WSJ July 3 - 5, 2009 Page W1&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: Arial;"&gt;"A few years ago Bill Miller of the Legg Mason Value Trust Fund was the most celebrated fund manager on Wall Street because his fund outperformed the broad market for 15 years straight. It was a feat compared regularly to DiMaggio’s, but if all the comparable fund managers over the past 40 years had been doing nothing but flipping coins, the chances are 75% that one of them would have matched or exceeded Mr. Miller’s streak. If Mr. Miller was really merely the goddess of Fortune’s lucky beneficiary, then one would expect that once the streak ended there would be no carryover of his apparent golden touch. In that expectation Mr. Miller did not disappoint: in recent years his fund has significantly lagged the market as he bet on duds like AIG, Bear Stearns, Merrill Lynch &amp;amp; Co. and Freddie Mac.&lt;/span&gt;&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 100%;"&gt;So how lucky are you? To find out, read the &lt;a href="http://bit.ly/FFkJG" id="o7j_" target="_blank" title="fun with cubic spline functions"&gt;sequel&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: 100%;"&gt;Post Script (Added July 30, 2009)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: 100%;"&gt; &lt;br /&gt;An excellent example of how a data set can be "explained" by any old hypothesis appeared in the Wall Street Journal earlier this month (&lt;a href="http://online.wsj.com/article/SB124967937642715417.html"&gt;Data Mining Isn't a Good Bet for Stock-Market Predictions&lt;/a&gt; by Jason Zweig).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 100%;"&gt;Here are some excerpts from the article that make the point (my emphasis) -- enjoy!&amp;nbsp; &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size: 100%;"&gt;&lt;/span&gt;An entertaining new book, "Nerds on Wall Street," by the veteran quantitative money manager David Leinweber, dissects the shoddy thinking that underlies most of these techniques. &lt;/blockquote&gt;&lt;blockquote&gt;The stock market generates such vast quantities of information that, if you plow through enough of it for long enough, you can always find some relationship that appears to generate spectacular returns -- by coincidence alone. This sham is known as "data mining."&lt;/blockquote&gt;&lt;blockquote&gt;Every year, billions of dollars pour into data-mined investing strategies. No one knows if these techniques will work in the real world. Their results are hypothetical -- based on "back-testing," or a simulation of what would have happened if the manager had actually used these techniques in the past, typically without incurring any fees, trading costs or taxes....&lt;br /&gt;&lt;span style="font-size: 100%;"&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;Mr. Leinweber got so frustrated by "irresponsible" data mining that he decided to satirize it. After casting about to find a statistic so absurd that no sensible person could possibly believe it could forecast U.S. stock prices, &lt;i&gt;Mr. Leinweber settled on annual butter production in Bangladesh. Over an 13-year period, he found, this statistic "explained" 75% of the variation in the annual returns of the Standard &amp;amp; Poor's 500-stock index. &lt;br /&gt;&lt;/i&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;i&gt;By tossing in U.S. cheese production and the total population of sheep in both Bangladesh and the U.S., Mr. Leinweber was able to "predict" past U.S. stock returns with 99% accuracy&lt;/i&gt;.&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://plato.stanford.edu/entries/induction-problem/"&gt;The Problem of Induction &lt;/a&gt;is the problem of demonstrating that the future will be like the past. It can't be done via deductive argument (because by definition, induction takes a leap beyond what is contained in the premises), and it can't be done via induction because that would be circular.&lt;br /&gt;&lt;br /&gt;But even if you &lt;i&gt;could&lt;/i&gt; solve the problem of induction and demonstrate that the future will resemble the past, it won't help solve the back-testing problem. To solve that, you have to be able to show &lt;i&gt;in what ways the future will resemble the past.&lt;/i&gt; There is a super-interesting problem lurking here that goes by the name of the &lt;a href="http://www.loyno.edu/%7Efolse/grue.html"&gt;Grue Paradox&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To summarize: back-testing alone is insufficient to demonstrate the validity of a hypothesis. It's insufficient because I can cook up an infinite number of hypothesis that will fit the pattern in question. I need a way sort out good hypotheses from bad.Without that "goodness filter" I don't know if the "pattern" identified will repeat in the future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-542420070628211220?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/542420070628211220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=542420070628211220&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/542420070628211220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/542420070628211220'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/08/feeling-lucky-prequel.html' title='Feeling Lucky? The Prequel aka the Back-Testing Problem'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-6180090025732657991</id><published>2009-07-30T10:51:00.006-04:00</published><updated>2009-07-30T11:23:01.876-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developer tools'/><category scheme='http://www.blogger.com/atom/ns#' term='stickiness'/><category scheme='http://www.blogger.com/atom/ns#' term='utility'/><title type='text'>Why Developer Tools Stick</title><content type='html'>&lt;span class="fullpost"&gt;Some tools are very popular with software developers while some just fizzle out. What accounts for this difference?&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;There are lots of variables that determine the stickiness of a tool (or even methodology).  Here's a sociological explanation for what sticks and why.&lt;br /&gt;&lt;p id="wf.9" class="western"&gt;For something to become sticky as a development tool or methodology, it must have two kinds of utility -- operational, political, and personal. (That's my hypothesis.) Here's how each breaks out.&lt;br /&gt;&lt;/p&gt; &lt;ol id="tinn"&gt;&lt;li id="lsdg"&gt;&lt;p id="kzft" class="western"&gt;Operational  Utility - making it easier to do the job&lt;br /&gt;&lt;/p&gt;  &lt;ol id="xe40"&gt;&lt;li id="c3qj"&gt;&lt;p id="ixup" class="western"&gt;Ability to  improve code quality&lt;/p&gt;  &lt;/li&gt;&lt;li id="tmcw"&gt;&lt;p id="g5_y" class="western"&gt;Ability to  improve development productivity&lt;/p&gt;  &lt;/li&gt;&lt;li id="z7p4"&gt;&lt;p id="ly6a" class="western"&gt;Ability to  improve communication and coordination&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;/li&gt;&lt;li id="miaq"&gt;&lt;p id="bqy6" class="western"&gt;Political  Utility - making it easier to defend how software gets made and delivered&lt;br /&gt;&lt;/p&gt;  &lt;ol id="qkuz"&gt;&lt;li id="s9gv"&gt;&lt;p id="oq3g" class="western"&gt;Symbolic –  signal it sends to other developers and management&lt;/p&gt;  &lt;/li&gt;&lt;li id="ri_i"&gt;&lt;p id="d-2d" class="western"&gt;Support/Confidence  it provides that we’re doing things in a professional way&lt;/p&gt;  &lt;/li&gt;&lt;li id="u7y6"&gt;&lt;p id="aott" class="western"&gt;Defense/Rationale  – ability to use it to present, elaborate, and justify the  work done to managers and senior executives (metrics, artifacts  that show progress and establish that a robust methodology is being  used)&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li id="miaq"&gt;Personal Utility -- ability to enhance resume.&lt;/li&gt;&lt;/ol&gt;Have I missed any? Which ones are necessary? Which ones are sufficient?&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-6180090025732657991?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/6180090025732657991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=6180090025732657991&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/6180090025732657991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/6180090025732657991'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/07/why-developer-tools-stick.html' title='Why Developer Tools Stick'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-3769533924695901303</id><published>2009-07-22T22:11:00.013-04:00</published><updated>2009-08-20T10:02:12.002-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software metrics'/><category scheme='http://www.blogger.com/atom/ns#' term='product metrics'/><title type='text'>Don't Give Up on Software Metrics</title><content type='html'>&lt;span class="fullpost"&gt;&lt;a href="http://bit.ly/rxukx" target="_blank"&gt;Is software management obsolete?&lt;/a&gt; Yes, according to Tim Berry, President and Founder of Palo Alto Software.&lt;br /&gt;&lt;br /&gt;You can read my &lt;a href="http://bit.ly/JTlYq" target="_blank"&gt;comment&lt;/a&gt; on his blog. Here's a fuller version.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;I read Tim's post along with &lt;a href="http://bit.ly/LZIpi" target="_blank"&gt;Jeff Atwood's post&lt;/a&gt; on Coding Horror and &lt;a href="http://bit.ly/2TRyOp" target="_blank"&gt;Tom DeMarco's article&lt;/a&gt;. There are a number of cool ideas in this set of articles, and it's helpful to separate them.&lt;br /&gt;&lt;br /&gt;So here goes.&lt;br /&gt;&lt;br /&gt;1) Building software is a creative activity.&lt;br /&gt;&lt;br /&gt;2) Most projects, despite the controls, metrics, and process, end up being completed by the sheer passion, heroics, and expertise of a few. (I'm reading a bit more between the lines on this one, but it's a charitable interpretation.)&lt;br /&gt;&lt;br /&gt;3) In a typical software project "nobody can see the whole elephant."&lt;br /&gt;&lt;br /&gt;4) A software metrics paradox: only projects that don't deserve or need the scrutiny end up getting them.&lt;br /&gt;&lt;br /&gt;5) To figure out how to build software without a lot of metrics fanfare, just pick the projects with very high ROI -- the return on these will dwarf the investment, so you don't really need to pay very close attention to the investment (i.e. the cost to build).&lt;br /&gt;&lt;br /&gt;6) It's about time we abandoned this charade and stopped using software metrics (on most or all of our projects).&lt;br /&gt;&lt;br /&gt;1, 2, and 3 are factual claims, 4 is descriptive (e.g. like Moore's Law), and 5 and 6 are prescriptive.&lt;br /&gt;&lt;br /&gt;I agree with 1, 2, and 3. As Fred Brooks puts it in his book,  "The Mythical Man Month", "The complexity of software is an essential property, not an accidental one". And he goes on to explain how this complexity manifests, and why it is essentially different from, say, building a skyscraper.&lt;br /&gt;&lt;br /&gt;But despite that, I think it's possible to impose the right controls throughout the software development life cycle. Let me expand on this just a bit.&lt;br /&gt;&lt;br /&gt;Throughout the course of development, a large number of developers, architects, IT workers, business users, and managers make hundreds of independent decisions which need to come together in a coherent fashion for the end product to work well.&lt;br /&gt;&lt;br /&gt;So, “software design is not an orderly top-down process. It is a collection of multiple decisions made at varying levels of abstraction, brought together to satisfy an overall business goal.”  (This is &lt;a href="http://bit.ly/1a6M5V" target="_blank"&gt;Dr. Bill Curtis&lt;/a&gt;, co-author of the CMM framework.)&lt;br /&gt;&lt;br /&gt;As the code base grows linearly, architectural complexity grows exponentially! Performance bottlenecks multiply but become very hard to detect. There is no human or team of humans capable of having a comprehensive end-to-end view of how the application is put together to satisfy its long list of continually-evolving requirements.&lt;br /&gt;&lt;br /&gt;What's a project manager to do? You can't blame them for doubling down on process! But that's the wrong type of metric. What you need in this case, in addition to process metrics (time spent, adherence to coding standards, etc.) are PRODUCT metrics. In particular, measures of the QUALITY of the evolving product.&lt;br /&gt;&lt;br /&gt;Think about this for a second. Software is the only product where quality is equated with meeting functional specifications.&lt;br /&gt;&lt;br /&gt;You don't make this mistake with a Toyota. Its quality comes not just from having four wheels and a transmission. Chevy Cobalts have those too. The quality of a Toyota comes from something more -- it's HOW WELL the four wheels and the transmission work when you drive the car. How well do they hang together when you hit nasty potholes? How do the parts wear with time?&lt;br /&gt;&lt;br /&gt;How well something works is closely tied to the process by which that something is made. There's usually a process for putting things together, and software engineering has grasped at process as a panacea.&lt;br /&gt;&lt;br /&gt;Here's the mantra: I have a repeatable process in place, I will end up with a high-quality software product, I have a repeatable process in place...&lt;br /&gt;&lt;br /&gt;Unfortunately, it doesn't work this way. Think of all of the FDA approved products that have killed people, the planes that have had all their maintenance checks but crashed, and the Airbus A380 that couldn't be put together because the parts made by different suppliers wouldn't fit together.&lt;br /&gt;&lt;br /&gt;Having a repeatable process in place isn't by itself enough. In real life, most processes outside of manufacturing lines are difficult to make repeatable.&lt;br /&gt;&lt;br /&gt;Repeatable means same inputs result in same outputs. But in a software engineering process, cost and time pressure, variance in expertise levels, the (un)availability of expertise, the (un)availability of input information -- these can and will lead to a wide variance in the output of a process.&lt;br /&gt;&lt;br /&gt;Making software is like making the Airbus A380 -- hundreds of people making independent decisions that have to come together in the end as the finished product. Indeed, it's even harder when it comes to software because the product is not a tangible thing like an airplane part. And the kicker: when it all comes together, there's no foolproof way to know how this thing is going to work in the real world!&lt;br /&gt;&lt;br /&gt;I work for a software company called CAST -- we define and precisely measure the quality, size, and complexity of large-scale software systems as they evolve. No human can see the whole thing end to end, but CAST can. Write me if you like, I can show you exactly how we do it. Bottom line: There is a way you CAN see the whole elephant.&lt;br /&gt;&lt;br /&gt;The lesson is PRODUCT metrics, not PROCESS metrics. And humans can't do this -- but an automated system can.&lt;br /&gt;&lt;br /&gt;Point 4 may be right, but unfortunately, it doesn't lead to 5. We don't get to choose the projects we work on, and DeMarco's guidance is simply not practical.&lt;br /&gt;&lt;br /&gt;Finally 1+2+3 is not reason enough to believe in 6. We &lt;span style="font-style: italic;"&gt;can&lt;/span&gt; get complete visibility over the entire software system, and we &lt;span style="font-style: italic;"&gt;can&lt;/span&gt; measure it the way engineers measure their output.&lt;br /&gt;&lt;br /&gt;Give up on process metrics if you like (and if you can in your company), but don't give up on controlling software projects - use product metrics to take control!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-3769533924695901303?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/3769533924695901303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=3769533924695901303&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/3769533924695901303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/3769533924695901303'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/07/dont-give-up-on-software-metrics.html' title='Don&apos;t Give Up on Software Metrics'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-5452580214804584260</id><published>2009-07-20T10:03:00.000-04:00</published><updated>2009-07-20T10:03:00.377-04:00</updated><title type='text'>Tech Spending -- Where is it Going?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fQZgjf6OD14/SmPQ2Jwlu4I/AAAAAAAABzE/m0w4kV-7XmI/s1600-h/Tech+Spending+CDW+Monitor+-+July+2009.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 190px; height: 400px;" src="http://3.bp.blogspot.com/_fQZgjf6OD14/SmPQ2Jwlu4I/AAAAAAAABzE/m0w4kV-7XmI/s400/Tech+Spending+CDW+Monitor+-+July+2009.jpg" alt="" id="BLOGGER_PHOTO_ID_5360357610252254082" border="0" /&gt;&lt;/a&gt;Phyllis &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Korrki&lt;/span&gt; reports in &lt;a href="http://bit.ly/9Bjeh" target="_blank"&gt;The New York Times (Sunday, July 19)&lt;/a&gt;, that "a little over a third of businesses and agencies plan to&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;/span&gt; increase their technology spending in the next six months, with more medium and large-size companies anticipating gains than small ones."&lt;br /&gt;&lt;br /&gt;The article goes on to say, "More than half the technology managers for the federal government expect increases in their spending budgets."&lt;br /&gt;&lt;br /&gt;A couple of points of note in the data.&lt;br /&gt;&lt;br /&gt;First, for the 7% who respond that IT investment hurts their financial performance, I wonder why?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Is it just that the choice of investment is poor (misjudged the ROI of the investment), is the execution poor, is the end result poor, or all of the above?&lt;br /&gt;&lt;br /&gt;If the end result is poor, it could be due to one or these factors:&lt;br /&gt;&lt;br /&gt;* The automation doesn't work as well as it should and hence scares away customers?&lt;br /&gt;&lt;br /&gt; * The automation works well, but it just turns customers off?&lt;br /&gt;&lt;br /&gt; * The automation makes internal staff less productive? (e.g. because they now have to do some extra things)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Second, if you are spending more, &lt;a href="http://bit.ly/mpSou" target="_blank"&gt;where is that spending going? &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-5452580214804584260?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/5452580214804584260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=5452580214804584260&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/5452580214804584260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/5452580214804584260'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/07/tech-spending-where-is-it-going.html' title='Tech Spending -- Where is it Going?'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fQZgjf6OD14/SmPQ2Jwlu4I/AAAAAAAABzE/m0w4kV-7XmI/s72-c/Tech+Spending+CDW+Monitor+-+July+2009.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-7396571885661499726</id><published>2009-07-15T11:20:00.004-04:00</published><updated>2009-07-18T11:18:20.166-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='commodity'/><category scheme='http://www.blogger.com/atom/ns#' term='expertise'/><category scheme='http://www.blogger.com/atom/ns#' term='skill'/><title type='text'>Effort is Precious</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;p&gt;There's a big bias towards skill in our culture -- smart and creative trumps hard work and grinding it out day after day.&lt;/p&gt; &lt;p&gt;We come to rely on our skills and often think too much of them. Studies have shown that most successful people over-rate the part that skill and creativity play in their success.&lt;/p&gt; &lt;p&gt;As for me, it's been all about being at the right place at the right time. Sheer luck and accident.&lt;/p&gt; &lt;p&gt;But what about effort? What about the joy of working hard, grinding it out? It can be very valuable. Especially when no one can -- or is willing -- to match that effort.&lt;/p&gt; &lt;p&gt;A few months ago, &lt;a id="s7vq" title="Gladwell's Blog" href="http://gladwell.typepad.com/gladwellcom/" mce_href="http://gladwell.typepad.com/gladwellcom/" target="_blank"&gt;Malcolm Gladwell&lt;/a&gt; wrote about a basketball team with no skill to speak of. They won big with sheer effort alone. The kind of effort that drives skilled opponents mad. The kind of effort that no sane person is willing put himself through.&lt;/p&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;p&gt;Remind you of outsourcing? The hundreds of thousands in India who can and are willing to grind it out while you spend your time reading the New Yorker? Well, they're just a commodity -- but a very precious one!&lt;/p&gt; &lt;p&gt;In his article "&lt;a id="y0vb" title="How David Beats Goliath" href="http://www.newyorker.com/reporting/2009/05/11/090511fa_fact_gladwell?yrail" mce_href="http://www.newyorker.com/reporting/2009/05/11/090511fa_fact_gladwell?yrail" target="_blank"&gt;How David Beats Goliath&lt;/a&gt;" (New Yorker, May 8, 2009), Gladwell writes:&lt;/p&gt; &lt;p&gt;"We tell ourselves that skill is the precious resource and effort is the commodity. It's the other way around. Effort can trump ability because relentless effort is in fact something rarer than the ability to engage in some finely tuned act of motor coordination."&lt;/p&gt; &lt;p&gt;So what makes a commodity a commodity? What are the attributes that separate a commodity from a non-commodity?&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;i&gt;1. Ease of Access&lt;/i&gt; (easy to procure vs. very hard to procure)&lt;/li&gt;&lt;li&gt;&lt;i&gt;2. Concentration of Supply&lt;/i&gt; (single source vs. large number of sources)&lt;/li&gt;&lt;li&gt;&lt;i&gt;3. Variability&lt;/i&gt; &lt;ol&gt;&lt;li&gt;&lt;i&gt;3.1 Outcome Variability&lt;/i&gt;: If the item is a process, then repeatability of the process (high variance vs. zero variance). &lt;b&gt;Commodities have low outcome variability.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;3.2 Compositional Variability&lt;/i&gt;: If the item is a thing, then the level of purity (pure vs. lots of processing needed to make it pure). &lt;b&gt;Commodities have low compositional variability.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;3.3 Pricing Variability&lt;/i&gt;: How readily can it be componentized (and hence, priced)? (easy to componentize vs. impossible to componentize). &lt;b&gt;Commodities have low pricing variability (not necessarily low price, but low pricing variability)&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt; &lt;/li&gt;&lt;li&gt;&lt;i&gt;4. Marginal Cost of Production&lt;/i&gt; (connection of cost to amount): cost of making one more is virtually zero. Small change in production costs for large changes in output. &lt;b&gt;Commodities have low marginal production cost.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;5. Marginal Cost of Labor&lt;/i&gt;: labor can be added at virtually zero cost. (E.g. a delivery person gets paid the same amount even when time taken to deliver varies.)&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;Some Observations&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Of these attributes, the central one is 3.3 -- how well can it be componentized. Most often, 3.3, is closely related to 3.2 and 3.1. It is likely that if 3.3, then (3.1 or 3.2), i.e. the latter are necessary for 3.1.&lt;/p&gt; &lt;p&gt;4 and 5 could serve as core criteria as well.&lt;/p&gt; &lt;p&gt;1 and 2 are red herrings -- if you plot a commodity along these dimensions, you'll get a scatter plot; so 1 and 2 don't have any segmentation power.&lt;/p&gt; &lt;p&gt;There is a difference between having a well defined surface structure and being a commodity. Commodities will have a well defined surface structure AND a well defined deep structure. It's the absence of a well-defined deep structure that makes the work of advertising agencies, lawyers, management consultants, and industry analysts non-commodities. For example, take company/industry analyst reports. These are componentizable (it's a specific form factor with particular sections, etc.) and hence have a surface structure, but there's a huge amount of outcome and compositional variability which indicates a lack of deep structure.&lt;/p&gt; &lt;p&gt;The world is such that most segmentation problems have to be tackled this way -- create the net of distinct attributes and then see how much of the right stuff it will catch and how much of the wrong stuff it will let through.&lt;/p&gt; &lt;p&gt;Related issue: segmenting and aligning demand with supply.&lt;/p&gt; &lt;p&gt;If this analysis is right, then a few things follow:&lt;/p&gt; &lt;p&gt;a) a commodity can be expensive&lt;/p&gt; &lt;p&gt;b) a commodity can be rare&lt;/p&gt; &lt;p&gt;c) a commodity need not be easy to procure&lt;/p&gt; &lt;p&gt;d) 5 might indicate that when laborers are readily available and (perhaps, consequently) have no pricing power commodity, the work they do becomes a commodity. There might be a more widespread confusion of commodities with a lack of pricing power. A branding company works to a well-defined goal but has lots of pricing power; a laborer in a South African diamond mine does the same but has no pricing power.&lt;/p&gt; &lt;p&gt;e) commodities are not to be confused with well-defined objectives or end products that result from combining labor and capital. That's why the crux of the definition is 3.3. To call any individual item or thing (or SKU) a commodity is to destroy the meaning of the term.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-7396571885661499726?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/7396571885661499726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=7396571885661499726&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/7396571885661499726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/7396571885661499726'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/07/effort-is-precious.html' title='Effort is Precious'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-5583172611366698431</id><published>2009-07-14T20:23:00.000-04:00</published><updated>2009-07-14T20:33:22.267-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='prospecting'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='sales'/><title type='text'>The View from the Other Side</title><content type='html'>&lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;Most people hate marketing emails -- I love them!&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;Galileo said that the world is an open book written in the language of Geometry. The internet is an open book written in the language of marketing spam. There's no better way to stay on the pulse of this wild, weird thing we've come to love - the internet (or email, to be a bit more specific).&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;So why this paen to spam? Well, a few days ago, I got an email from WebEx, you know the web meeting software company now part of Cisco Systems.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;It's really quite good -- and having sent many of these sorts of emails myself, I put myself in the shoes of a straightforward, but understanding recipient.  Here's the email and my response.&lt;/span&gt;&lt;/p&gt; &lt;div style="font-family: verdana;"&gt; &lt;p class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Tahoma;font-size:100%;" &gt;&lt;span mce_ style=";font-family:Tahoma;"&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-weight: bold;" mce_style="font-weight: bold;"&gt;Subject:&lt;/span&gt;&lt;/b&gt; WebEx / A Few Minutes To Catch  Up&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/div&gt; &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Times New Roman;font-size:100%;" &gt;&lt;span mce_ style="font-size:12pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;table class="MsoNormalTable mceItemTable" style="width: 685px; height: 330px; font-family: verdana;" border="0" cellpadding="0" cellspacing="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="padding: 0in 0in 3.75pt; width: 100%;" valign="top" width="100%"&gt; &lt;p class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Trebuchet MS;font-size:100%;color:black;"  &gt;&lt;span mce_ style=";font-family:'Trebuchet MS';color:black;" &gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="padding: 0in; width: 100%;" valign="top" width="100%"&gt; &lt;p class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Trebuchet MS;font-size:100%;color:black;"  &gt;&lt;span mce_ style=";font-family:'Trebuchet MS';color:black;" &gt;&lt;img id="_x0000_i1025" src="http://cdn1.actonsoftware.com/acton/cx/149/logo5.png" mce_src="http://cdn1.actonsoftware.com/acton/cx/149/logo5.png" alt="" width="134" border="0" height="47" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="padding: 0in; width: 100%;" valign="top" width="100%"&gt;&lt;!-- CONTENT BEGIN --&gt; &lt;table class="MsoNormalTable mceItemTable" style="width: 100%;" width="100%" border="0" cellpadding="0" cellspacing="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="padding: 0in;" mce_style="padding: 0in;"&gt; &lt;p class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:black;"  &gt;&lt;span mce_ style=";font-family:Arial;color:black;" &gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;            &lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;p&gt;&lt;!-- BLOCK B1 : SalutationBlock BEGIN --&gt;&lt;/p&gt; &lt;tr&gt; &lt;td style="padding: 3.75pt 7.5pt;" mce_style="padding: 3.75pt 7.5pt;" valign="top"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:black;"  &gt;&lt;span mce_ style=";font-size:10pt;color:black;" &gt;Jitendra, &lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;p&gt;&lt;!-- BLOCK B1 : SalutationBlock END --&gt;&lt;!-- BLOCK B2 : FreeTextBlock BEGIN --&gt;&lt;/p&gt; &lt;tr&gt; &lt;td style="padding: 3.75pt 7.5pt;" mce_style="padding: 3.75pt 7.5pt;" valign="top"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:black;"  &gt;&lt;span mce_ style=";font-size:10pt;color:black;" &gt;It's been a while since we've been in touch. Since we last spoke, WebEx has introduced new applications, services, and flexible pricing models that have been designed for businesses like yours.  I would like to share some creative ways that companies like yours are using WebEx services to cut costs, increase revenue, increase lead count, and make their teams and departments more efficient. &lt;/span&gt;&lt;/span&gt; &lt;div&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;i&gt;&lt;i&gt;&lt;span mce_ style=";font-family:Arial;color:black;" &gt;&lt;span mce_ style=";font-family:Arial;color:black;" &gt;Can we connect later  this week or early next?&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/i&gt;&lt;/span&gt;&lt;span mce_  style="font-size:100%;color:black;"&gt;&lt;span mce_ style="color:black;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:black;"  &gt;&lt;span mce_ style=";font-size:10pt;color:black;" &gt;Please call or reply to this email with a  couple of dates and times you are available in the next  week.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;p&gt;&lt;!-- BLOCK B2 : FreeTextBlock END --&gt;&lt;!-- BLOCK B3 : SignatureBlock BEGIN --&gt;&lt;/p&gt; &lt;tr&gt; &lt;td style="padding: 3.75pt 7.5pt;" mce_style="padding: 3.75pt 7.5pt;" valign="top"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding: 0in;" mce_style="padding: 0in;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;&lt;!-- CONTENT END --&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="padding: 3.75pt 0in 0in; width: 100%;" valign="top" width="100%"&gt; &lt;div&gt;  &lt;/div&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;And my response:&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt;Hey – I know this might be an automatically generated email from your campaign system, but I wanted to let you know that we’re already using WebEx at CAST. It’s likely that your CRM system is not up to date on this.&lt;/sender's&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt;If it’s upsell you’re  looking for, then I’m afraid I don’t make any of those purchasing decisions. &lt;/span&gt;&lt;/span&gt;&lt;span mce_ style=";font-family:Wingdings;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Wingdings;color:navy;" &gt;:-(&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt;As a marketer, I enjoy getting these emails (really!). The message is appealing. I have two thoughts that you guys might want to consider on future campaigns:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: verdana;" mce_style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt;&lt;span&gt;1)&lt;span mce_ style=";font-family:Times New Roman;"&gt;&lt;span mce_ style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt;Leaving out the  graphics logo – it prompts a security warning that might reduce  responses.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: verdana;" mce_style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt;&lt;span&gt;2)&lt;span mce_ style=";font-family:Times New Roman;"&gt;&lt;span mce_ style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt;On the message itself: I get it that I can cut costs with WebEx, but a phrase on how I can increase revenue would be great. It might be “increase lead count”, but I bet most people don’t know what that means. Also, IMHO, most people don’t seem to care that much about making their internal team more efficient *&lt;b&gt;&lt;span style="font-weight: bold;" mce_style="font-weight: bold;"&gt;unless&lt;/span&gt;&lt;/b&gt;* it means cutting  headcount.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt; Anyway, sorry for not  doing my part on the revenue front. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt; Regards,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span mce_ style=";font-family:Arial;font-size:100%;color:navy;"  &gt;&lt;span mce_ style=";font-family:Arial;color:navy;" &gt; Jitendra&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;Be kind out there!&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-5583172611366698431?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/5583172611366698431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=5583172611366698431&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/5583172611366698431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/5583172611366698431'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/07/view-from-other-side.html' title='The View from the Other Side'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-654915647554467955</id><published>2009-07-12T14:40:00.002-04:00</published><updated>2009-07-14T09:04:28.951-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='resource management'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='PPM tools'/><title type='text'>Why PPM Tools Mislead</title><content type='html'>There are a lot of Project Portfolio Management (PPM) tools out there. And there's a lot of hot air about the distinctions between PPM, ALM, PLM, and who-knows-what-other-M.&lt;br /&gt;&lt;br /&gt;Bottom line: they don't work. Certainly not in the way they are advertised to work. Not even close.&lt;br /&gt;&lt;br /&gt;Over the last 7 years I've heard large companies complain about three main things.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Sticker shock -- the up-front cost is too high.&lt;/li&gt;&lt;li&gt;Data integration is difficult -- doesn't play nice with the systems I have (e.g. defect tracking, resource management).&lt;/li&gt;&lt;li&gt;The customization conundrum -- I need to change it to fit my processes but somehow that starts a vicious circle of change that never stabilizes.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I'll focus on a narrower problem. It's very hard to get the quality of data in these systems up to snuff. And even if you do (a big if), the outputs can still mislead.&lt;br /&gt;&lt;br /&gt;To the extent that your decisions depend on the accuracy of this data, you're sunk.&lt;br /&gt;&lt;br /&gt;The reasons for this are not hugely novel - they are &lt;span style="font-style: italic;"&gt;a priori&lt;/span&gt; points that apply in large part to all quantitative models (I'm assuming PPM tools are a subset of the class of quantitative models -- nothing very controversial.)&lt;br /&gt;&lt;br /&gt;So here we go -- there are some repetitions in the list and that's purely on purpose.&lt;br /&gt;&lt;br /&gt;If you'd rather read a graphical version of this, check it out as a mind map on &lt;a href="http://bit.ly/qIF5V"&gt;MindMeister&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Root Causes of Misleading Results Generated By PPM Tools&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Low Data Quality&lt;br /&gt;&lt;br /&gt; 1.1 lack of completeness&lt;br /&gt;    1.1.1 lack of motivation&lt;br /&gt;    1.1.2 lack of time&lt;br /&gt;    1.1.3 data not available when needed&lt;br /&gt;       1.1.3.1 lack of interfaces/connections&lt;br /&gt;       1.1.3.2 tool not optimized for the environment&lt;br /&gt;    1.1.4 data too difficult to get&lt;br /&gt;    1.1.5 gaming the system&lt;br /&gt;    1.1.6 lack of expertise&lt;br /&gt;    1.1.7 no place to enter relevant data (e.g. PTO hours)&lt;br /&gt;&lt;br /&gt; 1.2 lack of timeliness&lt;br /&gt;    1.2.1 lack of motivation&lt;br /&gt;    1.2.2 lack of time&lt;br /&gt;    1.2.3 data not available when needed&lt;br /&gt;       1.2.3.1 lack of interfaces/connections&lt;br /&gt;       1.2.3.2 tool not optimized for the environment&lt;br /&gt;    1.2.4 data too difficult to get&lt;br /&gt;    1.2.5 gaming the system&lt;br /&gt;    1.1.2.6 lack of expertise&lt;br /&gt;&lt;br /&gt; 1.3. inaccurately entered data&lt;br /&gt;    1.3.1 lack of motivation&lt;br /&gt;    1.3.2 lack of time&lt;br /&gt;    1.3.3 data not available when needed&lt;br /&gt;       1.3.3.1 lack of interfaces/connections&lt;br /&gt;       1.3.3.2 tool not optimized for the environment&lt;br /&gt;    1.3.4 data too difficult to get&lt;br /&gt;    1.3.5 gaming the system&lt;br /&gt;    1.3.6 lack of expertise&lt;br /&gt;    1.3.7 sensitivity to sequence in which data is entered (e.g. one input has to be set before the other but isn't)&lt;br /&gt;    1.3.8 sensitivity to interdependencies (e.g. two inputs need to be entered in concert but are typically set independently)&lt;br /&gt;    1.3.9 Misaligned map of resources to tasks (things don't quite fit neatly into pigeon holes when mapping resources to tasks). This results in the wrong amounts ascribed to the wrong things.&lt;br /&gt;&lt;br /&gt; 1.4. imprecisely entered data&lt;br /&gt;    1.4.1 lack of motivation&lt;br /&gt;    1.4.2 lack of time&lt;br /&gt;    1.4.3 data not available when needed&lt;br /&gt;       1.4.3.1 lack of interfaces/connections&lt;br /&gt;       1.4.3.2 tool not optimized for the environment&lt;br /&gt;    1.4.4 data too difficult to get&lt;br /&gt;    1.4.5 gaming the system&lt;br /&gt;    1.4.6 lack of expertise&lt;br /&gt;    1.4.7 sensitivity to sequence in which data is entered (e.g. one input has to be set before the other but isn't)&lt;br /&gt;    1.4.8 sensitivity to interdependencies (e.g. two inputs need to be entered in concert but are typically set independently)&lt;br /&gt;    1.4.9 Misaligned map of resources to tasks (things don't quite fit neatly into pigeon holes when mapping resources to tasks). This results in the wrong amounts ascribed to the wrong things.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Misleading Outputs (will occur even if data quality is perfect)&lt;br /&gt;&lt;br /&gt;2.1 Input interdependencies that are hidden -- for example, the tool calculates an output -- e.g. the existence of a particular bottleneck -- based on three inputs. Depending on how sensitive the output is to the existence of and the accuracy of each input variable the calculated output can turn out to be useless. This is a pernicious because it is hidden to the user of the tooland puts the user in the dangerous position of making bad decisions due to algorithmic subtleties. In other words, the user has no grip on the amount of variance in the result. This makes it dangerous to base decisions on this output.&lt;br /&gt;&lt;br /&gt;2.2 Divergence of actual resource management processes from the processes dictated by the tool&lt;br /&gt;&lt;br /&gt;2.3 When multiple models are used (most PPM tools contain project, portfolio, resource management modules), the inputs and outputs of each of these sub-models can have unknown interdependencies that drive systematic or unsystematic error.&lt;br /&gt;&lt;br /&gt;2.4 Parameters or constants of the model change and these are not part of the experiential feedback loop for the model (this could include weights of variables or strengths of connections between variables.&lt;br /&gt;   2.4.1 internal factors (new project types, new resource types, new business models, new resourcing strategies, ...)&lt;br /&gt;   2.4.2 external factors (macroecononic, microeconomic, exogenous - e.g. &lt;a href="http://bit.ly/iPAwU"&gt;Gladwell&lt;/a&gt;: "your algorithm doesn't accommodate the fact that the Russian government decides to default on its loans."&lt;br /&gt;&lt;br /&gt;2.5 Variables of the model change or new ones need to be added&lt;br /&gt;   2.5.1 internal factors (new project types, new resource types, new business models, new resourcing strategies, ...)&lt;br /&gt;   2.5.2 external factors (macroecononic, microeconomic, exogenous)&lt;br /&gt;&lt;br /&gt;2.6 Algorithm changes&lt;br /&gt;   2.6.1 internal factors (new project types, new resource types, new business models, new resourcing strategies, ...)&lt;br /&gt;   2.6.2 external factors (macroecononic, microeconomic, exogenous)&lt;br /&gt;&lt;br /&gt;2.7 Model changes (i.e. both variables and algorithm change)&lt;br /&gt;   2.7.1 internal factors (new project types, new resource types, new business models, new resourcing strategies, ...)&lt;br /&gt;   2.7.2 external factors (macroecononic, microeconomic, exogenous)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And lastly, what a PPM tool (or risk model) cannot by itself do:&lt;br /&gt;&lt;br /&gt;* get you executive support&lt;br /&gt;* figure out the process you should put in place&lt;br /&gt;* ensure that the skill needed is actually the skill listed in the input&lt;br /&gt;* ensure data quality&lt;br /&gt;* make decisions on what actions to take&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Whew! Thanks for getting through it! Check out the &lt;a href="http://bit.ly/qIF5V"&gt;MindMeister&lt;/a&gt; version which might be easier to read.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-654915647554467955?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/654915647554467955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=654915647554467955&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/654915647554467955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/654915647554467955'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/07/why-ppm-tools-mislead.html' title='Why PPM Tools Mislead'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-6243214539851436152</id><published>2009-07-11T09:56:00.000-04:00</published><updated>2009-07-12T07:48:11.828-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='value of advice'/><category scheme='http://www.blogger.com/atom/ns#' term='CIO'/><category scheme='http://www.blogger.com/atom/ns#' term='CFO'/><title type='text'>CFOs are Easy</title><content type='html'>To sell advice to, that is…I wouldn’t know about the other thing.&lt;br /&gt;&lt;br /&gt;A few weeks ago, I was standing in an old friend’s flat in London, looking out onto the street, sipping a delicious drink before dinner. Lovely flat, beautiful street.&lt;br /&gt;&lt;br /&gt;This friend sells research products to CFOs of the largest companies in the world. He used to sell similar products to CIOs. We got talking about what the differences are between these two groups and why selling to one might be easier or harder than selling to the other.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why it’s easier to sell research to CFOs than to IT Executives&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;* Urgency for a CFO is event driven and the events are clear for all to see — they’re news events about regulation, economic conditions, etc. Urgency for IT execs is event driven, but these are hidden to company outsiders and tied to specific IT initiatives.&lt;br /&gt;&lt;br /&gt;* The CFO vendor landscape is less competitive than the IT vendor landscape (probably more so when it comes to research on what other companies are doing), not just economic and financial indicators.&lt;br /&gt;&lt;br /&gt;* The gap from information to action/utility is smaller for CFOs than IT executives. It might be an issue of how much it takes to actually be able to do something with the information.&lt;br /&gt;&lt;br /&gt;This gap between information and action is worth thinking about some more.&lt;br /&gt;&lt;br /&gt;A few months ago, someone told me of a three-way distinction that Matt Olson, a research luminary at the Corporate Executive Board uses. It’s a way to qualitatively assess the gap between a piece of advice and the action that it requires to turn it into practice and reap the intended improvement.&lt;br /&gt;&lt;br /&gt;Matt Olson’s Taxonomy of Advice&lt;br /&gt;&lt;br /&gt;* Just add water — Very little work needed to turn advice into practice and reap the intended improvement — it’s plug and play.&lt;br /&gt;&lt;br /&gt;* Just add money — Same as above, but needs to be greased with sufficient funds to get it rolling.&lt;br /&gt;&lt;br /&gt;* Just add blood — This is the tough one. We’re talking labor, change management, project management, delivery schedules, and all the attendant headaches. Sweat. Tears.&lt;br /&gt;&lt;br /&gt;My suspicion is that most IT research/advice falls into the “just add blood” category — as a CIO, I can’t just run with it. And that makes it worth very little.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-6243214539851436152?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/6243214539851436152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=6243214539851436152&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/6243214539851436152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/6243214539851436152'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/07/cfos-are-easy.html' title='CFOs are Easy'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-1233387287825518202</id><published>2009-07-09T21:52:00.003-04:00</published><updated>2009-07-10T07:54:20.917-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='skill'/><category scheme='http://www.blogger.com/atom/ns#' term='luck'/><category scheme='http://www.blogger.com/atom/ns#' term='golf'/><category scheme='http://www.blogger.com/atom/ns#' term='locus of control'/><title type='text'>Do You Feel Lucky? Well, Do Ya?</title><content type='html'>&lt;p&gt;&lt;a bitly="BITLY_PROCESSED" title="Dirty Harry" href="http://www.imdb.com/title/tt0066999/quotes" target="_blank"&gt;Clint Eastwood&lt;/a&gt; said it and Pete Peterson’s &lt;a bitly="BITLY_PROCESSED" title="American Dreamer" href="http://www.nytimes.com/2009/06/21/business/21shelf.html" target="_blank"&gt;life story&lt;/a&gt; is apparently filled with it, but can luck be quantified?&lt;/p&gt; &lt;p&gt;Yes, according to two Business professors, Robert Connolly of the University of North Carolina and Richard Rendleman of Dartmouth. Their work is the subject of a short article in a recent Wall Street Journal &lt;a bitly="BITLY_PROCESSED" title="Winning a Major May Just Be a Matter of Luck" href="http://online.wsj.com/article/SB20001424052970204119704574236053876659482.html?mod=googlenews_wsj" target="_blank"&gt;article&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;By using &lt;a bitly="BITLY_PROCESSED" title="Intro to Cubic Spline Functions" href="http://online.redwoods.cc.ca.us/instruct/darnold/laproj/Fall98/SkyMeg/Proj.PDF" target="_blank"&gt;cubic spline functions&lt;/a&gt; on data from every PGA tournament from 1998 to 2001, they’ve been able to separate out the roles played by skill and by luck in golf.&lt;/p&gt; &lt;p&gt;Based on their technique, they can tell you the score that any golfer’s intrinsic skill alone will produce. Scoring below that is due to good luck; above that, and you’re having bad luck. The amount of luck is measured directly in the number of strokes over or under your skill-based score.&lt;/p&gt; &lt;p&gt;That’s fascinating! It got me thinking about other data sets that this type of analysis might be applied to. We all “play” in arenas where we don’t control everything — and often we don’t even know the relevant myriad variables. This technique might be a way to separate out what we do control from those exogenous factors that influence outcomes.&lt;/p&gt; &lt;p&gt;Some areas where this technique might come in handy:&lt;/p&gt; &lt;p&gt;* Strategic business decisions made with very little information&lt;br /&gt;* Stock picking or portfolio balancing&lt;br /&gt;* Predicting the number of gold medals a country ends up with in the next Olympics&lt;br /&gt;* Calculating the optimal capacity of a company’s IT network&lt;br /&gt;* The number of business disruptions a mission-critical IT system causes&lt;/p&gt; &lt;p&gt;and many many more. In general, these are all cases of complex systems with a multitude of interconnected variables of which any player can only influence a subset.&lt;/p&gt; &lt;p&gt;Once we separate out the skill (or controllable) part from the luck part, what do we do? Well, at least now we can make a more informed decision about how much slack to build in to the business case or contract, or how much insurance to buy.&lt;/p&gt; &lt;p&gt;Luck may favor the well prepared; but even when it doesn’t, you’ll now be prepared.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-1233387287825518202?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/1233387287825518202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=1233387287825518202&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/1233387287825518202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/1233387287825518202'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/07/do-you-feel-lucky-well-do-ya.html' title='Do You Feel Lucky? Well, Do Ya?'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-3640091374727775010</id><published>2009-07-09T12:48:00.012-04:00</published><updated>2009-10-15T22:57:59.980-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud computing'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud migration'/><title type='text'>Cloud Computing: Why Now?</title><content type='html'>&lt;div mce_style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;" style="margin: 0cm 0cm 0pt;"&gt;The financial markets have their &lt;a href="http://www.dailywealth.com/archive/2007/jun/2007_jun_23.asp" mce_href="http://www.dailywealth.com/archive/2007/jun/2007_jun_23.asp" target="_blank" title="The Violence of Secular Market Cycles"&gt;secular cycles&lt;/a&gt;. Technology has its S-curves of adoption. Problem is, it's impossible to tell when that S goes from under-performing little bottom coil to the roaring top of the lucrative cobra head. If you're baffled, have a look at &lt;a href="http://www.visualizingeconomics.com/2008/02/18/adoption-of-new-technology-since-1900/" mce_href="http://www.visualizingeconomics.com/2008/02/18/adoption-of-new-technology-since-1900/" target="_blank" title="Technology Adoption - Visualizing Economics"&gt;these S curves&lt;/a&gt; and you'll know what I'm talking about.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div mce_style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;" style="margin: 0cm 0cm 0pt;"&gt;Now, I'm making some large leaps and am most likely off on my history, but the distance from the Object-Oriented buzz of the late 80s to the SOA crescendo of 2004-2005 was a long time coming. The distance between the ASP model in the early 90s to the Utility Computing craze after the dot com bust is finally now turning into the full-throated scream of cloud computing. Seems to be everywhere now. Everyone's on some cloud or the other.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div mce_style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;" style="margin: 0cm 0cm 0pt;"&gt;So much so that some major IT vendor is going to make a commercial using the old &lt;a href="http://www.youtube.com/watch?v=Ss02sfQinxI" mce_href="http://www.youtube.com/watch?v=Ss02sfQinxI" target="_blank" title="Get Off Of My Cloud"&gt;Rolling Stones anthem&lt;/a&gt; as the soundtrack.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div mce_style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;" style="margin: 0cm 0cm 0pt;"&gt;So what's changed? Why now? Is cloud just the same old same old? There are a few critical things that have changed.&lt;br /&gt;&lt;/div&gt;&lt;div mce_style="margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;" style="margin: 0cm 0cm 0pt;"&gt;Reasons for the rise in cloud computing (IMHO)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" mce_style="margin: 0cm 0cm 0pt 42pt; text-indent: -18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;" style="margin: 0cm 0cm 0pt 42pt; text-indent: -18pt;"&gt;1.   technology advances have driven down the unit costs of:&lt;br /&gt;&lt;/div&gt;&lt;div mce_style="margin: 0cm 0cm 0pt 78pt; text-indent: -18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;" style="margin: 0cm 0cm 0pt 78pt; text-indent: -18pt;"&gt;1.   set up&lt;br /&gt;&lt;/div&gt;&lt;div mce_style="margin: 0cm 0cm 0pt 78pt; text-indent: -18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;" style="margin: 0cm 0cm 0pt 78pt; text-indent: -18pt;"&gt;2.   scaling&lt;br /&gt;&lt;/div&gt;&lt;div mce_style="margin: 0cm 0cm 0pt 78pt; text-indent: -18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;" style="margin: 0cm 0cm 0pt 78pt; text-indent: -18pt;"&gt;3.   maintenance&lt;br /&gt;&lt;/div&gt;&lt;div mce_style="margin: 0cm 0cm 0pt 42pt; text-indent: -18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;" style="margin: 0cm 0cm 0pt 42pt; text-indent: -18pt;"&gt;2.   this makes the cloud computing business model viable (vendors can make money even if they are not at full capacity -- similar to less than full load trucking).&lt;br /&gt;&lt;/div&gt;&lt;div mce_style="margin: 0cm 0cm 0pt 42pt; text-indent: -18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;" style="margin: 0cm 0cm 0pt 42pt; text-indent: -18pt;"&gt;3.   Browser technology is much much better (with AJAX and other related scripting, tools, and technologies)&lt;br /&gt;&lt;/div&gt;&lt;div mce_style="margin: 0cm 0cm 0pt 42pt; text-indent: -18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;" style="margin: 0cm 0cm 0pt 42pt; text-indent: -18pt;"&gt;4.   Web and non-web programming languages and interfaces have improved -- so you can run the front end on a scripted language like python with a back end CICS or mainframe (for example).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.castsoftware.com/"&gt;CAST Application Intelligence Platform&lt;/a&gt; excels in multi-language, multi-platform environments. Having an end-to-end view of the whole system is invaluable, and CAST can provide that visibility.  With the trends of virtualization, cloud, SaaS, PaaS, and related movements, the line between Infrastructure and Applications as functions is blurring. I think this makes CAST's visibility even more valuable.&lt;br /&gt;&lt;br /&gt;My friend and former colleague Mark Tonsetic writes about these developments in his &lt;a href="http://bit.ly/ZmVyo" target="blank"&gt;blog&lt;/a&gt;. It's worth tracking this moving IT target.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-3640091374727775010?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/3640091374727775010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=3640091374727775010&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/3640091374727775010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/3640091374727775010'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/07/cloud-computing-why-now.html' title='Cloud Computing: Why Now?'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-4319985317396671434</id><published>2009-07-08T23:54:00.000-04:00</published><updated>2009-07-09T00:04:53.057-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='intra-IT coordination'/><category scheme='http://www.blogger.com/atom/ns#' term='software performance testing'/><title type='text'>Why Performance Testing is Hard</title><content type='html'>&lt;span id="e:b925" style="color: rgb(0, 0, 255); font-family: verdana;font-family:Arial;font-size:100%;"  &gt;&lt;span class="109580212-10062008" id="e:b926"&gt;&lt;span id="e:b927" style="color: rgb(0, 0, 0);"&gt;Why is it hard to close the gap between the testing and production environments? Why is it hard to increase your confidence level that once something is tested it will work fine in production?&lt;br /&gt;&lt;br /&gt;Here's why.&lt;br /&gt;&lt;br /&gt;1. Some problems only emerge at a certain scale or certain permutation of type and sequence of end user inputs -- even if you could, you don't know this test condition so you don't know how to set it up as a test condition. Because there is no algorithm for this, testing is always hypothesis driven, and there is no mechanical way to systematically reduce the test space. The problem is even harder because an application typical functions with a whole host of other applications in the production environment. Even if there are no functionality dependencies, there can be application server, database server, and middleware configuration dependencies. Bottom line: The right permutations of loading, configuration settings, and user input patterns is impossible to systematically isolate.&lt;br /&gt;&lt;br /&gt;2. Information does help -- the problem is (a) there's too much of it and it's not clear what's relevant. (b) Even when you know what's relevant, it's hard to get that information when you need it and often you can only have it after it's too late.&lt;br /&gt;&lt;br /&gt;3. Even when it comes to testing by applying loads (otherwise known as "database loading"), life is not easy: it's too hard to get vast amounts of data either due to privacy reasons, or not being able to generate the right kind of data - either it's too random or too uniform and doesn't correctly mimic the real world.&lt;br /&gt;&lt;br /&gt;4. Infrastructure Blind Spots for Applications Folks - these are things that have a significant impact on how an application performs in the production environment and can only be fixed by changing the application; yet Applications folks are almost always wholly unaware of the need for such a change.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol style="font-family: verdana;"&gt;&lt;li&gt;&lt;span id="e:b925" style="color: rgb(0, 0, 255);font-size:100%;" &gt;&lt;span class="109580212-10062008" id="e:b926"&gt;&lt;span id="e:b927" style="color: rgb(0, 0, 0);"&gt;   Type of protocol used (especially in web applications)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="e:b925" style="color: rgb(0, 0, 255);font-size:100%;" &gt;&lt;span class="109580212-10062008" id="e:b926"&gt;&lt;span id="e:b927" style="color: rgb(0, 0, 0);"&gt;   TCP window between client and server&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="e:b925" style="color: rgb(0, 0, 255);font-size:100%;" &gt;&lt;span class="109580212-10062008" id="e:b926"&gt;&lt;span id="e:b927" style="color: rgb(0, 0, 0);"&gt;   Number of application turns during a transaction (application "chattiness")&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="e:b925" style="color: rgb(0, 0, 255);font-size:100%;" &gt;&lt;span class="109580212-10062008" id="e:b926"&gt;&lt;span id="e:b927" style="color: rgb(0, 0, 0);"&gt;   Data payload transferred during a transaction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="e:b925" style="color: rgb(0, 0, 255);font-size:100%;" &gt;&lt;span class="109580212-10062008" id="e:b926"&gt;&lt;span id="e:b927" style="color: rgb(0, 0, 0);"&gt;   Firewalls that the transaction has to travel through&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span id="e:b925" style="color: rgb(0, 0, 255); font-family: verdana;font-family:Arial;font-size:100%;"  &gt;&lt;span class="109580212-10062008" id="e:b926"&gt;&lt;span id="e:b927" style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;5. In general, there is a coordination problem between Infrastructure and Applications that is due to three fundamental tensions:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol style="font-family: verdana;"&gt;&lt;li&gt;&lt;span id="e:b925" style="color: rgb(0, 0, 255);font-size:100%;" &gt;&lt;span class="109580212-10062008" id="e:b926"&gt;&lt;span id="e:b927" style="color: rgb(0, 0, 0);"&gt;Misaligned Incentives: Apps. is rewarded for cutting edge functionality; Infrastructure is rewarded for rock-solid stability.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="e:b925" style="color: rgb(0, 0, 255);font-size:100%;" &gt;&lt;span class="109580212-10062008" id="e:b926"&gt;&lt;span id="e:b927" style="color: rgb(0, 0, 0);"&gt;Misaligned Metrics: Infra has availability and network latency and Apps has metrics of how their apps have passed all the performance tests with flying colors. The problem is that this can all be true, yet performance from a business-user's standpoint can be severely impaired.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="e:b925" style="color: rgb(0, 0, 255);font-size:100%;" &gt;&lt;span class="109580212-10062008" id="e:b926"&gt;&lt;span id="e:b927" style="color: rgb(0, 0, 0);"&gt;Misaligned Resourcing Priorities: When Apps. thinks it's time for Infra to work on their project, Infra has other priorities and vice versa.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span id="e:b925" style="color: rgb(0, 0, 255);font-family:Arial;font-size:85%;"  &gt;&lt;span class="109580212-10062008" id="e:b926"&gt;&lt;span id="e:b927" style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-4319985317396671434?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/4319985317396671434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=4319985317396671434&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/4319985317396671434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/4319985317396671434'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/07/why-performance-testing-is-hard.html' title='Why Performance Testing is Hard'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7676275663441826276.post-8581410348704513774</id><published>2009-07-08T22:49:00.001-04:00</published><updated>2009-07-09T22:17:44.959-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software quality'/><category scheme='http://www.blogger.com/atom/ns#' term='software performance testing'/><title type='text'>Reasons for Poor Software Quality</title><content type='html'>Earlier today a friend pointed me to &lt;a href="http://bit.ly/18T3vJ"&gt;Susann Ulrich's article&lt;/a&gt; in IBM DeveloperWorks. It's about the top 10 threats to good software quality.&lt;br /&gt;&lt;br /&gt;My colleague, and &lt;a href="http://www.castsoftware.com/"&gt;CAST&lt;/a&gt; Chief Scientist, &lt;a href="http://en.wikipedia.org/wiki/Bill_Curtis"&gt;Bill Curtis&lt;/a&gt; recently wrote about about the &lt;a href="http://bit.ly/SwEvu"&gt;top 5 causes for poor software quality&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;They both cite very good reasons, with some overlap.&lt;br /&gt;&lt;br /&gt;The root cause of poor quality software is the way in which it necessarily has to be built -- lots of individual developers making hundreds of independent decisions that all have to somehow hang together as a whole. We design top down and hope the design will stick -- much like we do a business case at the start and hope to never revisit it again.&lt;br /&gt;&lt;br /&gt;Will more domain knowledge help? Sure. Will better communication between team members help? Definitely. Will more automated testing help? Absolutely. Anything that helps you get your arms around the &lt;span style="font-style: italic;"&gt;entire thing  &lt;/span&gt;so you see it end to end all at once and can watch it evolve - that's what you need to make a substantial improvement on software quality.&lt;br /&gt;&lt;br /&gt;Building software is an inherently complicated endeavor -- building it well requires simultaneous and ongoing top-down and bottom-up visibility of the whole thing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7676275663441826276-8581410348704513774?l=nestedlists.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nestedlists.blogspot.com/feeds/8581410348704513774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7676275663441826276&amp;postID=8581410348704513774&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/8581410348704513774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7676275663441826276/posts/default/8581410348704513774'/><link rel='alternate' type='text/html' href='http://nestedlists.blogspot.com/2009/07/reasons-for-poor-software-quality.html' title='Reasons for Poor Software Quality'/><author><name>Jitendra Subramanyam</name><uri>http://www.blogger.com/profile/05044941784642921615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_fQZgjf6OD14/SlDMHWk8X6I/AAAAAAAABmY/hUwwR68tySo/S220/Jitendra1.jpg'/></author><thr:total>0</thr:total></entry></feed>
