<?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>Things Software</title>
	<atom:link href="http://hakanerdogmus.net/weblog/feed" rel="self" type="application/rss+xml" />
	<link>http://hakanerdogmus.net/weblog</link>
	<description>by Hakan Erdogmus, Kalemun Research Inc.</description>
	<lastBuildDate>Fri, 04 May 2012 17:45:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Empirical Software Engineering Takes Off</title>
		<link>http://hakanerdogmus.net/weblog/2011/empirical-software-engineering-takes-off</link>
		<comments>http://hakanerdogmus.net/weblog/2011/empirical-software-engineering-takes-off#comments</comments>
		<pubDate>Sun, 23 Oct 2011 11:39:38 +0000</pubDate>
		<dc:creator>Hakan</dc:creator>
				<category><![CDATA[Empirical Software Engineering]]></category>

		<guid isPermaLink="false">http://hakanerdogmus.net/weblog/?p=1573</guid>
		<description><![CDATA[American Scientist magazine has recently published an article by Jorge Aranda and Greg Wilson about empirical studies in software engineering based on the book Making Software: What Really Works, and Why We Believe It (O&#8217;Reilly 2010). You can find the article online at: http://www.americanscientist.org/issues/id.13845,y.2011,no.6,content.true,page.1,css.print/issue.aspx.
]]></description>
			<content:encoded><![CDATA[<p><a title="American Scientist" href="http://www.americanscientist.org/" target="_blank"><em>American Scientist</em></a> magazine has recently published an article by Jorge Aranda and Greg Wilson about empirical studies in software engineering based on the book <em><a title="Making Software" href="http://shop.oreilly.com/product/9780596808303.do" target="_blank">Making Software: <em>What Really Works, and Why We Believe It</em></a></em> (O&#8217;Reilly 2010). You can find the article online at: <a title="Empirical Software Engineering" href="http://www.americanscientist.org/issues/id.13845,y.2011,no.6,content.true,page.1,css.print/issue.aspx" target="_self">http://www.americanscientist.org/issues/id.13845,y.2011,no.6,content.true,page.1,css.print/issue.aspx</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://hakanerdogmus.net/weblog/2011/empirical-software-engineering-takes-off/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prediction Tools for Software Development</title>
		<link>http://hakanerdogmus.net/weblog/2011/prediction-tools-for-software-development</link>
		<comments>http://hakanerdogmus.net/weblog/2011/prediction-tools-for-software-development#comments</comments>
		<pubDate>Fri, 23 Sep 2011 00:01:22 +0000</pubDate>
		<dc:creator>Hakan</dc:creator>
				<category><![CDATA[Empirical Software Engineering]]></category>
		<category><![CDATA[Software Measurement]]></category>

		<guid isPermaLink="false">http://hakanerdogmus.net/weblog/?p=1557</guid>
		<description><![CDATA[At the PROMISE 2011 conference in Banff, Ayse Bener of Ryerson University organized a panel on the future of predictive modelling in software development. Such models are used for quality, productivity, schedule, cost, or profitability estimation and rely on rich historical data, both code- and non-code related, to be successul. Setting them up, collecting the [...]]]></description>
			<content:encoded><![CDATA[<p>At the <a title="PROMISE 2011" href="http://promisedata.org/2011/" target="_blank">PROMISE 2011</a> conference in Banff, Ayse Bener of Ryerson University organized a panel on the future of predictive modelling in software development. Such models are used for quality, productivity, schedule, cost, or profitability estimation and rely on rich historical data, both code- and non-code related, to be successul. Setting them up, collecting the data, and applying the models require much expertise and effort. The economics work only if the results can be acted upon profitably to manage risk, set priorities, and allocate resources. The savings generated must surpass the cost of applying these models. Thus the feasibility of predictive modelling hinges partly on level of automation. That&#8217;s where tool support comes into play. As a panel member,  I was asked to comment on this aspect of predictive modelling, focusing on the adoption issue. Specifically, what do we need for widespread tool adoption in this context?</p>
<p>I use the term prediction tool broadly to refer to any implementation of a predictive model or prediction technique, algorithm, or heuristic. I include in the definition any facilities that perform essential input functions such as data identification, extraction, and sanitization, as well as essential output functions such as reporting, summarization and presentation.</p>
<h3>Types of Tools</h3>
<p>Use of prediction tools is very rare, although we know of several successful examples. I&#8217;ll contrast two typical manifestations of such tools:</p>
<ul>
<li>A: stand-alone, one-of-a-kind, intermittently applied facilities (usually collection of scripts and small applications) often intended for use by experts who have developed or commissioned them, and</li>
<li>B: stable, deployed components, applications, or services that are part of an existing software development environment and meant for regular use in software teams.</li>
</ul>
<p>Manifestations that are a mixture or fall somewhere in between exist, but they won&#8217;t be useful for making my point.</p>
<p>Tools of type A are most common. Almost all of the noteworthy examples I know of fall under this category. They are relatively cheap to develop, but each application requires expert hands. They are meant to be used by a small minority of very select people.  That alone pretty much explains their home base of large organizations with dedicated metrics, research, or process improvement departments. Indeed, at a session of the <a title="ISERN" href="http://isern.iese.de/Portal/" target="_blank">International Software Engineering Research Network</a>&#8216;s annual meeting this year (which happened to collocate with PROMISE), we have seen some pretty nifty examples from ABB and Avaya Labs. Type-A tools are thus fine for a large organization where the cost of the required expertise can be amortized over big, corporation-wide initiatives, however they are too resource-intensive for broader adoption.</p>
<p>The alternative to this &#8220;do your magic and throw the results over the bench&#8221; approach is type-B tools, in which higher up-front development costs by those handful of experts can be amortized across many organizations over more frequent use by multiple roles in software teams themselves. The scope of each use may however be small. This attractive alternative doesn&#8217;t necessarily imply that no fine-tuning, hand-holding, or maintenance will ever be needed, but it does imply making information more available and friendly to software teams and decision makers, thus giving them more control over their projects and achieving better visibility.</p>
<p>So let&#8217;s limit the scope to type-B tools, say because I&#8217;d like predictive modelling to be more readily available to mere mortals. What factors should we look at next to increase the chances of adoption? I&#8217;ve organized these factors in two dimensions:</p>
<ul>
<li>factors specific to the goals of prediction, and</li>
<li>factors that encourage tool adoption in general.</li>
</ul>
<h3><span id="more-1557"></span>Specific Adoption Factors</h3>
<p>Predication does not happen in a void. We do it for a purpose. Among factors specific to the goals of prediction are <strong>performance traceability</strong>, <strong>easy calibration</strong>, and <strong>ability to support decision making</strong>.</p>
<p>If we are making predictions about cost, schedule, quality, productivity, or profitability, at one point we will probably know the actuals of the predicted quantities.  Performance traceabiltiy refers to the capability to track and record those actuals when they materialize, and then compare them with the original predictions. Such capability completes the tool&#8217;s feedback loop and gives it  the much needed visibility for continued use. If the tool is performant and this can be proven, the incentive to keep using the tool increases.</p>
<p>The next step up is calibration, well, more precisely, easy calibration. Easy calibration is giving the tool the capability to tune and re-tune the underlying predictive models when new data is available or when existing data becomes obsolete. Ideally, we would like such calibration to occur both incrementally and automatically. Hence the adjective &#8220;easy&#8221;. Performance traceability is a prerequisite of easy calibration.</p>
<p>The final step up is the ability to support decision making. Think of decision support ability  as &#8220;going the last mile,&#8221; in that we&#8217;d like the prediction tools, or the outputs thereof,  to be both <strong>purposeful</strong> and <strong>actionable</strong>. A tool is purposeful if it supports concrete goals for specific goals in a software team. A tool is actionable  if helps the user to take a growth, improvement, corrective, or preventive action. Here is an example of purposefulness, expressed as a behavioural requirement, from Brian Robinson&#8217;s presentation at ISERN:</p>
<blockquote><p>As a Product Manager, I need estimates to include the complete cost of new features including post-release maintenance so that NPV forecasts are more accurate.</p></blockquote>
<p>Something that is both purposeful and actionable is:</p>
<blockquote><p>As a Testing Manager, I want defect predictions to rank modules in order of pre-release defect risk, so that I can allocate testing resources optimally.</p></blockquote>
<p>The Testing Manager is asking more than just defect density estimates. She&#8217;s asking for information and advice that will directly help her ration scarce sources. One way of improving a tool&#8217;s decision-making ability is to use a methodology such as <a title="GQM" href="http://en.wikipedia.org/wiki/GQM" target="_blank">GQM (Goal-Question-Metric)</a> when designing the tool. Another is to provide intelligent, role-specific filters and workflows. Role-specific filters will slice and dice the information in different ways, each filter customizing dashboards, reports, charts, and advice with a single perspective in mind. A role-specific workflow will mimic a team member&#8217;s implicit decision-making or <em>sense-making</em> (thanks to Mika Mantyla for the term) processes.</p>
<h3>General Adoption Factors</h3>
<p>As for factors that facilitate tool adoption in general in the software development context, I&#8217;ll briefly invoke the relevant dimensions of an assessment method called <strong>WeightPrints </strong>that Piotr Kaminski and I developed many years ago. Piotr is a savvy tool developer, who has been making his living creating tools for Google developers. The basic idea was to help developers and researchers gauge how heavy-weight a software development tool is for a given purpose. Our grand assumption was that lighter-weight tools were easier to adopt than heavier-weight tools for the same purpose. Thus, all else being equal, a tool with a low weightprint<em> </em>would be preferable to a tool with a high weightprint<em>.</em></p>
<p><em> </em>The four dimensions of the WeightPrints model that are applicable in the prediction tool space are <strong>obtrusiveness</strong>, <strong>management burden</strong>, <strong>ramp-up</strong>, and <strong>isolation</strong>. The lower a tool scores in each of the dimensions, the lower its weightprint is. Obtrusiveness increases as a tool&#8217;s input gluttony (requiring lots of manual input), conspicuousness, disruption to existing workflow, and passivity increases.  Management burden increases with installation, configuration, and healing effort as well as with the tool&#8217;s disregard for standards and its total installed footprint. Ramp-up increases as learning effort and the dependence of the tool&#8217;s success on network effects (its adoption scope) increase while its virality (its ability to spread fast), synergy with other tools, and frequency of use decrease. Finally, isolation decreases with the tool&#8217;s compatibility, interoperability, extensibility, and openness (especially, in terms of the underlying data exchange formats). But enough about WeightPrints, for I can always discuss it further in a future post.</p>
<p>Some kinds of tools, like prediction tools have good reasons to be on the heavy-weight side of the spectrum. However, we should strive to make them lighter and lighter if we care about their adoption by end-users.</p>
<p><em>Acknowledgments</em>: I&#8217;d like to thank the organizer Ayse Bener and the other panel members Gunther Ruhe, Mika Mantyla, Barbara Russo, and Burak Turhan.</p>
]]></content:encoded>
			<wfw:commentRss>http://hakanerdogmus.net/weblog/2011/prediction-tools-for-software-development/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t miss SES &#8217;2011</title>
		<link>http://hakanerdogmus.net/weblog/2011/dont-miss-ses-2011</link>
		<comments>http://hakanerdogmus.net/weblog/2011/dont-miss-ses-2011#comments</comments>
		<pubDate>Wed, 23 Mar 2011 23:19:22 +0000</pubDate>
		<dc:creator>Hakan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hakanerdogmus.net/weblog/?p=1385</guid>
		<description><![CDATA[Following up on the smashing success of its first edition in Munich, Germany, IEEE Software is organizing the second edition of Software Experts Summit, this time at the Computer History Museum in Mountain View, California. Both the venue and the line of speakers are pretty amazing. Registration cost is $90. Featured speakers include Gary McGraw, Jan Bosch, [...]]]></description>
			<content:encoded><![CDATA[<p>Following up on the smashing success of its first edition in Munich, Germany, <a title="IEEE Software" href="http://www.computer.org/software" target="_blank">IEEE Software</a> is organizing the second edition of Software Experts Summit, this time at the Computer History Museum in Mountain View, California. Both the venue and the line of speakers are pretty amazing. Registration cost is $90. Featured speakers include Gary McGraw, Jan Bosch, Grady Booch, Grigori Melnik, Linda Rising, Pekka Abrahamsson, and Rebecca Wirfs-Brock.</p>
<p>For program and registration visit SES &#8217;2011 page at <a title="SES11" href="http://www.computer.org/portal/web/computingnow/sw/ses11" target="_blank">http://www.computer.org/ses11</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://hakanerdogmus.net/weblog/2011/dont-miss-ses-2011/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protected: Siemens India Training Materials</title>
		<link>http://hakanerdogmus.net/weblog/2010/siemens-india-training-materials</link>
		<comments>http://hakanerdogmus.net/weblog/2010/siemens-india-training-materials#comments</comments>
		<pubDate>Fri, 30 Jul 2010 18:20:17 +0000</pubDate>
		<dc:creator>Hakan</dc:creator>
				<category><![CDATA[Courses]]></category>

		<guid isPermaLink="false">http://hakanerdogmus.net/weblog/?p=1580</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://hakanerdogmus.net/weblog/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-1580">Password:<br />
<input name="post_password" id="pwbox-1580" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://hakanerdogmus.net/weblog/2010/siemens-india-training-materials/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Evaluate Cost-Effectiveness of Software Projects and Process Improvement</title>
		<link>http://hakanerdogmus.net/weblog/2010/how-to-evaluate-cost-effectiveness-of-software-projects-and-process-improvement</link>
		<comments>http://hakanerdogmus.net/weblog/2010/how-to-evaluate-cost-effectiveness-of-software-projects-and-process-improvement#comments</comments>
		<pubDate>Fri, 30 Jul 2010 17:29:32 +0000</pubDate>
		<dc:creator>Hakan</dc:creator>
				<category><![CDATA[Empirical Software Engineering]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Economics]]></category>
		<category><![CDATA[Software Measurement]]></category>
		<category><![CDATA[Software Process]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hakanerdogmus.net/weblog/?p=1352</guid>
		<description><![CDATA[Today I finished a training course for Siemens India on cost effectiveness of software development projects and process improvement initiatives. The course was conducted over LiveMeeting in 5 consecutive days. 23 people from 4 different locations participated in the training. We covered basic techniques for evaluating cost-effectiveness, such as NPV and Real Productivity, and worked [...]]]></description>
			<content:encoded><![CDATA[<p>Today I finished a training course for Siemens India on cost effectiveness of software development projects and process improvement initiatives. The course was conducted over LiveMeeting in 5 consecutive days. 23 people from 4 different locations participated in the training. We covered basic techniques for evaluating cost-effectiveness, such as NPV and Real Productivity, and worked out several examples. Part I focused on Project Valuation and Part II focused on Process Improvement. Each day&#8217;s session started with a check-in  that addressed outstanding items, reviewed concepts, and discussed solutions to take-home exercises from the previous session.</p>
<p>As the common context, I used that of a mid-sized organization in the health informatics sector with new ventures in its project pipeline and with several new ideas for improving its software processes. The examples were mostly drawn from this context and organized as HBR style cases. The cases addressed project staging, incremental development, pair programming, code inspections, role of evidence, and test-driven development.</p>
<p>The event was a repeat of an earlier course I gave in June for for Siemens in Erlangen, Germany. But I changed the materials and format significantly to fit the new  interaction style and  in response to the feedback I have received after the Erlangen version. I divided the material into 5 modules, incorporated smaller examples, and added take-home exercises for each module. I also frequently used LiveMeeting&#8217;s poll feature to engage the audience. All in all, I think the format worked very well, surprisingly with very few technology glitches. The tech support supplied by host was very good.</p>
<p>The course description is available <a title="Description of Cost-Effectiveness Course" href="http://hakanerdogmus.net/weblog/2010/lm-training-on-cost-effectiveness">here</a>. If you were a participant and haven&#8217;t filled out the course evaluation form, you can find it <a title="Siemens India Training Evaluation Form" href="http://bit.ly/brXp2k">here</a>. I have opened this post for comments: if you have any, well, what are you waiting for? Do fire.</p>
]]></content:encoded>
			<wfw:commentRss>http://hakanerdogmus.net/weblog/2010/how-to-evaluate-cost-effectiveness-of-software-projects-and-process-improvement/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Value of Process</title>
		<link>http://hakanerdogmus.net/weblog/2010/the-value-of-process</link>
		<comments>http://hakanerdogmus.net/weblog/2010/the-value-of-process#comments</comments>
		<pubDate>Sat, 09 Jan 2010 17:15:17 +0000</pubDate>
		<dc:creator>Hakan</dc:creator>
				<category><![CDATA[Open-Source Development]]></category>
		<category><![CDATA[Software Process]]></category>

		<guid isPermaLink="false">http://hakanerdogmus.net/weblog/?p=1063</guid>
		<description><![CDATA[
In A Process That is Not, the November/December edition of my IEEE Software column, I tell the story ofTikiWiki.    This is an interesting and telling story for those of us who preach software process.
A related point of view is provided by James Bach in an early article he published in IEEE Software in 1995. See Enough About Process: [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>In<a title="A Process That Is Not" href="http://www.computer.org/portal/web/csdl/abs/html/mags/so/2009/06/mso2009060004.htm" target="_self"> A Process That is Not</a>, the November/December edition of <a title="From the Editor" href="http://hakanerdogmus.net/weblog/ieee-software/from-the-editor" target="_self">my </a><a title="From the Editor" href="http://hakanerdogmus.net/weblog/ieee-software/from-the-editor" target="_self">IE</a><a title="From the Editor" href="http://hakanerdogmus.net/weblog/ieee-software/from-the-editor" target="_self">EE Software</a><a title="From the Editor" href="http://hakanerdogmus.net/weblog/ieee-software/from-the-editor" target="_self"> column</a>, I tell the story of<a title="TikiWiki" href="http://tikiwiki.org" target="_blank">TikiWiki</a>.    This is an interesting and telling story for those of us who preach software process.</p>
<p>A related point of view is provided by James Bach in an early article he published in <em>IEEE Software</em> in 1995. See <a title="Enough About Software Process" href="http://www.satisfice.com/articles/enough_about_process.pdf" target="_blank">Enough About Process: What We Need Are Heroes</a>. In that article, Bach defines process heroism as:</p>
<blockquote><p>I&#8217;m fascinated by the fact that people who take initiative to solve ambiguous problems are key to the success of every software project. I call this software process heroism, based on Joseph&#8217;s Campbell&#8217;s description of the hero&#8217;s journey. Unfortunately, it&#8217;s a subject that provokes a lot of strong feelings and confusion. There seems to be a lot of fear surrounding the simple idea that people are not easily controlled, influenced, or interchanged with one another.</p>
<p>I think this controversy is the single biggest indicator of how immature our field is. We can&#8217;t even agree on what we are doing or what we mean, as people, in the midst of our process creations. I believe we will never be able to control software projects well, unless we give up on treating software development as a mechanical task, and start embracing it as a human system. Anyway, that&#8217;s what works for me.</p></blockquote>
<p>Hmmm. Food for thought&#8230;</p>
<p><img title="hakan_e" src="http://hakanerdogmus.net/weblog/wp-content/uploads/hakan_e.png" alt="hakan_e" width="92" height="37" /></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://hakanerdogmus.net/weblog/2010/the-value-of-process/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Architecture Meets Agility</title>
		<link>http://hakanerdogmus.net/weblog/2009/architecture-meets-agility</link>
		<comments>http://hakanerdogmus.net/weblog/2009/architecture-meets-agility#comments</comments>
		<pubDate>Wed, 26 Aug 2009 20:47:10 +0000</pubDate>
		<dc:creator>Hakan</dc:creator>
				<category><![CDATA[Computer Society]]></category>
		<category><![CDATA[IEEE Software]]></category>
		<category><![CDATA[Software Architecture]]></category>

		<guid isPermaLink="false">http://hakanerdogmus.net/weblog/?p=929</guid>
		<description><![CDATA[
In June 2009, the Software Architecture Challenges in the 21st Century Workshop sponsored by IEEE Software, University of Southern California, and University of California Irvine attracted quite a bit of interest. Pekka Abrahamsson, Philippe Kruchten, and Grady Booch all addressed the role of software architecture and architecting in agile software development. I ended up writing an editorial based on the Kruchten and [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>In June 2009, the <a title="SAC21" href="http://www2.computer.org/portal/web/computingnow/sac21" target="_blank">Software Architecture Challenges in the 21st Century Workshop </a>sponsored by <a href="http://hakanerdogmus.net/weblog/ieee-software">IEEE Software</a>, University of Southern California, and University of California Irvine attracted quite a bit of interest. Pekka Abrahamsson, Philippe Kruchten, and Grady Booch all addressed the role of software architecture and architecting in agile software development. I ended up writing <a href="http://hakanerdogmus.net/weblog/from-the-editor">an editorial </a>based on the Kruchten and Booch talks for the <a title="IEEE Software Sep/Oct 2009" href="http://www2.computer.org/portal/web/csdl/abs/mags/so/2009/05/mso200905toc.htm" target="_blank">September/October 2009 issue </a>of <a href="http://hakanerdogmus.net/weblog/ieee-software">IEEE Software</a>.  The editorial is also featured in the <a title="CN August '09" href="http://www2.computer.org/portal/web/computingnow/0809/whatsnew/software" target="_blank">August 2009 edition</a> of <a title="Computing Now" href="http://www.computer.org/computingnow " target="_blank">Computing Now</a>.</p>
<p>In that editorial I explore the common themes raised by Booch and Kruchten, and also touch upon where the two gurus differ. The common themes I identified are:</p>
<ul>
<li>The scope of software architecture</li>
<li>Architecture-phobia</li>
<li>Architecture&#8217;s omnipresence</li>
<li>Architecture for self-governance</li>
<li>Architecting as a continuous activity</li>
<li>
<div>Just-enough architectural representation</div>
</li>
</ul>
<p>These themes made me reflect on my former views on the topic of how agile and architecture interact. Those views were expressed in a tongue-in-check article that I had written for Agile Times back in 2003 .  The article was sarcastically titled &#8220;Let&#8217;s Scale Agile Up&#8221;. In those relatively early days of agile, I used to advocate a purist agilista approach that downplays architecture. I used to object to any attempts to scale up agile software development by augmenting it with explicit architecting. I was wrong. I realized how wrong I was in a recent project.</p>
<p>The project was small, but I couldn&#8217;t crack it with seat-of-the-pants, &#8220;let the design emerge&#8221; attitude. The project&#8217;s success relied on the ability of a complex core technology to solve the problem at hand. We had to nail down technical decisions at the beginning. And these decisions couldn&#8217;t be reversed easily later, even though the project was small.  My client demanded to know about the main components, how they would interface with each other and be integrated with the core technology, how they would be decoupled from each other for maintainability and extensibility,  and what general functionality they would provide. He wanted me to document the underlying decisions. In a nutshell, he demanded that I do some architecting.</p>
<p>I ended up spending a week and a half on these issues, constantly soliciting clarifications from my clients on the requirements, running endless spikes to resolve technical risks pertaining to the core technology, and coming up with a general design in the process. And I am glad my client insisted because this upfront activity paid off.  It turned out that seemingly subtle aspects of the requirements had an impact on how the core technology, a hairy rule engine, would work to solve my client&#8217;s problem. Interestingly, I no longer associated all this early activity, as I did back in 2003, with the &#8220;grit&#8221; between the gears, the grit that contaminates the project and brings it to a screeching halt.  That grit did not interfere with planning and running the project as a highly incremental and iterative one. Actually, it turned out to be a lubricant rather than a contaminant. I grew up, I suppose.</p>
</div>
<p><img class="alignnone size-full wp-image-796" title="hakan_e" src="http://hakanerdogmus.net/weblog/wp-content/uploads/hakan_e.png" alt="hakan_e" width="92" height="37" /></p>
]]></content:encoded>
			<wfw:commentRss>http://hakanerdogmus.net/weblog/2009/architecture-meets-agility/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Who are Superprofessionals?</title>
		<link>http://hakanerdogmus.net/weblog/2009/who-are-superprofessionals</link>
		<comments>http://hakanerdogmus.net/weblog/2009/who-are-superprofessionals#comments</comments>
		<pubDate>Tue, 14 Jul 2009 01:49:57 +0000</pubDate>
		<dc:creator>Hakan</dc:creator>
				<category><![CDATA[Human Aspects of Software Development]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[professional conduct]]></category>

		<guid isPermaLink="false">http://hakanerdogmus.net/weblog/?p=901</guid>
		<description><![CDATA[
No, they are not superstars, or all-knowing super-powerful CEOs poised to control the world. Although one reader, and letter writer, thought that&#8217;s what I meant in my latest IEEE Software editorial titled The seven traits of superprofessionals.
The letter writer states that he has been researching the reasons of  the recent economic crisis and states that he&#8217;s found a strong indicator [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>No, they are not superstars, or all-knowing super-powerful CEOs poised to control the world. Although one reader, and letter writer, thought that&#8217;s what I meant in my latest <a title="IEEE Software" href="http://hakanerdogmus.net/weblog/ieee-software">IEEE Software </a>editorial titled <a href="http://hakanerdogmus.net/weblog/from-the-editor">The seven traits of superprofessionals</a>.</p>
<p>The letter writer states that he has been researching the reasons of  the recent economic crisis and states that he&#8217;s found a strong indicator of what kind of management behavior the future requires. Apparently, it&#8217;s not exactly what my editorial describes (never mind that my editorial was not about management behavior at all). The letter writer attaches to the term &#8220;superprofessionalism&#8221; &#8212; which I coined to describe a set of behavioral traits that represent a sort of high-order professional conduct &#8212; the same connotation as the false, shallow stardom associated with the kind of people featured in reality TV series like Supermodel, The Apprentice, or  The Bachelor.  (As a synopsis, the traits mentioned in the editorial are: focus on individual responsibility, acute awareness, brutal honesty, heightened sense of fairness, resilience under pressure, attention to detail in perspective, and pragmatism first). He alleges that those kinds of media programs and my article represent the last dying attempts to revive an old-economy thinking in which all-knowing individuals hold and dispense all power. He adds that my article advocates individual and central decision making at the expense of group decision making, and is counter to holistic team behavior and denies the emergence of information and collective intelligence from decentralized interactions in social networks. But the best stretch is when he puts the blame for the current economic crisis on the kind of thinking my writing encourages, like, say brutal honesty (he picks on this trait in particular, stating that it&#8217;s socially unacceptable).</p>
<p>Oh? Interesting perspective, although it completely beats me how any of that can be inferred from my editorial. If it could, that perspective would represent a truly curious internal paradox given my links to the the agile software development community, and in light of my previous column on <a href="http://hakanerdogmus.net/weblog/diversity-and-software-development" target="_self">The role of diversity in software development</a>.  But one can never underestimate the intellectual depth of those who can with great facility read the sub-sub-subtext between the lines. Honestly, can anyone detect any nuances in that writing,  implanted with the idea to recreate or preserve old-world power? And me at the center of the conspiracy?</p>
<p>Cheers</p>
<p><img title="hakan_e" src="http://hakanerdogmus.net/weblog/wp-content/uploads/hakan_e.png" alt="hakan_e" width="92" height="37" /></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://hakanerdogmus.net/weblog/2009/who-are-superprofessionals/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top Ten Ways to Kill a Paper &#8211; Part II</title>
		<link>http://hakanerdogmus.net/weblog/2009/top-ten-ways-to-kill-a-paper-part-ii</link>
		<comments>http://hakanerdogmus.net/weblog/2009/top-ten-ways-to-kill-a-paper-part-ii#comments</comments>
		<pubDate>Sat, 16 May 2009 04:17:20 +0000</pubDate>
		<dc:creator>Hakan</dc:creator>
				<category><![CDATA[IEEE Software]]></category>
		<category><![CDATA[Technical Writing]]></category>

		<guid isPermaLink="false">http://hakanerdogmus.net/weblog/?p=791</guid>
		<description><![CDATA[In a previous blog, I talked about five common mistakes authors make when trying to get an article accepted for publication in peer-reviewed software engineering journals, magazines, or proceedings. The full list includes ten common mistakes, as follows:
Number 10. Ignore reviewer feedback.
Number 9. Stick to clichés.
Number 8. Borrow without giving due credit.
Number 7. Don&#8217;t worry about [...]]]></description>
			<content:encoded><![CDATA[<p>In <a title="Top Ten Ways to Kill a Paper - Part I" href="http://hakanerdogmus.net/weblog/top-ten-ways-to-kill-a-paper" target="_self">a previous blog</a>, I talked about five common mistakes authors make when trying to get an article accepted for publication in peer-reviewed software engineering journals, magazines, or proceedings. The full list includes ten common mistakes, as follows:</p>
<blockquote><p><em>Number 10. Ignore reviewer feedback.</em></p>
<p><em>Number 9. Stick to clichés.</em></p>
<p><em>Number 8. Borrow without giving due credit.</em></p>
<p><em>Number 7. Don&#8217;t worry about the language.</em></p>
<p><em>Number 6. Ignore your work&#8217;s limitations.</em></p>
<p><em>Number 5. Ignore the context and prior art.</em></p>
<p><em>Number 4. Rely on argumentation to push an idea.</em></p>
<p><em>Number 3. Ignore your audience.</em></p>
<p><em>Number 2. Be undeservedly authoritative.</em></p>
<p><em>Number 1. Write in a purely descriptive style.</em></p></blockquote>
<p><span id="more-791"></span>In this post, I&#8217;ll address the top five sins from Number 5 Number 1.  </p>
<p>Sin #5 is the sin of laziness, or the appearance of it. Readers want to know what encompasses an idea, a piece of research, or a narrative about an interesting experience. They want to be able to position it relative to other works that are similar. They want to know about the connections between concepts, the progression of ideas. They want to understand the context. Prior art and context provide the beginning of a story. Without the beginning, the story struggles to survive. Without prior art and context, a paper has little value.</p>
<p>Sin #4 is the sin of defensiveness. Relying on winding questionable arguments to push an idea makes it seem like the author’s premise doesn’t hold water, as if the weakness of the idea needs to be hidden behind a veil of twisted logic. A better alternative to using argumentation is presenting facts and existing evidence. If evidence is not strong, just admit it. No apologies are necessary.</p>
<p>Sin #3 is making no attempt to differentiate among the various types of audiences. If you write up your excellent research in an overly scholarly style for a professional magazine, it will bounce back. If you write up your exceptionally insightful project experience report in an overly colloquial style for a research journal, it will bounce back. Style matters to your target audience. In addition, certain elements need to be in place in different types of publications at varying degrees. A comprehensive, academic-quality literature survey may not be necessary, or even overkill,  for a magazine, but is essential for an archival periodical. Know your audience, and know what each type of publication requires to meet its audience&#8217;s expectations.</p>
<p>Sin #2 often accompanies Sin #4. It comes from the absolute tone that authors often use when expressing what is simply a point a view. Or, it comes from the tendency to pepper an article with unsupportable statements or embellish ideas with virtuous qualifiers and superlatives. This almost always makes reviewers recoil with disgust and fury. Avoid being unnecessarily absolute and self-assured. Humility, without being deliberately fuzzy, will work better than you think. However, it doesn’t imply that you shouldn’t take risks. Your message can still be provocative.</p>
<p>Perhaps the best strategy to use to get a paper rejected is to take a good idea and just write it up. And stop there. This brings us to Sin #1. A purely descriptive style is one in which you just describe something — whether it’s a concept, a process, an idea, a new technology, an experience, a study — in gory detail, definition by definition, step by step. You start from the beginning, explain all the elements in a clear, natural sequence, perhaps give a few small examples, and then you’ve done your job. You can stop. What could be wrong with this straightforward approach? Nothing. It may be perfectly OK for a white paper, a chapter of a text book, an appendix, a manual, a handbook, or a technical report. But it won’t make very interesting reading and it certainly will not buy you any brownie points with the reviewers. Try it!</p>
<p><em> </em></p>
<div><em><img class="alignnone size-full wp-image-796" title="hakan_e" src="http://hakanerdogmus.net/weblog/wp-content/uploads/hakan_e.png" alt="hakan_e" width="92" height="37" /></em></div>
<p><em> </em></p>
<p><em></em> </p>
<p><em>Releated resources:</em></p>
<blockquote>
<ul>
<li><a title="Tips for Software Authors" href="http://www2.computer.org/portal/web/csdl/doi/10.1109/MS.2007.149 " target="_blank">Tips for Software Authors</a></li>
<li><a title="How to Write a Good Technical Article" href="http://www2.computer.org/portal/web/csdl/doi/10.1109/MS.2002.10006" target="_blank">How to Write a Good Technical Article</a></li>
</ul>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://hakanerdogmus.net/weblog/2009/top-ten-ways-to-kill-a-paper-part-ii/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud Computing</title>
		<link>http://hakanerdogmus.net/weblog/2009/cloud-computing</link>
		<comments>http://hakanerdogmus.net/weblog/2009/cloud-computing#comments</comments>
		<pubDate>Sat, 25 Apr 2009 16:20:38 +0000</pubDate>
		<dc:creator>Hakan</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Computer Society]]></category>
		<category><![CDATA[IEEE Software]]></category>

		<guid isPermaLink="false">http://hakanerdogmus.net/weblog/?p=787</guid>
		<description><![CDATA[The February issue of Computing Now has a nice collection of articles on cloud computing. See http://www2.computer.org/portal/web/computingnow/0209/theme/software
My IEEE Software column on the topic is also featured (Cloud Computing: Does Nirvana Hide Behind the Nebula?) &#8230;

]]></description>
			<content:encoded><![CDATA[<p>The February issue of <a title="Computing Now" href="http://www.computer.org/cn" target="_blank">Computing Now</a> has a nice collection of articles on cloud computing. See <a href="http://www2.computer.org/portal/web/computingnow/0209/theme/software">http://www2.computer.org/portal/web/computingnow/0209/theme/software</a></p>
<p>My <a title="IEEE Software" href="http://hakanerdogmus.net/weblog/ieee-software" target="_self">IEEE Software</a> column on the topic is also featured (<a href="http://hakanerdogmus.net/weblog/from-the-editor" target="_self">Cloud Computing: Does Nirvana Hide Behind the Nebula?</a>) &#8230;</p>
<p><img class="alignnone size-full wp-image-796" title="hakan_e" src="http://hakanerdogmus.net/weblog/wp-content/uploads/hakan_e.png" alt="hakan_e" width="92" height="37" /></p>
]]></content:encoded>
			<wfw:commentRss>http://hakanerdogmus.net/weblog/2009/cloud-computing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

