<?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>SDLC Blog &#187; Software Development</title>
	<atom:link href="http://www.rodenas.org/blog/category/software-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rodenas.org/blog</link>
	<description>Software Development Life Cycle: Methodologies and Tools for the Enterprise</description>
	<lastBuildDate>Fri, 09 Sep 2011 12:02:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Programming Well with Others: Social Skills for Geeks</title>
		<link>http://www.rodenas.org/blog/2011/05/20/programming-well-with-others-social-skills-for-geeks/</link>
		<comments>http://www.rodenas.org/blog/2011/05/20/programming-well-with-others-social-skills-for-geeks/#comments</comments>
		<pubDate>Fri, 20 May 2011 21:46:39 +0000</pubDate>
		<dc:creator>ferdy</dc:creator>
				<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[People]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[social skills]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=936</guid>
		<description><![CDATA[TweetTweet&#8220;Collaborating with others is at least as important as having great technical skills&#8221;. Great Goggle I/O 2011 video:]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2011/05/20/programming-well-with-others-social-skills-for-geeks/&via=ferdy&text=Programming Well with Others: Social Skills for Geeks&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2011/05/20/programming-well-with-others-social-skills-for-geeks/&via=ferdy&text=Programming Well with Others: Social Skills for Geeks&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>&#8220;Collaborating with others is at least as important as having great technical skills&#8221;. Great <a href="http://www.google.com/events/io/2011/">Goggle I/O 2011</a> video:</p>
<p><iframe width="640" height="390" src="https://www.youtube.com/embed/q-7l8cnpI4k?rel=0" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2011/05/20/programming-well-with-others-social-skills-for-geeks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEMAT: Software Engineering Method and Theory</title>
		<link>http://www.rodenas.org/blog/2010/02/18/semat-software-engineering-method-and-theory/</link>
		<comments>http://www.rodenas.org/blog/2010/02/18/semat-software-engineering-method-and-theory/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 00:12:57 +0000</pubDate>
		<dc:creator>ferdy</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[SEMAT]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=865</guid>
		<description><![CDATA[TweetTweetInteresting initiative to revitalize the software engineering discipline. SEMAT (Software Engineering Method and Theory), launched in October&#8217;09 by Ivar Jacobson, Bertrand Meyer and Richard Soley, is trying to recognize the fundamental problems and to develop a sound and general theory for software engineering. They&#8217;ve started with a &#8220;Call for Action&#8221;: Software engineering is gravely hampered [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2010/02/18/semat-software-engineering-method-and-theory/&via=ferdy&text=SEMAT: Software Engineering Method and Theory &related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2010/02/18/semat-software-engineering-method-and-theory/&via=ferdy&text=SEMAT: Software Engineering Method and Theory &related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>Interesting initiative to revitalize the software engineering discipline. <a href="http://www.semat.org/">SEMAT</a> (Software Engineering Method and Theory), launched in October&#8217;09 by <a href="http://ivarblog.com/">Ivar Jacobson</a>, <a href="http://bertrandmeyer.com/bio/">Bertrand Meyer</a> and <a href="http://www.omg.org/~soley/">Richard Soley</a>, is trying to recognize the fundamental problems and to develop a sound and general theory for software engineering.</p>
<p>They&#8217;ve started with a &#8220;Call for Action&#8221;:</p>
<blockquote>
<p>Software engineering is gravely hampered today by immature practices. Specific problems include:</p>
<ul>
<li>The prevalence of fads more typical of fashion industry than of an engineering discipline.</li>
<li>The lack of a sound, widely accepted theoretical basis.</li>
<li>The huge number of methods and method variants, with differences little understood and artificially magnified.</li>
<li>The lack of credible experimental evaluation and validation.</li>
<li>The split between industry practice and academic research.</li>
</ul>
<p>We support a process to refound software engineering based on a solid theory, proven principles and best practices that:</p>
<ul>
<li>Include a kernel of widely-agreed elements, extensible for specific uses</li>
<li>Addresses both technology and people issues</li>
<li>Are supported by industry, academia, researchers and users</li>
<li>Support extension in the face of changing requirements and technology</li>
</ul>
</blockquote>
<p>and the <a href="http://www.semat.org/pub/Main/WebHome/SEMAT-vision.pdf">vision statement</a> (PDF), specifying what the community want to achieve in the next twelve months.</p>
<p>Despite agreeing with the above statements and the impressive expert lists who had signed the call for action, I&#8217;m quite sceptical about the results. Starting with the discussion whether software development is an engineering discipline or not, to the danger that this initiative will become just another fad. Anyway, interesting enough to keep an eye on it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2010/02/18/semat-software-engineering-method-and-theory/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eliminating Waste: Lessons From The Trenches</title>
		<link>http://www.rodenas.org/blog/2009/01/18/eliminating-waste-lessons-from-the-trenches/</link>
		<comments>http://www.rodenas.org/blog/2009/01/18/eliminating-waste-lessons-from-the-trenches/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 00:12:15 +0000</pubDate>
		<dc:creator>ferdy</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Methodologies]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[waste]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=576</guid>
		<description><![CDATA[TweetTweetAs I explained in a previous post, the last year I have been involved in a renewal process of all of our application development tools. One of the first things we did when we started the program was to apply the most fundamental lean principle: eliminate waste. To lean thinking, waste is anything that does [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2009/01/18/eliminating-waste-lessons-from-the-trenches/&via=ferdy&text=Eliminating Waste: Lessons From The Trenches&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2009/01/18/eliminating-waste-lessons-from-the-trenches/&via=ferdy&text=Eliminating Waste: Lessons From The Trenches&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>As I explained in a <a href="http://www.rodenas.org/blog/2008/12/09/thoughts-on-software-development-methodologies/">previous post</a>, the last year I have been involved in a renewal process of all of our application development tools. One of the first things we did when we started the program was to apply the most fundamental lean principle: <strong>eliminate waste</strong>.  To lean thinking, waste is anything that does not create value for a customer. For those of you who are not familiarized with the lean principles, I recommend the &#8220;<a href="http://www.amazon.com/gp/product/0321150783">Lean Software Development: An Agile Toolkit</a>&#8221; book. In this book, Mary and Tom Poppendieck translated the seven wastes of manufacturing identified in the <a href="http://en.wikipedia.org/wiki/Toyota_Production_System">Toyota Production System</a> into the <a href="http://community.ative.dk/blogs/ative/archive/2007/01/18/Lean-Principle-Number-1-_2D00_-Eliminate-Waste.aspx">seven wastes of software development</a>: <em>Partially Done Work</em>, <em>Extra Processes</em>, <em>Extra Features</em>, <em>Task Switching</em>, <em>Waiting</em>, <em>Motion</em> and <em>Defects</em>. In this entry I would like to explain some of the problems we have encountered while trying to eliminate waste and some lessons learned.</p>
<p>The first waste we tried to eliminate was the <strong>extra processes</strong>. In other word, we tried to eliminate paperwork that does not means adding value for our users or for our organization. In our case, this task was not related to the development of our tools, it was about eliminating extra processes that were embedded in the tools we developed which forced our users (developers) to execute some unnecessary processes. This action produced some surprises, since near the end of the development, in one of the latest functional demos, there was a crisis moment. Some developers reminded us an essential process they were following in the old tool: they defined the batch programs in a product repository. This process was removed deliberately, because it does not provide any value, so it was a surprise for us that our users asked for this. When we asked them why this process is necessary, they answered that they did not know, but it was something they used to do because someone told them that they must do this task. &#8220;Is this useful?&#8221; we replied. &#8220;No, but we must continue doing that because &#8230; we must do that&#8221;. Wow, it remembers me the <a href="http://www.stsc.hill.af.mil/crosstalk/2000/02/backtalk.html">monkey experiment</a>. Obviously, and despite the laments of our users, we did not add again that process. So lesson learned: <strong>in order to eliminate waste you need to break the <em>status quo</em>, you need to break the corporate culture</strong>.</p>
<p>The second waste we tried to eliminate was the <strong>extra features</strong>, because this was one of the biggest mistakes we did in the past in other tools. Some years ago we started developing a new tool and, using the usability argument, we added a lot of features that lately nobody used. Some of the hitches you may suffer adding those features are that your code-base grows uselessly, increases maintenance costs and makes future developments more complex. This must not be a big problem if users really need these features, but why must we maintain them if they are not being used? Users, moreover, feel that the tool is more complex, so your usability argument disappears, and they reproached us that we are not focusing on what it is really important for them. Now, I am proud to say that our tools have less features, but, at least, the ones we implemented are really used. So two more lessons learned: 1) <strong>more features does not mean better tools</strong>; 2) <strong>usability does not mean more features</strong>.</p>
<p>I am going to stop here. I am sure most of you who have tried to eliminate waste have found these or similar problems. But I do not want to conclude this entry without explaining one of my latest lessons learned. It is not strictly related to lean thinking, it applies to software development in general, albeit it could only apply to some organizations. Sometimes, I believe it is better not to explain that you are using an &#8220;x&#8221; methodology, or to intensify your position saying that you learned those practices from whatever methodology. Sound strange, isn&#8217;t it? But I have discovered that lots of developers hate the words &#8220;methodology&#8221; and &#8220;process&#8221;, and they have adverse reactions when they hear them. I find easier to explain practices without any reference to the original methodology. Lots of times, using the common sense is better to prove the goodness of a practice. And if it does not sound good, perhaps it does not match your organization. OK, maybe I am generalizing. In every change process you will find resistance, so perhaps if it does not sound good it is because fear. So, my last lesson learned: <strong>use common sense, do not arbitrarily adopt new practices</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2009/01/18/eliminating-waste-lessons-from-the-trenches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on software development methodologies</title>
		<link>http://www.rodenas.org/blog/2008/12/09/thoughts-on-software-development-methodologies/</link>
		<comments>http://www.rodenas.org/blog/2008/12/09/thoughts-on-software-development-methodologies/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 23:35:10 +0000</pubDate>
		<dc:creator>ferdy</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Methodologies]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Iterative]]></category>
		<category><![CDATA[Waterfall]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=494</guid>
		<description><![CDATA[TweetTweetRecently, I have been involved in a major IT program, framed on a high demanding business strategic plan, which aims to renovate all of our core banking system. One of the program&#8217;s first steps was changing our IT organizational and governance structure, the enterprise architecture, the application development tools and the software development methodology. Although [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/12/09/thoughts-on-software-development-methodologies/&via=ferdy&text=Thoughts on software development methodologies&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/12/09/thoughts-on-software-development-methodologies/&via=ferdy&text=Thoughts on software development methodologies&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>Recently, I have been involved in a major IT program, framed on a high demanding business strategic plan, which aims to renovate all of our core banking system. One of the program&#8217;s first steps was changing our IT organizational and governance structure, the enterprise architecture, the application development tools and the software development methodology.</p>
<p>Although my responsibility in this program only relies on the application development tools, as one of the <acronym title="Project Management Office">PMO</acronym> leaders, I was able to follow closely the rest of the items. One of the topics that I was specially interested on was the software development methodology, because among other things, before the program, it was one of my responsibilities, and, after the program, it will be, again, my responsibility. The truth is that I had high hopes for change (perhaps influenced by the &#8220;Yes, we can!&#8221; slogan), but the fact that they came to conclusion that we need another waterfall methodology, perhaps a bit stricter than the one we use today, disappointed and frustrated me.</p>
<p>But please, that nobody misunderstood me. I deeply respect the work and decisions of my colleagues. I have had the opportunity to explain my thoughts. I gave them some books on the topic. I tried to influence the people who had the task to define the new methodology in order to introduce more innovative methods/process/practices of software development, but, maybe, being too innovative in a very classic environment doesn&#8217;t helped me. I think that changing the software development process in a big organization requires lots of effort, education, very slow and gradual steps, &#8230;, and I do not want to miss this opportunity, I believe that now is the moment to do that, taking advantage of the whole changing program. Well, at least, now some people knows that there are more life after the waterfall model, there&#8217;s a gray scale between white and black. <img src='http://www.rodenas.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>As I&#8217;m a bit nonconformist, I tried to find out which were the reasons behind that decision. So I decided to ask some developers and project managers to get an exact idea of what they think/know about software development methodologies. Although most of the answers were what I expected to find, I also found some <del>interesting</del> frustrating observations. I want to share with you some of them:</p>
<ul>
<li>Most developers and project managers are unaware of the existence of another methodologies, and they do not have any interest in learning them. Methodologies and process are something bored and do not provide any value to what they are doing actually. Although they recognize there are lot of inefficiencies in the way they work, they don&#8217;t want to change it. When I ask some of them if they follow our actual methodology, their answer is NO. &#8220;Well, at least, are you following any predefined process?&#8221; again, the answer is NO.</li>
<li>Most project managers feel that a plan-driven methodology provides them more control over the whole project, that their projects are more predictable. But when I ask them if their projects are on time, most of them recognizes that NO. They also doesn&#8217;t have/use information from previous projects in order to estimate or improve the next ones, every project is different.</li>
<li>They see iterative / agility methodologies as a chaos, the wild west, where there isn&#8217;t any discipline. W00t? discipline and agile are not conflicting. XP, for example, requires high levels of discipline.</li>
<li>Some people told me that waterfall methodologies encourages a comprehensive documentation. &#8220;Well, could you show me your last project&#8217;s documentation? no, we didn&#8217;t have time to write it. OK, doesn&#8217;t mind. Could you show me any documentation of any project you&#8217;re involved? no, we&#8217;re still working on it, you know, we&#8217;ve tigh schedules&#8221;.</li>
<li>Some answers reflected the &#8220;<a href="http://www.ibm.com/developerworks/blogs/page/ambler?entry=adoption_antipattern_we_re_special">We&#8217;re Special</a>&#8221; syndrome: &#8220;Agile is suitable when you want to develop software for an Iphone, but not for financial applications&#8221; (paraphrased).</li>
<li>Some project managers get annoyed when they must talk with their clients or stakeholders, they hate them (I believe this is a mutual feeling). Yeah, those evil people that everyday changes the requirements and doesn&#8217;t have any idea how hard is the software development process.</li>
</ul>
<p>I also tried to analyze some projects, and, surprisingly, I discovered that most of them are short term projects (2-3 months). I expected longer projects, as corresponds to a waterfall process. So I ask myself if we are really using a waterfall methodology, or we&#8217;re using a masked iterative process?</p>
<p>How about you? Did you find these kind of answers in your company? Any ideas on how to address this situation?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2008/12/09/thoughts-on-software-development-methodologies/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>No Silver Bullet reloaded</title>
		<link>http://www.rodenas.org/blog/2008/10/24/no-silver-bullet-reloaded/</link>
		<comments>http://www.rodenas.org/blog/2008/10/24/no-silver-bullet-reloaded/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 22:51:45 +0000</pubDate>
		<dc:creator>ferdy</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Methodologies]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Fred Brooks]]></category>
		<category><![CDATA[InfoQ]]></category>
		<category><![CDATA[OOPSLA]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Silver Bullet]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=472</guid>
		<description><![CDATA[TweetTweetDon&#8217;t miss the No Silver Bullet Reloaded Retrospective OOPSLA Panel Summary post by InfoQ. It&#8217;s a worth read. Great panelists and great content. Some statements that I&#8217;ve found interesting: Dave Parnas: Desire for people to seek better tools rather than “actually learning the trade.” Dave used the metaphor: “there is an old saying: ‘the poor [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/10/24/no-silver-bullet-reloaded/&via=ferdy&text=No Silver Bullet reloaded&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/10/24/no-silver-bullet-reloaded/&via=ferdy&text=No Silver Bullet reloaded&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>Don&#8217;t miss the <a href="http://www.infoq.com/articles/No-Silver-Bullet-Summary">No Silver Bullet Reloaded Retrospective OOPSLA Panel Summary</a> post by InfoQ. It&#8217;s a worth read. Great panelists and great content.</p>
<p>Some statements that I&#8217;ve found interesting:</p>
<p><a href="http://en.wikipedia.org/wiki/David_Parnas">Dave Parnas</a>:</p>
<blockquote><p>
Desire for people to seek better tools rather than “actually learning the trade.” Dave used the metaphor: “there is an old saying: ‘the poor workman blames his tools’ &#8211; people are poor workmen, I think most programmers are poor workmen.” Dave also said that people are looking for silver bullets to avoid learning the trade.
</p></blockquote>
<p><a href="http://www.sei.cmu.edu/staff/lmn/">Linda Northrop</a>:</p>
<blockquote><p>
We still need great designers, and I think we still have far too few, and we still need to cultivate an atmosphere of hard work but also an inner-disciplinary perspective that takes us uncomfortably out of our coding world.
</p></blockquote>
<p><a href="http://www.davethomas.net/">Dave Thomas</a>:</p>
<blockquote><p>
He called today’s state of the art in software development (especially middleware) a gratuitous disaster due to overly quick fast pace of change in API’s and frameworks which create immature software and also create too much difficulty for average software teams to track and stay up to date with.   Dave claimed that the majority of today’s enterprise systems are basically just CRUD applications: “In the end these people are trying to do things that are fairly straight forward, and if they were working on a mainframe using a 4GL, they would actually have the thing done.“
</p></blockquote>
<blockquote><p>
He has seen “real successes” in niches, citing highly specialized domain-specific and specialized language applications in airlines reservations and hedge funds;
</p></blockquote>
<p><a href="http://martinfowler.com/">Martin &#8220;Werewolf&#8221; Fowler</a>:</p>
<blockquote><p>
You can’t measure your output, you can’t measure your productivity, no way you can run sensible experiments to figure out whether one technique is better than another. …
</p></blockquote>
<blockquote><p>
The biggest difficulty in software development is the communication between the people writing the software and the people for who the software is being written. The conceptual attacks, the essence problems, focus a great deal on trying to improve that communication. The trouble of doing that, of course, is that it’s hard to get that communication flowing. Some of the business people don’t want to talk with software people, and fortunately the software people are hopeless when it comes to social interaction, they can’t talk to business people.
</p></blockquote>
<blockquote><p>
You seem to think that with hardly any information at the beginning of the project you can map out exactly what’s going to happen, pin down costs, commit yourselves to all sorts of unrealistic plans. And then you wonder why it is that I always manage to turn up. That illusion of control, the idea that on basis of hardly any data you can let make these grand predictions, that very folly is one of my greatest strengths.
</p></blockquote>
<p><a href="http://en.wikipedia.org/wiki/Fred_Brooks">Fred Brooks</a>:</p>
<blockquote><p>
I know of no field of engineering where people do less study of each other’s work, where they do less study of precedents, where they do less study of classical models. I think that that is a very dangerous thing.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2008/10/24/no-silver-bullet-reloaded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top 100 Software Development Blogs</title>
		<link>http://www.rodenas.org/blog/2008/09/16/top-100-software-development-blogs/</link>
		<comments>http://www.rodenas.org/blog/2008/09/16/top-100-software-development-blogs/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 23:06:50 +0000</pubDate>
		<dc:creator>ferdy</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=447</guid>
		<description><![CDATA[TweetTweetJurgen Appelo has collected a list of the top 100 blogs for development managers. The list of blogs is quite impressive, rated using five different statistics (Google Page Rank, Technorati Authority, Alexa Rank, Hits, Comments). You can find the usual A-List bloggers, but also some other interesting blogs you might not know about (oh no! [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/09/16/top-100-software-development-blogs/&via=ferdy&text=Top 100 Software Development Blogs&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/09/16/top-100-software-development-blogs/&via=ferdy&text=Top 100 Software Development Blogs&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>Jurgen Appelo has collected a list of the <a href="http://www.noop.nl/2008/09/top-100-blogs-for-development-managers-q3-2008.html">top 100 blogs for development managers</a>. The list of blogs is quite impressive, rated using five different statistics (Google Page Rank, Technorati Authority, Alexa Rank, Hits, Comments). You can find the usual A-List bloggers, but also some other interesting blogs you might not know about (oh no! no more feeds please!).</p>
<p>This is the top 10. Check his <a href="http://www.noop.nl/2008/09/top-100-blogs-for-development-managers-q3-2008.html">post</a> to discover the rest.</p>
<blockquote>
<ol>
<li><a href="http://www.joelonsoftware.com/">Joel on Software</a> &#8211; Joel Spolsky</li>
<li><a href="http://www.codinghorror.com/">Coding Horror</a> &#8211; Jeff Atwood</li>
<li><a href="http://sethgodin.typepad.com/">Seth&#8217;s Blog</a> &#8211; Seth Godin</li>
<li><a href="http://www.paulgraham.com/">Paul Graham: Essays</a> &#8211; Paul Graham</li>
<li><a href="http://blog.pmarca.com/">blog.pmarca.com</a> &#8211; Marc Andreesen</li>
<li><a href="http://www.roughtype.com/">Rough Type</a> &#8211; Nicholas Carr</li>
<li><a href="http://www.hanselman.com/blog/">Scott Hanselman&#8217;s Computer Zen</a> &#8211; Scott Hanselman</li>
<li><a href="http://martinfowler.com/bliki/">Martin Fowler&#8217;s Bliki</a> &#8211; Martin Fowler</li>
<li><a href="http://www.randsinrepose.com/">Rands in Repose</a> &#8211; Michael Lopp</li>
<li><a href="http://steve-yegge.blogspot.com/">Stevey&#8217;s Blog Rants</a> &#8211; Steve Yegge</li>
</ol>
</blockquote>
<p><i>Bonus track: It seems that Jurgen&#8217;s hobby of collecting lists comes from afar. Check these other lists he has collected:</i></p>
<ul>
<li><i><a href="http://www.noop.nl/2008/06/top-100-best-software-engineering-books-ever.html">Top 100 Best Software Engineering Books, Ever</a></i></li>
<li><i><a href="http://www.noop.nl/2008/06/top-20-best-agile-development-books-ever.html">Top 20 Best Agile Development Books, Ever</a></i></li>
<li><i><a href="http://www.noop.nl/2008/02/top-25-most-pop.html">Top 25 Most Popular Software Engineers</a></i></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2008/09/16/top-100-software-development-blogs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hug a developer &#8230; they&#8217;re in a terrible pain</title>
		<link>http://www.rodenas.org/blog/2008/09/14/hug-a-developer-theyre-in-a-terrible-pain/</link>
		<comments>http://www.rodenas.org/blog/2008/09/14/hug-a-developer-theyre-in-a-terrible-pain/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 21:51:52 +0000</pubDate>
		<dc:creator>ferdy</dc:creator>
				<category><![CDATA[Funny]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=441</guid>
		<description><![CDATA[TweetTweetI&#8217;m back from vacation &#8230; just to discover again the cruel reality:]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/09/14/hug-a-developer-theyre-in-a-terrible-pain/&via=ferdy&text=Hug a developer ... they're in a terrible pain&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/09/14/hug-a-developer-theyre-in-a-terrible-pain/&via=ferdy&text=Hug a developer ... they're in a terrible pain&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>I&#8217;m back from vacation &#8230; just to discover again the cruel reality:</p>
<p><embed src="http://blip.tv/play/AcGSagA" type="application/x-shockwave-flash" width="640" height="390" allowscriptaccess="always" allowfullscreen="true"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2008/09/14/hug-a-developer-theyre-in-a-terrible-pain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transparency in Software Development</title>
		<link>http://www.rodenas.org/blog/2008/05/07/transparency-in-software-development/</link>
		<comments>http://www.rodenas.org/blog/2008/05/07/transparency-in-software-development/#comments</comments>
		<pubDate>Tue, 06 May 2008 22:25:05 +0000</pubDate>
		<dc:creator>ferdy</dc:creator>
				<category><![CDATA[IBM]]></category>
		<category><![CDATA[Methodologies]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Jazz Project]]></category>
		<category><![CDATA[open commercial development]]></category>
		<category><![CDATA[Rational Team Concert]]></category>
		<category><![CDATA[transparency]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=289</guid>
		<description><![CDATA[TweetTweetSome days ago, I wrote about a QCon 2008 session where Erich Gamma spoke about transparency and how it is related to the IBM’s Open Commercial Development model (OCD). As I have been involved since last year as a beta customer in one of the projects where OCD is been applied, the Rational Jazz Project, [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/05/07/transparency-in-software-development/&via=ferdy&text=Transparency in Software Development&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/05/07/transparency-in-software-development/&via=ferdy&text=Transparency in Software Development&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>Some days ago, I <a href="http://www.rodenas.org/blog/2008/04/28/qcon-london-2008-summary/">wrote</a> about a QCon 2008 session where <a href="http://en.wikipedia.org/wiki/Erich_Gamma">Erich Gamma</a> spoke about transparency and how it is related to the IBM’s Open Commercial Development model (OCD). As I have been involved since last year as a beta customer in one of the projects where OCD is been applied, the <a href="http://jazz.net/">Rational Jazz Project</a>, I want to discuss with all of you some thoughts and opinions about this software development style.</p>
<p>First of all, and just to be clear, I&#8217;m not going to talk about which is the license model behind OCD. The words “Open” and “Commercial”, when seen together, produces some unexpected chills and thrills, and they have generated some controversial discussions out there, mainly in the open source community (maybe, as Stephen O&#8217;Grady <a href="http://redmonk.com/sogrady/2007/06/17/rsdc_2007/">points out</a>, it will be more accurate to characterize this as transparent development). In the case of the Jazz Platform, there is also some confusion, because we don&#8217;t know if IBM is going to <a href="http://www.infoworld.com/article/07/08/24/IBM-open-source-Jazz-collaboration-software_1.html">release it as an open source software</a> and then develop commercial products based on this platform (like Eclipse), or if they, both platform and products, will remain as commercial products. I vote for the first option, but the word “commercial” in OCD suggest me the second one.</p>
<p>Instead, what I&#8217;m going to talk about is how transparency in a great feature in the software development process. So go ahead.</p>
<p>During my career, I have dealt with lots of products, from both open and non-open source software providers. One pattern that I always find in traditional proprietary software is that you never interact with the development team; there is a barrier between you, the customer, and the vendor&#8217;s developers. If you need to report a bug or to ask for an enhancement, you can only interact with a service desk. Usually, they have a support web site, where you can see your own tickets, but you can’t see any other bugs or enhancements reported by others companies. You never know when they are going to deliver a solution for your problem (except if it is a blocker), which will be the way they are going to implement your enhancement, if there are more people interested in some enhancement, … You can only check if the bug is fixed or the enhancement implemented when the vendor delivers a new version of the product, and, sometimes, results are not what you wanted. Furthermore, sometimes, you will have to deal with lots of useless questions, mainly due to misunderstandings between you, the service desk and the development team. This is what Erich Gamma calls “Swiss bank approach to software development”.</p>
<p>This firewall between customers and developers is really very frustrating, not only for the customers, but <a href="http://pmuellr.blogspot.com/2007/07/history-of-transparency.html">also for the developers</a>. Some companies try to supply this lack of communication organizing user’s conferences (where you can meet some developers), meetings with whatever worldwide VPs, or through a customer advocate. In some cases, frustrated users set up unofficial forums to share their problems or to try to join forces so that the vendor accepts an enhancement. They try to establish some kind of user&#8217;s community, but without the vendor involvement. In my experience, and without intention to offend anyone, you will get lots of nice words, but you rarely archive a real solution.</p>
<p>With open-source products, there is a really different way of relationship between customers and providers. There is an open participation and customers can influence easily in the development process in several ways. And I’m not talking about having access to the source code, which is important, but also having access to the bug tracking system, the development mailing-lists, user’s forums, and, in some cases, the development plans, all of them maintained by the development team (fewer misunderstandings). This well-known transparent and collaborative model usually produces enhanced feedback, which leads to deliver better products (in terms of user’s expectations). It’s about archiving customer value, instead of vendor value.</p>
<p>This is the same interaction I have found while working with the Jazz Project. I have had access not only to the source code but also to the latest integration builds (so I can check how my enhancements are implemented), a wiki with technical information about the platform (if you care about the extensibility), a community forum, the development plans and a dashboard to monitor the health of the overall project. I have had also full access to the issue tracking system, where I can submit my own bugs and enhancements, but I can also see which other enhancements are requested by other customers (and to enroll them if I found someone interesting), in which version are they planned … Summarizing, full transparency in the development process. One of the consequences is that I’ve felt, and this is personal and subjective opinion, more involved in the development process, more biased towards submitting enhancements and more confident about future problems that could appear. This feeling is nothing new if you have previously worked with open source projects, but it is something strange coming from an proprietary product.</p>
<p>However, there is a huge difference between open source and OCD models. While in open source software you can contribute to the code base by fixing a bug or improving some features, in OCD it is not clear which will be the contributor’s role. It will depend on the license model selected, which, in turn, it will establish if there will be a vibrant community and ecosystem outside IBM or if there will be a vibrant IBM’s customer community. Anyway, if the final decision is to keep the software as a commercial product, the transparency applied in this model it will represent a great improvement in the proprietary software development process, for both customers and vendors.</p>
<p>But after using this software development style for some time, I believe that this model it is not useful only to software vendors, but it also could be applied to any IT department, especially in big enterprises, in order to improve their software development process. I also believe this is one of the objectives pursued by <a href="http://www-306.ibm.com/software/rational/jazz/">Rational Team Concert</a>, the first product based on the Jazz Platform (I will talk about this product in future posts). But this is something that I need to try by myself in the company where I work. As most of my readers already knows, I am in charge of the application developments tools in one major Spanish savings bank. Looking through the development process we use, I am sure that if I ask the users of the tools we develop (our internal customers) how much transparent are we, they are going to complain me. Although we meet periodically, it is hard to achieve transparency only with meetings, we need to adopt different and innovative approaches, the ones I have told you in this post.</p>
<p>And finally, although this is what I honestly think about transparency and OCD, I want to hear other opinions. Do you think this is a good software development model for proprietary software? Do you think this model could be applied inside enterprise firewalls?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2008/05/07/transparency-in-software-development/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Playing with CouchDb</title>
		<link>http://www.rodenas.org/blog/2008/02/19/playing-with-couchdb/</link>
		<comments>http://www.rodenas.org/blog/2008/02/19/playing-with-couchdb/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 23:24:28 +0000</pubDate>
		<dc:creator>ferdy</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[couchdb]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[schema-free]]></category>
		<category><![CDATA[simpledb]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/2008/02/19/playing-with-couchdb/</guid>
		<description><![CDATA[TweetTweetOver the course of my career working as a software engineer, I have had the opportunity to play with different data structures (arrays, vectors, trees, &#8230;) and different persistence data systems, from hierarchical databases (IMS DB) to indexed and relative files (VSAM) to RDBMS. Even so, I consider myself as an apprentice, and I still [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/02/19/playing-with-couchdb/&via=ferdy&text=Playing with CouchDb&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/02/19/playing-with-couchdb/&via=ferdy&text=Playing with CouchDb&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>Over the course of my career working as a software engineer, I have had the opportunity to play with different data structures (arrays, vectors, trees, &#8230;) and different persistence data systems, from hierarchical databases (<a href="http://en.wikipedia.org/wiki/Information_Management_System">IMS DB</a>) to indexed and relative files (<a href="http://en.wikipedia.org/wiki/VSAM">VSAM</a>) to <a href="http://en.wikipedia.org/wiki/Relational_database_management_system">RDBMS</a>. Even so, I consider myself as an apprentice, and I still have the insane curiosity to learn new persistence data models. That&#8217;s the reason why, recently, I have been playing with <a href="http://couchdb.org/">CouchDb</a>.</p>
<p>For those of you who do not know CouchDb, it is a distributed, fast, reliable, fault-tolerant and schema-free <a href="http://en.wikipedia.org/wiki/Document-oriented_database">document-oriented database</a> accessible via a <a href="http://en.wikipedia.org/wiki/RESTful">RESTful</a> <a href="http://en.wikipedia.org/wiki/JSON">JSON</a> API. It has been getting a lot of attention lately, specially after <a href="http://www.amazon.com/">Amazon</a> launched its cloud database system, <a href="http://www.amazon.com/b?ie=UTF8&#038;node=342335011"> SimpleDB</a>, which has some similarities with CouchDb, and after <a href="http://www.ibm.com">IBM </a> <a href="http://damienkatz.net/2008/01/new_gig.html">hired</a> its creator, <a href="http://damienkatz.net/">Damien Katz</a>, that caused the donation and <a href="http://damienkatz.net/2008/02/couchdb_accepte.html">acceptance</a> of CouchDb as an incubation project by the <a href="http://www.apache.org/">Apache Software Foundation</a>. Despite this hype, it is still an alpha level software, it&#8217;s stable enough for testing but not ready for a production environment.</p>
<p>The first interesting feature about CouchDb is that, unlike typical relational systems, it will not enforce you to use an schema. Instead of designing tables, CouchDb stores in a flat file, called <i>database</i>, documents, which are lists of key-value pairs, called <i>fields</i>, with no predefined structure. If you want to think in a relational way, databases are tables, documents are rows, and fields are columns, but in the same database (table), you could have different documents (rows) and each row could have any number of different fields (columns) without the need to structure their data types (field = dynamic key + value). So you don&#8217;t need to structure your data in advance, you can do it later if you want using views, which will organize your data adding structure back to semi-structured data. It&#8217;s a &#8220;<a href="http://www.betaversion.org/~stefano/linotype/news/93/">Data First vs. Structure First</a>&#8221; strategy.</p>
<p>Here it is an example of a document (using the built in web front end):<br />
<center><img src='http://www.rodenas.org/blog/wp-content/files/2008/02/couchdb.png' alt='CouchDb built in web front' /></center></p>
<p>&nbsp;</p>
<p>This lack of schema, however, is not a suite-for-all solution, but it could be advantageous in some situations. I&#8217;ll give you a simple example. Imagine you need to create a repository of information related to all the software components of your information system (something like a <a href="http://en.wikipedia.org/wiki/CMDB">CMDB</a>), that is programs (or classes), databases, configuration files, web pages, &#8230; Components has common attributes and specific attributes depending on the type of product. For example, common attributes are type of product, name, description, &#8230; and specific attributes for a program are language, technology used (DB2, MQSeries, &#8230;) &#8230; You will have several approaches to store these information: </p>
<ol>
<li>Design a relational table for each type of product with all the attributes (common and specific);</li>
<li>Use only one table with all the common attributes plus some generic attributes (for example, attrib1 varchar(255), &#8230;), and an external <a href="http://en.wikipedia.org/wiki/Data_dictionary">data dictionary</a> that identifies and describes the format of each generic atribute;</li>
<li>No predefined structure, each row stores different attributes depending on the type of product.</li>
</ol>
<p>From a pure relational perspective, it seems natural to use the first option. But what happens if you&#8217;re a tools vendor and you let the users add they own products? You still have the choice to use the first option, but the problem is a bit more complicated, as you&#8217;ll have to deal with some unknown tables (and, perhaps, not normalized). OK, no <i>problema</i> here, we&#8217;ll just use the second alternative. It&#8217;s a perfect choice (in fact, I&#8217;ve used this approach occasionally), but doesn&#8217;t seem very natural to the relational discipline. And here is when it comes the third approach, each row will have different columns (as a key+value pair) representing the product attributes. In summary, all three options are correct (and yes, I&#8217;m polite because I don&#8217;t want a flame war now), but in this case, it&#8217;s more advantageous to use the schema-free approach.</p>
<p>Another interesting feature is that CouchDb uses the <a href="http://www.erlang.org/">Erlang OTP</a> platform  (internally, you&#8217;ll never see it), which is a perfect choice for highly concurrent access and fault-tolerant systems. But being highly concurrent means that you must try to avoid locks, something hard to design if you want to enforce all <a href="http://en.wikipedia.org/wiki/ACID">ACID</a> properties. To deal with this situation, CouchDb uses a <a href="http://en.wikipedia.org/wiki/Multiversion_concurrency_control">MVCC</a> and a <a href="http://en.wikipedia.org/wiki/Optimistic_locking">lockless optimistic</a> writer mechanism (in comparison to Mnesia, Erlang&#8217;s DBMS, which uses a pessimistic locking). Using these approaches, readers could access documents without being locked by a writer, seeing only the version of the document that existed when he began reading (despite a writer updated the document at the meantime), because data is always versioned by the writers. But this strategy involves big database files, because they are growing all the time (remember, writers never overwrites data, they only append it, even if you&#8217;re deleting data). And even though CouchDb has an automatically compaction process that clones all the data without any service interruption, it would be nice to see some performance metrics to check which will be the performance parsing large files in Erlang.</p>
<p>The last interesting feature is its simple REST API to manage the data, using JSON for data transport. It is very easy to create, read, update or delete documents and views, that have a unique <acronym title="Uniform Resource Identifier">URI</acronym>, using HTTP resources. Yes, and that means no painful database drivers, just regular HTTP connections, so you can use your favourite HTTP library. Let&#8217;s see some examples using <a href="http://curl.haxx.se/">cURL</a>:</p>
<p>Getting a list of all databases on my local CouchDb server:</p>
<pre>
curl -i http://localhost:5984/_all_dbs
</pre>
<p>And the response:</p>
<pre>
HTTP/1.1 200 OK
Server: inets/develop
Date: Sat, 16 Feb 2008 23:57:32 GMT
Cache-Control: no-cache
Pragma: no-cache
Expires: Sat, 16 Feb 2008 23:57:32 GMT
Transfer-Encoding: chunked
Content-Type: text/plain;charset=utf-8

["ferdydb","test_suite_db","test_suite_db_a","test_suite_db_b"]
</pre>
<p>Retrieving a document:</p>
<pre>
curl -i http://localhost:5984/ferdydb/post-272/
</pre>
<p>And the response. Remember that documents are simple JSON objects:</p>
<pre>
HTTP/1.1 200 OK
Server: inets/develop
Date: Sat, 16 Feb 2008 23:58:25 GMT
Cache-Control: no-cache
Pragma: no-cache
Expires: Sat, 16 Feb 2008 23:58:25 GMT
Transfer-Encoding: chunked
Content-Type: text/plain;charset=utf-8
Etag: 1882588955

{
 "_id":"post-272",
 "_rev":"1882588955",
 "Type":"post",
 "Status":"publish",
 "Title":"Playing with CouchDb",
 "Author":"Ferdy",
 "PostDate":"2008-02-17T00:30:52+01:00",
 "Tags":["couchdb","erlang","json","rest","schema-free","simpledb"],
 "Contents":"&lt;p&gt;Over the course of my career working as a softw..."
}
</pre>
<p>Did you see the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19">Etag header</a>? Let&#8217;s see if it works:</p>
<pre>
curl -i http://localhost:5984/ferdydb/post-272/  \
     -H "If-None-Match: "1882588955""
</pre>
<p>It works! Here is the response:</p>
<pre>
HTTP/1.1 304 Not Modified
Server: inets/develop
Content-Type: text/html
Date: Sun, 17 Feb 2008 00:26:26 GMT
Cache-Control: no-cache
Pragma: no-cache
Expires: Sun, 17 Feb 2008 00:26:26 GMT
Etag: 1882588955
</pre>
<p>Enough experiments for today, right?</p>
<p>After reading this brief summary, and if you come from a relational model discipline, your first reaction may be &#8220;<a href="http://www.urbandictionary.com/define.php?term=wtf">WTF</a>&#8220;. But I would encourage you to go deeper with this new persistence data model approach checking the <a href="http://www.couchdbwiki.com/index.php?title=Technical_Overview">technical overview</a> page at the <a href="http://www.couchdbwiki.com/">CouchDb Documentation Wiki</a> or reading these <a href="http://jan.prima.de/~jan/plok/archives/105-Slides-From-the-Latest-CouchDB-Talk-at-PHP-UG-FFM.html">slides</a> by <a href="http://jan.prima.de/plok/">Jan Lehnardt</a> (don&#8217;t forget the <a href="http://jan.prima.de/~jan/plok/archives/72-Some-Context.html">comments</a> also). You&#8217;ll find a lot more features that I didn&#8217;t explain in this post. And of course, share with me your opinion!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2008/02/19/playing-with-couchdb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Software Best Practices Webinar Series</title>
		<link>http://www.rodenas.org/blog/2007/11/20/software-best-practices-webinar-series/</link>
		<comments>http://www.rodenas.org/blog/2007/11/20/software-best-practices-webinar-series/#comments</comments>
		<pubDate>Tue, 20 Nov 2007 21:35:04 +0000</pubDate>
		<dc:creator>ferdy</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Webinar]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/2007/11/20/software-best-practices-webinar-series/</guid>
		<description><![CDATA[TweetTweetThe IT Metrics &#038; Productivity Institute is hosting a series of free, weekly webinars about software development and maintenance. The Software Best Practices Webinars Series is dedicated to improving the practice and management of software development and maintenance world wide. All live webinars are FREE and have been accredited with PDU credits by PMI&#8217;s ISSIG [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2007/11/20/software-best-practices-webinar-series/&via=ferdy&text=Software Best Practices Webinar Series&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2007/11/20/software-best-practices-webinar-series/&via=ferdy&text=Software Best Practices Webinar Series&related=:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>The <a href="http://www.itmpi.org/">IT Metrics &#038; Productivity Institute</a> is hosting a series of free, weekly webinars about software development and maintenance.</p>
<blockquote><p>The Software Best Practices Webinars Series is dedicated to improving the practice and management of software development and maintenance world wide. All live webinars are FREE and have been accredited with <acronym title="Professional Development Unit ">PDU</acronym> credits by <a href="http://www.pmi-issig.org/">PMI&#8217;s ISSIG group</a>.</p>
<p>Each webinar will feature an expert speaker who has extensively researched and successfully applied best practice principles to the development and maintenance of software.</p>
</blockquote>
<p>The Fall 2007 program includes:</p>
<ul>
<li>November 20th, 2007: <a href="https://www.gotomeeting.com/register/737641325">The Journey towards Effective Portfolio Management</a></li>
<li>November 27th, 2007: <a href="https://www.gotomeeting.com/register/307320009">Ed Yourdon On Managing Death March Projects</a></li>
<li>November 28th, 2007: <a href="https://www.gotomeeting.com/register/646882381">Implementing Agile Development in New Teams</a></li>
<li>December 3rd, 2007: <a href="https://www.gotomeeting.com/register/800519525">Dr. Howard Rubin on Technology Economics and the Importance of Software Process</a></li>
<li>December 3rd, 2007: <a href="https://www.gotomeeting.com/register/577471472">Effective Vendor Management</a></li>
<li>December 4th, 2007: <a href="https://www.gotomeeting.com/register/733856243">10 Things You Need to Know about Earned Value Management</a></li>
<li>December 11th, 2007: <a href="https://www.gotomeeting.com/register/179708467">Project Disasters: Predict Them, Prevent Them, or Pull the Plug on Them</a></li>
<li>December 12th, 2007: <a href="https://www.gotomeeting.com/register/400217823">Building a High Performance Risk Management Team</a></li>
<li>December 13th, 2007: <a href="https://www.gotomeeting.com/register/112630626">Requirements Errors &#8211; Sources and Avoidance Strategies</a></li>
</ul>
<p></p>
<p>If you are interested in knowing the full 2007-2008 program, you will find more information on <a href="http://www.itmpi.org/webinars/">The 2007-2008 Software Best Practices Webinar Series</a> website.</p>
<p>(Via <a href="http://www.yourdonreport.com/index.php/2007/11/19/free-webinar-on-managing-death-march-projects/">Ed Yourdon</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2007/11/20/software-best-practices-webinar-series/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

