<?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>Webster &#38; Associates LLC &#187; Politics</title>
	<atom:link href="http://bfwa.com/category/politics/feed/" rel="self" type="application/rss+xml" />
	<link>http://bfwa.com</link>
	<description>We can help.</description>
	<lastBuildDate>Thu, 27 May 2010 02:24:14 +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>Pushing the right IT solution</title>
		<link>http://bfwa.com/2008/08/22/pushing-the-right-it-solution/</link>
		<comments>http://bfwa.com/2008/08/22/pushing-the-right-it-solution/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 16:44:56 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Baseline]]></category>
		<category><![CDATA[IT Project Management]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Surviving Complexity]]></category>

		<guid isPermaLink="false">http://bfwa.com/?p=76</guid>
		<description><![CDATA[
Yes, it&#8217;s my latest Baseline column:

Last week, I talked about some of the reasons why large organizations often reject the best solutions for a troubled IT project: fear, pride, budget, and the ever-present internal politics. This week, as promised, I will talk about what it takes to champion the right solution. I can’t guarantee that [...]]]></description>
			<content:encoded><![CDATA[<p>
Yes, it&#8217;s <a href="http://www.baselinemag.com/c/a/IT-Management/Pushing-for-the-Right-IT-Project-Solution/">my latest Baseline column</a>:</p>
<blockquote><p>
Last week, I talked about some of the reasons why large organizations often reject the best solutions for a troubled IT project: fear, pride, budget, and the ever-present internal politics. This week, as promised, I will talk about what it takes to champion the right solution. I can’t guarantee that you’ll succeed, but you will have a better shot at it. </p>
</blockquote>
<p>Go read the rest of the column. And I promise some original postings here this coming week.  ..bruce..</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/08/22/pushing-the-right-it-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall: Picking the wrong horse</title>
		<link>http://bfwa.com/2008/05/21/pitfall-picking-the-wrong-horse/</link>
		<comments>http://bfwa.com/2008/05/21/pitfall-picking-the-wrong-horse/#comments</comments>
		<pubDate>Thu, 22 May 2008 02:24:59 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[PMSE]]></category>
		<category><![CDATA[Pitfalls]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://bfwa.com/?p=53</guid>
		<description><![CDATA[[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
Categories: political
Face it: technology adoption is a gamble, and one often made at gunpoint. External market forces lead internal political forces to demand advances &#8212; often unrealistic ones &#8212; in information technology. Those who adopt too soon come to understand the cliché “bleeding edge”. Those [...]]]></description>
			<content:encoded><![CDATA[<p>[From <a href="../2008/02/25/pitfalls-of-modern-software-engineering-an-explanation"><strong>Pitfalls of Modern Software Engineering</strong></a> by Bruce F. Webster (forthcoming)]</p>
<p><strong>Categories</strong>: political</p>
<p>Face it: technology adoption is a gamble, and one often made at gunpoint. External market forces lead internal political forces to demand advances &#8212; often unrealistic ones &#8212; in information technology. Those who adopt too soon come to understand the cliché “bleeding edge”. Those who adopt too late lose opportunities and possibly market share. And so you find yourself looking a dozen new technologies and trying to decide which to adopt, knowing that only two or three are likely to succeed: that is, deliver what you need and grow with your ever-increasing demands. A winner is always easier to pick in retrospect, but you seldom have that luxury. Instead, you need to decide between adopting a “safe” technology &#8212; which may not, in the end, really meet your needs &#8212; or leading out with a newer technology and thus run the risk of finding yourself in a dead end with a non-standard or even unsupported solution or approach.</p>
<p>But that&#8217;s why they pay you the big bucks, right?</p>
<p>Just as a personal note, I spent five years (1990-95) and $7 million in venture capital as part of a software start-up that developed and shipped a design-oriented desktop publishing system for . . . the NeXTstep operating system. As I tell people, it seemed like a good idea at the time. It was a great operating system (still is &#8212; go look at Mac OS X) and certainly better than anything else out in 1990. And we were in good company at the time, with firms such as WordPerfect, Ashton-Tate, and Adobe all developing for NeXTstep as well.</p>
<p>But it was the wrong horse.</p>
<h2>Symptoms</h2>
<p>Peers and managers above you start questioning your choice of technologies. The number of other organizations adopting the technology in question doesn&#8217;t seem to be growing much, or is even shrinking. Developers experienced with the technology are hard to find.</p>
<h2>Consequences</h2>
<p>Your system and/or development effort struggles due to the lack of developers and third-party tools for the technologies in question. If you&#8217;re developing a commercial product, you may find a very limited market, assuming you find one at all. If you&#8217;re developing an in-house system, you may end up deploying it, but the system may be difficult to maintain and keep in production for its original hoped-for lifetime. And if you were the champion for adopting that particular technology, you may find yourself losing influence, missing out on promotions, and possibly even out of a job.</p>
<h2>Detection</h2>
<p>Track down and talk frequently with other firms adopting the same technology. Fact-check, as best you can, claims by the technology&#8217;s vendor regarding adoption and market share. Pay particular attention to the products or systems based on this technology that are actually deployed into real-world use.</p>
<h2>Extraction</h2>
<p>If you think you&#8217;ve picked the wrong horse, then start to find the right one, quickly. Figure out what it&#8217;s going to take to move over to the better (or best) technology. Work up a careful transition plan &#8212; as accurate and conservative as you can make it &#8212; and then figure out what it&#8217;s going to take to sell this to upper management. There may be no good or easy paths at this point.</p>
<p>Note that there are cases where you may well be best off staying on the technology you originally picked, particularly if this is an in-house system. That is, it may be more cost effective to push into production, then plan for an earlier-than-expected end-of-life for that system, rather than try to switch horses in mid-race.</p>
<h2>Prevention</h2>
<p>This is hard precisely for the reasons stated above: in many cases, you just don&#8217;t know what will succeed and what won&#8217;t. If you&#8217;re talking about a major decision &#8212; such was what operating system to develop for and deploy on &#8212; your choices may be limited by other factors. In general, though, you want to avoid the leading/bleeding edges &#8212; never count on version 1.0 (or even 1.x) of anything. You want to choose technologies that have been out in the marketplace long enough to have the flaws exposed and &#8212; one hopes &#8212; the biggest problems addressed.</p>
<h2>References</h2>
<p>[<em>Professional observation</em>]</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/05/21/pitfall-picking-the-wrong-horse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall: Underestimating the resistance</title>
		<link>http://bfwa.com/2008/05/16/pitfall-underestimating-the-resistance/</link>
		<comments>http://bfwa.com/2008/05/16/pitfall-underestimating-the-resistance/#comments</comments>
		<pubDate>Fri, 16 May 2008 18:53:33 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Change management]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[PMSE]]></category>
		<category><![CDATA[Pitfalls]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://bfwa.com/?p=50</guid>
		<description><![CDATA[[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
Categories: political
A particular technology or methodology (the &#8220;TOM&#8221;) is wonderful. At least, you think it is, based on anything from a breathless  magazine article to years of experience with solid, successful software development using this TOM.  Or you may not think it&#8217;s wonderful, [...]]]></description>
			<content:encoded><![CDATA[<p>[From <a href="../2008/02/25/pitfalls-of-modern-software-engineering-an-explanation"><strong>Pitfalls of Modern Software Engineering</strong></a> by Bruce F. Webster (forthcoming)]</p>
<p><strong>Categories</strong>: political</p>
<p>A particular technology or methodology (the &#8220;TOM&#8221;) is wonderful. At least, you think it is, based on anything from a breathless  magazine article to years of experience with solid, successful software development using this TOM.  Or you may not think it&#8217;s wonderful, but you do think it may offer advantages and  benefits to your development efforts. And, of course, what’s obvious to you should be  obvious—or, at least, understandable—to everyone else.</p>
<p>So you blithely push ahead&#8230;until people start pushing back. And before you know it,  you’re engaged in a political battle, fighting resistance to the TOM that may  range from guerrilla sniping to a full frontal assault.</p>
<p>Why might people resist accepting object technology? The reasons are varied and may  range from the well-founded to the completely irrational to the deliberately  obstructionist. Here are examples:</p>
<ul>
<li>They don’t understand the TOM.</li>
<li>They don’t want to understand the TOM.</li>
<li>They’re afraid they won’t be able to understand the TOM (and thus will have  less value to the company).</li>
<li>They know they won’t be able to understand the TOM, because they’ve been just skating by for the last ten years&#8211;taking advantage of the IT job shortage&#8211;and know that this will expose them for what they are.</li>
<li>They have very strong feelings about the language and/or programming  methodology, or tools or all three that they currently use.</li>
<li>They really detest the TOM and/or the associated language and/or tools that you’re  proposing they use.</li>
<li>They’re worried that the reasons for adopting the TOM aren’t well thought  through.</li>
<li>They’re worried that the plan for adopting the TOM has significant problems  or flaws.</li>
<li>They want to adopt the TOM, but they want to do it their way.</li>
<li>They want you to fail so that they (or someone they like better) can get your job.</li>
<li>They read this book.</li>
</ul>
<p>Compounding the situation is the fact that you may face several of the reasons  simultaneously, possibly from different sources.</p>
<h2>Symptoms</h2>
<p>Delays in getting approval or support. Rumors circulating behind your back. Objections  constantly brought up in meetings. Former supporters distancing themselves from you.  Reduction in project priority and resources.</p>
<h2>Consequences</h2>
<p>Significant project delays or project failure. Loss of influence. Loss of job.</p>
<h2>Detection</h2>
<p>If you suspect that resistance is deeper or more entrenched than you thought, you need  to find out the sources of resistance and the reasons behind it. This can be hard,  because the people resisting you may not be honest about what they’re doing, or why  they’re doing it.</p>
<p>Furthermore, if the resistance is coming from above, your boss(es) may feel no  obligation to explain their reasons.</p>
<h2>Extraction</h2>
<p>You have four choices, not necessarily mutually exclusive, based on the nature, depth,  and source of the resistance:</p>
<ul>
<li>Push ahead in spite of it.</li>
<li>Mollify or enlist those who resist.</li>
<li>Redirect the project to quell the objections.</li>
<li>Abandon the project gracefully and (maybe) try again later.</li>
</ul>
<h2>Prevention</h2>
<p>Make a list of everyone who might have any input or influence and judge where they  stand. If possible, meet with each one privately to sound out her or him—but recognize  that you may not get an honest answer. Offer each person a chance to make criticisms  and recommendations; let everyone feel a part of the project and the process. Build  enthusiasm, pointing out specific benefits, particularly those of interest to each  individual. Use each source to cross-check others. This process is known as “getting  your ducks in a row,” and you’d better do that before you start. This process may be  more critical for those below you than those above you; don’t underestimate the power  of developers to make your life wonderful or miserable.</p>
<p>Having done that, assess the costs and risks in pushing this project forward compared  to the possible benefits and rewards. Factor that with the probability of success and  make your call. If it looks too dangerous, scale back or redirect. If it looks impossible,  find somewhere else to work.</p>
<h2>References</h2>
<p>Webster, from <em>Pitfalls of Object-Oriented Development </em>(1995).</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/05/16/pitfall-underestimating-the-resistance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall: Not educating and enlisting management before the fact</title>
		<link>http://bfwa.com/2008/05/14/pitfall-not-educating-and-enlisting-management-before-the-fact/</link>
		<comments>http://bfwa.com/2008/05/14/pitfall-not-educating-and-enlisting-management-before-the-fact/#comments</comments>
		<pubDate>Thu, 15 May 2008 04:03:13 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[PMSE]]></category>
		<category><![CDATA[Pitfalls]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://bfwa.com/?p=49</guid>
		<description><![CDATA[[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
Categories: political
There is an oft-cited dictum in technology development groups: “It is easier to ask  forgiveness than permission.” It is often true and sometimes crucial to circumvent  bureaucratic foot-dragging and politics. But it is not always the best course, and the  danger [...]]]></description>
			<content:encoded><![CDATA[<p>[From <a href="../2008/02/25/pitfalls-of-modern-software-engineering-an-explanation"><strong>Pitfalls of Modern Software Engineering</strong></a> by Bruce F. Webster (forthcoming)]</p>
<p><strong>Categories</strong>: political</p>
<p>There is an oft-cited dictum in technology development groups: “It is easier to ask  forgiveness than permission.” It is often true and sometimes crucial to circumvent  bureaucratic foot-dragging and politics. But it is not always the best course, and the  danger of following it is commensurate with the technical, financial, and political risks  involved. And all three risks abound when an organization is moving to a new technology or methodology (the &#8220;TOM&#8221;).</p>
<p>Nevertheless, it is not uncommon for a development group to make the switch to the TOM  with only minimal involvement and education of upper management. Indeed,  management may not care very much or may even be supportive—having read an  article about the wonders of this particular TOM in a weekly business magazine.</p>
<p>And that is where the pitfall lies. For unless the project comes in within acceptable time  and budget limits, upper management will suddenly be asking hard questions reflecting  reasonable or unreasonable expectations, given what they know or were told.</p>
<h2>Symptoms</h2>
<p>Apparent lack of knowledge or overly positive expectations or both on the part of  management about the TOM and its role in the relevant projects. Sudden distancing or self- protecting activities if problems crop up.</p>
<h2>Consequences</h2>
<p>Lack of support and possibly active hostility from upper management if problems arise  or if their expectations aren’t met. Finding yourself twisting in the wind. Career damage,  lack of promotion, demotion, loss of job.</p>
<h2>Detection</h2>
<p>Sit down with upper management and find out how much they understand about this particular TOM and how it’s being applied in the relevant project(s). Have them detail their  expectations. Find out their level of enthusiasm or concern for the use of this TOM.</p>
<h2>Extraction</h2>
<p>There’s little to do except start the education and enrollment process much later than it  should have been. It may be really tough, depending on how current expectations  compare to reality, and the truth is, there’s no good reason for not having done this  before things got started.</p>
<h2>Prevention</h2>
<p>From the pitfall itself, it’s obvious that there are two separate (if related) tasks:  educating and enlisting. The first comprises letting management know exactly what  adopting this TOM entails, which means that you had better know yourself, and  you’d better know it well enough to explain it to nontechnical people. Work to contain  your own enthusiasm for this TOM; remember that it is safer to underpromise and overdeliver.</p>
<p>Second, and this is probably tougher, you need to enlist key people: those who can  affect your budget and resources, and those who can affect the scope and direction of  your project. If you can, prove yourself with small projects to establish credibility and to  give your sponsors a track record to point to (and take credit for).</p>
<h2>Reference</h2>
<p>Webster, from <em>Pitfalls of Object-Oriented Development </em>(1995).</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/05/14/pitfall-not-educating-and-enlisting-management-before-the-fact/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall: Confusing approach with results</title>
		<link>http://bfwa.com/2008/04/26/pitfall-confusing-approach-with-results/</link>
		<comments>http://bfwa.com/2008/04/26/pitfall-confusing-approach-with-results/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 15:15:03 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[PMSE]]></category>
		<category><![CDATA[Pitfalls]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://bfwa.com/?p=47</guid>
		<description><![CDATA[[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
Categories: conceptual, political
Native tribes in the South Pacific developed &#8220;cargo cults&#8221; during the middle part of the 20th century. Having observed planes (such as the venerable DC-3) landing on their islands and discharging goods from inside, these tribes created simacrula of the planes and worshipped [...]]]></description>
			<content:encoded><![CDATA[<p>[From <a href="http://bfwa.com/2008/02/25/pitfalls-of-modern-software-engineering-an-explanation"><strong>Pitfalls of Modern Software Engineering</strong></a> by Bruce F. Webster (forthcoming)]</p>
<p><strong>Categories</strong>: conceptual, political</p>
<p>Native tribes in the South Pacific developed &#8220;cargo cults&#8221; during the middle part of the 20th century. Having observed planes (such as the venerable DC-3) landing on their islands and discharging goods from inside, these tribes created simacrula of the planes and worshipped them, sure that goods would magically arrive as a result.</p>
<p>Something similar happens with many projects that are used to pioneer a new technique or methodology (the &#8220;TOM&#8221;). Those in charge select the TOM, possibly with supporting tools and technologies, and the team pushes ahead. Having gone through the motions and used all the right tools, the team and its upper management may presume that what they&#8217;ve created is properly in line with the TOM and as such will incur all the benefits thereof.</p>
<p>Unfortunately, what often results bears little resemblance to best practices &#8212; or even somewhat OK practices &#8212; in professional TOM development. The painful reality is that they are in many cases worse off than if they had simply used existing techniques, methodologies and languages.</p>
<h2>Symptoms</h2>
<p>Serious problems in schedule, functionality, and quality. Failure to achieve expected benefits of object technology.</p>
<h2>Consequences</h2>
<p>Project instability and schedule slip, often ending in partial or complete project failure.</p>
<h2>Detection</h2>
<p>When you raise issues concerning what is being (or not being) created, you get responses of &#8220;But we&#8217;re using [methodology/notation/language/technology]!&#8221; When you probe for actual understanding of TOM development within the project, you quickly run into blank stares, defensive attitudes, and canned answers.</p>
<h2>Extraction</h2>
<p>This is a hard one to push through to completion. In most cases, what you have to do is bring in some technology and process mentor; in far too many cases, you have to throw out everything that has been done so far and start over.</p>
<h2>Prevention</h2>
<p>Ensure that the development team has people on it who really understand the technology or methodology and who have the skill and experience to apply it correctly and successfully.</p>
<h2>References</h2>
<p>[<em>Professional experience</em>]</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/04/26/pitfall-confusing-approach-with-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall: Betting the company on a given technology or methodology</title>
		<link>http://bfwa.com/2008/04/18/pitfall-betting-the-company-on-a-given-technology-or-methodology/</link>
		<comments>http://bfwa.com/2008/04/18/pitfall-betting-the-company-on-a-given-technology-or-methodology/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 15:58:23 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[PMSE]]></category>
		<category><![CDATA[Pitfalls]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://bfwa.com/2008/04/18/pitfall-betting-the-company-on-a-given-technology-or-methodology/</guid>
		<description><![CDATA[[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
CATEGORIES: political
Imagine the following scene. Your company&#8217;s executive staff gathers for a presentation on a new technology or methodology that will revolutionize information productivity. After a presentation citing the ongoing problems of information management, enterprise computing, and competitive response, you are presented with the solution [...]]]></description>
			<content:encoded><![CDATA[<p>[From <a href="http://bfwa.com/2008/02/25/pitfalls-of-modern-software-engineering-an-explanation"><strong>Pitfalls of Modern Software Engineering</strong></a> by Bruce F. Webster (forthcoming)]</p>
<p><strong>CATEGORIES:</strong> political</p>
<p>Imagine the following scene. Your company&#8217;s executive staff gathers for a presentation on a new technology or methodology that will revolutionize information productivity. After a presentation citing the ongoing problems of information management, enterprise computing, and competitive response, you are presented with the solution that will boost the company&#8217;s bottom line and guarantee its future: structured development using the C programming language!</p>
<p>But wait! you say. Structured development has been around for a long time, as has C. Lots of folks use structured development and C with mixed results; indeed, many don&#8217;t use it well. Lots of companies have gone out of business while relying upon structured development and C. How are structured development and C going to guarantee our future?</p>
<p>Good question. And yet, structured development and its associated methodologies &#8212; not to mention the C programming language and its versions &#8212; are likely more mature, established, and well understood in real-world applications than are any of the later technologies or methodologies (”TOMs”) that you may want to adopt. For that matter, the number of competent, practicing engineers who are expert at structured development and/or C is likely greater than the number of competent, practicing engineers who are expert at the particular TOM in question. If a company can&#8217;t succeed using structured development and C, why does it think it can succeed using a given TOM?</p>
<p>You may think that I&#8217;m being reactionary or that I don&#8217;t understand all the benefits that more modern TOMs have over structured development and/or C. If so, you miss the point: It is not <em>technique</em> (using <a href="http://en.wikipedia.org/wiki/Jacques_Ellul">Jacques Ellul</a>&#8217;s term) in and of itself that will benefit the company, but rather its intelligent and purposeful application by people who know what they&#8217;re doing and why. To think that adoption of a given TOM (or even a collections of TOMs) will suddenly make everything better is irrational to the point of superstition.</p>
<h2>Symptoms</h2>
<p>Unrealistic expectations on the part of upper management. Marketers overpromising delivery times and feature lists. Technical managers who see the TOM as a silver bullet. Developers neglecting solid software engineering practices, because the TOM “doesn’t require them”.</p>
<h2>Consequences</h2>
<p>At best, you go through a wrenching reeducation and attitude adjustment. At worst, you lose the bet — and the company.</p>
<h2>Detection</h2>
<p>Take the company&#8217;s current business plan, mission statement, and product plans, and eliminate all references to and consideration of the TOM(s) in question. Do these documents still make sense?</p>
<h2>Extraction</h2>
<p>Point out, repeatedly, that it doesn&#8217;t matter what technology you use if the products aren&#8217;t worthwhile and if the company can&#8217;t get a return on investment. Enumerate the factors required for success independent of the TOM(s) in question. Look at all that you can do to maximize those factors. Then &#8212; and only then &#8212; look at how the TOM(s) in question can aid and support those efforts.</p>
<h2>Prevention</h2>
<p>Bet the company on your people, not on some technology or methodology. Isn&#8217;t that what politics is all about?</p>
<h2>Contributor/References</h2>
<p>Webster, from <em>Pitfalls of Object-Oriented Development </em>(1995).</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/04/18/pitfall-betting-the-company-on-a-given-technology-or-methodology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall: Getting on the feature release treadmill</title>
		<link>http://bfwa.com/2008/04/17/pitfall-getting-on-the-feature-release-treadmill/</link>
		<comments>http://bfwa.com/2008/04/17/pitfall-getting-on-the-feature-release-treadmill/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 03:29:37 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[PMSE]]></category>
		<category><![CDATA[Pitfalls]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Software engineering]]></category>

		<guid isPermaLink="false">http://bfwa.com/2008/04/17/pitfall-getting-on-the-feature-release-treadmill/</guid>
		<description><![CDATA[[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
CATEGORIES: political
You know the drill. By hook or crook, through long weeks and late hours and ruthless compromising, you finally deliver the project. It&#8217;s finished, it&#8217;s out the door, and you have taken a few weeks to remind yourself what real life is like. Now [...]]]></description>
			<content:encoded><![CDATA[<p>[From <a href="http://bfwa.com/2008/02/25/pitfalls-of-modern-software-engineering-an-explanation"><strong>Pitfalls of Modern Software Engineering</strong></a> by Bruce F. Webster (forthcoming)]</p>
<p><strong>CATEGORIES:</strong> political</p>
<p>You know the drill. By hook or crook, through long weeks and late hours and ruthless compromising, you finally deliver the project. It&#8217;s finished, it&#8217;s out the door, and you have taken a few weeks to remind yourself what real life is like. Now you have the opportunity to go back and make right all the hacks and shortcuts and ugly patches you used to get version 1.0 of the project to the customers. Besides, having done the project once, you now have a far better idea of how it should have been done in the first place. You rub your hands together and…</p>
<p>…you are handed a list of new features required by customers or potential customers for version 2.0 of the project, which has to ship far sooner than you would have thought. After some study, you realize that you&#8217;re not going to be able to deliver all those features within the required time frame &#8212; and even as you realize that, more features get handed down.</p>
<p>Your plans for cleaning up the code and the architecture are rapidly getting pushed off to version 3.0, and you really wonder whether things will be any different then.</p>
<p>Chances are, they won&#8217;t.</p>
<p>Why does this happen so often? There are several reasons, really. One may be economic necessity. Your company (division, group) may have to fund itself, which means that sales have to be sufficient to meet all expenses, including your salary and benefits.   If that&#8217;s your situation, then don&#8217;t worry as much about this pitfall; architectural purity is nice, but a paycheck is better.</p>
<p>Another, less acceptable reason may be a short-term focus on the part of upper management. Determined to milk a current market opportunity and concerned primarily about next quarter&#8217;s results, they may not be receptive to an engineering investment that would yield more in the long run at the expense of smaller profits right now.</p>
<p>A third reason &#8212; not necessarily exclusive of the other two, and sometimes justified &#8212; is a suspicion on the part of upper management that engineers are more interested in doing something &#8220;cool&#8221; or &#8220;elegant&#8221; than in doing something profitable. What upper management may not understand is that elegance &#8212; architecture and code that are concise, yet clear and comprehensive, tending toward orthogonality &#8212; always pays off. Always. The only question is how soon and how much, and that is the fulcrum for the balancing act of the technical manager. Ironically, when the engineering staff is able to rapidly deliver the features requested by upper management, it is often because of a previous investment in elegance; likewise, when features take a long time to implement or bugs take a long time to fix, it&#8217;s often because of architectural gaps and past short-cuts.</p>
<h2>Symptoms</h2>
<p>Constantly having to push engineering work into the next planned release and not the current one.</p>
<h2>Consequences</h2>
<p>The cost of adding new features or extending current ones goes up, not down, over time. The program gets larger, less stable, and less cohesive. Bugs multiply, possibly causing a customer backlash.</p>
<h2>Detection</h2>
<p>Sit down with upper management and detail the engineering work that needs to be done. Indicate what impact this will have on the current list of desired features. See what kind of reaction you get.</p>
<h2>Extraction</h2>
<p>It ain&#8217;t easy. The reaction you get under <strong>Detection </strong>should give you a pretty good idea of what things will be like. There are two approaches, which should probably be used together. First, actively work with upper management and customers to determine which features are absolutely necessary and which are merely desirable &#8212; ones they could live without until the next feature release. It&#8217;s critical to talk directly with the customers, because they may not have done their own prioritizing; the list you get from management may reflect everything from essential requirements to blue-sky wishes.</p>
<p>Second, build engineering cleanup time into each feature so that an engineer allocated four weeks for a given feature spends, say, three weeks on the feature and one week on architecture.</p>
<h2>Prevention</h2>
<p>Besides using the steps described above in <strong>Extraction</strong>, you need to emphasize the need to make the proper ongoing engineering investment in order to gain the desired benefits, particularly if a new technology or methodology is involved. This means investing the time to educate management and customers, to set proper expectations, and (if possible) to run a trial project to demonstrate the process.</p>
<h2>Contributor/References</h2>
<p>Webster, from <em>Pitfalls of Object-Oriented Development </em>(1995).</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/04/17/pitfall-getting-on-the-feature-release-treadmill/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall: Not recognizing the politics of architecture</title>
		<link>http://bfwa.com/2008/04/15/pitfall-not-recognizing-the-politics-of-architecture/</link>
		<comments>http://bfwa.com/2008/04/15/pitfall-not-recognizing-the-politics-of-architecture/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 22:11:52 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[PMSE]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Software engineering]]></category>

		<guid isPermaLink="false">http://bfwa.com/2008/04/15/pitfall-not-recognizing-the-politics-of-architecture/</guid>
		<description><![CDATA[[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
CATEGORIES: political, architectural, managerial
While discussing the challenges of software development with Taligent trainer Tom Affinito back in the mid-1990s, I mentioned &#8212; citing Fred Brooks &#8212; the need for a chief architect. Tom immediately responded, &#8220;Yes, and ultimately architecture is a political act.&#8221;
That observation has [...]]]></description>
			<content:encoded><![CDATA[<p>[From <a href="http://bfwa.com/2008/02/25/pitfalls-of-modern-software-engineering-an-explanation/"><strong>Pitfalls of Modern Software Engineering</strong></a> by Bruce F. Webster (forthcoming)]</p>
<p><strong>CATEGORIES:</strong> political, architectural, managerial</p>
<p>While discussing the challenges of software development with <a href="http://en.wikipedia.org/wiki/Taligent">Taligent</a> trainer Tom Affinito back in the mid-1990s, I mentioned &#8212; citing <a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1197053305&amp;sr=8-1">Fred Brooks</a> &#8212; the need for a chief architect. Tom immediately responded, &#8220;Yes, and ultimately architecture is a political act.&#8221;</p>
<p>That observation has stuck with me ever since. Unless you are both sole architect and sole implementor &#8212; and maybe even then &#8212; architecture<em> is</em> a political act, and it is especially true in development groups of any size. Developers like to think themselves above politics. Not so; they are as human as anyone else. Developers can be quite political and will use a variety of techniques, good and bad, to achieve their ends: persuasion, hyperbole, fear-mongering, caucusing, lobbying, consensus building, rumors, backbiting, leadership, intimidation, sacrifice, tantrums, threats, and subversion, to name a few. The fact that developers are generally very bright just increases the effectiveness of whatever techniques they use.</p>
<p>Architecture is the lodestar of developer politics because it is ultimately the most prestigious role in software development. Brooks goes to great lengths (and rightfully so) to assert the intellectual and creative challenges of implementation, noting that architecture is not the be-all and end-all. Still, it is Frank Lloyd Wright&#8217;s name that remains attached to the structures he designed, not the name of the contractors who built them. Or, to update an old programming joke, the verb &#8220;to develop&#8221; is conjugated this way: &#8220;I architect, you implement, he tests.&#8221;</p>
<p>Yet we may fail to recognize or acknowledge this situation and its implications. Why? First, we want to believe that all developers have (with regard to the project) the same intentions and goals. Second, we want to believe that the best course is the one that is obvious to us and that everyone else will agree with that. Third, we don&#8217;t want to have to deal with politics ourselves, particularly politics that can lead to confrontations.</p>
<h2>Symptoms</h2>
<p>Assuming — without verification — that all other members of the development group have the same goals, ideas, and talents. Not wanting to assert architectural issues. Finger-pointing as design problems arise.</p>
<h2>Consequences</h2>
<p>Hidden or overt team dissension, leading to poor morale and lack of cooperation as well as a weakened architecture.</p>
<h2>Detection</h2>
<p>Ask yourself these questions:</p>
<ul>
<li>Who is the chief architect of this project?</li>
<li>How well do the other developers support the chief architect?</li>
<li>How effective is the chief architect in her role?</li>
<li>What are the obstacles she faces?</li>
<li>What are all the political issues involved?</li>
</ul>
<p>Answering these questions should go a long way toward determining whether you have underestimated the politics of architecture.</p>
<h2>Extraction</h2>
<p>The first issue to address is that of authority commensurate with responsibility: if there is a chief architect on the team, does she really have the authority to compel adherence to the architecture? This kind of authority is different than being able to say, &#8220;Do this or you&#8217;re off the project,&#8221; which often leads to subtle or overt rebellion by team members. This kind of authority accrues from several factors:</p>
<ul>
<li>a proven track record</li>
<li>respect from teammates</li>
<li>support from technical and upper management</li>
<li>a mutual pact with the developers that the chief architect will give serious consideration to all their ideas and suggestions but that they will abide by her decisions</li>
<li>a willingness to give in on the small things so that she can hold her ground on the big things</li>
</ul>
<p>Beyond that, healing a team that is experiencing jealousy and dissension is no easy feat, especially when you&#8217;re in the middle of a project. Books and seminars on team-building abound; study, learn, and apply.</p>
<h2>Prevention</h2>
<p>Go through the questions in <strong>Detection </strong>but cast them in the future tense. Then, as with <strong>Extraction</strong>, proactively work to build the team and establish the authority of the chief architect.</p>
<h2>Contributor/References</h2>
<p>Webster, from <em>Pitfalls of Object-Oriented Development </em>(1995).</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/04/15/pitfall-not-recognizing-the-politics-of-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall: Getting religious about the technology or methdology</title>
		<link>http://bfwa.com/2008/04/14/pitfall-getting-religious-about-the-technology-or-methdology/</link>
		<comments>http://bfwa.com/2008/04/14/pitfall-getting-religious-about-the-technology-or-methdology/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 01:55:55 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Methodology]]></category>
		<category><![CDATA[PMSE]]></category>
		<category><![CDATA[Pitfalls]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://bfwa.com/2008/04/14/pitfall-getting-religious-about-the-technology-or-methdology/</guid>
		<description><![CDATA[[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
CATEGORIES: political
Let&#8217;s try to keep our perspective while standing knee-deep in the hoopla. As anyone truly experienced in a specific technology or methodology (”the TOM”) will tell you, that TOM is not going to end world hunger or bring about peace in our time. It [...]]]></description>
			<content:encoded><![CDATA[<p>[From <a href="http://bfwa.com/2008/02/25/pitfalls-of-modern-software-engineering-an-explanation/"><strong>Pitfalls of Modern Software Engineering</strong></a> by Bruce F. Webster (forthcoming)]</p>
<p><strong>CATEGORIES</strong>: political</p>
<p>Let&#8217;s try to keep our perspective while standing knee-deep in the hoopla. As anyone truly experienced in a specific technology or methodology (”the TOM”) will tell you, that TOM is not going to end world hunger or bring about peace in our time. It won&#8217;t transform the country of your choice into the new economic superpower of the 21st century. It won&#8217;t end cancer, reduce the number of handgun deaths, or curb the rate of out-of-wedlock births. It won&#8217;t even affect dandruff.</p>
<p>Closer to home, the TOM in question doesn&#8217;t invalidate existing programming languages, methodologies, and tools. It won&#8217;t make good engineers or architects out of bad ones. It also won&#8217;t make good products out of bad ones; although it may allow you to develop a better program than you might have otherwise, you can develop awful software just as well using a given TOM as you can using your favorite scapegoat legacy TOM.</p>
<p>Adopting a given TOM probably won&#8217;t make a late project ship on time, though it may allow you to complete a project that never would have shipped otherwise. On the other hand, it may well make the project even later. A given TOM won&#8217;t necessarily have a major impact on the time and effort required for analysis, design, and testing &#8212; except, possibly, to increase it as your team and/or organization comes up to speed on it. The TOM in question may not even be the best solution to the problems you face. It might, in fact, make things worse, not better.</p>
<h2>Symptoms</h2>
<p>An almost blind faith in the virtues of the TOM in question and an equal blindness to its pitfalls and failings.</p>
<h2>Consequences</h2>
<p>Arguments with others; a lack of flexibility; blindness to the TOM’s weak spots.</p>
<h2>Detection</h2>
<p>Analyze reactions to each of the statements above. When people disagree, note any strong negative emotional response. Have those who disagree with a given statement explain it to a disinterested, yet knowledgeable third party and see whether they think the logic holds water.</p>
<h2>Extraction</h2>
<p>As with many pitfalls, study and experience will do much to cure this one. Beyond that, the Detection method above will help you to identify specific areas of excess enthusiasm and credulity.</p>
<h2>Prevention</h2>
<p>Read books, articles and papers that address the TOM, including those in the Bibliography. Find people who have completed meaningful projects using the TOM and ask them for their lessons learned. Have them read the opening paragraphs of this pitfall and respond to any items they disagree with.</p>
<h2>Contributor/References</h2>
<p>Webster, from <em>Pitfalls of Object-Oriented Development </em>(1995).</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/04/14/pitfall-getting-religious-about-the-technology-or-methdology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall: Overselling the technology or methodology.</title>
		<link>http://bfwa.com/2008/04/04/pitfall-overselling-the-technology-or-methodology/</link>
		<comments>http://bfwa.com/2008/04/04/pitfall-overselling-the-technology-or-methodology/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 16:34:28 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[PMSE]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://bfwa.com/2008/04/04/pitfall-overselling-the-technology-or-methodology/</guid>
		<description><![CDATA[[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
CATEGORIES: political
It&#8217;s easy to get excited about a particular technology or methodology (the &#8220;TOM&#8221;). More often than not, they represent a real advance in software engineering, solving &#8212; or at least easing &#8212; problems that you face on a regular basis. And we all know [...]]]></description>
			<content:encoded><![CDATA[<p>[From <a href="http://bfwa.com/2008/02/25/pitfalls-of-modern-software-engineering-an-explanation/"><strong>Pitfalls of Modern Software Engineering</strong></a> by Bruce F. Webster (forthcoming)]</p>
<p><strong>CATEGORIES:</strong> political</p>
<p>It&#8217;s easy to get excited about a particular technology or methodology (the &#8220;TOM&#8221;). More often than not, they represent a real advance in software engineering, solving &#8212; or at least easing &#8212; problems that you face on a regular basis. And we all know just how tough software development can be.</p>
<p>However, enthusiasm for the TOM, particularly for individuals relatively new at it or with a vested interest in its adoption, may lead them to give glowing descriptions of its wonders and benefits to you and others. TOM proponents may make these comments in all sincerity and innocence. Or they may make them with the knowledge that they are stretching the truth a bit or perhaps rupturing it altogether. But whether they know that what they&#8217;re saying is accurate is, to a point, immaterial: when reality intrudes, the results will be the same, and their lack of knowledge or their lack of accuracy will convict them equally.</p>
<h2>Symptoms</h2>
<p>There are two phases. First, the people who have been oversold on a given TOM start to express expectations of the TOM that make you increasingly uncomfortable; you may find yourself starting to downplay things a bit. Second, as problems start to pile up, there are growing questions, doubts, and expressions of mistrust and cynicism.</p>
<h2>Consequences</h2>
<p>Those who trusted what they were told will feel betrayed; those who did not will feel justified. In either case, both the reputation and the influence of those doing the overselling will shrink, and it will be a long, hard road to recovery.</p>
<h2>Detection</h2>
<p>Sit down with a sheet of paper and write every promise, hope, and expectation that you or others have made in the name of the TOM in question. Ask yourself how supportable or valid each is. If you have questions about your ability to judge this, find someone who knows more about the TOM than you do and ask them for help evaluating how supportable or valid each point is. Ask yourself whether you&#8217;ve succumbed to wishful thinking.</p>
<h2>Extraction</h2>
<p>If you or others have oversold the TOM in question, you need to start readjusting expectations immediately. It is probably best to do it in one massive reset than to do it piecemeal &#8212; a single sword thrust is, in the end, less painful than a thousand paper cuts. As Fred Brooks says, “Take no small slips.” But it’s going to take a long time to reestablish your credibility, which is why it is so critical to avoid this pitfall in the first place.</p>
<h2>Prevention</h2>
<p>Several times in this book you will find the recommendation to <strong>underpromise and  overdeliver</strong>. Believe it and make sure that others believe it. If you have questions about your ability to judge, then bring in two or three experts to consult and weigh their opinions.</p>
<p>On the other hand, if you knowingly oversell, telling yourself that you can manage things down the road, you will almost certainly be wrong. Resist that temptation. It will always get you into trouble, and your own integrity will be diminished. It&#8217;s just not worth it.</p>
<h2>Contributor/References</h2>
<p>Webster, from <em>Pitfalls of Object-Oriented Development </em>(1995).</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/04/04/pitfall-overselling-the-technology-or-methodology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
