<?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; Software engineering</title>
	<atom:link href="http://bfwa.com/category/software-engineering/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>Five books every IT manager should read&#8230;right now</title>
		<link>http://bfwa.com/2008/11/20/five-books-every-it-manager-should-readright-now/</link>
		<comments>http://bfwa.com/2008/11/20/five-books-every-it-manager-should-readright-now/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 03:03:18 +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[Software engineering]]></category>
		<category><![CDATA[Surviving Complexity]]></category>

		<guid isPermaLink="false">http://bfwa.com/?p=85</guid>
		<description><![CDATA[
My latest Baseline column  is up, and it talks about why you should read these five books now, if you haven&#8217;t already&#8230;and if you have read them, you should probably re-read them.  ..bruce..
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.baselinemag.com/c/a/IT-Management/The-5-Books-Every-IT-Manager-Should-Read-Right-Now/"><img class="alignnone" src="http://bfwa.com/wp-includes/images/books.jpg" alt="" /></a></p>
<p><a href="http://www.baselinemag.com/c/a/IT-Management/The-5-Books-Every-IT-Manager-Should-Read-Right-Now/">My latest Baseline column  is up</a>, and it talks about why you should read these five books now, if you haven&#8217;t already&#8230;and if you have read them, you should probably re-read them.  ..bruce..</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/11/20/five-books-every-it-manager-should-readright-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two new Baseline columns up</title>
		<link>http://bfwa.com/2008/09/24/two-new-baseline-columns-up/</link>
		<comments>http://bfwa.com/2008/09/24/two-new-baseline-columns-up/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 12:35:51 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Baseline]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[IT Project Management]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Quality assurance]]></category>
		<category><![CDATA[Software engineering]]></category>
		<category><![CDATA[Surviving Complexity]]></category>

		<guid isPermaLink="false">http://bfwa.com/?p=82</guid>
		<description><![CDATA[The first column, “Second Class Software Quality for Major IT Projects”, talks about the curious fact that organizations are willing to spend millions, tens of millions, even hundred of millions of dollars on major IT project and yet still nickle-and-dime their software quality assurance (SQA) effort. It doesn’t help that SQA personnel are pretty much [...]]]></description>
			<content:encoded><![CDATA[<p>The first column, <a href="http://www.baselinemag.com/c/a/Application-Development/SecondClass-Software-Quality-in-Major-IT-Projects/">“Second Class Software Quality for Major IT Projects”</a>, talks about the curious fact that organizations are willing to spend millions, tens of millions, even hundred of millions of dollars on major IT project and yet still nickle-and-dime their software quality assurance (SQA) effort. It doesn’t help that SQA personnel are pretty much on the bottom of the tech status totem pole, either.</p>
<p>The second column, <a href="http://www.baselinemag.com/c/a/IT-Management/Do-Not-Defer-the-Difficult-in-IT-Projects/">“Do Not Defer The Difficult in IT Projects”</a>, describes the all-too-human tendency in IT development to put off dealing with the toughest problems until last — at which point, you may not be able to solve them all. It also explains why so many IT projects get 80-90% “done” and then suddenly slip for weeks or months without making much progress.</p>
<p>Feedback is always welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/09/24/two-new-baseline-columns-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall: Allowing new features to creep (or pour) in</title>
		<link>http://bfwa.com/2008/06/03/pitfall-allowing-new-features-to-creep-or-pour-in/</link>
		<comments>http://bfwa.com/2008/06/03/pitfall-allowing-new-features-to-creep-or-pour-in/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 00:33:45 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Change management]]></category>
		<category><![CDATA[IT Project Management]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[PMSE]]></category>
		<category><![CDATA[Pitfalls]]></category>
		<category><![CDATA[Software engineering]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://bfwa.com/?p=60</guid>
		<description><![CDATA[[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
Categories: managerial
The impulse to constantly add new and incremental features to a software program  certainly isn’t unique to modern software develoment, or to a particular technology or methodology. It derives largely from three  sources. Upper management and marketing want, and sometimes need, 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>: managerial</p>
<p>The impulse to constantly add new and incremental features to a software program  certainly isn’t unique to modern software develoment, or to a particular technology or methodology. It derives largely from three  sources. Upper management and marketing want, and sometimes need, those  additional features to win a customer, to better position the product against a  competitor, or to better justify the expense of an in-house project. Engineers often find it  far more fun, more interesting, and more rewarding to add or extend features than to  make existing features work completely and perfectly. And customers supply a constant  flow of demand for new and improved functionality.</p>
<p>The problem is that many modern technologies and methodologies intensify all these tendencies. With a decent software design and implementation, based on current technology, it can take literally only a few minutes to add or extend  features. Frankly, that’s the payoff that lures many engineers to modern technologies in the first place:  They get to do really neat stuff, do it quickly, and impress the boss while they’re at it.  The boss, having seen how quickly engineers can extend or create functionality, doubles  or trebles the list of must-have features. The technical manager, caught in the middle,  wonders how to deal with all this.</p>
<h2>Symptoms</h2>
<p>Engineers focusing on adding new features instead of getting old ones working  completely. Upper management passing down long (or even short) lists of additional  features when the engineering schedule will be hard-pressed to accommodate the  current ones. Customers failing to distinguish between what they’d like and what they’re  willing to live with.</p>
<h2>Consequences</h2>
<p>Features that don’t work as completely or well as they were intended. Missed  milestones and schedule slippage.</p>
<h2>Detection</h2>
<p>Review all existing features with the engineering team and get an honest assessment of  where each feature is and what it will take to complete it. If necessary, do a design and  code review for each feature. Compare the documented “essential features” list—and  the schedule required to complete them—with the current feature set as well as those  proposed by engineers and upper management, and find where the differences are  coming in.</p>
<h2>Extraction</h2>
<p>Nothing fancy here: Get the absolute “drop dead” release date for the software and work  backward from there, allocating time to design, implement, debug, and test each  feature that is not yet completed. Show everyone (especially customers) the gap  between the time and resources allocated those required for just the currently planned  and requested features. Use whatever process works in your company for performing  feature triage: keeping those that are absolutely essential, dropping those that can wait  for the next release, and negotiating on the others.</p>
<h2>Prevention</h2>
<p>Use the process given in Extraction before a line of code is ever written. As features are  proposed, collect them in a list, but do not allow any work on them. At intervals, repeat  the process: You might have time (or need) to schedule some of the proposed features,  but you may well have to drop previously required ones.</p>
<p>As with <a href="http://bfwa.com/2008/06/03/pitfall-allowing-the-specification-to-drift-or-change-without-agreement/">a prior pitfall on features</a>, this pitfall is so an obvious and well-known that I’m almost embarrassed to include it here. Again, it is still so common that I must.</p>
<h2>References</h2>
<p>Webster, from <em>Pitfalls of Object-Oriented Development </em>(1995).</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/06/03/pitfall-allowing-new-features-to-creep-or-pour-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall: Abandoning good software engineering practices</title>
		<link>http://bfwa.com/2008/05/29/pitfall-abandoning-good-software-engineering-practices/</link>
		<comments>http://bfwa.com/2008/05/29/pitfall-abandoning-good-software-engineering-practices/#comments</comments>
		<pubDate>Fri, 30 May 2008 01:58:38 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<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[Software engineering]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://bfwa.com/?p=56</guid>
		<description><![CDATA[[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
Categories: managerial
Why would the use of a new technology or methodology (the &#8220;TOM&#8221;) cause managers and developers to neglect or even abandon solid software engineering practices? Because those practices are under pressure from the start. Many engineers don’t know them and aren’t willing to spend [...]]]></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>: managerial</p>
<p>Why would the use of a new technology or methodology (the &#8220;TOM&#8221;) cause managers and developers to neglect or even abandon solid software engineering practices? Because those practices are under pressure from the start. Many engineers don’t know them and aren’t willing to spend (or aren’t given) the time to learn them. Those who do know them often aren’t willing to spend (or aren’t given) the time to practice them. Technical managers, who often do understand such techniques, find themselves caught in a vise, trapped between ever-increasing (and possibly unrealistic) demands of upper management and the productivity level of the engineers they supervise.</p>
<p>The introduction of a new TOM can cause a new set of problems. Upper management, having read articles about the benefits of this particular TOM, may see it as an opportunity to increase demands. Developers, already under pressure to produce, milk the benefits of the TOM for all they’re worth and may find even less incentive to focus on solid software engineering. And the technical managers in the middle have to cope with the specifics of the TOM while still fighting the software engineering battles.</p>
<h2>Symptoms</h2>
<p>Upper management expects the TOM to immediately shorten the software development lifecycle and is unwilling to allocate the necessary time and resources pilot projects. Engineers neglect common sense and best practices, feeling instead that the TOM somehow magically supersedes both.  Unrealistic expectations from upper management puts pressure on the development team, resulting in even more shortcuts.</p>
<h2>Consequences</h2>
<p>Failure to achieve expected benefits of the TOM, possibly leading to (unwarranted) rejection of the TOM for future projects. Delayed, buggy, and/or failed projects.</p>
<h2>Detection</h2>
<p>It’s usually not hard to detect the pressure from upper management; indeed, the problem is resisting the pressure. As for the engineering-level problems, the best detection comes from regular team meetings and project reviews to go over standard (TOM-independent) software engineering practices.</p>
<h2>Extraction</h2>
<p>This pitfall is a hard one to get out of, because upper management needs to allocate more time and resources, and the engineers need the self-discipline and education to change how they’re doing things. The key is to educate everyone about the benefits of good software engineering &#8212; established practices, predictable schedules, and higher quality &#8212; and <em>then </em>work the TOM into that setting.</p>
<h2>Prevention</h2>
<p>It is sad that there is often so much resistance to doing things right in the first place.  The approach is direct: realistic scheduling, definition of engineering standards, and  enforcement of engineering practices. For starters, make everyone &#8212; especially upper  managemen t&#8211; reads <em>The Mythical Man-Month</em> by Frederick P. Brooks. Then refer to it  again and again as these problems arise.</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/29/pitfall-abandoning-good-software-engineering-practices/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>Shades of Denver</title>
		<link>http://bfwa.com/2008/04/08/shades-of-denver/</link>
		<comments>http://bfwa.com/2008/04/08/shades-of-denver/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 18:14:51 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Change management]]></category>
		<category><![CDATA[IT project disputes]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Pitfalls]]></category>
		<category><![CDATA[Quality assurance]]></category>
		<category><![CDATA[Software engineering]]></category>

		<guid isPermaLink="false">http://bfwa.com/2008/04/08/shades-of-denver/</guid>
		<description><![CDATA[The opening of Terminal 5 at London Heathrow Airport has not been without problems, to say the least. And one of the specific problems appears to be the automated baggage handling system:
&#8230;the computer-operated baggage system has crashed and luggage is now being sorted manually before being loaded on to planes.
Twelve return flights to short-haul destinations [...]]]></description>
			<content:encoded><![CDATA[<p>The opening of <a href="http://en.wikipedia.org/wiki/London_Heathrow_Airport#Terminal_5">Terminal 5</a> at London Heathrow Airport has not been without problems, to say the least. And one of the specific problems appears to be <a href="http://news.sky.com/skynews/article/0,,30100-1311835,00.html?f=rss">the automated baggage handling system</a>:</p>
<blockquote><p>&#8230;the computer-operated baggage system has crashed and luggage is now being sorted manually before being loaded on to planes.</p>
<p>Twelve return flights to short-haul destinations have been cancelled. . . .</p>
<p>In just over a week the £4.3 billion investment has seen an unimaginable series of PR catastrophes.</p>
<p>Around 19,000 lost bags had to be transported to Milan to be sorted, hundreds of flights have been cancelled, and thousands of furious passengers have sworn they will never fly BA again.</p>
<p>A lack of staff parking and faulty IT systems started the rapid descent into terminal chaos which has seen BA suffer a 5% fall in business class passengers and left it with a £16 million bill.</p></blockquote>
<p>This, of course, will remind those of us who track such things on this side of the Atlantic of <a href="http://www.nytimes.com/2005/08/27/national/27denver.html?ex=1282795200&amp;en=55c1a4d8ddb7988a&amp;ei=5088&amp;partner=rssnyt&amp;emc=rss">the <em>10-year</em> failed effort by United Airlines to  automate the baggage system at Denver International Airport</a>. One can only hope that our British cousins get their problems solved and solved a bit quicker.  ..bruce..</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/04/08/shades-of-denver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When IT systems failure is not an option</title>
		<link>http://bfwa.com/2008/03/03/when-it-systems-failure-is-not-an-option/</link>
		<comments>http://bfwa.com/2008/03/03/when-it-systems-failure-is-not-an-option/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 18:26:00 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[IT Project Management]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Quality assurance]]></category>
		<category><![CDATA[Software engineering]]></category>

		<guid isPermaLink="false">http://bfwa.com/2008/03/03/when-it-systems-failure-is-not-an-option/</guid>
		<description><![CDATA[Here&#8217;s an interesting story over at Physorg.com about the IT project supporting the 2008 Olympics in Beijing:
Atos Origin is the information technology partner for the International Olympic Committee (IOC) with the job of designing, building and operating the invisible IT infrastructure that supplies results, events and athlete information to the media, spectators and the world.
It [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s an interesting story over at Physorg.com about <a href="http://www.physorg.com/news123755030.html">the IT project supporting the 2008 Olympics in Beijing</a>:</p>
<blockquote><p>Atos Origin is the information technology partner for the International Olympic Committee (IOC) with the job of designing, building and operating the invisible IT infrastructure that supplies results, events and athlete information to the media, spectators and the world.</p>
<p>It also designs the platforms for accreditation, transportation, hotel accommodation and other services without which the Olympics would fall apart.</p>
<p>On the 11th floor of Digital Beijing, a banner trumpets the slogan &#8220;At the Olympic Games, there is no second chance.&#8221;</p>
<p>Known and unknown risks are analysed and every system is backed up by a plan B, plan C, or even a plan D.</p>
<p>&#8220;We have a very high degree of redundancy (backup),&#8221; said Patrick Adiba, the firm&#8217;s vice president responsible for the Olympics and major events.</p>
<p>That backup includes an entire replica data centre set up at a secret location elsewhere in Beijing that will kick in if the main centre fails.</p>
<p>&#8220;We just have to be ready with a response to known and unknown problems,&#8221; said Adiba.</p>
<p>Atos Origin has been running the IT platform for every Olympics since 2002 Salt Lake City Winter Games and has signed on to do the same for the 2010 Vancouver Winter Games and the 2012 London Summer Olympics.</p></blockquote>
<p>Note at least three key success factors that appear in the brief excerpt above:</p>
<ul>
<li>A high degree of redundancy in systems and processes</li>
<li>A strong focus on testing, again for both systems and processes</li>
<li>A vendor who has performed this exact same task (running an Olympics) multiple times</li>
</ul>
<p>All things to keep in mind for your next large-scale IT systems development effort.  ..bruce..</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/03/03/when-it-systems-failure-is-not-an-option/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall: Thinking a new technology or methodology will solve all your IT problems</title>
		<link>http://bfwa.com/2008/02/27/pitfall-thinking-a-new-technology-or-methodology-will-solve-all-your-it-problems/</link>
		<comments>http://bfwa.com/2008/02/27/pitfall-thinking-a-new-technology-or-methodology-will-solve-all-your-it-problems/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 18:05:09 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[IT Project Management]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[PMSE]]></category>
		<category><![CDATA[Pitfalls]]></category>
		<category><![CDATA[Software engineering]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://bfwa.com/2008/02/27/pitfall-thinking-a-new-technology-or-methodology-will-solve-all-your-it-problems/</guid>
		<description><![CDATA[[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
CATEGORIES: organizational, conceptual
The software development process&#8211;creating software to solve a particular problem&#8211;is long and complex and has many activities and stages. The exact list will vary depending on what book or article you read but can generally be said to include the following:

becoming aware of [...]]]></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>: organizational, conceptual</p>
<p>The software development process&#8211;creating software to solve a particular problem&#8211;is long and complex and has many activities and stages. The exact list will vary depending on what book or article you read but can generally be said to include the following:</p>
<ul>
<li>becoming aware of and identifying the problem</li>
<li>deciding to solve the problem</li>
<li>deciding what resources (time, money, people, mind share, opportunity, authority) to expend solving the problem</li>
<li>securing and managing those resources for the duration of the project</li>
<li>defining the scope of the resulting project and getting it started</li>
<li>analyzing the problem</li>
<li>defining the solution</li>
<li>designing the solution</li>
<li>implementing the solution</li>
<li>testing the solution</li>
<li>verifying that the solution solves the problem in an acceptable manner</li>
<li>delivering the solution</li>
<li>modifying and refining the solution to solve new problems or fix existing ones</li>
<li>performing additional necessary quality assurance activities (development standards, deliverable reviews, configuration management, etc.)</li>
</ul>
<p><span id="more-30"></span></p>
<p>Far more detail is possible here, including issues of communications, skill level, politics, and user feedback, but you get the idea. And each item has its own set of problems, challenges, and, yes, pitfalls that are quite independent of the development methodology used.</p>
<p>So, here&#8217;s the problem: How many of these activities will the new technology or management (&#8220;the TOM&#8221;) actually affect favorably, especially if you haven&#8217;t used the TOM before? By contrast, how much training and experience will be required to effectively apply the appropriate TOM skills in each of these areas?</p>
<p><!--more--></p>
<h2>Symptoms</h2>
<p>People who say, in effect, when problems are raised, &#8220;Don&#8217;t worry, we&#8217;re using TOM; that&#8217;ll solve this problem.&#8221; I&#8217;m not sure which is more frightening: when nontechnical people say this or when technical people do. As Fred Brooks seems destined to have to prove continually, there is no &#8220;silver bullet&#8221; to slay the software development monster.</p>
<h2>Consequences</h2>
<p>The project slips or even fails when you discover not only that many problems are not solved by using the TOM but also that they&#8217;re made worse by doing so.</p>
<h2>Detection</h2>
<p>Go through the list above and test your own understanding of each of these areas and the challenges they present. Then do the same with all the other key people in the projects at all levels.</p>
<h2>Extraction</h2>
<p>Education of those who misunderstand. This can be difficult if they are upper-management people who have approved projects based on what turn out to be false reassurances. It can be even more difficult if these people have passed on those reassurances to others.</p>
<h2>Prevention</h2>
<p>Establish a process or methodology that takes you through the list above (though not necessarily in a linear fashion). List the tasks, resources, and challenges associated with each step. Judge the impact&#8211;or lack thereof&#8211;that the TOM will have in each area. Be especially aware of the investment in training and skill development that will be required at each level as a result of adopting the TOM. And, most of all, identify all the problems that the TOM will do nothing to solve and may actually make worse.</p>
<h2>Contributor/References</h2>
<p>Webster, adapted from <strong>Pitfalls of Object-Oriented Development</strong> (1995).</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/02/27/pitfall-thinking-a-new-technology-or-methodology-will-solve-all-your-it-problems/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Developers and SQA</title>
		<link>http://bfwa.com/2008/01/23/developers-and-sqa/</link>
		<comments>http://bfwa.com/2008/01/23/developers-and-sqa/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 16:42:58 +0000</pubDate>
		<dc:creator>bfwebster</dc:creator>
				<category><![CDATA[IT Project Management]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Quality assurance]]></category>
		<category><![CDATA[Software engineering]]></category>

		<guid isPermaLink="false">http://bfwa.com/2008/01/23/developers-and-sqa/</guid>
		<description><![CDATA[I&#8217;ve written a post over at my other website on why software engineers should spend time working in software quality assurance on a regular basis.  ..bruce w..
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written a post over at <a href="http://brucefwebster.com">my other website</a> on why <a href="http://brucefwebster.com/2008/01/23/why-software-developers-should-spend-time-in-sqa/">software engineers should spend time working in software quality assurance</a> on a regular basis.  ..bruce w..</p>
]]></content:encoded>
			<wfw:commentRss>http://bfwa.com/2008/01/23/developers-and-sqa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
