<?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'><id>tag:blogger.com,1999:blog-8829373276206103863</id><updated>2009-12-06T10:51:29.176Z</updated><title type='text'>Clear Conceptual Thinking</title><subtitle type='html'>No fluff, just stuff: Rolf Goetz' engineering blog on requirements, projects and systems</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default?start-index=26&amp;max-results=25'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>134</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-7536491027361857840</id><published>2009-12-05T08:24:00.004Z</published><updated>2009-12-05T08:36:59.274Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='Principles'/><category scheme='http://www.blogger.com/atom/ns#' term='Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Change'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality'/><category scheme='http://www.blogger.com/atom/ns#' term='Design'/><title type='text'>Who is your hero systems engineer?</title><content type='html'>&lt;div&gt;These days, I‘m inquiring about engineering. I‘d like to know who your hero systems engineer was or is (or will be?). Please comment, or send me a &lt;a href="http://www.twitter.com/rolfgoetz"&gt;twitter&lt;/a&gt; message. Thank you!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thank you again for making it past the first paragraph. ;-) It all started when a couple of weeks ago I again was confronted with a colleague‘s opinion which said that I am a theorist. I refuse this opinion vehemently; quite the contrary, I believe my work, especially my work for the company, is a paragon of pragmatism. ;-)&lt;/div&gt;&lt;div&gt;So my argument against the opinion usually is ,no, I‘m not a theorist!', in a more or less agitated voice. Obviously, I need a better basis for making that point. Kurt Lewin said:&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;Nothing is a s practical as a good theory.&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;I used this sentence for a while as a footer for email that I suspected to raise the ,theorist‘ criticism again.&lt;/div&gt;&lt;div&gt;After all this sentence is only a claim as well, just like my stubborn phrase above. It may be stronger because it carries Lewin‘s weight. Unfortunately very few people instantly know &lt;a href="http://www.infed.org/thinkers/et-lewin.htm"&gt;who Kurt Lewin was&lt;/a&gt;, and that he most of all used experience - not theory - to advance humankind.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then a friend of mine, a U. S. citizen who at some point in time chose to live in Norway (which is a very practical move in my eyes :-), pointed me to the work of &lt;a href="http://www.me.utexas.edu/~koen/"&gt;Billy V. Koen&lt;/a&gt;, Professor for Mechanical Engineering at the University of Texas. You should watch &lt;a href="http://scitalks.com/index.php?category=search&amp;amp;search=koen"&gt;this 1 hour movie&lt;/a&gt; if you are least interested in engineering, philosophy and art. Or in more mundane things like best practices, methods, techniques, recipes, and checklists, many of which concerning business analysis and project management can be found at &lt;a href="http://planetproject.wikidot.com/"&gt;Planet Project&lt;/a&gt; in case you don‘t know.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is Prof. Koen‘s definition of engineering from the movie:&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;The Engineering Method (Design) is the use of heuristics to cause the best change in an uncertain situation within the available resources.&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;Causing change in an uncertain situation within the available resources sounds a lot like project management to me. Like program or portfolio management, too. Maybe like management in general.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is always when an improbable connection opens up between two different fields of my thinking when I find there is useful truth in it. Next, I want to learn about engineering and me, and one way to approach this is to find out who I admire for his or her engineering skills. I tried thinking of a couple of candidate names and found surprisingly few. I‘ve already identified &lt;a href="http://en.wikipedia.org/wiki/Leonardo_da_Vinci"&gt;Leonardo Da Vinci&lt;/a&gt; (who is not a Dan Brown invention like my nephew once suggested. :-) A quick request to the twitterverse offered nothing, no new name. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So this is my next take: I‘d like to know who your hero systems engineer was or is (or will be?), and why. Please comment, or send me a (&lt;a href="http://www.twitter.com/rolfgoetz"&gt;twitter&lt;/a&gt;) message. Thank you!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-7536491027361857840?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/7536491027361857840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=7536491027361857840&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/7536491027361857840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/7536491027361857840'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/12/who-is-your-hero-systems-engineer.html' title='Who is your hero systems engineer?'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-948569450345180461</id><published>2009-10-03T11:20:00.006+01:00</published><updated>2009-10-03T11:33:58.835+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='Goals'/><category scheme='http://www.blogger.com/atom/ns#' term='Principles'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Why High-level Measurable Requirements Speed up Projects by Building Trust</title><content type='html'>&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;b&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;(Allow 5 minutes or less reading time)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Stephen M.R. Covey‘s &lt;/span&gt;&lt;a href="http://www.amazon.com/SPEED-Trust-Thing-Changes-Everything/dp/1416549005/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1253971110&amp;amp;sr=8-1"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The Speed of Trust&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; caused me to realize that trust is an important subject in the field of Requirements Engineering. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Neither the specification of high-level requirements (a.k.a. objectives) nor the specification of measurable requirements are new practices in requirements engineering after all, just solid engineering practice. However, they both are extremely helpful for building trust between customer and supplier.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The level of trust between customer and supplier determines how much rework will be necessary to reach the project goals. Rework – one of the great wastes that software development allows abundantly – will add to the duration and cost of the project, especially if it happens late in the development cycle, i. e. after testing or even after deployment.  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Let me explain. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;If you specify high-level requirements – sometimes called objectives or goals – you make your intentions clear: You explicitly say what it is you want to achieve, where you want to be with the product or system.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;If you specify requirements measurably, by giving either test method (binary requirements) or scale and meter parameters (scalar requirements), you make your intentions clear, too. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;With intentions clarified, the supplier can see how the customer is going to assess his work. The customer‘s agenda will be clear to him. Knowing agendas enables trust. Trust is a prerequisite for speed and therefore low cost.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;“Trust is good, control is better.” says a German proverb that is not quite exact in its English form. If you have speed and cost in mind as dimensions of “better,” then the sentence could not be more wrong! Imagine all the effort needed to continuously check somebody’s results and control everything he does. On the other hand, if you trust somebody, you can relax and concentrate on improving your own job and yourself. It’s obvious that trust speeds things up and therefore consumes less resources than suspiciousness. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Let‘s return to requirements engineering and the two helpful practices, namely specifying high-level requirements and specifying requirements measurably.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;High-level Requirements&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Say the customer writes many low-level requirements but fails to add the top level. By top level I mean the 3 to 10 maybe complex requirements that describe the objectives of the whole system or product. These objectives are then hidden somehow implicitly among the many low-level requirements. The supplier has to guess (or ask). Many suppliers assume the customer knew what he did when he decomposed his objectives into the requirements given in your requirements specification. They trust him. More often than not he didn‘t know, or why have the objectives not been stated in the requirements specification document in the first place?&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;So essentially the customer might have – at best – implicitly said what he wants to achieve and where he is headed. Chances are the supplier’s best guesses missed the point. Eventually he provides the system for the customer to check, and then the conversation goes on like this:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;You: “Hm, so this ought to be the solution to my problem?”&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;He: “Er, … yes. It delivers what the requirements said!”&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;You: “OK, then I want my problem back.” &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;In this case he would better take it back, and work on his real agenda and on how to rebuild the misused trust. However, more often than not what follows is a lengthy phase to work the system or product over, in an attempt to fix it according to requirements that were not clear or even not there when the supplier began working.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Every bit of rework is a bit of wasted effort. We could have done it right the first time, and use the extra budget for a joint weekend fishing trip.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Measurable Requirements&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Nearly the same line of reasoning can be used to promote measurable requirements.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Say the customer specified requirements but failed to AT THE SAME TIME give a clue about how he will test them, the supplier most likely gave him a leap of faith. He could then either be trustworthy or not. Assume he decided to specify acceptance criteria and how you intend to test long after development began, just before testing begins. Maybe the customer didn‘t find the time to do it before. Quite possibly he would change to some degree the possible interpretations of his requirements specification by adding the acceptance criteria and test procedures. From the supplier‘s angle the customer NOW shows your real agenda, and it‘s different from what the supplier thought it was. The customer misused his trust, unintentionally in most cases.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Besides this apparent strain on the relationship between the customer and the supplier, the system sponsor now will have to pay the bill. Quite literally so, as expensive rework to fix things has to be done. Hopefully the supplier delivered early, for more time is needed now.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;b&gt;So...&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Trust is an important prerequisite to systems with few or even zero defects; I experienced that the one and probably last time I was part of a system development that resulted in (close to) zero defects. One of the prerequisites to zero defects is trust between customer and supplier, as we root-cause-analyzed in a &lt;/span&gt;&lt;a href="http://planetproject.wikidot.com/10-critical-requirements-principles-for-0-defects-systems"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;post mortem&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; (ref. principles P1, P4, P7, and P8). Zero defects mean zero rework after the system has been deployed. In the project I was working on it even meant zero rework after the system was delivered for acceptance testing. You see, it makes perfect business sense to build trust by working hard on both quantified and high-level requirements. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;In fact, both practices are signs of a strong competence in engineering. Competence is – in turn – a prerequisite to trust, as Mr. Covey rightly points out in his &lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;aforementioned book. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;If you want to learn more on how to do this, check out these sources:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.theagileengineer.com/public/Articles_and_Tools/Entries/2009/9/8_Measurable_Value_with_Agile.html"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Measurable Value&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; (with Agile), by Ryan Shriver.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gilb.com/Requirements"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;How to rewrite a requirement / How to make it measurable&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; (See a live example of a &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.gilb.com/tiki-index.php?page_ref_id=44"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;bad&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; and a &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.gilb.com/Requirement+Rewritten+Example"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;good&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; high-level specification), by Tom and Kai Gilb.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;You can also find related material on &lt;/span&gt;&lt;/span&gt;&lt;a href="http://planetproject.wikidot.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Planet Project&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://planetproject.wikidot.com/specifying-goals"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;How to Specify High-level Requirements&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; (aka goals).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://planetproject.wikidot.com/nonfunctional-requirements-and-level-of-specification"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Requirements Hierarchies and Types of Requirements&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica"&gt;&lt;br /&gt;&lt;/p&gt;&lt;/b&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-948569450345180461?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/948569450345180461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=948569450345180461&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/948569450345180461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/948569450345180461'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/10/why-high-level-measurable-requirements.html' title='Why High-level Measurable Requirements Speed up Projects by Building Trust'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-2374975189535832202</id><published>2009-09-10T09:36:00.003+01:00</published><updated>2009-09-10T09:45:28.175+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Goals'/><category scheme='http://www.blogger.com/atom/ns#' term='Principles'/><category scheme='http://www.blogger.com/atom/ns#' term='Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Change'/><category scheme='http://www.blogger.com/atom/ns#' term='Updates'/><title type='text'>Quantum Mechanics, Buddhism, and Projects - Again!</title><content type='html'>Today I'm proud to announce that my QMBP :-) article was again published by a major web site on business analysis, requirements engineering and product management: &lt;a href="http://requirementsnetwork.com/"&gt;The Requirements Network&lt;/a&gt;. The site is full of interesting material for beginners and experts. I recommend reading it.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You'll find the piece of mine and some interesting comments &lt;a href="http://requirementsnetwork.com/node/1874"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And - ha! - mind the URL of my article: ... node/1874.&lt;/div&gt;&lt;div&gt;Did you know that Winston Churchill was born that year? Must say something ... :-D&lt;/div&gt;&lt;div&gt;Find out more about &lt;a href="http://vaxxine.com/mgdsite/year/1874.htm"&gt;1874&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&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/8829373276206103863-2374975189535832202?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/2374975189535832202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=2374975189535832202&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/2374975189535832202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/2374975189535832202'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/09/quantum-mechanics-buddhism-and-projects.html' title='Quantum Mechanics, Buddhism, and Projects - Again!'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-5833157491688992380</id><published>2009-07-29T18:28:00.005+01:00</published><updated>2009-07-29T18:42:06.170+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evolutionary Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Citation'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Give Kelly Waters a Hand</title><content type='html'>Follow me on Twitter: &lt;a href="http://www.twitter.com/rolfgoetz"&gt;@rolfgoetz&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.linkedin.com/in/kellywaters"&gt;Kelly Waters&lt;/a&gt;, the creator of the wonderful &lt;a href="http://www.agile-software-development.com/"&gt;All About Agile Weblog&lt;/a&gt;, in &lt;a href="http://www.agile-software-development.com/2009/07/if-you-like-my-blog-please-link-to-it.html"&gt;a recent post&lt;/a&gt; is striving for more reach.&lt;div&gt;I can recommend his work, it's all about agile software development and agile project management. He highlights interesting things about agile all over the web and writes original content explaining some of the key agile principles, how to implement Scrum, user stories and lots more. A really rich source of information about the topic, and easy to read and grasp. He also has ann extensive home page there, so you'll find things easily. &lt;/div&gt;&lt;div&gt;Go check him out and stay with him!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PS: In case you somehow loose the &lt;a href="http://www.agile-software-development.com/"&gt;link to the All About Agile Weblog&lt;/a&gt;, you can always come back to my site and scroll down to the "links."-section on the right. It will be there.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&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/8829373276206103863-5833157491688992380?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/5833157491688992380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=5833157491688992380&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/5833157491688992380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/5833157491688992380'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/07/give-kelly-waters-hand.html' title='Give Kelly Waters a Hand'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-2651829064638797163</id><published>2009-07-28T12:07:00.005+01:00</published><updated>2009-07-28T12:29:12.287+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rules'/><category scheme='http://www.blogger.com/atom/ns#' term='Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Why it is stupid to write specifications and leave out background or commentary information</title><content type='html'>Follow me on Twitter: &lt;a href="http://www.twitter.com/rolfgoetz"&gt;@rolfgoetz&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wrote &lt;a href="http://planetproject.wikidot.com/writing-useful-requirement-specifications"&gt;a set of rules&lt;/a&gt; over at &lt;a href="http://planetproject.wikidot.com"&gt;PlanetProject&lt;/a&gt; that explain why it is a good idea to specify requirements (or designs) giving commentary or background information, and how to do it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://planetproject.wikidot.com/writing-useful-requirement-specifications"&gt;The article&lt;/a&gt; is based on a rather tiring discussion with a hired reqiurements specification writer in one of my projects. She seems to get defensive as soon as I suggest she should supply more 'context' for the readers of her request for proposal document.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More education please, this will bring us closer to the 'professional' bit of 'professional business analyst'.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://planetproject.wikidot.com/writing-useful-requirement-specifications"&gt;Read the article here&lt;/a&gt;. Comments or addidions welcome! (It's a wiki...)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&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/8829373276206103863-2651829064638797163?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/2651829064638797163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=2651829064638797163&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/2651829064638797163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/2651829064638797163'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/07/why-it-is-stupid-to-write.html' title='Why it is stupid to write specifications and leave out background or commentary information'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-7708701138306625780</id><published>2009-07-28T08:54:00.008+01:00</published><updated>2009-08-19T15:29:06.647+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rules'/><category scheme='http://www.blogger.com/atom/ns#' term='Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='Principles'/><category scheme='http://www.blogger.com/atom/ns#' term='Design'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Refurbished: Non-Functional Requirements and Levels of Specification</title><content type='html'>follow me on Twitter: &lt;a href="http://www.twitter.com/rolfgoetz"&gt;@rolfgoetz&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After an interesting and insightful discussion with &lt;a href="http://www.gilb.com/"&gt;Tom Gilb&lt;/a&gt; and Sven Biedermann about one of my latest &lt;a href="http://planetproject.wikidot.com/"&gt;PlanetProject&lt;/a&gt; articles I decided to work it over. It is a how-to for a good requirements hierarchy. A good requirements hierarchy is an important prerequisite to a more-conscious and logical design or architecture process. This is because real requirements drive design, not designs in requirements clothes. (Thanks Tom for yet another clarification!)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It seems, in trying to write as short as possible I was kind of swept away from good writing practice and got sloppy with wording. I also found out that there is a philosophical, hence essential difference in how the process of 'requirements decomposition' can be seen. &lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;One school of thought describes requirements decomposition as a process to help us select and evaluate appropriate designs. &lt;/li&gt;&lt;li&gt;The other school describes requirements decomposition as being a form of the design process.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Personally, I subscribe to the second meaning, because of a belief of mine: mankind is very used to solution-thinking, but very new to problem-thinking (Darwin weights in). So most forms of thinking, including requirements decomposition, are outputs of a solution-finding or design process. Or, as Sven put it, requirements decompostion is a shortcut to designing, where 'designing' takes on the meaning suggested by number 1 above.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, it can be very useful to assume there actually is an essential and clear destinction between requirements decomposition and design processes. The point here is: you need to define it that way, then all is well :-) I didn't define it properly, and thus gave rise to many arguments written and exchanged.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I hope &lt;a href="http://planetproject.wikidot.com/nonfunctional-requirements-and-level-of-specification"&gt;the article&lt;/a&gt; now sheds even more light on the the constant quarrel about so called 'nonfunctional requirements', i. e. what they are, what they are for, why they are so sparse in the common requirement specification documents.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Most requirement specification document I see these days have lots of required functions, and few (if any) requirements for other attributes of the system, like all the -illities. AND many analysts (including me from time to time) confuse non-functional with scalar. &lt;a href="http://planetproject.wikidot.com/nonfunctional-requirements-and-level-of-specification"&gt;Read the article on PlanetProject&lt;/a&gt; to learn more.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&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/8829373276206103863-7708701138306625780?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/7708701138306625780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=7708701138306625780&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/7708701138306625780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/7708701138306625780'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/07/refurbished-non-functional-requirements.html' title='Refurbished: Non-Functional Requirements and Levels of Specification'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-531761801834509581</id><published>2009-07-26T11:44:00.007+01:00</published><updated>2009-07-28T12:29:50.168+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rules'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Principles'/><category scheme='http://www.blogger.com/atom/ns#' term='Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality'/><title type='text'>Intro to Statistical Process Control (SPC)</title><content type='html'>In exploring the web about Deming stuff I stumbled upon &lt;a href="http://home.clara.net/hornsc/spk/spk_intro.htm"&gt;this site&lt;/a&gt; from &lt;a href="http://home.clara.net/hornsc/"&gt;Steve Horn&lt;/a&gt;. It introduces Statistical Process Control (SPC).&lt;div&gt;There are a number of pages on various aspects, like&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://home.clara.net/hornsc/spk/spk_knowledge.htm"&gt;Theory of Knowledge&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://home.clara.net/hornsc/spk/spk_variation.htm"&gt;Knowledge about Variation&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://home.clara.net/hornsc/spk/spk_fourteen_points.htm"&gt;Deming's Fourteen Points for Management&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The articles are read quickly and understood easily. They are written to the point.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'd like to add that in Deming's 14 Points, Point 3 needs a special interpretation for software or (IT) project people.&lt;/div&gt;&lt;div&gt;The point says: &lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;3. Cease dependence on inspection to achieve quality. Eliminate the need for inspection on a mass basis by building quality into the product in the first place.&lt;/blockquote&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Deming was talking about (mass) production. In that field, "inspection" means roughly the same as "testing" in our profession.&lt;/div&gt;&lt;div&gt;In fact, inspections (of requirements, designs, code and test cases) are among the most effective activities you can do in software, for building quality into the product in the first place.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BTW, if you worry about your software development organisation NOT really testing their products, it is a very wise idea to first introduce a couple of  inspection stages, for this is both more efficient (economic) and effective (less defects). It is also a sensible way to introduce learning. &lt;/div&gt;&lt;div&gt;Testing is about finding defects, Inspections are about pointing out systematic errors and give people a real chance for preventing them in the future.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's one quote from Steve I like in particular:&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;Confident people are often assumed to be knowledgeable. If you want to be confident the easiest way is to miss out the 'Study' phase (of the Plan-Do-Study-Act-Cycle) altogether and never question whether your ideas are really effective. This may make you confident but it will not make you right.&lt;/blockquote&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(words in brackets are mine)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&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/8829373276206103863-531761801834509581?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/531761801834509581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=531761801834509581&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/531761801834509581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/531761801834509581'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/07/intro-to-statistical-process-control.html' title='Intro to Statistical Process Control (SPC)'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-2969753067155661562</id><published>2009-07-13T07:49:00.007+01:00</published><updated>2009-07-28T12:30:04.639+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Theory'/><category scheme='http://www.blogger.com/atom/ns#' term='Principles'/><category scheme='http://www.blogger.com/atom/ns#' term='Design'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Levels of Spec Principle, Non-Functional Requirements</title><content type='html'>Follow me on Twitter: @rolfgoetz&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Just a quick remark: I &lt;span class="Apple-style-span"&gt;added a grammar representation to the &lt;a href="http://planetproject.wikidot.com/nonfunctional-requirements-and-level-of-specification"&gt;"levels of specification principle&lt;/a&gt;" on PlanetProject. For those of you who like precision. &lt;/span&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;If my boss sees this, he again will call me a "theorist." :-)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&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/8829373276206103863-2969753067155661562?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/2969753067155661562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=2969753067155661562&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/2969753067155661562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/2969753067155661562'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/07/just-quick-remark-i-added-grammar.html' title='Levels of Spec Principle, Non-Functional Requirements'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-5641178250424834642</id><published>2009-07-03T11:46:00.007+01:00</published><updated>2009-07-28T12:30:24.045+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Principles'/><category scheme='http://www.blogger.com/atom/ns#' term='Change'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>A Quest for Up-Front Quality</title><content type='html'>Today I'd like to point you to the presentation slides of a talk I gave at this year's Gilb Seminar on Culture Change in London. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;You'll find the file if you go to &lt;/span&gt;&lt;a href="http://planetproject.wikidot.com/10-critical-requirements-principles-for-0-defects-systems"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;this PlanetProject page on Zero Defects&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;, navigate to principle P6 and click the link titled "presentation".&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The title was "A Quest for Up-Front Quality".&lt;div&gt;Short outline:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Why I wanted to have a rigorous QA effort for the first steps of a real-life project&lt;br /&gt;&lt;/li&gt;&lt;li&gt;What I did to achieve this (&lt;a href="http://gilb.com/Inspection"&gt;Tom Gilb's Extreme Inspections, aka Agile Inspections, aka Specification Quality Control (SQC)&lt;/a&gt;)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;What the outcomes were, in terms of both quality and budget (with detailed data)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;What the people said about the effort&lt;br /&gt;&lt;/li&gt;&lt;li&gt;What the lessons learned are&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;If you want to see &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;truely amazing results&lt;/span&gt; for one of the most effective methods of software development history, don't miss the slides. Any questions? Just ask!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The talk was warmly welcomed by the great Value-Thinkers of the seminar, special thanks to &lt;a href="http://theagileengineer.com/"&gt;Ryan Shriver&lt;/a&gt;, &lt;a href="http://www.allankelly.net/" title="http://www.allankelly.net/"&gt;Allan Kelly&lt;/a&gt;, &lt;a href="http://www.giovanniasproni.com/" title="http://www.giovanniasproni.com"&gt;Giovanni Asproni&lt;/a&gt;, &lt;a href="http://www.malotaux.nl/" title="http://www.malotaux.nl/"&gt;Niels Malotaux&lt;/a&gt;, &lt;a href="http://www.internalcontrolsdesign.co.uk/icdpicturepage.html"&gt;Matthew Leitch&lt;/a&gt;, &lt;a href="http://www.blogger.com/www.Int-IOM.org"&gt;Jerry Durant&lt;/a&gt;, &lt;a href="http://www.construx.com/"&gt;Jenny Stuart&lt;/a&gt;, &lt;a href="http://www.blogger.com/www.ljungberg-quality.com"&gt;Lars Ljungberg&lt;/a&gt;, &lt;a href="http://www.blogger.com/www.gddeventer.com"&gt;Renze Zijlstra&lt;/a&gt;, &lt;a href="http://www.osel.co.uk/" title="http://www.osel.co.uk/"&gt;Clifford Shelley&lt;/a&gt;, &lt;a href="http://objectivedesigners.com/" title="http://objectivedesigners.com/"&gt;Lorne Mitchell&lt;/a&gt;, &lt;a href="http://infolab.stanford.edu/people/gio.html" title="http://infolab.stanford.edu/people/gio.html" s=""&gt;Gio Wiederhold&lt;/a&gt;, &lt;a href="http://www.pan-metron.com/marilyn-bush.htm" title="http://www.pan-metron.com/marilyn-bush.htm"&gt;Marilyn Bush&lt;/a&gt;, &lt;a href="http://www.arpitha.com/yazdi.html" title="http://www.arpitha.com/yazdi.html"&gt;Yazdi Bankwala,&lt;/a&gt; and all others I forgot to mention. &lt;/div&gt;&lt;div&gt;&lt;br /&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/8829373276206103863-5641178250424834642?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/5641178250424834642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=5641178250424834642&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/5641178250424834642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/5641178250424834642'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/07/quest-for-up-front-quality.html' title='A Quest for Up-Front Quality'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-8039479392741080506</id><published>2009-06-01T11:47:00.007+01:00</published><updated>2009-06-01T12:02:44.464+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evolutionary Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Principles'/><category scheme='http://www.blogger.com/atom/ns#' term='Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality'/><category scheme='http://www.blogger.com/atom/ns#' term='Behavior'/><title type='text'>History Repeating?, or A Case for Real QA</title><content type='html'>&lt;span class="Apple-style-span"   style="  line-height: 18px;font-family:Helvetica;font-size:14px;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Jeff Patton of &lt;a href="http://agileproductdesign.com"&gt;AgileProductDesign.com&lt;/a&gt; has an &lt;a href="http://www.agileproductdesign.com/blog/2009/kanban_over_simplified.html"&gt;excellent article on Kanban Development&lt;/a&gt;. He does a great job in explaining the kanban idea, in relation to the main line of thinking in Agile. The article is about using a pull system rather than a push system like traditional (waterfall) development or agile development with estimation, specification and implementation of user stories.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Reading the first couple of sections got me thinking about another topic. Isn't this agile thing "history repeating"?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;First of all, I'd like to question how common agile development really is. It's clear that the agile community talks a lot about agile (sic!), but what does the numbers tell us? I don't have any, so I'm speculating. Let's assume the percentage of agile developments is significant. (I don't want to argue against Agile, but I want to know if my time is spent right ;-)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Jeffs writes:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;"Once you’ve shrunk your stories down, you end up with different problems. User story backlogs become bigger and more difficult to manage. (...) Prioritizing, managing, and planning with this sort of backlog can be a nasty experience. (...) Product owners are often asked to break down stories to a level where a single story becomes meaningless."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;This reminds me so much of waterfall development, a line of thinking I spent the most of my professional career in, to be honest.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;First, this sounds a lot like the initial point of any requirements management argument. You have so many requirements to manage, you need extra discipline, extra processes, and (of course ;-) an extra tool to do that. We saw (and see) these kind of arguments all over the place in waterfall projects. Second, estimation, a potentially risky view into the future, has always been THE problem in big bang developments. People try to predict minute detail, the prediction covering many months or even years. This is outside most people's capacity. Third and last, any single atomic requirement in a waterfall spec really IS meaningless. I hope we learn from the waterfall experience.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Jeff goes on:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;"Shrinking stories forces earlier elaboration and decision-making."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:16px;"&gt;Waterfall-like again, right?&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;If user stories get shrunk in order to fit in a time-box, there's another solution to the problem (besides larger development time-boxes, or using a pull system like Jeff has beautifully laid out): not make a user story the main planning item. How about "fraction of value delivered" instead, in per cent?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Jeff again:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;"It’s difficult to fit thorough validation of the story into a short time-box as well. So, often testing slips into the time-box after. Which leaves the nasty problem of what to do with bugs which often get piped into a subsequent time-box."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;This is nasty indeed, I know from personal experience. BTW, the same problem exists, but on the other side of the development time-box, if you need or want to thoroughly specify stories/features/requirements. Typical solution: you put it in the time-box BEFORE.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Let's again find a different solution using one of my favorite tools, the 5 Whys.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:16px;"&gt;Why do we put testing in the next time box? Because it consumes too much time.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:16px;"&gt;Why does it consume a lot of time? Because there is a significant number of defects to find and fix (and analyse and deploy and...), before we consider the product good enough for release. &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:16px;"&gt;Why is there a significant number of defects to be found with the testing stage? Because the product brings a significant number with it.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:16px;"&gt;Why does the test-ready product have a significant number of "inherent" defects? Because we have not reduced them significantly them further upstream.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:16px;"&gt;Why didn't we reduce it further upstream? Because we think testing is very effective in finding all kinds of defects, so testing alone (or along with very few other practices) is sufficient for high defect removal efficiency.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;It is not. Period.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;From an economic standpoint it is wise to do proper QA upstream, in order to arrive at all subsequent defect removal stages (including testing) with a smaller number of defects, hence with fewer testing hours needed. This works because defects are removed cheapest and fastest as close as possible to their origin.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;What do I mean by proper upstream QA? Well, I've seen personally that inspections (on requirements/stories, design, code, and tests) deliver jaw-dropping results in terms of defects reduced and ROI. I'm sure there are a couple more, just ask you metrics guru of choice. The point is, see what really helps, by facts and numbers not opinions, and make a responsible decision.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-8039479392741080506?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/8039479392741080506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=8039479392741080506&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/8039479392741080506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/8039479392741080506'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/06/history-repeating-or-case-for-real-qa.html' title='History Repeating?, or A Case for Real QA'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-296879337902131217</id><published>2009-05-22T09:20:00.003+01:00</published><updated>2009-05-22T09:32:55.185+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Use Cases'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='Estimation'/><title type='text'>Estimation with Use Cases: Deeper Thoughts</title><content type='html'>I came across a thought provoking white paper written by John Smith of Rational Software. It's on &lt;a href="http://www.cs.buap.mx/~dpinto/semadoo/finalTP171.PDF"&gt;Estimation of effort based on Use Cases&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you have ever tried estimation with use cases, you know that the various levels of decomposition encountered in the wild are troublesome. John does an excellent job in conceptualizing this problem.&lt;br /&gt;&lt;br /&gt;The article seems to be from 1999, and I'm not sure whether John's ideas made it into the various estimation tools. For me, reading them brought a great deal of clarity in the levels-of-use-cases concept, so I think it's worth reading anyway.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-296879337902131217?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/296879337902131217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=296879337902131217&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/296879337902131217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/296879337902131217'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/05/estimation-with-use-cases-deeper.html' title='Estimation with Use Cases: Deeper Thoughts'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-6531823743258129249</id><published>2009-05-05T14:33:00.002+01:00</published><updated>2009-05-05T14:41:28.489+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rules'/><category scheme='http://www.blogger.com/atom/ns#' term='Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='Principles'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Atomic Functional Requirements</title><content type='html'>The &lt;a href="http://tynerblain.com/blog/2009/04/22/dont-use-shall/"&gt;discussion on shall vs. must&lt;/a&gt; at &lt;a href="http://tynerblain.com/blog/"&gt;Tyner Blain&lt;/a&gt; , on which I have &lt;a href="http://clearconceptualthinking.blogspot.com/2009/04/shall-or-must-to-markup-mandatory.html"&gt;blogged recently&lt;/a&gt;, triggered me to wrap up what I have learned about atomic functional requirements over the years. &lt;div&gt;See 3 principles and 4 rules on &lt;a href="http://planetproject.wikidot.com/writing-atomic-functional-requirements"&gt;PlanetProject&lt;/a&gt;. Feel free to do responsible changes.&lt;/div&gt;&lt;div&gt;The article  explains how to write atomic functional system requirements so that the spec is easy to read, and ambiguity is kept to a minimum.&lt;/div&gt;&lt;div&gt;Note that it is NOT about the even more important (non-)functional user requirements here, in a sense of what a stakeholder expects from the system, which problems shall be solved, what shall be the inherent qualities of the solution etc. I do not intend to argue that any spec must include atomic, functional requirements. But sometimes setup is so that it must. Don't forget to establish the context first.&lt;/div&gt;&lt;div&gt;Now enjoy the article on &lt;a href="http://planetproject.wikidot.com/writing-atomic-functional-requirements"&gt;how to write atomic functional requirements&lt;/a&gt;. Thanks for your comments.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-6531823743258129249?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/6531823743258129249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=6531823743258129249&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/6531823743258129249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/6531823743258129249'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/05/atomic-functional-requirements.html' title='Atomic Functional Requirements'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-4754724398348543386</id><published>2009-04-28T15:38:00.001+01:00</published><updated>2009-04-28T15:39:48.897+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='About'/><title type='text'>Tweets from Rolf</title><content type='html'>Just in case you're interested and did not notice, you can follow me on Twitter using http://twitter.com/rolfgoetz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-4754724398348543386?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/4754724398348543386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=4754724398348543386&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/4754724398348543386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/4754724398348543386'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/04/tweets-from-rolf.html' title='Tweets from Rolf'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-6260542036627628790</id><published>2009-04-28T15:07:00.002+01:00</published><updated>2009-04-28T15:36:02.223+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Shall or must to markup mandatory requirements?</title><content type='html'>Generations of Business Analysts before me had to decide which auxiliary verb to choose in a mandatory system requirement. "Shall", like in "The system shall..." is probably most widely used in the English spec-writing world. But is it a good idea?&lt;div&gt;Scott Selhorst of &lt;a href="http://tynerblain.com/blog/"&gt;Tyner Blain&lt;/a&gt; did &lt;a href="http://tynerblain.com/blog/2009/04/22/dont-use-shall/"&gt;some research&lt;/a&gt; using a novel research method on how ambiguous &lt;span class="Apple-style-span" style="font-style: italic;"&gt;shall&lt;/span&gt; and &lt;span class="Apple-style-span" style="font-style: italic;"&gt;must&lt;/span&gt; are. The bottom line: if for any reason it might not be clear to some reader that &lt;span class="Apple-style-span" style="font-style: italic;"&gt;shall&lt;/span&gt; means mandatory, use &lt;span class="Apple-style-span" style="font-style: italic;"&gt;must &lt;/span&gt;(consistently throughout the spec, of course, and put the convention in your requirements management plan).&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think the &lt;span class="Apple-style-span" style="font-style: italic;"&gt;shall&lt;/span&gt; (as opposed to &lt;span class="Apple-style-span" style="font-style: italic;"&gt;must&lt;/span&gt;) dates back to the old MIL-STD 498, or even DOD-STD 2167A.  And anyone who "grew up" BA-wise in the military or air traffic control fields like me, is very accustomed to the &lt;span class="Apple-style-span" style="font-style: italic;"&gt;shall&lt;/span&gt;, and &lt;span class="Apple-style-span" style="font-style: italic;"&gt;must&lt;/span&gt; might sound too harsh. But, hey, here's my favourite answer to that: "You're writing a spec, and you're not gonna win the literature Nobel prize for it!"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Interesting enough, as Scott points out in his &lt;a href="http://tynerblain.com/blog/2009/04/22/dont-use-shall/"&gt;article&lt;/a&gt;, in many languages other than English &lt;span class="Apple-style-span" style="font-style: italic;"&gt;shall&lt;/span&gt; is not really used for the meaning of mandatory. In German, for instance, the meaning of &lt;span class="Apple-style-span" style="font-style: italic;"&gt;shall&lt;/span&gt; is much closer to &lt;span class="Apple-style-span" style="font-style: italic;"&gt;should&lt;/span&gt; than &lt;span class="Apple-style-span" style="font-style: italic;"&gt;must&lt;/span&gt;.  And we all know what happens in waterfall projects when acceptance testing is due and the developer has implemented only half of the &lt;span class="Apple-style-span" style="font-style: italic;"&gt;should&lt;/span&gt; requirements...&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/8829373276206103863-6260542036627628790?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/6260542036627628790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=6260542036627628790&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/6260542036627628790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/6260542036627628790'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/04/shall-or-must-to-markup-mandatory.html' title='Shall or must to markup mandatory requirements?'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-435624064712646075</id><published>2009-04-28T11:00:00.003+01:00</published><updated>2009-04-28T11:08:03.552+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evolutionary Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality'/><category scheme='http://www.blogger.com/atom/ns#' term='Processes'/><title type='text'>Writing Many High Quality Artefacts - Efficiently</title><content type='html'>I finished a &lt;a href="http://planetproject.wikidot.com/writing-many-high-quality-artefacts"&gt;process description on writing many artefacts&lt;/a&gt;, like use cases, requirements, book chapters, test cases, in high quality with the least effort possible. Please have a look, I'm eager to see your comments. After all, it's a &lt;a href="http://planetproject.wikidot.com/start"&gt;Planet Project&lt;/a&gt; wiki article, so if you feel like it, just edit.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This, again, is on evolution, or learning by feedback. Makes heavy use of inspections. Inspections BTW, are one of the most effective QA methods known in software engineering history, according to metrics expert Capers Jones.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-435624064712646075?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/435624064712646075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=435624064712646075&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/435624064712646075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/435624064712646075'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/04/writing-many-high-quality-artefacts.html' title='Writing Many High Quality Artefacts - Efficiently'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-9100468613950505928</id><published>2009-04-17T10:50:00.004+01:00</published><updated>2009-04-17T11:01:20.750+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Change'/><category scheme='http://www.blogger.com/atom/ns#' term='Behavior'/><category scheme='http://www.blogger.com/atom/ns#' term='Estimation'/><title type='text'>Understanding the exponential function</title><content type='html'>I was pointed to a set of videos that explores the exponential function and what most people think about its consequences. Seems to be a boring topic.&lt;div&gt;It isn't. I watched the first 10 minutes, only to realize my jaw has dropped to the floor. This is stuff I knew and didn't grasp at the same time. I strongly suggest you invest the ∼75 minutes and &lt;a href="http://www.youtube.com/view_play_list?p=6A1FD147A45EF50D"&gt;watch it&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;It hit me two days after I started to drivel about me liking sustainable solutions. I wasn't up to all my senses, obviously. ;-) &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-9100468613950505928?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/9100468613950505928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=9100468613950505928&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/9100468613950505928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/9100468613950505928'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/04/understanding-exponential-function.html' title='Understanding the exponential function'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-5474850378324319091</id><published>2009-04-16T18:04:00.003+01:00</published><updated>2009-04-16T18:32:55.794+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Principles'/><category scheme='http://www.blogger.com/atom/ns#' term='Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality'/><title type='text'>0-defects? I'm not kidding!</title><content type='html'>&lt;div&gt;Today &lt;a href="http://www.targetprocess.com/blog/2009/03/zero-defects-are-you-kidding-me.html"&gt;a post by Michael Dubakov&lt;/a&gt; at &lt;a href="http://www.targetprocess.com/blog/"&gt;The Edge of Chaos&lt;/a&gt; provoked some thoughts. He basically argues, that a zero-defect mentality causes several unpleasant effects in a development team:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Not enough courage to refactor complex, messy, buggy, but important piece of code.&lt;/div&gt;&lt;div&gt;- Can’t make important decision, instead make less risky, but wrong decision.&lt;/div&gt;&lt;div&gt;- Do everything to avoid responsibility, that leads to coward and stupid behavior.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well, I guess the solomonic answer to this critique is 'it depends'. Actually, I'm quite enthusiastic about the zero-defects thought. However, I also know that zero-defects are extremely hard to attain, or can easily be attained by chance ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You maybe remember the post where I detail &lt;a href="http://planetproject.wikidot.com/10-critical-requirements-principles-for-0-defects-systems"&gt;10 Requirements Principles for 0-defect systems&lt;/a&gt;. Therefore I posted the following as a comment to Michael's post, argueing&lt;/div&gt;&lt;div&gt;- that we should not call defects 'bugs', &lt;/div&gt;&lt;div&gt;- that zero-defects can be attained by using principles that have almost nothing to do with testing, but with requirements, &lt;/div&gt;&lt;div&gt;- that testing alone is insufficient for a decent defect removal effectiveness.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hi Michael, &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;thanks for another thought-provoking post! i enjoy reading your blog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hmm, several issues here.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) First of all I think we should come to a culture where we do not call more or less serious flaws in IT systems 'bugs'. To me, it does not make sense to belittle the fact. Let's call them what they are: defects (I'm not going into the possible definitions of a defect here).&lt;/div&gt;&lt;div&gt;This said, look &lt;a href="http://tr.im/iY1X"&gt;here&lt;/a&gt;:  scroll down a bit, and laugh.&lt;/div&gt;&lt;div&gt;And here's &lt;a href="http://xkcd.com/319"&gt;a funny cartoon.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) A couple of years ago I had the luck to be part of a team that delivered (close to) zero defects. I wrote down the 10 principles we used from a requirements perspective. See &lt;/div&gt;&lt;div&gt; the &lt;a href="http://tr.im/iXZF"&gt;short version&lt;/a&gt; on &lt;a href="http://PlanetProject.wikidot.com"&gt;PlanetProject&lt;/a&gt;, more or less uncommented, or &lt;a href="http://tr.im/iYj9"&gt;Part 1&lt;/a&gt; and &lt;a href="http://tr.im/iYlZ"&gt;Part 2&lt;/a&gt; of &lt;/div&gt;&lt;div&gt;a longer version on &lt;a href="http://www.ravensbrain.com/"&gt;Raven's Brain&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;Interesting enough, only 1 out of the 10 principles is directly related to a defect-finding activity. We had a 'zero defect mentality' in a way that we all seriously thought it would be a good idea to deliver excellent quality to the stakeholders. Fear or frustration was not at all part of the game. Mistakes were tolerable, just not in the product at delivery date. Frankly, we were a bit astonished to find out we successfully delivered a nearly defect-free non-trivial system over a couple of releases.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3) While it seems to be a good idea to use the different strategies that you proposed in the original post, I'm missing some notion of how effective the various defect-reducing strategies are. The only relevant quantitative research I know of come from metrics guru Capers Jones. If I remember correctly he states that each single strategy is only about 30% effective, meaning that you need to combine 6-8 strategies in order to end up with a 'professional' defect removal effectiveness. AND you cannot reach a net removal effectiveness of, say, 95% with testing alone. From an economic standpoint it is wise to reduce the number of defects that 'arrive' at testing in the first place, and this is done most effectively by formal inspections (of requirements, design and code).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greetings!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Rolf&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PS: if you find a defect in my comment, you can keep it ;-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-5474850378324319091?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/5474850378324319091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=5474850378324319091&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/5474850378324319091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/5474850378324319091'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/04/0-defects-im-not-kidding.html' title='0-defects? I&apos;m not kidding!'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-6760260351052710959</id><published>2009-04-13T15:43:00.003+01:00</published><updated>2009-04-13T15:54:22.856+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evolutionary Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Goals'/><category scheme='http://www.blogger.com/atom/ns#' term='Principles'/><category scheme='http://www.blogger.com/atom/ns#' term='Behavior'/><title type='text'>Value Thinking: Using Scalpels not Hatchets</title><content type='html'>Ryan Shriver, managing consultant at Dominion Digital, has put out an &lt;a href="http://www.gantthead.com/content/articles/248232.cfm"&gt;excellent article on Value Thinking&lt;/a&gt;. I think his views are extremely relevant, as we see cost reduction programs all around the IT globe. I can't tell you how much Ryan is spot on, considering the organization I work for (sorry, can't tell you more in public).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The article is short, gives ample information on the WHAT and (more importantly) the WHY.&lt;/div&gt;&lt;div&gt;Ryan writes in due detail about 4 policies and 5 practices, his advice to struggling IT shops and IT departments.  Thanks Ryan!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's on &lt;a href="http://www.gantthead.com"&gt;gantthead.com&lt;/a&gt;, and I recommend signing up if you aren't already, it's free.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-6760260351052710959?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/6760260351052710959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=6760260351052710959&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/6760260351052710959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/6760260351052710959'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/04/value-thinking-using-scalpels-not.html' title='Value Thinking: Using Scalpels not Hatchets'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-6994579691390151654</id><published>2009-04-11T15:16:00.002+01:00</published><updated>2009-04-11T15:29:57.845+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Processes'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Extracting Business Rules from Use Cases</title><content type='html'>A while ago I posted a process for Extracting Business Rules from Use Cases, on &lt;a href="http://clearconceptualthinking.blogspot.com/2007/09/improve-reusability-of-use-cases-by.html"&gt;this blog&lt;/a&gt; and on &lt;a href="http://planetproject.wikidot.com/improve-reusability-of-use-cases-by-extracting-business-rule"&gt;PlanetProject&lt;/a&gt;. I'm proud to announce an article on the very same subject. While the original form was quite condensed, the new version has more background, and examples. It has the core process of course. Find it at &lt;a href="http://www.modernanalyst.com/Default.aspx"&gt;modernAnalyst.com&lt;/a&gt; as a &lt;a href="http://www.modernanalyst.com/Resources/Articles/tabid/115/articleType/ArticleView/articleId/880/Use-Case-Recycling-by-Extracting-Business-Rules.aspx"&gt;featured article&lt;/a&gt;.&lt;div&gt;I'd be happy to discuss the topic here, &lt;a href="http://www.modernanalyst.com/Resources/Articles/tabid/115/articleType/ArticleView/articleId/880/Use-Case-Recycling-by-Extracting-Business-Rules.aspx"&gt;there&lt;/a&gt;, or work with you on improvements on &lt;a href="http://planetproject.wikidot.com/improve-reusability-of-use-cases-by-extracting-business-rule"&gt;PlanetProject&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-6994579691390151654?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/6994579691390151654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=6994579691390151654&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/6994579691390151654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/6994579691390151654'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/04/extracting-business-rules-from-use.html' title='Extracting Business Rules from Use Cases'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-5001461479463029849</id><published>2009-04-06T11:49:00.000+01:00</published><updated>2009-04-06T12:24:47.219+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rules'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Rules for Checking Use Cases</title><content type='html'>A couple of months ago I assumed the role of a quality manager for one of my projects. I learned that document quality control requires a set of defined rules to check documents against. Because the documents to do quality control on were 90% use cases, I defined a &lt;a href="http://planetproject.wikidot.com/rules-for-checking-use-cases"&gt;set of 8 rules for checking use cases&lt;/a&gt;, working with authors and checkers, as well as subject matter experts (read: customers). you can find them on &lt;a href="http://planetproject.wikidot.com/"&gt;Planet Project&lt;/a&gt;.&lt;br /&gt;For all readers who face the challenge to find a BA job, or at least a (second) job where BA skills are applicable, there's an &lt;a href="http://www.modernanalyst.com/Community/Forums/tabid/76/forumid/20/threadid/3016/scope/posts/Default.aspx"&gt;interesting discussion &lt;/a&gt;going on at the modernAnalyst-Forum. I suggested to move to a QA perspective. This idea fits with the above &lt;a href="http://planetproject.wikidot.com/rules-for-checking-use-cases"&gt;Use Case Checking Rules&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-5001461479463029849?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/5001461479463029849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=5001461479463029849&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/5001461479463029849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/5001461479463029849'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/04/rules-for-checking-use-cases.html' title='Rules for Checking Use Cases'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-6051321888991827753</id><published>2009-03-05T16:07:00.003Z</published><updated>2009-03-05T16:29:15.212Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='Goals'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Update on Specifying Goals</title><content type='html'>I updated the &lt;a href="http://planetproject.wikidot.com/"&gt;Planet Project&lt;/a&gt; article on &lt;a href="http://planetproject.wikidot.com/specifying-goals"&gt;Specifying goals,&lt;/a&gt; using some of Tom Gilb's approaches and recent experience with the topic from one of my projects.&lt;div&gt;In this project, we struggled somewhat to explain to our subject-matter experts the importance of beginning with the (ultimate) end in mind. They thought they had to describe every little step, every button and every view of an IT application down to the smallest detail.&lt;/div&gt;&lt;div&gt;My favorite example was the following sequence (from a use case description), repeated a hundred times within the requirement specification:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;User does some inputs&lt;br /&gt;&lt;/li&gt;&lt;li&gt;User "sends" the input, i. e. confirms his inputs&lt;/li&gt;&lt;li&gt;System checks inputs against rules X and Y&lt;/li&gt;&lt;li&gt;Systems shows an error message in case the checks fail.&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ol&gt;I finally got them with suggesting an alternative solution, roughly like this:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;User does some inputs&lt;/li&gt;&lt;li&gt;(System has to make sure rules X and Y are not broken)&lt;/li&gt;&lt;/ol&gt;I guess the key was to make up a scenario which used quite a lot of sarcasm:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;"I think I am an expert user."&lt;/li&gt;&lt;li&gt;"I do these simple inputs. Damn I'm good!"&lt;/li&gt;&lt;li&gt;"Now send the stuff to the stupid machine." *klick*&lt;/li&gt;&lt;li&gt;"Ooops ... What the ...."&lt;/li&gt;&lt;li&gt;"The stupid machine says I did it wrong?!"&lt;/li&gt;&lt;li&gt;"Why didn't it prevent me from doing it wrong, is there anything this machine is useful for?"&lt;/li&gt;&lt;/ol&gt;:-D&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-6051321888991827753?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/6051321888991827753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=6051321888991827753&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/6051321888991827753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/6051321888991827753'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/03/update-on-specifying-goals.html' title='Update on Specifying Goals'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-1606489755166487335</id><published>2009-02-15T12:38:00.004Z</published><updated>2009-02-15T12:43:52.181Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evolutionary Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Change'/><category scheme='http://www.blogger.com/atom/ns#' term='Behavior'/><title type='text'>Do you care about your customer, every day?</title><content type='html'>There's a wonderful parable on real customer satisfaction on the &lt;a href="http://joshuahoover.com/2009/02/14/the-customers-disappear-right-before-our-eyes/"&gt;"i must be an acrobat" weblog&lt;/a&gt; by Joshua Hoover.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;He compares eating out in a restaurant with inattentive waiters to developing software without delivering real results to a customer.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-1606489755166487335?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/1606489755166487335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=1606489755166487335&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/1606489755166487335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/1606489755166487335'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/02/do-you-care-about-your-customer-every.html' title='Do you care about your customer, every day?'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-3998343404932147225</id><published>2009-02-11T08:20:00.004Z</published><updated>2009-02-11T08:30:12.752Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rules'/><category scheme='http://www.blogger.com/atom/ns#' term='Risk'/><category scheme='http://www.blogger.com/atom/ns#' term='Behavior'/><title type='text'>7 Habits of Highly Effective Risk Managers</title><content type='html'>I'm proud to announce that Raven, author of the wonderful &lt;a href="http://www.ravensbrain.com/"&gt;Raven's Brain weblog&lt;/a&gt; published another guest post of mine.&lt;br /&gt;It is on effective risk management, titled "&lt;a href="http://www.ravensbrain.com/2009/02/7-habits-of-highly-effective-risk.html"&gt;7 Habits of Highly Effective Risk Managers&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;As you can expect from my material it is a set of rules, that risk managers can easily apply to their jobs. It might also help if you are NOT the risk manager in your endeavor, but want to help someone who is.&lt;br /&gt;&lt;br /&gt;Here's the condensed version:&lt;br /&gt;&lt;br /&gt;R1: Be responsible.&lt;br /&gt;R2: Analyse in depth.&lt;br /&gt;R3: Use hard facts.&lt;br /&gt;R4: Do more than one thing.&lt;br /&gt;R5: It's not fire and forget.&lt;br /&gt;R6: Integrate.&lt;br /&gt;R7: Don't change the scales of measurement.&lt;br /&gt;&lt;br /&gt;In &lt;a href="http://www.ravensbrain.com/2009/02/7-habits-of-highly-effective-risk.html"&gt;the blogpost itself &lt;/a&gt;I explain every rule/habit in detail. Thanks &lt;a href="http://nitpicker.pbwiki.com/"&gt;Dick Karpinski&lt;/a&gt; for nitpicking and thanks Mr. Covey for the title.&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829373276206103863-3998343404932147225?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/3998343404932147225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=3998343404932147225&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/3998343404932147225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/3998343404932147225'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/02/7-habits-of-highly-effective-risk.html' title='7 Habits of Highly Effective Risk Managers'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-1356078159997040818</id><published>2009-01-30T06:44:00.005Z</published><updated>2009-01-30T07:16:33.797Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Function Points'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='Estimation'/><title type='text'>Estimating with Use Case Points - FREE template</title><content type='html'>Being lazy, I was looking for a free, read-made, comprehensive and easy-to-use spreadsheet template for estimating project effort with use case points. I needed it for one of my current projects, in which we are writing 200+ use cases (sic!, see my remark below), and prepare a project proposal for senior management. &lt;div&gt;I came across &lt;a href="http://tynerblain.com/"&gt;Scott Selhorst&lt;/a&gt;'s material on Use Case Point Estimation. Very useful!&lt;/div&gt;&lt;div&gt;Check out:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://tynerblain.com/blog/2007/02/12/software-cost-estimation-ucp-1/"&gt;An introduction&lt;/a&gt; to use case point estimation with good context for use case newbies&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://tynerblain.com/blog/2007/02/19/software-cost-estimation-ucp-6/"&gt;A How-to for the final calculations&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://tynerblain.com/blog/2007/02/20/software-cost-estimation-ucp-7/"&gt;The free template&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The template can also be googled and found at &lt;a href="http://www.modernanalyst.com"&gt;modernAnalyst&lt;/a&gt;, another useful source of information for business analysts and such folk.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Note on the large number of use cases: I personally think they are no real use cases. It's quite close to a functional decomposition done in use case form. I expect the system to arrive at about 8000 Function Points, but estimates range from 1.000 to 15.000 as of now :-)&lt;/span&gt;&lt;/div&gt;&lt;div&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/8829373276206103863-1356078159997040818?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/1356078159997040818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=1356078159997040818&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/1356078159997040818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/1356078159997040818'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2009/01/estimating-with-use-case-points-free.html' title='Estimating with Use Case Points - FREE template'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8829373276206103863.post-9167301371827849392</id><published>2008-12-25T09:22:00.005Z</published><updated>2008-12-25T10:13:18.857Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evolutionary Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Change'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Software Development Practice in the 21st (22nd?) Century</title><content type='html'>A couple of months ago I published an article about &lt;a href="http://www.ravensbrain.com/2008/08/10-critical-requirements-principles-for.html"&gt;10 Critical Requirements Principles for 0-Defects-Systems&lt;/a&gt; (on &lt;a href="http://www.ravensbrain.com/"&gt;Ravens Brain&lt;/a&gt;). Anecdotal evidence on how I once achieved zero defects in one of my projects.&lt;div&gt;&lt;br /&gt;&lt;div&gt;If you like the thought of reliable software (sic!) you might as well like &lt;a href="http://www.fastcompany.com/magazine/06/writestuff.html"&gt;Charles Fishman's article&lt;/a&gt; on the On-Board Shuttle Group, the producer of the space shuttle's software. Yes, they have a lot of money to spend, but many lives and expensive equipment are at stake.&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;This software never crashes. It never needs to be re-booted. This software is bug-free. It is perfect, as perfect as human beings have achieved. Consider these stats : the last three versions of the program -- each 420,000 lines long-had just one error each. The last 11 versions of this software had a total of 17 errors. -- Charles Fishman on the software product the Group puts out&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;BTW, they seem to use three key pracices: very &lt;a href="http://planetproject.wikidot.com/avoid-requirements-related-defects-in-it-systems"&gt;detailed requirements&lt;/a&gt;, &lt;a href="http://gilb.com/Inspection"&gt;inspections&lt;/a&gt; and &lt;a href="http://gilb.com/Project-Management"&gt;continuous improvement&lt;/a&gt;. &lt;/div&gt;&lt;blockquote&gt;The way the process works, it not only finds errors in the software. The process finds errors in the process. -- Charles Fishman on the On-Board Shuttle Group's process&lt;/blockquote&gt;&lt;div&gt;Happy New Year! (Note that 2009 is a year of the 21st century. Can't we do any better?)&lt;br /&gt;&lt;br /&gt;PS: I'm going to go on vacation from Dec 28 to Jan 20. More interesting topics still to come, please be patient.&lt;br /&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/8829373276206103863-9167301371827849392?l=clearconceptualthinking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clearconceptualthinking.blogspot.com/feeds/9167301371827849392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8829373276206103863&amp;postID=9167301371827849392&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/9167301371827849392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8829373276206103863/posts/default/9167301371827849392'/><link rel='alternate' type='text/html' href='http://clearconceptualthinking.blogspot.com/2008/12/software-development-practice-in-21st.html' title='Software Development Practice in the 21st (22nd?) Century'/><author><name>Rolf</name><uri>http://www.blogger.com/profile/16327210436812276291</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14653538899605192655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>