<?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; IT Management</title>
	<atom:link href="http://compoundthinking.com/blog/index.php/category/it-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://compoundthinking.com/blog</link>
	<description>Thinking about programming in new ways</description>
	<lastBuildDate>Tue, 15 Mar 2011 02:03:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Morality and Software Development Leadership</title>
		<link>http://compoundthinking.com/blog/index.php/2009/11/28/morality-and-software-development-leadership/</link>
		<comments>http://compoundthinking.com/blog/index.php/2009/11/28/morality-and-software-development-leadership/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 17:14:21 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=164</guid>
		<description><![CDATA[<strong>Power</strong>, <strong>dominance</strong>, and <strong>responsibility</strong> are hot button issues which hover over and around every action leaders take like ghosts.  And those who ignore them -- who wield power without thought, who see only the ends, and ignore the means -- put their projects at risk.   

I think it's a truism that there is no single barrier to project success more powerful than bad management.   There are dozens of ways in which bad management directly and indirectly decreases productivity, and undermines the possibility of success. 
]]></description>
			<content:encoded><![CDATA[<p><strong>Power</strong>, <strong>dominance</strong>, and <strong>responsibility</strong> are hot button issues which hover over and around every action leaders take like ghosts.  And those who ignore them &#8212; who wield power without thought, who see only the ends, and ignore the means &#8212; put their projects at risk.   </p>
<p>I think it&#8217;s a truism that there is no single barrier to IT project success more powerful than bad management.   There are dozens, if not hundreds, of ways in which bad management directly and indirectly decreases productivity, and undermines even the the <em>possibility</em> of success. </p>
<p>Foucault, is the twentieth century master of uncovering hidden power relationships, and anybody who&#8217;s read his masterwork <a href="http://www.amazon.com/gp/product/0679752552/pragmaticsyst-20">Discipline and Punish</a> will learn a variety of tools to uncover hidden power relationships, and these tools can be immensely valuable in unpacking what&#8217;s really going on when a situation &#8220;just feels wrong.&#8221;</p>
<p>It&#8217;s hard to quantify, but knowing this stuff can definitely help you avoid political landmines, and create a safer work environment.   But, I still haven&#8217;t figured out how to make Foucault palatable and understandable to the average IT manager. ;)   </p>
<p><strong>But <em>Naked aggression</em> is easy to spot</strong></p>
<p>On the other hand, you don&#8217;t need a sophisticated set of tools for unpacking power relationships to see what&#8217;s wrong with some teams.   For example, I once worked for a manager who held daily motivational meetings, in which he enumerated every small mistake that any of us could make that might make him look bad, and let each of us know in no uncertain terms that we would be &#8220;terminated&#8221; if we were seen to have made even the smallest mistake.   If we didn&#8217;t answer the phone with the right phrase, or try to convince customers that they wanted more expensive products than they needed, or failed to live up to any of thirty different (and sometimes contradictory) arbitrary rules, we were told we would be fired instantly. </p>
<p><strong>Doing the wrong thing may pay off <em>now</em>, but it almost always hurts you <em>later</em>.</strong></p>
<p>I left after less than 6 months, by the time a year was up, only 2 of 20 of the original people on the team were left.  But, the manager received a commendation for &#8220;running a tight ship.&#8221; Things were looking good.  Then again,  a year later he was fired, because his team just couldn&#8217;t keep up, and everyone on the team was so busy not screwing up that the had no time or energy left for the important things they were hired to do.    </p>
<p>Dominance games, and pure aggressive pressure helped him meet his daily and weekly goals, but killed him in the long run.    </p>
<p><strong>Project managers need to learn to wield power with a light touch.</strong></p>
<p>It&#8217;s inevitable that there are power-relationships involved in the context of an important project.   If you&#8217;re doing things right people are passionate about the project, people want to do the right thing, and people don&#8217;t always agree about what the right thing is.   </p>
<p>It can be tempting to jump into these disagreements and make decisions &#8212; and it can speed up progress in the short term.   But be careful, just like the manager who made his short term goals, but lost in the long run, you may end up killing people&#8217;s passion, and cutting off discussion before critical information is revealed.  </p>
<p>Sure, there are times when a strong good push can help people avoid prolonged and useless discussions, but it&#8217;s too easy to take advantage power relationships to avoid difficult but important discussions.</p>
<p>There&#8217;s lots more to be said on the subject of power relationships in software development, but I think one of the key things we have to understand is that c<strong>omputer nerds participate in power struggles too, they just do it naively</strong> and instinctively.   And<strong> that leaves us easy prey</strong> for those who do it with knowledge, talent, and finesse.  And those people are out there and in places where 2 years is a long time, they can get away with it for a surprisingly long time.</p>
<p>P.S.  I wrote this post in 2007, almost published it in 2008, and am just now getting around to publishing it.   So, please don&#8217;t think this is about anything happening to me personally right now, but it is something I keep seeing &#8220;around town&#8221; and something I think we need to understand better if we are going to stop falling prey to those who understand power politics better than we do and wield them more aggressively, and end up ruining many good projects. </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2009/11/28/morality-and-software-development-leadership/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ann Arbor ArbCamp Registration open again</title>
		<link>http://compoundthinking.com/blog/index.php/2008/12/17/ann-arbor-arbcamp-registration-open-again/</link>
		<comments>http://compoundthinking.com/blog/index.php/2008/12/17/ann-arbor-arbcamp-registration-open-again/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 16:33:53 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[SE Michigan Tech]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=552</guid>
		<description><![CDATA[I&#8217;ve been very, very busy trying to get TurboGears 2 beta 1 ready to go, as well as a few other interesting projects, and had neglected to blog about a ArbCamp before, then it was sold-out, and I didn&#8217;t blog about it because I didn&#8217;t want to raise people&#8217;s hopes only to have then dashed [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been very, very busy trying to get TurboGears 2 beta 1 ready to go, as well as a few other interesting projects, and had neglected to blog about a <a href="http://a2geeks.org/display/geek/ArbCamp+08">ArbCamp</a> before, then it was sold-out, and I didn&#8217;t blog about it because I didn&#8217;t want to raise people&#8217;s hopes only to have then dashed upon the rocks.   But, we&#8217;ve secured a new venue, so ArbCamp registration is now Un-Sold-Out.   It&#8217;s UnSold because it&#8217;s free, and it&#8217;s un-Sold-Out because we can now fit everybody in.  We had over 160 people registered and on the wait-list, but could only let 100 people in.   Now we have space for 200, so those on the wait-list and those who didn&#8217;t sign up in time have a second chance.  </p>
<p><a href="http://a2geeks.org/display/geek/ArbCamp+08"><img src="http://a2geeks.org/download/attachments/819419/arbcamp08-med.png" /></a></p>
<p>ArbCamp will be tomorrow night, in the upstairs of the downtown Cottage Inn&#8217;s, so this is kind of last minute, but I think it&#8217;ll be a very cool event.  It&#8217;s an UnConference, and people will be self-organizing a variety of sessions, and the possibilities are endless.</p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2008/12/17/ann-arbor-arbcamp-registration-open-again/feed/</wfw:commentRss>
		<slash:comments>0</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>What is data?</title>
		<link>http://compoundthinking.com/blog/index.php/2008/05/14/what-is-data/</link>
		<comments>http://compoundthinking.com/blog/index.php/2008/05/14/what-is-data/#comments</comments>
		<pubDate>Wed, 14 May 2008 00:35:54 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Lean IT]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=292</guid>
		<description><![CDATA[Ocean asks on his blog is data an asset? Data is certainly not like many other assets, it doesn&#8217;t depreciate, you can copy it endlessly, and it&#8217;s next to impossible to imagine a commodities market for data. Heck copying the data can either increase it&#8217;s value (think &#8220;The DaVinchi Code&#8221;) or decrease it (think passwords). [...]]]></description>
			<content:encoded><![CDATA[<p>Ocean asks on his blog <a href="http://blogs.concedere.net:8080/blog/discipline/web/?permalink=Is-Data-an-Asset.html">is data an asset</a>?</p>
<p>Data is certainly not like many other assets, it doesn&#8217;t depreciate, you can copy it endlessly, and it&#8217;s next to impossible to imagine a commodities market for data.    Heck copying the data can either increase it&#8217;s value (think &#8220;The DaVinchi Code&#8221;) or decrease it (think passwords).  People don&#8217;t pay for data as much as they pay for human attention.  You can use data to get attention or you can use attention to collate, assimilate, and otherwise transform raw data into useful information, but either way data needs people to understand and interpret it to become valuable.   </p>
<p>So at best: </p>
<p><code>data + human_understanding == value </code></p>
<p>Bruce Schenier takes it one step further, calling data <a href="http://www.schneier.com/blog/archives/2006/03/the_future_of_p.html">the pollution of the the information age</a>.</p>
<p><strong>Data Pollution<br />
</strong><br />
<a href='http://compoundthinking.com/blog/index.php/2008/05/14/what-is-data/smokestack/' rel='attachment wp-att-294' title='Smokestack'><img align='right'  width= 300 src='http://compoundthinking.com/blog/wp-content/uploads/2008/03/istock_000004991624xsmall.jpg' alt='Smokestack' /></a>Data sucks up space, time and human attention.   But more than that, data can be parsed, manipulated, and transformed to fit various agendas.   And in a world where data about all of us is &#8220;owned&#8221; by various large corporations, from Amazon, to Google, to Enron, it&#8217;s not always clear how that data will be used.  Besides which millions of credit card numbers are stolen from various companies who store our data &#8220;in good faith.&#8221;   Data costs money in terms of maintenance, in terms of storage, and in terms of liability.   Heck, I know people who work for companies who have an e-mail retention policy &#8212; which is really more of a mandatory e-mail deletion policy.   </p>
<p><strong>Polluted Data<br />
</strong><br />
And that assumes that all that data is verifiable true, and that&#8217;s definitely not the case.   I sold a car once and the new owner didn&#8217;t take it to the DMV to get it registered before his friend drove it without a license and got it impounded.   And that showed up on my credit report for years.   I have a friend who somehow ended up &#8220;deceased&#8221; even though she&#8217;s still very much alive and well.</p>
<p>All of this is to say that as software developers, IT Mangers, and companies in general need to think a lot more about data, and to invest in some better terms for the various different things we call data.   </p>
<p>We need to differentiate between raw data, information,  and knowledge.   We need to help our customers think about the life cycle of the data they want us to capture.  We need to educate people about the costs and benefits associated with keeping data, and ultimately we need to follow the mantra: </p>
<p><strong>Think before you store</strong></p>
<p>And if you&#8217;re concerned about privacy, and individual liberty, please take a few min and <a href="http://www.schneier.com/blog/archives/2006/03/the_future_of_p.html">read Bruce&#8217;s article.</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2008/05/14/what-is-data/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The motivational meeting&#8230;</title>
		<link>http://compoundthinking.com/blog/index.php/2008/05/12/the-motivational-meeting/</link>
		<comments>http://compoundthinking.com/blog/index.php/2008/05/12/the-motivational-meeting/#comments</comments>
		<pubDate>Mon, 12 May 2008 23:37:14 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Lean IT]]></category>
		<category><![CDATA[Personal Productivity]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=318</guid>
		<description><![CDATA[Last week, I ranted a little bit about motivational meetings. Today I&#8217;ll make the opposite case. Why have motivational meetings? The right way to use motivational meetings is to reaffirm the purposes of the group, and help people to connect the dots between their individual efforts and the collective goals of the group, and to [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I <a href="http://compoundthinking.com/blog/index.php/2008/05/05/motivate-me-when-im-dead/">ranted a little bit</a> about motivational meetings.   Today I&#8217;ll make the opposite case. </p>
<p><strong>Why have motivational meetings?</strong></p>
<p>The right way to use motivational meetings is to reaffirm the purposes of the group, and help people to connect the dots between their individual efforts and the collective goals of the group, and to connect those goals with their own individual aspirations. </p>
<p>Basically, motivating people is easy: </p>
<ul>
<li>Give them work that is meaningful to them <strong>and</strong> to the organization</li>
<li>Treat them with <strong>respect</strong></li>
</ul>
<p>Treating people with respect includes paying them a fair wage, and not doing any of <a href="http://cio.com/article/print/123406">these things.</a>  </p>
<p>Among other things it also means not letting people who aren&#8217;t contributing to the common goals of the organization hold back the group by not doing their job.</p>
<p>Research has shown that one of the survey questions most highly correlated with motivation and performance is: </p>
<blockquote><p>Does my supervisor, or someone at work, seem to care about me as a person? </p></blockquote>
<p>Which is another way of saying does your boss respect you.   At the same time the single highest correlation for any question was: </p>
<blockquote><p>I get to do what I do best everyday at work.</p></blockquote>
<p>So, it&#8217;s really important to line people&#8217;s intrisic skills and internal long-term motivational drivers with the work you ask them to do.   </p>
<p>If you&#8217;re not doing those two things, motivational meetings are a loss.   If you are doing them you can use a meeting to remind people of how their deeper motivations are connected to what they are doing now. </p>
<p><strong>P.S.</strong>   My info on the top questions and their correlation to performance comes from Gallop research via the very interesting book <a href="http://www.amazon.com/gp/product/0684852861?ie=UTF8&#038;tag=pragmaticsyst-20">First Break All the Rules</a>, which is one of the best, and most evidence based, books on managing for exceptional performance I&#8217;ve read. </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2008/05/12/the-motivational-meeting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Motivate me when I&#8217;m dead&#8230;</title>
		<link>http://compoundthinking.com/blog/index.php/2008/05/05/motivate-me-when-im-dead/</link>
		<comments>http://compoundthinking.com/blog/index.php/2008/05/05/motivate-me-when-im-dead/#comments</comments>
		<pubDate>Mon, 05 May 2008 13:02:54 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Personal Productivity]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=312</guid>
		<description><![CDATA[It think the very idea that motivation can be &#8220;imparted&#8221; in a morning meeting, or a half day seminar is kind of demeaning. Motivation is a complex network of hopes, dreams, fears, needs, frustrations, incentives, and personal morality. Motivating people is as much about connecting their individual aspirations to the goals of the organization as [...]]]></description>
			<content:encoded><![CDATA[<p>It think the very idea that motivation can be &#8220;imparted&#8221; in a morning meeting, or a half day seminar is kind of demeaning.</p>
<p>Motivation is a complex network of hopes, dreams, fears, needs, frustrations, incentives, and personal morality.   Motivating people is as much about connecting their individual aspirations to the goals of the organization as anything.   If people can do what&#8217;s right, become who they want to be, <em>and</em> get paid to do it, that&#8217;s a far more powerful motivator than you can get from any meeting. </p>
<p>If those things are true, you can skip the motivational meeting. Everybody would  rather sit down and <em>get some work done.</em>   And if they aren&#8217;t true it&#8217;s not likely that <em>another meeting</em> will <em>help.  </em></p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2008/05/05/motivate-me-when-im-dead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Dangers of Paying Too Well</title>
		<link>http://compoundthinking.com/blog/index.php/2008/04/30/the-dangers-of-paying-too-well/</link>
		<comments>http://compoundthinking.com/blog/index.php/2008/04/30/the-dangers-of-paying-too-well/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 19:20:21 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Personal Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[motivation]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[salary]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=310</guid>
		<description><![CDATA[Paying people too well can lead to all kinds of social and motivational problems. Of course, you can also run out of money, but I&#8217;m not going to talk about that problem. I&#8217;m talking about salaries that are maintainable but significantly above the market norm. Clark Ching recently blogged about something I&#8217;ve seen a couple [...]]]></description>
			<content:encoded><![CDATA[<p>Paying people too well can lead to all kinds of social and motivational problems.   Of course, you can also run out of money, but I&#8217;m not going to talk about that problem.  I&#8217;m talking about salaries that are maintainable but significantly above the market norm. </p>
<p><a href="http://www.clarkeching.com/">Clark Ching</a> recently <a href="http://www.clarkeching.com/2008/04/pay-rates.html">blogged</a> about something I&#8217;ve seen a couple of times.   He worked for a company that paid developers <em>very</em> well.   You&#8217;d think that would be good for morale, but it wasn&#8217;t.   Clark puts it this way:</p>
<blockquote><p>It was horrible.  Everyone who worked there agreed.</p></blockquote>
<p>People who hated their jobs stayed just because of the money.   This meant that everybody had to work with people who hated being there, and that meant that nobody wanted to be there ;) </p>
<p>Good pay reduces turnover, which is generally a good thing.  But some turnover is good turnover, so too much pay can actually hurt you.   Beyond that great pay keeps people around, but bad experiences with managers and coworkers can do more to kill morale than you can ever replace with money.</p>
<p>The long and short of it is that you can&#8217;t paper over morale problems with money, and you can&#8217;t fix them by <em>instilling a sense of urgency</em>.   Paul Graham suggests one solution &#8212; <a href="http://www.paulgraham.com/good.html">do something good</a>.   If you&#8217;re doing something good for the world people want to help you.   I&#8217;d extend that to say if you&#8217;re building something people can be proud of, you&#8217;re far more likely to create the kind of positive morale which lasts through hard times.  </p>
<p>Case in point, <a href="http://www.pacifict.com/Story/">this story</a> of a couple of apple employees worked on the graphing calculator that was shipped with the original Macintosh computer.  The interesting part is not that they were excited to work on the project, but that they kept working on it under-cover for months and months after they had been laid off. </p>
<p>Why would they do that? </p>
<blockquote><p>I had long been proud of the elegance and simplicity of our design&#8230;. I had designed it for all users, even those who know little about computers and hate math. </p>
<p>I wanted to make mathematics as easy and enjoyable as playing a game.</p></blockquote>
<p>They did because they were proud of what they&#8217;d done, and because they wanted to make mathematics more accessible. </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2008/04/30/the-dangers-of-paying-too-well/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>So many revolutions, so little time.</title>
		<link>http://compoundthinking.com/blog/index.php/2008/04/30/so-many-revolutions-so-little-time/</link>
		<comments>http://compoundthinking.com/blog/index.php/2008/04/30/so-many-revolutions-so-little-time/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 16:28:22 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Lean IT]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[SE Michigan Tech]]></category>
		<category><![CDATA[TurboGears]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=305</guid>
		<description><![CDATA[Tim Bray is blogging about &#8220;inflection points&#8221; in the uptake of various technologies. Python get&#8217;s a very positive review: Today you’d be nuts not to look seriously at PHP, Python, and Ruby. So, the rise of the so-called scripting languages is one of the inflection points, but it&#8217;s not the only one. He singles out [...]]]></description>
			<content:encoded><![CDATA[<p>Tim Bray is blogging <a href="http://www.tbray.org/ongoing/When/200x/2008/04/24/Inflection">about &#8220;inflection points&#8221;</a> in the uptake of various technologies. </p>
<p>Python get&#8217;s a very positive review: </p>
<blockquote><p>Today you’d be nuts not to look seriously at PHP, Python, and Ruby.</p></blockquote>
<p>So, the rise of the so-called scripting languages is one of the inflection points, but it&#8217;s not the only one.  </p>
<p>He singles out web-framework development as one place where there&#8217;s a lot of stuff happening, and a lot of new &#8220;rails-like&#8221; frameworks are cropping up all the time.   TurboGears will live or die in the context of a much larger web-development revolution, and we need to be prepared to make our way forward in the midst of that. </p>
<p>What comes after rails will not be a rails clone.  It will learn the right lessons from rails, avoid the pitfalls of rails, but it will also need to carve out something new and better than rails.    For RDBMS users, I think the key difference between TG and Rails is the power and flexibility of SQLAlchemy.   We need to &#8220;sell&#8221; this better.</p>
<p>There are a lot of other revolutions coming <a href="http://www.tbray.org/ongoing/When/200x/2008/04/24/Inflection">according to Tim</a>.   And I do think we&#8217;re looking at big changes in terms of everything from programming language choice, to web-development tools, to end-user desktops, and data persistence mechanisms.    We&#8217;re also just beginning to see what the world of high-end javascript and other &#8220;rich&#8221; internet applications is going to do to our view of end-user software.  </p>
<p>He doesn&#8217;t even mention the rise of EC2 and the Google App Engine as sea-changes in the way we buy computational resources, and I think that&#8217;s going to have a huge impact.  </p>
<p>In the end my prediction is that the way we develop applications will change more in the next 5 years than it did in the last 5, and it&#8217;s time to start getting our heads wrapped around these issues, or we&#8217;ll be left behind. </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2008/04/30/so-many-revolutions-so-little-time/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Urgency vs. Motivation</title>
		<link>http://compoundthinking.com/blog/index.php/2008/04/30/urgency-vs-motivation/</link>
		<comments>http://compoundthinking.com/blog/index.php/2008/04/30/urgency-vs-motivation/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 00:52:43 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=301</guid>
		<description><![CDATA[If stress is a weed, urgency is the seed. &#8211;Jason Fried Just the other day a project manager I know asked me how she can &#8220;instill a sense of urgency&#8221; in her team. She wants to get more done, and get it done faster. Increasing developer productivity is a laudable goal. And she is being [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>If stress is a weed, urgency is the seed. </p></blockquote>
<p>&#8211;<a href="http://www.37signals.com/svn/posts/966-urgency-is-poisonous">Jason Fried</a></p>
<p>Just the other day a project manager I know asked me how she can &#8220;instill a sense of urgency&#8221; in her team.  She wants to get more done, and get it done faster.   Increasing developer productivity is a laudable goal.   And she is being asked by internal and external customers for more and more stuff. </p>
<p>But I think there&#8217;s something wrong with the question.   Urgency and &#8220;time pressure&#8221; are viewed as tools which can increase productivity.   And I think this is wrong.  But, it does work &#8212; in the short term.   </p>
<p>In the long term motivation, tools, skills, and processes along with things like good unit test coverage, and good &#8220;architecture&#8221; determine productivity.   Constant urgency, looming deadlines (particularly if they are artificial), and constant pressure actually hurt motivation, remove the slack required for building tools, discourage process improvements, and create all kinds of technical debt.  This debt can be measured in terms of decreased test coverage, and &#8220;short-cut&#8221; coding techneques which undermine good architectural choices.</p>
<p>To put it more bluntly, urgency often produces short term results at the expense of long-term productivity.</p>
<p>If you push the question a little bit, as I did with my friend, you will usually find that the problem is not a lack of urgency, it&#8217;s a lack of motivation.   Motivating people is hard, and if they have been burned out by too much &#8220;urgency&#8221; it just gets harder. </p>
<p>I&#8217;ve done it too.  But now-days when I hear people pushing a &#8220;sense of urgency&#8221; I take it as an opportunity to start looking for deeper motivation issues. </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2008/04/30/urgency-vs-motivation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>On Layoffs, &#8220;Jelled Teams,&#8221; and my new job status</title>
		<link>http://compoundthinking.com/blog/index.php/2008/04/24/on-layoffs-jelled-teams-and-my-new-job-status/</link>
		<comments>http://compoundthinking.com/blog/index.php/2008/04/24/on-layoffs-jelled-teams-and-my-new-job-status/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 03:35:27 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[TurboGears]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/?p=303</guid>
		<description><![CDATA[I don’t think it’s possible to over emphasize the importance of developing teams in software companies. Software production is a group activity, and Brooks, Lister, Demarco and Weinberg all announced this same thing in various ways. And they have been saying it for a long time. The Mythical Man Month, The Peopleware Papers, and The [...]]]></description>
			<content:encoded><![CDATA[<p>I don’t think it’s possible to over emphasize the importance of developing teams in software companies.  Software production is a group activity, and Brooks, Lister, Demarco and Weinberg all announced this same thing in various ways.  And they have been saying it for a long time.  The Mythical Man Month, The Peopleware Papers, and The Psychology of Computer were all written over a quarter century ago. </p>
<p>But, in spite of 30 years, and thousands of pages written, <strong>people still don’t get it. </strong></p>
<p><a href="http://www.flickr.com/photos/jurvetson/"><image align="right" src="http://compoundthinking.com/blog/wp-content/uploads/2008/04/tower.jpg" /></a>Up until Monday I was working on a suite of fantastic applications for patient data and hospital management.   I was part of a small, but very talented team of developers doing amazing things.   Sure we had great tools like Python, Ext.js, TurboGears, etc.   But the fundamental reason we were so successful is that we had a great team that worked together really well.  </p>
<p><strong>How do you know you&#8217;ve got a great team?</strong></p>
<p>Chad Fowler’s very good (but very poorly titled) book <em>My Job Went to India: and all I got was this  book</em> has a chapter explaining how before he became a programmer he was a musician, and someone gave him this powerful advice: </p>
<blockquote><p>“Always try to be the worst player in the band.”   </p></blockquote>
<p>If you seek out people who are better than you, people who will push you &#8212; people who will make you grow just to keep up &#8212; you won’t have the option of stagnating.  <strong>You either get better, or you get out</strong>.   That’s how I felt on this team, and I know it&#8217;s how we all felt. </p>
<p>We knew each-other, knew our strengths and weaknesses, and we knew that together we could make things happen. We knew how to challenge one another, and if something went wrong, we would take action to fix it as a team.  </p>
<p><strong>Great teams are a huge asset</strong></p>
<p>I can honestly say that it was the best team of people I’ve ever worked with, and we were producing products with real revenue attached &#8212; in other words, we were making money, and lots of it.   </p>
<p>But as you can probably guess, after the acquisition came layoffs.  And the team was chopped in half.   Even though the team consisted of the best developers in the company, even though we were the most profitable part of the company, even though things were going amazingly well in our little corner of the world &#8212; we were still torn asunder by layoffs. </p>
<p>There may be some higher corporate logic behind this.   And perhaps at some level it was the right thing to do, though I doubt it.   I am convinced that Lister and Demarco are right is arguing (via peopleware) that a “jelled team” is an incredibly valuable resource for a company.  They get stuff done, and get it done quickly, because they already know how to work together well. We cared about one another, cared about our work, and cared about our company, we were motivated, skilled, and we got things done.   Loosing that is loosing a lot. </p>
<p><strong>I got lucky</strong></p>
<p>I was fortunate enough to be the newest member of the team, and was one of the folks that was let go.   Why fortunate?  Because I don’t have to sit around every day trying to get stuff done without the rest of the team, because I don’t have to be reminded every single day of what once was, but is no more. </p>
<p>And because I can take this opportunity to take a breath, look around and try to find a job which fits my long term goals.  I don’t know exactly what I want to do yet, but I do know that I want to do something good for python, something good for the world, and something where I get to work with great people. </p>
<p>So if you’re interested, feel free to drop me an e-mail (mark.mchristensen@gmail.com).   </p>
<p><strong>Please hire these guys &#8212; they are amazing!</strong></p>
<p>But more importantly there are some other great developers who are also looking for jobs.   I’ve seen them perform miracles in C#, Java, Python, and any number of other languages.   And I know them well enough to know that they would each be a huge asset to any company who’s looking to develop a great team. </p>
<p>One of the things you need the most in team development is someone who has a picture of how it could be better, of what’s possible, and the will to make it so.    In addition to their technical skills, I know that’s something they all have.   So, if you’re looking for one or more highly skilled software developers in the Atlanta area (or you’re willing to work with remote people) I can’t recommend them highly enough.   Please send me e-mail if you’re interested and I’ll pass the info on to the right people. </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2008/04/24/on-layoffs-jelled-teams-and-my-new-job-status/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>TurboGears 2 sprint</title>
		<link>http://compoundthinking.com/blog/index.php/2007/10/15/turbogears-2-sprint/</link>
		<comments>http://compoundthinking.com/blog/index.php/2007/10/15/turbogears-2-sprint/#comments</comments>
		<pubDate>Mon, 15 Oct 2007 13:43:36 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[TurboGears]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2007/10/15/turbogears-2-sprint/</guid>
		<description><![CDATA[I&#8217;ll be hosting a TG2 sprint here in Ann Arbor Michigan on October 27th, hopefully we&#8217;ll also have a large virtual presence from folks around the world. I&#8217;ve created a page on the Wiki for Sprint Organization tasks: http://docs.turbogears.org/SprintOrganization If the sprint goes well it could get us very, very close to the point where [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be hosting a TG2 sprint here in Ann Arbor Michigan on <strong>October 27th</strong>, hopefully we&#8217;ll also have a large virtual presence from folks around the world. </p>
<p>I&#8217;ve created a page on the Wiki for Sprint Organization tasks: <a href="http://docs.turbogears.org/SprintOrganization">http://docs.turbogears.org/SprintOrganization</a></p>
<p>If the sprint goes well it could get us very, very close to the point where we could reasonably do a TurboGears 2 technology preview release.   </p>
<p>The main things we&#8217;ll need to do is sync up with the latest pylons, improve our tests, and do some basic doc organization work (migrate some information from the doc strings to the docs wiki, and create some pages which link to external docs).   There&#8217;s lots of other things I want to do like improve out user authentication/authorization/registration support, or create a toolbox tool for helping create SQLAlchemy models. So, there&#8217;s tasks for anybody who can lend a hand.  </p>
<p>If you&#8217;re available and want to help out (either attending physically or virtually), feel free to add your name to the <a href="http://docs.turbogears.org/SprintOrganization">wiki</a>.</p>
<p>Likewise, if you can host a in-person sprint in another location, please feel free to edit the wiki with that information.</p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2007/10/15/turbogears-2-sprint/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Motivation, Demotivation, and Constructive Conflict</title>
		<link>http://compoundthinking.com/blog/index.php/2007/08/14/motivation-demotivation-and-constructive-conflict/</link>
		<comments>http://compoundthinking.com/blog/index.php/2007/08/14/motivation-demotivation-and-constructive-conflict/#comments</comments>
		<pubDate>Tue, 14 Aug 2007 02:13:45 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2007/08/14/motivation-demotivation-and-constructive-conflict/</guid>
		<description><![CDATA[If you hire people who actually care about what they do and structure things so that people actually get to do what they are good at, you&#8217;ll find that people have motivation that goes beyond getting a paycheck. Motivating people is hard, but de-motivation i s easy, and that&#8217;s the subject of Esther Derby&#8217;s article [...]]]></description>
			<content:encoded><![CDATA[<p>If you hire people who actually care about what they do and structure things so that people actually get to do what they are good at, you&#8217;ll find that people have motivation that goes beyond getting a paycheck.   </p>
<p>Motivating people is hard, but de-motivation i s easy, and that&#8217;s the subject of Esther Derby&#8217;s <a href="http://www.cio.com/article/print/123406">article </a>on CIO.com.   I&#8217;m sure we&#8217;ve all experienced some of the core de-motivational techniques she describes: </p>
<ul>
<li>Surprises at your annual employee review</li>
<li>Constant Micromanagement</li>
<li>Public criticism</li>
<li>Being asked do do one thing, and evaluated on not doing another</li>
<li>Being given unachievable deadlines</li>
<li>Being asked for input and then having your input ignored</li>
<li>Having coworkers receive preferential treatment</li>
<li>Being treated as untrustworthy, or as an outright criminal</li>
</ul>
<p>I&#8217;ve had managers who called employees names in public, who gave job requirements with no warning, who played favorites with particular employees, and who lied (or at least fuzed the truth) about important company metrics to make himself look good.  Heck, that was all one manager!   (And if you think you know who this is, you&#8217;re probably wrong, unless you&#8217;ve known me for a long, long, long time.)</p>
<p>I had another manager who ran a morning company wide &#8220;motivational&#8221; meeting every day, and who used that opportunity to threaten to fire each and every one of us, if we didn&#8217;t do all of a dozen sometimes contradictory things. </p>
<p>The best thing you can do in those kinds of pathological cases is to move on.   But in other less extreme cases, you may be able to help your manager understand why her motivational strategies might be backfiring on her.   I&#8217;ve had success with saying: </p>
<blockquote><p>
Hey, do you have a min. to talk about something that will help the whole team work better?   </p>
<p>I&#8217;ve noticed that my ability to stay focused and motivated is being impacted by something that happened at our last team meeting.   And I&#8217;m afraid others may have had the same reaction.   I know we really want this project to succeed, and I don&#8217;t want to let this get in the way.  </p>
<p>You&#8217;ll remember that Mary was out sick, and you joked that she would jut bring up bad news anyway&#8230;  Well, that kind of thing makes me think you won&#8217;t handle bad news well, and makes me less likely to bring bad news to you right away.  And I don&#8217;t want that, since I&#8217;m sure that limits your ability to help us to problem solve&#8230;.</p></blockquote>
<p>The key things to remember are: </p>
<ul>
<li>Establish that you&#8217;re trying to help with something they care about, not to attack them</li>
<li>Raise one issue at first, don&#8217;t make this about a pattern of behavior &#8212; that&#8217;s harder to admit to. </li>
<li>Don&#8217;t use emotionally charged words, just present the facts as they happened</li>
<li>The let your boss know how you interpret those facts, </li>
</ul>
<p>These kinds of social confrontations can be very hard for us programmers, but they really can make a difference in our working environment, and can improve our teams.   </p>
<p>Learning to handle conflicts well is just as important as learning to catch exceptions in untrusted code.   Failing to do either one, is likely to end up with things blowing up at random times in ways that we can&#8217;t control. </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2007/08/14/motivation-demotivation-and-constructive-conflict/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Changing Values</title>
		<link>http://compoundthinking.com/blog/index.php/2007/06/04/changing-values/</link>
		<comments>http://compoundthinking.com/blog/index.php/2007/06/04/changing-values/#comments</comments>
		<pubDate>Mon, 04 Jun 2007 13:40:01 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Lean]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2007/06/04/changing-values/</guid>
		<description><![CDATA[It&#8217;s hard to change your corporate culture, because it requires changing the way people think, feel, and act. And smart people can do really stupid things when they try to change other people. Once, long ago, I worked with a company that was struggling to attract top notch people in a very small field. The [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s hard to change your corporate culture, because it requires changing the way people think, feel, and act.  And smart people can do really stupid things when they try to change other people.  </p>
<p>Once, long ago, I worked with a company that was struggling to attract top notch people in a very small field.  The were constrained by the number of people they had, and the were loosing good people, who were hard to replace.  So, they wisely decided that they needed to to change their corporate culture, and to make themselves a more attractive place to work.</p>
<p>Their primary tactic in achieving this  strategy was to publish a new &#8220;company values&#8221; statement, and adding &#8220;cool&#8221; to the list of criteria by which employees were judged at review time.  Figuring that if their employees became cooler, people would be more attracted to working with the company.   At the same time they also hosted &#8220;mandatory fun&#8221; activities outside of work hours, on top of the mandatory overtime, and near-constant travel, which was the norm for many of their employees.  <img align='right' src='http://compoundthinking.com/blog/wp-content/uploads/2007/06/istock_000002694919xsmall.jpg' alt='Head In Sand' /></p>
<p>At the same time the manager, who was the force behind this, continued to <a href="http://www.therainmakergroupinc.com/add.asp?ID=81">speak condescendingly</a> towards others he perceived as &#8220;less valuable&#8221; in the organization and was well know for his political games, and his &#8220;me first&#8221; attitude.   This lead to widespread fear that the subjectivity of the &#8220;cool&#8221; rating was just an attempt to provide material for weeding out the &#8220;undesirable&#8221; employees. </p>
<p>Needless to say, their attempts did not earn them a worldwide reputation as &#8220;one of the most fun places to work.&#8221;  And many people who felt their contributions weren&#8217;t valued left, and they told stories which made it even harder to find people in their small field. </p>
<p>If you want to change your corporate culture, you have to change the way people think, the way they feel, and the way they behave.   </p>
<p>Changing people is hard. Rearranging words on paper is easy.   Smart companies don&#8217;t confuse the two. </p>
<p>If you want to effect real change in an organization: </p>
<ul>
<li>Start with changing yourself.   You are part of the culture, and if you are a leader people are watching what you do more closely than what you say.</li>
<li>Be honest with yourself and with everybody involved about the problem. Take responsibility for your part what&#8217;s gone wrong.</li>
<li>Ask people to join you in the hard work of making things better. </li>
<li>Continually look for the reasons behind people&#8217;s resistance.  Perhaps there&#8217;s a lack of trust, perhaps the your words are saying one things, and your actions are saying another.</li>
</ul>
<p><a href="http://www.ayeconference.com/Articles/Facinguptothetruth.html">Honesty</a>, openness, and ability to communicate a vision of how things could be better will get you a long way.  But you also need to be prepared for  resistance, and you need to learn from that resistance. As Jerry Weinberg<a href="http://http://www.managementconsultingnews.com/interviews/weinberg_interview.php"> says</a>:</p>
<blockquote><p>&#8220;Overcoming&#8221; is not what you want to do with so-called resistance. What you&#8217;re calling &#8220;resistance&#8221; is what it looks like to you when [people] don&#8217;t feel safe following your suggestions. So, what you want to do is learn from it&#8211;it&#8217;s a gold mine of information, as long as you don&#8217;t push to &#8220;overcome&#8221; it.</p></blockquote>
<p>Another thing you might want to consider in that most negative corporate cultures trickle down from the top.  Contempt is the sulfuric acid of organizational change, it creates defensiveness, super-charges resistance, and corrodes working relationships.   </p>
<p>So, if your managerial team shows any traces of contempt, you might want to do is buy a couple copies of Bob Sutton&#8217;s new book &#8220;<a href="http://www.amazon.com/gp/redirect.html%3FASIN=0132433885%26tag=pragmaticsyst-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446526568">The No Asshole Rule</a>&#8221; and slip them on a few key people&#8217;s desks.  </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2007/06/04/changing-values/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>An Agile Paradox: People over Process (part 1)</title>
		<link>http://compoundthinking.com/blog/index.php/2007/05/29/an-agile-paradox-people-over-process-part-1/</link>
		<comments>http://compoundthinking.com/blog/index.php/2007/05/29/an-agile-paradox-people-over-process-part-1/#comments</comments>
		<pubDate>Tue, 29 May 2007 03:57:10 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Lean IT]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2007/05/29/an-agile-paradox-people-over-process-part-1/</guid>
		<description><![CDATA[The agile manifesto says we focus on &#8220;people over processes&#8221;. And I think that&#8217;s the right thing to do, people are ultimately more important than processes. But, at the same time, there&#8217;s a paradox to be thought through here, because focusing your management efforts on people can be counterproductive. If you focus on people it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://agilemanifesto.org/">agile manifesto</a> says we focus on <strong>&#8220;people over processes&#8221;</strong>.   </p>
<p>And I think that&#8217;s the right thing to do, people are ultimately more important than processes.   But, at the same time, there&#8217;s a paradox to be thought through here, because focusing your management efforts on people can be counterproductive.  <img src='http://compoundthinking.com/blog/wp-content/uploads/2007/05/istock_000002906402xsmall.jpg' align="right" alt='flowchart' />If you focus on people it&#8217;s easy to blame them for failures, to try to change them, and to loose sight of the processes which got you the wrong people, or which made it difficult or impossible for the right people to do the right thing. </p>
<p>In fact much of the benefit of the Lean/Six Sigma camps comes from the notion that you pretty much always get better results if you always assume it&#8217;s a <strong>process problem</strong>, and try to improve the processes.   </p>
<p>The solution to the People over Process paradox is easy enough: </p>
<p>Good managers lead by creating an environment where people are empowered, in other words they lead by focusing on a different <em>kind</em> of processes.  Processes  which put people in charge, and which encourage learning and self-correction.   That might sound hard, but really it&#8217;s not as complicated as you think.  For, example Toyota has thrived by creating a &#8220;metaprocess&#8221; which gives every employee power over the day to day processes of their job.   These meta-processes which make standards of work clear, and make it the team&#8217;s responsibility to relentlessly and ceaselessly continue to improve those standards.   Employees are expected to think, and to act on a regular basis to improve the way things are done.  And they are ultimately &#8220;in control&#8221; of the processes which govern their work.  </p>
<p>If you focus on the right metaprocess, you won&#8217;t get into the kind of &#8220;process problems&#8221; that the agile manifesto was written to combat.   Processes will be owned by the people doing the work, not imposed from above, and they will be adjusted continuously to meet the daily needs of the project.   </p>
<p>Processes must serve people. But at the same time people following good processes &#8212; and even more importantly good process improvement processes &#8212; are more productive than people with no process.  So, removing process isn&#8217;t the answer to &#8220;People over process&#8221; it&#8217;s providing people with control over the processes, and with a well defined way to improve those processes. </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2007/05/29/an-agile-paradox-people-over-process-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Diagnostics, Problem Definition and &#8220;House&#8221;</title>
		<link>http://compoundthinking.com/blog/index.php/2007/04/07/diagnostics-problem-definition-and-house/</link>
		<comments>http://compoundthinking.com/blog/index.php/2007/04/07/diagnostics-problem-definition-and-house/#comments</comments>
		<pubDate>Sat, 07 Apr 2007 01:11:32 +0000</pubDate>
		<dc:creator>Mark Ramm</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[TurboGears]]></category>

		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2007/04/07/diagnostics-problem-definition-and-house/</guid>
		<description><![CDATA[There was a &#8220;House&#8221; marathon a couple weeks ago, and I caught a bit of it while working on some projects around the house. As I watched it became pretty clear that every episode is built around solving a complex medical problem. And 90% of the show is spent learning about the problem, finding new [...]]]></description>
			<content:encoded><![CDATA[<p>There was a &#8220;House&#8221; marathon a couple weeks ago, and I caught a bit of it while working on some projects around the house.  As I watched it became pretty clear that every episode is built around solving a complex medical problem.  And 90% of the show is spent learning about the problem, finding new pieces of information, and testing incorrect assumptions. </p>
<p>I think this is a pretty good description of lots of a lot of projects I&#8217;ve worked on as a software developer and project manager. Lots of Software Developers want to get the &#8220;Problem Definition&#8221; done as soon as possible, and get on to the &#8220;real work&#8221; of solving the problem.   But there&#8217;s real danger there, it&#8217;s easy to define and solve the wrong problem. </p>
<p>I like the system they use in House &#8212; there&#8217;s a central whiteboard which contains a description of the problem they&#8217;re trying to solve.   As the show progresses, the problem definition is continuously updated, and the diagnostic team comes up with various theories.   I&#8217;ve worked on projects where we the developers didn&#8217;t have a clear understanding of the problem, or where our understanding of the problem was months and months out of date.  </p>
<p>The result was that we built the software that solved the wrong problem, or in the best case, software that solved the right problem in the wrong way.   Either way, what we built fit the user stories we got for that iteration, but wasn&#8217;t &#8220;well designed&#8221; in terms of solving the core problem.  In both cases, it was very clear as I talked to the end users after the project was completed, that we could have spent less time, and built better software if we&#8217;d just had a clear and up to date picture of the client code. </p>
<p>I think a problem definition whiteboard is a great addition to the standard Agile software system, and I&#8217;ve started thinking about how to integrate this into all the projects I&#8217;m working on.   </p>
<p>I think this is particularly important for Open Source projects with a distributed team, so I&#8217;d like to integrate this idea with the TurboGears 1.1 development process.    I&#8217;ve posted Alberto&#8217;s 1.1 roadmap on the Docs wiki (<a href="http://docs.turbogears.org">docs.turbogears.org</a>) and I&#8217;ll try to keep that as up to date as possible, and to add a very clear problem definition to the top of the roadmap. </p>
]]></content:encoded>
			<wfw:commentRss>http://compoundthinking.com/blog/index.php/2007/04/07/diagnostics-problem-definition-and-house/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

