<?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>Robert on Software Development &#187; Process</title>
	<atom:link href="http://standefer.com/blog/category/process/feed/" rel="self" type="application/rss+xml" />
	<link>http://standefer.com/blog</link>
	<description>Seeing it all, one line of code at a time</description>
	<lastBuildDate>Tue, 25 May 2010 22:23:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Don&#8217;t Hate the Game, Hate the Process</title>
		<link>http://standefer.com/blog/2008/07/10/dont-hate-the-game-hate-the-process/</link>
		<comments>http://standefer.com/blog/2008/07/10/dont-hate-the-game-hate-the-process/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 23:25:49 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://standefer.com/blog/?p=14</guid>
		<description><![CDATA[I&#8217;m not a big fan of the one-size-fits-all approach to processes. I think that processes can be good, like when they formalize the way people do things and establish a single point of understanding. I think that processes can be bad, like when they&#8217;re so complex and unrelenting that they get in the way of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not a big fan of the one-size-fits-all approach to processes. I think that processes can be good, like when they formalize the way people do things and establish a single point of understanding. I think that processes can be bad, like when they&#8217;re so complex and unrelenting that they get in the way of actual work.</p>
<p>Some people think processes are the silver bullet to every problem. &#8220;That wouldn&#8217;t have happened if a process had been in place and followed,&#8221; they say. Other people think processes are a waste across the board. &#8220;We did just fine before management started making us follow this process, and now it adds three weeks to our work,&#8221; they insist.</p>
<p>The big question is, how do we meet halfway? How do we show the value of business processes while not forcing people to choke them down? How do we establish guidelines for business process management and still let people do their jobs in the way they are most productive?</p>
<p>The Daily WTF had a <a href="http://thedailywtf.com/Articles/Slaves-to-The-Process.aspx">recent post</a> (albeit fictionalized) about how a blind adherence to processes completely eclipsed common sense. I can&#8217;t personally believe that the people in that story would be so ignorant as to lose an entire day&#8217;s work from such a simple matter, but at the same time, the story does have a point: IT stuff is not trusted as much as they should be, and the checks and balances in place can cause more trouble than they&#8217;re worth. That&#8217;s not the fault of &#8220;business process management.&#8221; It&#8217;s the fault of the people who put the processes in place, ensure they&#8217;re being followed, and carry out the work involved. In other words, <em>everyone</em>.</p>
<p>On the other side of the coin, there are untold numbers of success stories that involve business processes that work. We never pay attention to the things that go right; we only care about the things that go wrong. Never mind that the electricity stays on when you pay your bill, or that your car hasn&#8217;t been repossessed because the bank paid your check to your lienholder. We ignore these things because we take the processes for granted, and because they are <strong>someone else&#8217;s problem.</strong></p>
<p>What do you do when the process is choking the life out of your work? You change it. I&#8217;m reminded of a story I heard in a computer science class I took a long time ago:</p>
<blockquote><p>I worked for a shipping company for several years in the data processing department, and since I did a good job and my programs worked, I eventually got promoted to supervisor. My job duties included everything I was already doing, with some extra responsibility over the other data processing clerks.</p>
<p>One Monday I came into the office and my manager called me into his office. &#8220;John, we need to talk about one of your clerks, Bill. The computer says he has processed an average 24 large shipments over the past three weeks, and the minimum threshold for data throughput is 30 shipments.&#8221;</p>
<p>I knew he had been having some trouble at home with a sick child, so I didn&#8217;t push him to work harder. And I didn&#8217;t even know there was a &#8220;minimum threshold for data throughput.&#8221;</p>
<p>&#8220;We want you to let him go,&#8221; my manager said. I was shocked and tried to change his mind, but he had the hard data showing my coworker&#8217;s productivity.</p>
<p>A week later my manager called me into his office. &#8220;I see you didn&#8217;t let Bill go. I&#8217;m glad you didn&#8217;t because his output exceeds the minimum by a large amount. But next time, talk to me before you go against what I say.&#8221;</p>
<p>I couldn&#8217;t fire Bill. He wasn&#8217;t the problem. It was the program. Some programmer had made an arbitrary decision to set a default value for a variable to 30&#8211;the number of days in the month of June, when the code was written&#8211;and I changed it to &#8216;0&#8242;. The &#8220;minimum threshold&#8221; that my boss was talking about was the initializer for a counter that tracked all processed large shipments by a user. Since the code was testing for values less than that &#8220;threshold,&#8221; an exception was thrown. Someone had written a business process around the code, instead of the other way around.</p></blockquote>
<p>I think the moral of his story is &#8220;common sense prevails.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://standefer.com/blog/2008/07/10/dont-hate-the-game-hate-the-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New PC, New Risks</title>
		<link>http://standefer.com/blog/2008/06/05/new-pc-new-risks/</link>
		<comments>http://standefer.com/blog/2008/06/05/new-pc-new-risks/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 03:32:28 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://standefer.com/blog/?p=11</guid>
		<description><![CDATA[The subject sums up how I feel today, now that my employer has replaced my long-in-the-tooth Latitude D810 with a brand new Latitude D830. It may not sound like much, but it’s a massive upgrade. Now I can run Visual Studio 2008 and Microsoft Outlook at the same time!
The laptop was delivered to me pretty [...]]]></description>
			<content:encoded><![CDATA[<p>The subject sums up how I feel today, now that my employer has replaced my long-in-the-tooth Latitude D810 with a brand new Latitude D830. It may not sound like much, but it’s a massive upgrade. Now I can run Visual Studio 2008 and Microsoft Outlook at the same time!</p>
<p>The laptop was delivered to me pretty bare, with just the standard install (Windows XP and Office 2003). I knew I wouldn’t have time to get it set up tomorrow in the office, and besides, it wouldn’t be fair to bill my customer for my time spent setting up my own machine, so I brought it it home and got it all ready for work tomorrow.</p>
<p>After I finished installing everything, setting my desktop background, and organizing my folders, I leaned back in my chair with a smug sense of accomplishment. Then it hit me: I have a meeting tomorrow morning at 8:30, and I’ll need to use my PC in the meeting to draw network diagrams. I don’t have <em>any</em> of the supporting documentation for the meeting on this new laptop. I got so caught up in the excitement of replacing my old one that I neglected to think about the risk of trading it in on the new one the night before a big meeting.</p>
<p>This is the kind of risk I point out on a weekly basis in my role in the PMO. People want to make changes to production systems and they think the changes are minor and easy, so they don’t want to go through the formal process we have in place. But the smallest change can quickly snowball into the biggest problem. One little oversight can cause a massive headache. And that’s where I am now.</p>
<p>I’ll be ok in the meeting tomorrow because I’ll go in earlier to get the files onto my machine. That means I have to get up earlier, and have a more stressful morning. That bit of unpleasantness could have been mitigated by simply waiting a day. I’m mitigating my risk by sacrificing some sleep.</p>
<p>Since I’m not a morning person, getting less sleep risks a tired afternoon, and my technical review board meeting is tomorrow afternoon.</p>
<p>Do you see where this is going?</p>
]]></content:encoded>
			<wfw:commentRss>http://standefer.com/blog/2008/06/05/new-pc-new-risks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Process modeling, or modeling processes</title>
		<link>http://standefer.com/blog/2008/05/21/process-modeling-or-modeling-processes/</link>
		<comments>http://standefer.com/blog/2008/05/21/process-modeling-or-modeling-processes/#comments</comments>
		<pubDate>Wed, 21 May 2008 02:36:45 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Modeling]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://standefer.com/blog/?p=9</guid>
		<description><![CDATA[Lately I&#8217;ve been working on documenting the processes I use for reviewing change requests. There are two processes that are used for this weekly endeavor. One involves the lifecycle of a change request from creation to technical approval (my job), and then it goes off to higher powers. The other is the process I use [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been working on documenting the processes I use for reviewing change requests. There are two processes that are used for this weekly endeavor. One involves the lifecycle of a change request from creation to technical approval (my job), and then it goes off to higher powers. The other is the process I use in the actual technical review.</p>
<p>I can represent the high level process rather simply. </p>
<p><a href="http://standefer.com/blog/wp-content/uploads/2008/05/image.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="222" alt="image" src="http://standefer.com/blog/wp-content/uploads/2008/05/image-thumb.png" width="520" border="0" /></a> </p>
<p>Of course, there&#8217;s a lot of stuff going on in there, but it works at a high level. The detailed process is much more complex, and I don&#8217;t have a model for it yet because I haven&#8217;t figured out how to represent it in notation.</p>
<p>That describes, then, a larger problem: is my process so complex that it is too difficult to model? Or is the process flawed and should be redefined using a model-driven approach? The current method is a very manual process. My attempts to automate individual aspects of the process have proven quite difficult. That indicates to me that the overall process is flawed and needs to be redesigned.</p>
<p>I think I&#8217;m going to take a step back and analyze the technical review process with a more objective eye. That is, instead of looking at it in terms of &quot;this is what we&#8217;re using, and it gets the job done,&quot; I&#8217;ll look at it as &quot;this is a new process that has not been executed before.&quot; At the end of the day, the process should be easily understood by people who are not intimately involved with the actual work.</p>
<p>Perhaps at that point, the process will be clearly documented and individual tasks can be relegated to automated workflows. More on that later!</p>
]]></content:encoded>
			<wfw:commentRss>http://standefer.com/blog/2008/05/21/process-modeling-or-modeling-processes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
