<?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>Gustavo on Information Technology &#187; Software engineering</title>
	<atom:link href="http://gustavonarea.net/blog/topics/software-engineering/feed/" rel="self" type="application/rss+xml" />
	<link>http://gustavonarea.net</link>
	<description>Just a social techie</description>
	<lastBuildDate>Tue, 20 Jul 2010 20:47:38 +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>Dell is ashamed of its Ubuntu-powered laptops</title>
		<link>http://gustavonarea.net/blog/posts/dell-ashamed-ubuntu-laptops/</link>
		<comments>http://gustavonarea.net/blog/posts/dell-ashamed-ubuntu-laptops/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 17:54:00 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[Freedomware]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Software engineering]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Dell]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://gustavonarea.net/?p=222</guid>
		<description><![CDATA[My laptop was slow while running my chain and ball KDE 4, and also got some things broken recently (e.g., battery, screen hinges), so I decided to buy a new one last week before it leaves me stranded. And soon enough I realized that I had two options:

Buy it in a place where every single [...]]]></description>
			<content:encoded><![CDATA[<p>My laptop was slow while running my chain and ball KDE 4, and also got some things broken recently (e.g., battery, screen hinges), so I decided to buy a new one last week before it leaves me stranded. And soon enough I realized that I had two options:</p>
<ul>
<li>Buy it in a place where every single computer ships with Windows, so that I could claim a refund. I didn&#8217;t care about the money: I just wanted to mess with that kind of vendors and file a lawsuit if I didn&#8217;t get it on good terms, to encourage people to do the same thing and thus contribute to do away with the <a title="About Windows" href="http://www.getgnulinux.org/windows/">Windows</a> Tax.</li>
<li>Purchase it from a <a title="GNU/Linux computers" href="http://www.linuxpreloaded.com/">Linux pre-installed</a> vendor, to support them. Even if they pre-installed a freedom-trampling system like Windows, it&#8217;d be good to show them that Freedomware worths it.</li>
</ul>
<p>I liked both options alike, so I based my decision on the computer specs and costs, not on the vendor/manufacturer.</p>
<p>I decided to get a Dell XPS M1330, one of the two Ubuntu-powered computers that I remembered Dell sells in Spain. So I visited <a href="http://www.dell.es/ubuntu">dell.es/ubuntu</a> and was surprised to find just a couple of <a title="What's a netbook?" href="http://en.wikipedia.org/wiki/Netbook">netbooks</a>! Change of plans; now I&#8217;ll have to get it with Windows and claim a refund, I told myself.</p>
<p>So the first step was to get a proof that I was imposed the operating system when I bought the laptop. Sales representatives were available for a chat, so I asked them how could I get a Dell XPS M1330 without Windows. The surprising answer was that <strong>it was available with Ubuntu</strong> and pointed me to <a title="Dell XPS M1330 with Ubuntu pre-installed, in Spain" href="http://configure2.euro.dell.com/dellstore/config.aspx?cs=esdhs1&amp;kc=a&amp;oc=N04X3315&amp;x=0&amp;y=0">configure2.euro.dell.com/dellstore/</a>! Plans changed one more time; back to the original plan, get it with <a href="http://www.getgnulinux.org/switch_to_linux/">Linux</a>.</p>
<p>I obviously asked why it wasn&#8217;t listed on <a href="http://www.dell.es/ubuntu">dell.es/ubuntu</a>. The sales rep said that s/he didn&#8217;t know why and that s/he will forward my query to the relevant department. I bought the laptop with Ubuntu that day and that was it.</p>
<p>Today, out of curiosity, I went to <a href="http://www.dell.es/ubuntu">dell.es/ubuntu</a> and found that it hasn&#8217;t changed! <strong>The link the sales rep provided me with the other day still works but the laptop is not listed</strong>. And the same happens in <a href="http://www.dell.fr/ubuntu">dell.fr/ubuntu</a>, <a href="http://www.dell.co.uk/ubuntu">dell.co.uk/ubuntu</a> and <a href="http://www.dell.de/ubuntu">dell.de/ubuntu</a>, for example.</p>
<p>This can hardly be a mistake. <strong>Why the heck does Dell hide some of the few Linux-powered computers they sell now?</strong> Maybe due to threats from Microsoft? After all, <a title="Microsoft and its monopolistic practices" href="http://www.google.com/search?q=%2Bmicrosoft%2Bmonopolistic%2Bpractices">it&#8217;s well-know for its monopolistic practices</a>.</p>
<p><strong>PS (April 18th @ 14:00 UTC):</strong> The link above to <a href="http://configure2.euro.dell.com/dellstore/config.aspx?cs=esdhs1&amp;kc=a&amp;oc=N04X3315&amp;x=0&amp;y=0">configure2.euro.dell.com/dellstore/</a> doesn&#8217;t work at times today, so here&#8217;s an screenshot if it doesn&#8217;t work for you:</p>
<p><a href="http://gustavonarea.net/uploads/ubuntu-xps-configurator.png"><img class="aligncenter size-thumbnail wp-image-234" title="Dell XPS with Ubuntu in Dell's configuration service" src="http://gustavonarea.net/uploads/ubuntu-xps-configurator.png" alt="" width="150" height="92" /></a></p>
<p><strong>PS (April 19th @ 18:30 UTC):</strong> This is an screenshot of the random error I warned about yesterday (which I took just in case), before reaching Digg.com&#8217;s front-page:</p>
<p><a href="http://gustavonarea.net/uploads/dell-ubuntu-error-april18.png"><img class="aligncenter size-thumbnail wp-image-239" title="Error before hitting Digg.com's front-page" src="http://gustavonarea.net/uploads/dell-ubuntu-error-april18.png" alt="" width="150" height="92" /></a></p>
<p>Now, almost 20 hours after reaching Digg&#8217;s front-page, the link no longer works (not even at times, as yesterday) and a better formatted page is displayed instead:</p>
<p><a href="http://gustavonarea.net/uploads/dell-ubuntu-error-april19.png"><img class="aligncenter size-thumbnail wp-image-240" title="Error after hitting Digg.com's front-page" src="http://gustavonarea.net/uploads/dell-ubuntu-error-april19.png" alt="" width="150" height="92" /></a></p>
<p>I don&#8217;t know if the different error pages actually mean something, but my point is that the link is now dead.</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavonarea.net/blog/posts/dell-ashamed-ubuntu-laptops/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>Freedomware needs more engineering and less mere &#8220;development&#8221;</title>
		<link>http://gustavonarea.net/blog/posts/freedomware-needs-more-engineering-and-less-mere-development/</link>
		<comments>http://gustavonarea.net/blog/posts/freedomware-needs-more-engineering-and-less-mere-development/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 17:00:03 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[Freedomware]]></category>
		<category><![CDATA[Software measurement]]></category>
		<category><![CDATA[ÉcoleCua]]></category>
		<category><![CDATA[CMMi]]></category>
		<category><![CDATA[ISO 12207]]></category>

		<guid isPermaLink="false">http://gustavonarea.net/?p=183</guid>
		<description><![CDATA[I am absolutely convinced that freedomware requires less typical development projects and more engineering projects. To overtake freedom-trampling software, we need more than a good philosophy, the best hardware support, cutting-edge technology and money — we need engineering.
We have a lot to learn from the freedom-trampling industry is this regard (possibly, the only thing that [...]]]></description>
			<content:encoded><![CDATA[<p>I am absolutely convinced that <a href="http://www.softwareliberty.com/">freedomware</a> requires less <a title="Are you a Software Developer or a Software Engineer?" href="/blog/posts/are-you-a-software-developer-or-a-software-engineer/">typical <em>development</em> projects and more <em>engineering</em> projects</a>. To overtake freedom-trampling software, we need more than <a title="Philosophy of the GNU Project" href="http://www.gnu.org/philosophy/philosophy.html">a good philosophy</a>, <a title="Linux Hardware Support Better Than Windows" href="http://changelog.complete.org/posts/644-Linux-Hardware-Support-Better-Than-Windows.html">the best hardware support</a>, <a title=" Innovation in Free Software is No Fantasy" href="http://www.linuxplanet.com/linuxplanet/opinions/6443/3/">cutting-edge technology</a> and money — we need engineering.</p>
<p>We have a lot to learn from the freedom-trampling industry is this regard (possibly, the only thing that is worth <a href="http://en.wikipedia.org/wiki/Porting">&#8220;porting&#8221;</a> to the freedomware environment). In that industry, software process standards (like <a title="Capability Maturity Model Integration" href="http://en.wikipedia.org/wiki/Capability_Maturity_Model_Integration">CMMi</a> or <a href="http://en.wikipedia.org/wiki/ISO_12207">ISO 12207</a>) are widely used and often a requirement. And we need them here too:</p>
<ol>
<li>We have more people working together and commonly they are  from different countries. Diversity is enormous. So, we need standard, comprehensive and proven mechanisms to handle the <a href="http://en.wikipedia.org/wiki/Software_development_process">software process</a>.</li>
<li>Nearly all of the freedomware projects are mere software development projects, not software engineering projects (<a title="Software development vs. Software engineering" href="http://gustavonarea.net/blog/posts/are-you-a-software-developer-or-a-software-engineer/">and that&#8217;s a <strong>huge</strong> difference!</a>). The <em>wide range of bad practices</em> extends from lack of proper in-code documentation to unrealistic deadlines, including no way to keep track of users&#8217; satisfaction (specially of those who don&#8217;t speak the lingua franca of technology). This is, <strong>free software is rarely measured</strong> (and that, using our own terminology, is a &#8220;blocker bug&#8221;).</li>
</ol>
<p>That a given project is community-driven with no full or part-time developer is not an excuse not to measure the software they create. It&#8217;ll certainly take time to learn what and how to measure (depending on one&#8217;s responsibilities) if the person is new to software measurement, as well as time to analyze the relevant collected measures periodically, but rest assured that by basing your estimations and decisions on such an periodical analysis, the continuous improvement of the project would be guaranteed.</p>
<p>Of course, not every freedomware project &#8220;must&#8221; be a software engineering project. Tiny projects aimed at a very limited audience and maintained by a couple of developers may not require such a care, specially if it&#8217;s not expected to grow too much.</p>
<p>Unfortunately, it&#8217;s worth noting that there&#8217;s a drawback of using standards like the ones mentioned above: They (usually) assume a software development process like that of non-free software, so you&#8217;ll frequently encounter (much) text specific to such processes; and as a result, many processes specific to freedomware development are not covered. I think we need an standard that addresses our software development processes.</p>
<h2>Learn more</h2>
<p>As in <a href="/blog/posts/are-you-a-software-developer-or-a-software-engineer/">the previous article on software measurement</a>, I recommend the book &#8220;Software Measurement&#8221; by Christof Ebert and Reiner Dumke (ISBN: <a href="http://en.wikipedia.org/w/index.php?title=Special%3ABookSources&amp;isbn=978-3-540-71648-8">978-3-540-71648-8</a>). As I said previously, it&#8217;s a must-read, although it&#8217;s perhaps specially aimed at decision-makers and not too much at developers themselves.</p>
<p>Another good book on this topic, which is more practical (as its title implies), is &#8220;Software measurement and estimation: A practical approach&#8221; by Linda Laird and M. Carol Brennan (ISBN: <a href="http://en.wikipedia.org/w/index.php?title=Special%3ABookSources&amp;isbn=9780471676225">978-0-471-67622-5</a>). This one is definitely aimed at developers themselves.</p>
<p>If I reached my goal of making you interested in software measurement in freedomware, then you may also want to keep an eye on the upcoming <a title="The Software Measurement Suite" href="https://launchpad.net/ecolecua">ÉcoleCua</a> project.</p>
<p>Finally, I invite you to check out <a href="https://www.ohloh.net/">Ohloh.net</a>, a gratis and basic metrics service for freedomware projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavonarea.net/blog/posts/freedomware-needs-more-engineering-and-less-mere-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Are you a Software Developer or a Software Engineer?</title>
		<link>http://gustavonarea.net/blog/posts/are-you-a-software-developer-or-a-software-engineer/</link>
		<comments>http://gustavonarea.net/blog/posts/are-you-a-software-developer-or-a-software-engineer/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 10:59:38 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[Software engineering]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Software metric]]></category>

		<guid isPermaLink="false">http://gustavonarea.net/?p=169</guid>
		<description><![CDATA[Tired of the indeliberate usage of the term &#8220;software engineering&#8221;, where &#8220;software developer&#8221; and &#8220;software engineer&#8221; seem to be exchangeable, I&#8217;m writing this article to explain what I think Software Engineering really is.
But first, let&#8217;s remember some basic terminology:

Programmer
Anyone who can create a program in at least one programming language, regardless of the use of [...]]]></description>
			<content:encoded><![CDATA[<p>Tired of the indeliberate usage of the term &#8220;software engineering&#8221;, where &#8220;software developer&#8221; and &#8220;software engineer&#8221; seem to be exchangeable, I&#8217;m writing this article to explain what I think <em>Software Engineering</em> really is.</p>
<p>But first, let&#8217;s remember some basic terminology:</p>
<dl>
<dt>Programmer</dt>
<dd><em>Anyone who can create a program</em> in at least one <a href="http://en.wikipedia.org/wiki/Programming_language">programming language</a>, regardless of the use of a systematic approach (if any).</dd>
<dt>Software developer</dt>
<dd><em>A software developer is a programmer</em> who doesn&#8217;t only care about about simply <a href="http://en.wikipedia.org/wiki/Computer_programming">writing code</a>, but also cares about (although may not be directly involved in) the <a href="http://en.wikipedia.org/wiki/Requirements_analysis">requirement analysis</a>, the <a href="http://en.wikipedia.org/wiki/Functional_specification">functional specification</a>, the <a href="http://en.wikipedia.org/wiki/Software_design">design</a>, the <a href="http://en.wikipedia.org/wiki/Software_testing">testing</a>, the <a href="http://en.wikipedia.org/wiki/Software_deployment">deployment</a> and the <a href="http://en.wikipedia.org/wiki/Software_maintenance">maintenance</a> of the software product they work on. Disciplined software developers usually follow a software development methodology, like <a href="http://en.wikipedia.org/wiki/Extreme_Programming">XP</a>.</dd>
<dt>Engineering</dt>
<dd><a href="http://en.wikipedia.org/wiki/Engineering">According to the Wikipedia</a> (bolds are mine): &#8220;Engineering is the discipline and profession of applying technical <strong>and</strong> scientific knowledge and utilizing natural laws and physical resources in order to design and implement materials, structures, machines, devices, systems, and processes that safely realize a desired objective and meet specified criteria.&#8221;</dd>
</dl>
<p><em>Both programmers and software developers <strong>qualify</strong> the <a href="http://en.wikipedia.org/wiki/Software_development_process">software progress</a></em>. They can&#8217;t often meet deadlines nor track process because they don&#8217;t know <em>for sure</em> where they are nor where they should be. Qualification is <a href="http://en.wikipedia.org/wiki/Subjectivity">subjective</a> and absolutely <a href="http://en.wikipedia.org/wiki/Accuracy_and_precision">imprecise</a>, so you can only have subjective and imprecise answers to precise questions like &#8220;when it&#8217;s going to be ready?&#8221; (to which the most common answers are &#8220;soon&#8221; or &#8220;when it&#8217;s ready&#8221; in the <a href="http://www.softwareliberty.com/">freedomare</a> world).</p>
<p>When you travel by car, what can you do to find how far you&#8217;re from the destination and how much time is left? <strong>You have to measure</strong>. If you find a sign that states that you&#8217;re 20Kms away from your destination and you measure the current car&#8217;s speed (well, your car does so for you) and it turns out to be 60Km/hour, then you&#8217;ll realize that if you keep the speed you&#8217;ll arrive in 20 minutes. If you don&#8217;t measure, you can&#8217;t tell if you&#8217;re on time and you can&#8217;t even avoid getting late next time (to improve, you need to know the previous measures!).</p>
<p>If you <strong>quantify</strong>, you will find the real status of a given process and whether you&#8217;ll reach your goals within the desired parameters (time, money, etc.). If you quantified and analyzed such measures, you will be able to execute the right corrections in order to improve the process and thus reach the goals within the desired parameters, or at least reduce the difference between the desired parameters and the final results (this is, reduce risk). And that&#8217;s not specific to software.</p>
<p>So, the difference between a disciplined software developer and a software engineer, is that the former <em>qualifies</em> and the later <em>quantifies</em>. In a software engineering project, when a process is going wrong, it&#8217;s found (the sooner or later) thanks to <a href="http://en.wikipedia.org/wiki/Software_metric">software metrics</a> (or &#8220;software measurements&#8221;) and the appropriate steps are taken to reduce risk. In a software development project, the process is not measured and software product is delivered out of at least one parameter (over-budget, with less features, after the deadline, etc.).</p>
<p>I don&#8217;t think you need a diploma that says you&#8217;re a software engineer (or hold a position ending by &#8220;Software Engineer&#8221; in a organization) to call yourself &#8220;software engineer&#8221;, unless required by local law. But you need to be a disciplined software developer who measures the software process and make decisions based on an objective analysis of the relevant measures.</p>
<h2>Learn more</h2>
<p>There are good resources out there to learn more about software measurement. The one I strongly recommend is &#8220;Software Measurement&#8221; by Christof Ebert and Reiner Dumke (ISBN: <a href="http://en.wikipedia.org/w/index.php?title=Special%3ABookSources&#038;isbn=978-3-540-71648-8">978-3-540-71648-8</a>). This book is a great introduction to software measurement and covers the four kinds of software metrics (project, process, product and people metrics). I think it&#8217;s a must-read for anyone involved in software processes and wants to improve continuously (which can only be achieved by measuring!).</p>
<p>But there are also good resources on the Web, like the ones listed below. Unfortunately, I couldn&#8217;t find something like the book above, but online.</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Debates_within_software_engineering">Debates within software engineering</a>, which also addresses the use of the term &#8220;engineering&#8221; in the software context.</li>
<li><a href="http://en.wikipedia.org/wiki/Software_engineering">Software engineering</a>.</li>
<li><a href="http://en.wikipedia.org/wiki/Software_metric">Software metric</a>.</li>
<li><a href="http://en.wikipedia.org/wiki/GQM">The Goal/Question/Metric (GQM) Approach</a>: Not everything is worth measuring!</li>
<li><a href="http://en.wikipedia.org/wiki/Software_development_process">Software development process</a>.</li>
<li><a href="http://google.com/trends?q=programmer%2C+software+developer%2C+software+engineer&#038;geo=all&#038;date=ytd&#038;sort=2">Comparison of the occurrences for &#8220;programmer&#8221;, &#8220;software developer&#8221; and &#8220;software engineer&#8221; on the Web</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://gustavonarea.net/blog/posts/are-you-a-software-developer-or-a-software-engineer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
