<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Compound Thinking &#187; Misc</title>
	<atom:link href="http://compoundthinking.com/blog/index.php/category/misc/feed/" rel="self" type="application/rss+xml" />
	<link>http://compoundthinking.com/blog</link>
	<description>Thinking about programming in new ways</description>
	<lastBuildDate>Mon, 26 Jul 2010 17:28:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Just say no to &#8220;software engineering&#8221;</title>
		<link>http://compoundthinking.com/blog/index.php/2008/11/24/just-say-no-to-software-engineering/</link>
		<comments>http://compoundthinking.com/blog/index.php/2008/11/24/just-say-no-to-software-engineering/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 04:42:33 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=524</guid>
		<description><![CDATA[I was reading Jacob Kaplan-Moss&#8217;s blog article on &#8220;syntactic sugar&#8221; and I realized that there&#8217;s something sitting just below the surface of what he&#8217;s saying, something important, something counter to the standard &#8220;software development is an engineering discipline&#8221; view of our work. Jacob rails against those who say the differences between modern computer languages amount [...]]]></description>
			<content:encoded><![CDATA[<p>I was reading Jacob Kaplan-Moss&#8217;s blog article on &#8220;<a href="http://www.jacobian.org/writing/syntactic-sugar/">syntactic sugar</a>&#8221; and I realized that there&#8217;s something sitting just below the surface of what he&#8217;s saying, something important, something counter to the standard &#8220;software development is an engineering discipline&#8221; view of our work. </p>
<p>Jacob rails against those who say the differences between modern computer languages amount to nothing more than &#8220;syntactic sugar.&#8221;  Ultimately he argues that: <strong>Syntactic sugar matters.</strong> </p>
<p>Sure it makes no &#8220;technical&#8221; difference but it does make a huge difference &#8212; because <em> it changes the way we think</em> about writing software.  </p>
<p>I&#8217;ll loop back to that in a second, but first a quick detour through another recent blog post:</p>
<blockquote><p>Eventually you come to realize that in order to truly succeed, you have to write programs that can be understood by <em>both the computer and your fellow programmers</em>.</p>
<p>Of all the cruel tricks in software engineering, <strong>this has to be the cruelest</strong>&#8230;. Even when you&#8217;re writing code explicitly intended for the machine, you&#8217;re still writing. For other people. Fallible, flawed, distracted human beings just like you. And that&#8217;s the truly difficult part.
</p></blockquote>
<p>&#8211;<a href="http://www.codinghorror.com/blog/archives/001184.html">Jeff Attwod</a></p>
<p>The thread that ties both of these together is that they highlight the way that people and by people I mean software developers, tend to forget is that <strong>code is always two things</strong>: </p>
<ul>
<li>A series of instructions or declarations processed by a computer.</li>
<li>A series of instructions or declarations processed by one or more human beings.</li>
</ul>
<p><a href="http://compoundthinking.com/blog/wp-content/uploads/2008/11/istock_000002486766xsmall.jpg"><img src="http://compoundthinking.com/blog/wp-content/uploads/2008/11/istock_000002486766xsmall.jpg" alt="" title="Gear Head" width="247" height="246" align = 'right' /></a>Code is a machine construct, but it&#8217;s also a social construct.   Software engineering is a strange name for our discipline, since the hard work of programming isn&#8217;t just getting code that machines can run, but in creating abstractions that allow human beings to learn, understand, and evolve the code over time.  We didn&#8217;t invent Structured Programming, or Object Oriented Programming because they help the computer understand what we mean &#8212; we created them because they provide us with tools to help us <em>as human beings</em> to be able to understand the code we write.  </p>
<p>Non-software Engineers aren&#8217;t concerned primarily with the practice of communicating complex thoughts and ideas to others.  This is a vast oversimplification,  but I think it&#8217;s fair to say that they are interested in constructing mathematical models of how things things behave, so that they can build stuff that works.  </p>
<p>But that&#8217;s not what we are, we are creative writers, we invent new ways of thinking about the world, and we try to communicate them to each other every day.   </p>
<p>Software Engineers do create incredibly complex systems, and operate under constraints that other writers do not &#8212; what we write has two audiences, one human, and one non-human.   Writing for the non-human audience alone will result in code that&#8217;s incomprehensible to other programmers, but the opposite is also true.   Computer programming is hard &#8212; and it&#8217;s hard for a very specific reason  &#8212; because it requires thinking like other people, and not thinking like people at all. </p>
<p>Fortunately, the problem is simplified a bit by the fact that other programmers have learned at least somewhat to think like silicon and metal, so you can lean a little bit in that direction and still be understood.  But still you have a very exacting, very alien audience, and a very exacting, very human one &#8212; and programming languages must be designed to balance the needs of both.</p>
<p>So, perhaps we ought to stop calling ourselves software developers, software architects, or software engineers, and start calling ourselves software writers.  </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2008/11/24/just-say-no-to-software-engineering/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Suburbia</title>
		<link>http://compoundthinking.com/blog/index.php/2008/05/14/suburbia/</link>
		<comments>http://compoundthinking.com/blog/index.php/2008/05/14/suburbia/#comments</comments>
		<pubDate>Wed, 14 May 2008 19:11:24 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=319</guid>
		<description><![CDATA[Prolonged adolecence is not a new problem, it&#8217;s just new to the masses: Children of kings and great magnates were the first to grow up out of touch with the world. Suburbia means half the population can live like kings&#8230;. Paul Graham You can&#8217;t shelter people from everything bad or scary, and expect them to [...]]]></description>
			<content:encoded><![CDATA[<p>Prolonged adolecence is not a new problem, it&#8217;s just new to the masses: </p>
<blockquote><p>Children of kings and great magnates were the first to grow up out of touch with the world. Suburbia means half the population can live like kings&#8230;.
</p></blockquote>
<p><a href="http://www.paulgraham.com/lies.html">Paul Graham</a></p>
<p>You can&#8217;t shelter people from everything bad or scary, and expect them to live in the real world.    </p>
<p><strong>Project managers, System Administrators, and parents should take note of this.</strong></p>
<p>People can only step up and take responsibility when they actually know what&#8217;s going on.   Seems to me that there are lessons for how we talk to people about project risks, how we handle e-mail spam problems, and how we think about IT services.   It&#8217;ll be a while before I figure out what exactly all of those lessons are&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2008/05/14/suburbia/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Heard at work</title>
		<link>http://compoundthinking.com/blog/index.php/2007/12/03/heard-at-work/</link>
		<comments>http://compoundthinking.com/blog/index.php/2007/12/03/heard-at-work/#comments</comments>
		<pubDate>Mon, 03 Dec 2007 22:29:10 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2007/12/03/heard-at-work/</guid>
		<description><![CDATA[We were discussing RuleDispatchEs ist ublich beim online poker alle Karten einzeln zu verteilen und diese solange verdeckt. and how it determines which set of predicates are &#8220;more specific&#8221; and I asked, &#8220;is isinstance() more specific than hasattr()?&#8221; at which point Aaron Bickell asked an very interesting related question: Are bowling balls more tasty than [...]]]></description>
			<content:encoded><![CDATA[<p>We were discussing <a href="http://www-128.ibm.com/developerworks/library/l-cppeak2/">RuleDispatch</a><noscript>Es ist ublich beim <a href="http://www.storheden.com">online poker</a> alle Karten einzeln zu verteilen und diese solange verdeckt.</noscript> and how it determines which set of predicates are &#8220;more specific&#8221; and I asked, &#8220;is <code>isinstance()</code> more specific than <code>hasattr()</code>?&#8221; at which point Aaron Bickell asked an very interesting related question: </p>
<blockquote><p>Are bowling balls more tasty than love?</p></blockquote>
<p>Thus pointing out the absurdity of my original question.   But now I want to know! Are bowling balls more tasty than love?</p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2007/12/03/heard-at-work/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Using the Terminal Server Console</title>
		<link>http://compoundthinking.com/blog/index.php/2007/01/31/using-the-terminal-server-console/</link>
		<comments>http://compoundthinking.com/blog/index.php/2007/01/31/using-the-terminal-server-console/#comments</comments>
		<pubDate>Wed, 31 Jan 2007 04:41:05 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2007/01/31/using-the-terminal-server-console/</guid>
		<description><![CDATA[Remote administration is the name of the game for the independant contractor. In a past life I did system administration for a living, and programming as a hobby. Now the situation is reversed, except System Administration is a boring hobby. But at least with good tools, I can participate this odd hobby in the comfort [...]]]></description>
			<content:encoded><![CDATA[<p>Remote administration is the name of the game for the independant contractor.  In a past life I did system administration for a living, and programming as a hobby.  Now the situation is reversed, except System Administration is a boring hobby.   </p>
<p>But at least with good tools, I can participate this odd hobby in the comfort of my own home.</p>
<p>SSH makes Remote administration of linux/Unix servers remarkably easy.  Unfortunately Windows 2k/2k3 requires a GUI for Remote administration, but Microsoft generosity has alloted two Terminal Server Clients for remote administration purposes on every Windows 2000 and Windows 2003 Server they sell.   Unfortunately, sometimes you get disconnected unintentionally.  If this happens twice, you could get the dreaded &#8220;The terminal server has exceeded the maximum number of allowed connections&#8221; error.   </p>
<p>Now, you can&#8217;t even connect to disconnect the old sessions.  You&#8217;re screwed, and you need to drive an hour to the server and get to the machine and kill the inactive sessions.  </p>
<p>Not really, you can just:<br />
<code><br />
start | run - mstsc -v:10.10.10.10 /f -console</code></p>
<p>This attaches you to the special &#8220;console&#8221; session, which kicks whoever is logged in locally off and allows you to remote control the machine again.  You can then kill the inactive sessions and move on with your life.  Always kill the inactive sessions first, because if you get disconnected again you will have to drive in.  </p>
<p>Since I normally run Linux at home, I don&#8217;t use the above command, I use: </p>
<p><code>rdesktop -0</code></p>
<p>I also have a shiny new MacBook which isn&#8217;t always booted into Ubuntu Linux, sometimes it actually runs Mac OS X.   Have no fear I can use the Remote Desktop Client to connect to the console session: </p>
<p>No fancy command line option here, but you can hold down the command (open apple) key and click the <strong>Connect</strong> button. </p>
<p>If you control the server, and you don&#8217;t have any long running user processes you want to be able to reconnect to on the server I highly recommend also setting up your servers to automatically disconnect inactive sessions.   </p>
<p>That way even if you get disconnected, you just have to wait a few min. until the first connection to drop times out. </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2007/01/31/using-the-terminal-server-console/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TurboGears Tutorial</title>
		<link>http://compoundthinking.com/blog/index.php/2007/01/15/turbogears-tutorial/</link>
		<comments>http://compoundthinking.com/blog/index.php/2007/01/15/turbogears-tutorial/#comments</comments>
		<pubDate>Mon, 15 Jan 2007 04:42:18 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2007/01/15/turbogears-tutorial/</guid>
		<description><![CDATA[I&#8217;ve heard that some folks are having trouble signing up for the TurboGears Tutorials at PyCon. Hopefully, that&#8217;s all sorted out, and you can register at the PyCon site. If you&#8217;ve been on the fence about that, today would be a great day to sign up, since PyCon registration will cost $65 more if you [...]]]></description>
			<content:encoded><![CDATA[<p><img id="image114" align="left" src="http://compoundthinking.com/blog/wp-content/uploads/2006/06/398755_class_room.jpg" alt="Class Room" /><br />
I&#8217;ve heard that some folks are having trouble signing up for the TurboGears Tutorials at PyCon.   </p>
<p>Hopefully, that&#8217;s all sorted out, and you can <a href="http://www.python.org/community/pycon/register/">register </a>at the PyCon site.   If you&#8217;ve been on the fence about that, today would be a great day to sign up, since PyCon registration will cost $65 more if you wait until Tuesday.   </p>
<p>I&#8217;m excited about all the interest shown so far, and I hope some more people sign up, because it looks like there&#8217;s going to be some extra cool stuff released in the next month, and I&#8217;ve gotten to see some of it and it looks fantastic.   So, I would expect that there will be some interesting new stuff to cover in Tutorials, even for all you old hands out there ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2007/01/15/turbogears-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s wrong with MBAs?</title>
		<link>http://compoundthinking.com/blog/index.php/2006/11/01/whats-wrong-with-mbas/</link>
		<comments>http://compoundthinking.com/blog/index.php/2006/11/01/whats-wrong-with-mbas/#comments</comments>
		<pubDate>Wed, 01 Nov 2006 04:31:02 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Lean IT]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2006/11/01/whats-wrong-with-mbas/</guid>
		<description><![CDATA[I know it&#8217;s popular for programmers to bash Managers, and MBAs. And I don&#8217;t want to jump on the bandwagon &#8211;especially since I&#8217;m also a manager. But I know that the image of the pointy haired boss is pretty thoroughly ingrained in our culture, and popular mythology exists to explain a shared experience. Clearly there [...]]]></description>
			<content:encoded><![CDATA[<p>I know it&#8217;s popular for programmers to bash Managers, and MBAs.   And I don&#8217;t want to jump on the bandwagon &#8211;especially since I&#8217;m also a manager.  </p>
<p>But I know that the image of the pointy haired boss is pretty thoroughly ingrained in our culture, and popular mythology exists to explain a shared experience.</p>
<p>Clearly there are a lot of bad managers with MBA&#8217;s from prestigious institutions out there.  </p>
<p>Henry Mintzberg does more to explain how this happened &#8212;  and what we might be able to do about it &#8212;  than anybody else I&#8217;ve read recently.</p>
<p><a title="View product details at Amazon" href="http://www.amazon.com/gp/redirect.html%3FASIN=1576753514%26tag=pragmaticsyst-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/1576753514%253FSubscriptionId=0EMV44A9A5YT1RVDGZ82"><img align="left" title="Managers Not MBAs: A Hard Look at the Soft Practice of Managing and Management Development" alt="Managers Not MBAs: A Hard Look at the Soft Practice of Managing and Management Development" src="http://images.amazon.com/images/P/1576753514.01._SCMZZZZZZZ_V1120097397_.jpg" /></a>The central argument of Managers not MBAs is that <em>Management</em> as taught by MBA programs is a failure, because they:</p>
<ul>
<li>choose the <em>wrong people</em>,</li>
<li> educate them in the <em>wrong way</em></li>
<li>and produce the <em>wrong results.</em></li>
</ul>
<p>In other words, the selection process <em>and educational format </em>of most MBA programs actively undermines the practice of good management.   MBA&#8217;s are a self-selected group of people who &#8220;want to get ahead in business,&#8221; and the entire program teaches them to compete rather than cooperate.</p>
<p>The result is that graduates of MBA programs have a pretty dismal record at actually starting, expanding, or maintaining stable, productive, businesses.</p>
<p>Mintzberg doesn&#8217;t blame MBA holders &#8212; they were taught strategy, and accounting, and analysis, but never management. </p>
<p>In particular, MBA programs never taught them the meaning of good management, or the skills they would need to actually grow and manage teams of real people.  They aren&#8217;t even pointed in the right direction, the structure of MBA programs reward the kind of people who like to compete. And years of &#8220;case study&#8221; exercises have made them into the kind of people who make snap decisions based on limited data.</p>
<p><strong>MBA graduates generally aren&#8217;t the kind of people dedicated to </strong><strong><em>helping other people </em>achieve greatness.</strong></p>
<p>Instead, they want to achieve greatness on their own &#8212; which can be a worthy goal.  It&#8217;s just a terrible goal for a manager.   Good managers are relentlessly focused on <em>helping the people they work for</em> perform at their best.</p>
<p>I don&#8217;t believe an MBA degree is just a liability.  </p>
<p>The MBA&#8217;s I know have learned useful terminology, analytical skills, and the training they recieved in in economics, accounting, and business law can be a huge help in the right moment.</p>
<p>An MBA can prove to be an net asset to a manager, but only if you unlearn some skills they teach you (snap judgments, and me-first competitiveness) and make it a point to learn the &#8220;soft&#8221; skills that are infinitely more important.</p>
<p>The second half of Mintzberg&#8217;s book is his proposal for creating better educational institutions, which can identify the right candidates, train them with the right skills in the right way, and ultimately produce much better results than current MBA programs.   The broad outline of that plan seems right.  But most managers need something they can use to get better at their jobs right now, without spending a lot of money.</p>
<ul>
<li><strong>Never stop learning from the people on your team  </strong>&#8211; they are on the front lines learning every day, if you&#8217;re not working to learn from them, your loosing potentially critical information.</li>
<li><strong>Always believe that there is more to their job than making money</strong>.  Greatness comes from productive passion, and greed doesn&#8217;t inspire passion or loyalty.</li>
<li><strong>Elevate the people who actually produce value</strong> &#8212; These people actually do the work, and they know infinitely more about the nature of that work than MBA trained managers, so they should be respected, valued, and included (or put in charge) of improvement processes.</li>
</ul>
<p>Good managers care about people, not head-count, and they strive to make their job a meaningful contribution to a shared vision.</p>
<p>Hopefully I&#8217;ll have time to write more about <em>good management</em> tomorrow.</p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2006/11/01/whats-wrong-with-mbas/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Software, Politics, and Voting Machines</title>
		<link>http://compoundthinking.com/blog/index.php/2006/09/26/software-politics-and-voting-machines/</link>
		<comments>http://compoundthinking.com/blog/index.php/2006/09/26/software-politics-and-voting-machines/#comments</comments>
		<pubDate>Tue, 26 Sep 2006 13:16:50 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2006/09/26/software-politics-and-voting-machines/</guid>
		<description><![CDATA[Recently there was a discussion of Electronic Voting Machines on NPR. My informed opinion: The current wave of computer based voting machines is a political disaster waiting to happen. I don&#8217;t care which party you are in, if you care about democracy, and should care about voting machine technology. There&#8217;s no such thing as a [...]]]></description>
			<content:encoded><![CDATA[<p>Recently there was a discussion of Electronic Voting Machines on NPR.  My informed opinion: The current wave of computer based voting machines is a political <strong>disaster</strong> waiting to happen.  I don&#8217;t care which party you are in, if you care about democracy, and should care about voting machine technology.</p>
<p>There&#8217;s no such thing as a totally secure computer environment, and a <a href="http://itpolicy.princeton.edu/voting/">recent study</a> shows how easy it is to subvert one modern voting machine. But don&#8217;t let the fact that they only broke into one brand of machine fool you, <em>nobody</em> is going to make a totally secure voting system. When the stakes are high enough, whatever security you have will be hacked, and we&#8217;ll have voter fraud.  And even if you could be 100% sure that the machine wasn&#8217;t tampered with, it&#8217;s impossible to be completely sure no bugs have screwed up the totals?</p>
<p>As Software professionals, we need to speak with one voice on this issue.  Bruce Schneider <a href="http://www.schneier.com/blog/archives/2004/11/the_problem_wit.html">explains</a> what we all pretty much already know:</p>
<blockquote><p>Computer security experts are unanimous on what to do&#8230;</p>
<ol>
<li>DRE machines must have a voter-verifiable paper audit trails&#8230;</li>
<li>Software used on DRE machines must be open to public scrutiny&#8230;</li>
</ol>
</blockquote>
<p>I know I&#8217;m pretty much preaching to the choir on this blog, but I&#8217;m also commiting to explaining the need for voter-verifiable paper trails to a dozen non-technical people over the next two weeks.  If you can, I&#8217;d ask you to do the same thing.  And if you have a blog, please ask your readers to do the same thing.</p>
<p><strong><em>This isn&#8217;t about party loyalty, it&#8217;s about preserving democracy.<br />
</em></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2006/09/26/software-politics-and-voting-machines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Users are more important than potential users!</title>
		<link>http://compoundthinking.com/blog/index.php/2006/08/31/users-are-more-important-than-potential-users/</link>
		<comments>http://compoundthinking.com/blog/index.php/2006/08/31/users-are-more-important-than-potential-users/#comments</comments>
		<pubDate>Thu, 31 Aug 2006 03:20:41 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2006/08/31/users-are-more-important-than-potential-users/</guid>
		<description><![CDATA[This ought to be obvious.Â Â  But as Kathy Sierra mentions it is clear that not all companies are thinking things through. How many products have you bought with million dollar marketing budgets, and not enough money to create a manual written in something resembling english, with reasonable diagrams? Users are your best advocates, word-of-mouth only [...]]]></description>
			<content:encoded><![CDATA[<p>This ought to be obvious.Â Â  But as Kathy Sierra <a href="http://headrush.typepad.com/creating_passionate_users/2006/08/why_marketing_s.html">mentions</a> it is clear that not all companies are thinking things through.</p>
<p>How many products have you bought with million dollar marketing budgets, and not enough money to create a manual written in something resembling english, with reasonable diagrams?</p>
<p>Users are your best advocates, word-of-mouth only works if your users have a great experience.Â  As Kathy would say, if you help your users &#8220;kick ass&#8221; they will tell their friends.</p>
<p>Which brings me to my real point, manuals are important, but most of the time people expect them to suck and they don&#8217;t even read them. Â  So, even if you write great manuals, you need to think about how to market your manual to your users.</p>
<p>This isn&#8217;t some hypothetical post.Â  The software we sell at Humantech has fantastic manuals, which we spend a lot of time and money polishing up, and they <em>work</em>!</p>
<p>I&#8217;ve yet to have a support call from a user who read the manual, and nearly every support call can be solved by reference to the manual. Â Â  But people still don&#8217;t read the manual unless we prompt them.</p>
<p>I can usually &#8220;sell&#8221; the idea of reading the manual to any given user in the space of a support call, and once they read it they always thank me.Â  But we need to find ways to make our manual more &#8220;attractive&#8221; so that new users actually read it without need to be individually &#8220;sold&#8221; on the idea.<br />
Let me know if you have any ideas/experience marketing your manuals to your users.</p>
<p>It&#8217;s a pretty high priority for me right now because I&#8217;m convinced that it could free up quite a bit of time and help our users have an even better experience with our software.</p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2006/08/31/users-are-more-important-than-potential-users/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Too much to do</title>
		<link>http://compoundthinking.com/blog/index.php/2006/08/13/too-much-to-do/</link>
		<comments>http://compoundthinking.com/blog/index.php/2006/08/13/too-much-to-do/#comments</comments>
		<pubDate>Sun, 13 Aug 2006 02:10:28 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2006/08/13/too-much-to-do/</guid>
		<description><![CDATA[I&#8217;m finishing up the last little bit of the TurboGears book, hiring new people at work, moving at home, and trying to keep everything together. Thank heavens I found Getting Things Done last year &#8212; without a trusted system outside of my head for all my to-do items my life would be falling apart and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m finishing up the last little bit of the TurboGears book, hiring new people at work, moving at home, and trying to keep everything together.</p>
<p>Thank heavens I found <em>Getting Things Done</em> last year &#8212; without a trusted system outside of my head for all my to-do items my life would be falling apart and my stress level would be insane.</p>
<p>In about a week I&#8217;ll be able to get back to blogging, and I have a half dozen article stubs just waiting for a little bit of attention, so I hope it will be worth the wait!</p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2006/08/13/too-much-to-do/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Build teams, not products!</title>
		<link>http://compoundthinking.com/blog/index.php/2006/05/05/build-teams-not-products/</link>
		<comments>http://compoundthinking.com/blog/index.php/2006/05/05/build-teams-not-products/#comments</comments>
		<pubDate>Fri, 05 May 2006 02:39:02 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Lean IT]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2006/05/05/build-teams-not-products/</guid>
		<description><![CDATA[I think Jared is right on target with this statement: &#8220;I don&#8217;t grow apples. I grow apple trees.&#8221; One is a result of the other. Overly focusing on the apple can cost you the tree.&#8221; &#8211;Jared Richardson If you throw together a team to build a product, you might get lucky and create a great [...]]]></description>
			<content:encoded><![CDATA[<p>I think Jared is right on target with this statement:</p>
<blockquote><p>&#8220;I don&#8217;t grow apples. I grow apple trees.&#8221; One is a result of the other. Overly focusing on the apple can cost you the tree.&#8221; &#8211;<a href="http://www.jaredrichardson.net/blog/2006/05/03/#build-a-team">Jared Richardson</a></p></blockquote>
<p>If you throw together a team to build a product, you might get lucky and create a great product.  If you are really lucky you&#8217;ll get a great team that works well together, is motivated to build amazing software, and is starting to learn and grow as a group &#8212; not just as individuals.</p>
<p><img align="left" alt="Teamwork" id="image102" title="Teamwork" src="http://compoundthinking.com/blog/wp-content/uploads/2006/05/teamwork.thumbnail.jpg" />Unfortunately, the next step most companies take is to pull that team apart, promote some of them, and try to start all over again new products with new teams.   This is a colossal waste of time and money.   Great companies find ways to re-use existing teams who have already learned to work effectively as a team.   I&#8217;ve found that small companies, who have no choice but to re-use the same teams over and over again, have a  competitive advantage over their larger competitors who constantly reshuffle their product development teams.</p>
<p>If you constantly grow your capacity to build great things, your competitors will always be playing catchup.  But if you slow down and focus on your current cash cow the milk will eventually dry up.</p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2006/05/05/build-teams-not-products/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Living with Yesterday&#8217;s Best</title>
		<link>http://compoundthinking.com/blog/index.php/2006/04/25/living-with-yesterdays-best/</link>
		<comments>http://compoundthinking.com/blog/index.php/2006/04/25/living-with-yesterdays-best/#comments</comments>
		<pubDate>Tue, 25 Apr 2006 20:00:16 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2006/04/25/living-with-yesterdays-best/</guid>
		<description><![CDATA[Sometimes I am better than I was yesterday. Usually that&#8217;s a good thin, but it can be a problem for me because I start feeling bad about yesterday&#8217;s work &#8212; I fell that I should have done it better yesterday. Sometimes I am worse than I was yesterday, either because I am tired, or I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I am better than I was yesterday.  Usually that&#8217;s a good thin, but it can be a problem for me because I start feeling bad about yesterday&#8217;s work &#8212; I fell that <em>I should have done it better</em> yesterday.</p>
<p>Sometimes I am worse than I was yesterday, either because I am tired, or I&#8217;m distracted, or I just have a headache.   And that can be a problem &#8212; after all  <em>I should be getting better</em> &#8212; not worse.</p>
<p>These feelings of guilt are very much related to the problem I discussed in &#8220;<a href="http://compoundthinking.com/blog/index.php/2006/03/01/always-doing-your-best-considered-harmful/">Always doing your best considered harmful</a>?&#8221;</p>
<p>I feel like I ought to always do my best.  The problem is that when your best changes day by day, hour by hour, you&#8217;ll never be doing your best by some definition of &#8220;your best&#8221;.</p>
<p>The other day in my annual review we were talking about how I helped someone in my team with managing his tasks and priorities.   This individual had definitely turned a corner and the same people who had criticized him a few months earlier were now singing his praises.   But I wasn&#8217;t as happy about this as I should have been &#8212; after all I should have helped him turn this corner months or years earlier &#8212; it turned out to be so easy.  All I had to do was re-define his job requirements in terms that motivated him.   He is a real people person and doing everyday project work was hard for him, but when the work was framed by who he would be helping and how it would make their life better he was happy, even excited to do it.   All I had to do was tell him &#8220;your job is to keep X, Y and Z happy by doing A, B and C,&#8221; and he clicked into gear.   Why didn&#8217;t I do this a couple of years ago?</p>
<p>Because I didn&#8217;t know what needed to happen yet.   I&#8217;m working to learn that there is no shame in getting better &#8212; even though that means that I used to be worse.</p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2006/04/25/living-with-yesterdays-best/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The slippery slope of distrust</title>
		<link>http://compoundthinking.com/blog/index.php/2005/11/08/the-slippery-slope-of-distrust/</link>
		<comments>http://compoundthinking.com/blog/index.php/2005/11/08/the-slippery-slope-of-distrust/#comments</comments>
		<pubDate>Tue, 08 Nov 2005 20:47:00 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Lean IT]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=30</guid>
		<description><![CDATA[Andy Hunt (one of the authors of The Pragmatic Programmer) blogs about how Ford Motor company is explicitly logging the amount of time their employees are spending in the bathroom. This tells their employees that they are not trusted, and it saps the morale, creativity, and eventually the productivity of their workforce. Clearly this initiative [...]]]></description>
			<content:encoded><![CDATA[<div style="clear:both;"></div>
<p>Andy Hunt (one of the authors of <em>The Pragmatic Programmer</em>) blogs about how Ford Motor company is explicitly logging the amount of time their employees are spending in the bathroom. This tells their employees that they are not trusted, and it saps the morale, creativity, and eventually the productivity of their workforce.</p>
<p>Clearly this initiative required IT support, and while I don&#8217;t suggest that IT Departments make it their practice to regularly second guess business decisions, I do think somebody should have thought longer and harder about how reasonable it was to spend time and money installing key card readers, writing a system to track time in the bathroom, and provide nice reports to management.</p>
<p>Besides this kind of micro-management is pure waste. Does your customer care how much time your employees spend on the toilet? I seriously doubt it. They want products that are cool, reliable, and reasonably priced &#8212; all the activity you spend tracking other things is wasted time and energy.  </p>
<p>And, if you happen to have an employee who gets more done in a week than any of your other programmers, but for some reason spends more than the average amount of time in the bathroom, is that a problem? </p>
<p>Tracking the wrong thing can get you focused on &#8220;solving&#8221; non-problems, and that&#8217;s another common form of waste.
<div style="clear:both; padding-bottom: 0.25em;"></div>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2005/11/08/the-slippery-slope-of-distrust/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lean Manufacturing Principles &#8212; Trust the Team</title>
		<link>http://compoundthinking.com/blog/index.php/2005/10/17/lean-manufacturing-principles-trust-the-team/</link>
		<comments>http://compoundthinking.com/blog/index.php/2005/10/17/lean-manufacturing-principles-trust-the-team/#comments</comments>
		<pubDate>Mon, 17 Oct 2005 23:43:00 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Lean IT]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=10</guid>
		<description><![CDATA[One of the key elements in the success of Lean Manufacturing is that it empowers individual employees to improve their jobs. Toyota workers have been able to decrease costs, improve productivity, and reliability &#8212; every year for more than three decades. They were able to do this because management trusts employees to shut down the [...]]]></description>
			<content:encoded><![CDATA[<div style="clear:both;"></div>
<p>One of the key elements in the success of Lean Manufacturing is that it empowers individual employees to improve their jobs.</p>
<p>Toyota workers have been able to decrease costs, improve productivity, and reliability &#8212; every year for more than three decades. They were able to do this because management trusts employees to shut down the line at any time whenever they see a problem that needs fixing. They where able to do this because there were processes in place that encouraged, and even required their participation in the improvement process.</p>
<p><span style="font-weight: bold;">I&#8217;ll take this one step further &#8212; if you don&#8217;t learn to trust your employees you won&#8217;t be in business for long.</span></p>
<p>If the people you hired are trustworthy, trust them!</p>
<p>If they you have employees who have demonstrated a lack of trustworthiness,  let them go!</p>
<p>If you aren&#8217;t trusting your people, you are slowly but surely sapping their morale. Even worse, you are cutting yourself from the source of real ground-floor process innovation.</p>
<p>Toyota workers have constantly been able to decrease costs, improve productivity, and reliability &#8212; every year for more than three decades. They were able to do this because management trusts employees to shut down the line at any time whenever they see a problem that needs fixing. They where able to do this because there were processes in place that encouraged, and even required their participation in the improvement process.</p>
<p>How many IT shops have the same track record of continual improvement in customer satisfaction and overall employee productivity? Not too many. Perhaps one of the reasons is that we don&#8217;t empower our employees to give estimates, or to make budget decisions.</p>
<p>Software development shops could do with Kaizan events where take out a day to:
<ul>
<li> automate build processes,</li>
<li>create test frameworks,</li>
<li>update our version control systems,</li>
<li>and clean up any of our processes that has gotten messy.</li>
</ul>
<p> These events should include the development team, whatever System Administration support is necessary, but managers who attend must be willing to work as team members to get things done. Just for the day, your job is not to lead, but to do, to work along side the front lines people.
<div style="clear:both; padding-bottom: 0.25em;"></div>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2005/10/17/lean-manufacturing-principles-trust-the-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
