<?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/"
	
xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
>

<channel>
	<title>SDLC Blog</title>
	<atom:link href="http://www.rodenas.org/blog/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>Sat, 30 Dec 2017 22:16:07 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.0.2</generator>
<site xmlns="com-wordpress:feed-additions:1">1435052</site>	<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/#respond</comments>
		<pubDate>Fri, 20 May 2011 21:46:39 +0000</pubDate>
		<dc:creator><![CDATA[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[Tweet&#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><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>
	<post-id xmlns="com-wordpress:feed-additions:1">936</post-id>	</item>
		<item>
		<title>The Rise And Fall Of Waterfall</title>
		<link>http://www.rodenas.org/blog/2010/04/05/the-rise-and-fall-of-waterfall/</link>
		<comments>http://www.rodenas.org/blog/2010/04/05/the-rise-and-fall-of-waterfall/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 22:30:57 +0000</pubDate>
		<dc:creator><![CDATA[ferdy]]></dc:creator>
				<category><![CDATA[History]]></category>
		<category><![CDATA[Methodologies]]></category>
		<category><![CDATA[Waterfall]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=889</guid>
		<description><![CDATA[TweetWinston W. Royce, the man who was the first to describe the Waterfall model for software development, although he did not use the term &#8220;waterfall&#8221; nor advocated it as a working methodology.]]></description>
				<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2010/04/05/the-rise-and-fall-of-waterfall/&via=ferdy&text=The Rise And Fall Of Waterfall &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><a href="http://en.wikipedia.org/wiki/Winston_W._Royce">Winston W. Royce</a>, the man who was the first to describe the <a href="http://en.wikipedia.org/wiki/Waterfall_model">Waterfall model</a> for software development, although he did not use the term &#8220;waterfall&#8221; nor advocated it as a working methodology.</p>
<p><object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/X1c2--sP3o0&#038;hl=es_ES&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/X1c2--sP3o0&#038;hl=es_ES&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2010/04/05/the-rise-and-fall-of-waterfall/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">889</post-id>	</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/#respond</comments>
		<pubDate>Thu, 18 Feb 2010 00:12:57 +0000</pubDate>
		<dc:creator><![CDATA[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[TweetInteresting 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 [&#8230;]]]></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><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>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">865</post-id>	</item>
		<item>
		<title>Where are my mock objects you lazy son of &#8230;!</title>
		<link>http://www.rodenas.org/blog/2009/06/07/where-are-my-mock-objects-you-lazy-son-of/</link>
		<comments>http://www.rodenas.org/blog/2009/06/07/where-are-my-mock-objects-you-lazy-son-of/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 22:22:57 +0000</pubDate>
		<dc:creator><![CDATA[ferdy]]></dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=849</guid>
		<description><![CDATA[Tweet]]></description>
				<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2009/06/07/where-are-my-mock-objects-you-lazy-son-of/&via=ferdy&text=Where are my mock objects you lazy son of ...!&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><object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/l1wKO3rID9g&#038;hl=es&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/l1wKO3rID9g&#038;hl=es&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2009/06/07/where-are-my-mock-objects-you-lazy-son-of/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">849</post-id>	</item>
		<item>
		<title>From the Eclipse Platform to the IBM Rational Jazz Platform</title>
		<link>http://www.rodenas.org/blog/2009/04/20/from-the-eclipse-platform-to-the-ibm-rational-jazz-platform/</link>
		<comments>http://www.rodenas.org/blog/2009/04/20/from-the-eclipse-platform-to-the-ibm-rational-jazz-platform/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 23:05:18 +0000</pubDate>
		<dc:creator><![CDATA[ferdy]]></dc:creator>
				<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[History]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Jazz Project]]></category>
		<category><![CDATA[Rational]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=571</guid>
		<description><![CDATA[TweetSeveral months ago, I promised to write about the IBM Rational Jazz platform and IBM Rational Team Concert. As you may have noticed, I have not yet write about them, but in my defense I can say that I have not had much time to devote to this nor other posts in this blog. As [&#8230;]]]></description>
				<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2009/04/20/from-the-eclipse-platform-to-the-ibm-rational-jazz-platform/&via=ferdy&text=From the Eclipse Platform to the IBM Rational Jazz Platform&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>Several months ago, I promised to write about the <a href="https://jazz.net/">IBM Rational Jazz platform</a> and <a href="http://www-01.ibm.com/software/awdtools/rtc/">IBM Rational Team Concert</a>. As you may have noticed, I have not yet write about them, but in my defense I can say that I have not had much time to devote to this nor other posts in this blog. As I mentioned in some others posts, lately I have been leading a major renovation of our entire suite of custom development tools, and these last 3 months I have been fairly busy managing all this change. Taking advantage of Easter holidays, I finally found the right time to get to write about the Jazz platform.</p>
<p>But before proceeding, a disclaimer. What I am going to write about Jazz is just a personal opinion,  may or may not be wise, may or may not have something to do with reality, but I want to make clear that this is an entirely personal opinion, and do not mean any endorsement from my current employer.</p>
<h4>The Eclipse vision</h4>
<p>To describe the Jazz platform, I think we should go back to the past, because in my opinion, Jazz is trying to evolve the vision/mission/wildest dream that <a href="http://www.nackman.com/lee-s-resume">Lee Nackman</a> had in 1998: to create a single technology platform on which to build the various IBM&#8217;s application development tools. The objectives Lee had at that time were:</p>
<ol>
<li>to solve one of the most customer complaints: instead of having tools with their own &#8220;personality&#8221;, customers demanded a common look and feel;</li>
<li>to be able to integrate different tools, especially from IBM, but also from external <acronym title="Independent Software Vendor">ISV</acronym> in order to complement IBM&#8217;s product line;</li>
<li>all reducing the development costs, as at that time each IBM tooling group used its own specific platform.</li>
</ol>
<p>With the help from the autonomous <a href="http://en.wikipedia.org/wiki/Object_Technology_International">OTI</a> subsidiary (acquired by IBM in 1996), and overcoming an enormous amount of skepticism within IBM, Lee and his team delivered a technology platform that became what today is known as the <a href="http://www.eclipse.org/platform/">Eclipse platform</a>. Looking at the success of this platform, especially in terms of IBM adoption across the different brands and tools, it seems that the main objectives were reached. Not to mention also that open sourcing the platform and several projects (as the <a href="http://www.eclipse.org/jdt/">JDT</a>), they killed lots of competitors, <a href="http://www.infoworld.com/d/developer-world/shrinking-java-tools-market-855">shrinking the Java tools market</a>, and created a great ecosystem around it.</p>
<h4>The Eclipse vision revisited</h4>
<p>But the knowledge and tool set that IBM acquired when they bought <a href="http://en.wikipedia.org/wiki/Rational_Software">Rational Software</a> in 2002, mixed with a retrospective analysis they did based on the experience they gained in the Eclipse development, helped them to figure out which were the new challenges for the software delivery process. I&#8217;ll try to summarize, <acronym title="in My Humble Opinion">IMHO</acronym>, some of the improvements they realize:</p>
<ul>
<li>When IBM built Eclipse, their focus was on the developer productivity. But the software development process usually involves some more skills, specialists, roles, levels, &#8230; and they need to work together, they need to share information, and when all members of the team work in a <a href="http://en.wikipedia.org/wiki/Virtual_team">geographically dispersed</a> manner, the conflicts inevitably appears. So there is a need to involve all the team in all the phases of the software lifecycle regardless of their location and role, and instead of improving the productivity of the developer, we need tools to improve the productivity of the entire team, and directly or indirectly, the productivity of the whole organization.</li>
<li>When talking about covering the overall development cycle, we usually find that we need several tools, and sometimes these tools are outside of the scope of Eclipse. And we also find that there are lots of barriers to share resources between these heterogeneous tools, as they use private vocabularies, formats and stores. So the integration between these external tools are usually built on bridges, and lots of times, highly cobbled (so they require updates with every interface change). There is a need to raise the level of integration. We need to be able to integrate and share cross-repository information using open interfaces and a loosely coupled approach.</li>
<li>When thinking about non coding activities, we realize that not each role or tool needs a heavy desktop client. There are some situations where a web <acronym title="User Interface">UI</acronym> (or another type of client) is more suitable. Despite some incubators (<a href="http://wiki.eclipse.org/E4/Bespin">e4 Bespin</a> or <a href="http://www.alphaworks.ibm.com/tech/eclifox">Eclifox</a>), Eclipse nowadays only supports its desktop client. It&#8217;s true that using <a href="http://www.eclipse.org/equinox/">Equinox</a> and its underlying <a href="http://en.wikipedia.org/wiki/OSGi">OSGi</a> services, you can deploy Eclipse plugins into the server-side, but there isn&#8217;t any &#8220;standard&#8221; way to share user interfaces or a framework for the web UI. Which will be the problem? the same Lee discovered in 1998: tools with their own &#8220;personality&#8221;, tools without a common behavior.</li>
<li>Process, process and process. How much we love them and how much we hate them also? Why is so hard to try to follow a process? Why the only Eclipse tools available (<a href="http://www-01.ibm.com/software/awdtools/rmc/">RMC</a> or <a href="http://www.eclipse.org/epf/">EPF</a>) only try to author and then publish a static document? Why tools doesn&#8217;t live the process?</li>
<li>Creating a new Eclipse environment with all of the required plugins, configuring the project, setting-up the build process and all the other little pieces that come into play to give code life could be a mess for a new team member. This kind of manual tasks are tedious and error-prone, and they are perceived by developers as a waste time. So it is not strange that tools like <a href="http://maven.apache.org/index.html">Maven</a> had a great adoption.</li>
</ul>
<p>So in my opinion, and as I told previously, the Jazz platform is the evolution of the original Eclipse vision, keeping in mind the above and some more other concerns, with an special focus on teams and collaboration. But its aim is not to replace Eclipse, they are distinct platforms with different goals, although Jazz seems to be the perfect complement to Eclipse. This new vision is well summarized at the <a href="https://jazz.net/learn/about-jazz-objectives.jsp">About Jazz</a> page:</p>
<blockquote><p>
Our goal is to provide a frictionless work environment that helps teams collaborate, innovate, and create great software. To that end, <strong>we are focusing on driving fundamental improvements in team collaboration, automation, and reporting across the software lifecycle</strong>.
</p></blockquote>
<h4>The Jazz Platform</h4>
<p>When trying to describe what compose the Jazz platform, albeit IBM have split the original Jazz project in several projects at the <a href="https://jazz.net/">jazz.net</a> site, I still have some problems trying to draw the line between the platform and the applications, to see which components are part of the Jazz platform and which are part of the different products based on it. So I will try to use the below picture, that I have borrowed from the IBM Rational guys, in order to clarify my ideas:</p>
<p><center><img src="http://www.rodenas.org/blog/wp-content/files/2009/04/jazz-platform.jpg" alt="The Jazz platform" title="The Jazz platform" width="600" height="351" class="aligncenter size-full wp-image-691" /></center></p>
<p>To enable a seamless and higher level of integration between tools, IBM has defined a reference architecture, <acronym title="Application Programming Interface">API</acronym> specifications, and a set of common services and tool building blocks, that together are called the <a href="https://jazz.net/development/DevelopmentItem.jsp?href=content/project/plans/jia-overview/index.html">Jazz Integration Architecture</a> (JIA). At the center of this integration architecture we found the Jazz Team Server (that may consist of one or more physical servers that act together as a single logical server), which provides foundational services (<a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">RESTful web services</a>) to enable groups of tools to work together. Let&#8217;s summarize each of these foundational services:</p>
<ul>
<li><b>Presentation</b>: in a multi-tool integration scenario we usually found lots of linked resources that may not be familiar to a particular client tool or this tool may not be able to provide a user interface for theses resources. The services provided by the presentation foundational services enables a client tool to find and invoke a suitable user interface for any resource URL in order to present the relevant data. There are also two main components (I believe, but I am not sure, they belong to the presentation services) that allow tools developers to implement specific user interfaces: the web dashboards component, that provides the infrastructure and UI for creating and presenting dashboards in a web browser, and the web UI component, that provides a framework for rich web user interfaces (based on the <a href="http://www.dojotoolkit.org/">Dojo toolkit</a>).</li>
<li><b>Process enactment</b>: these are the services that allows to define and implement a wide range of processes. It is focused on agile processes, but it can also be used in highly-structured processes, as it provides the essential components of a development work flow, such as operations, roles, permissions, preconditions or follow-up actions. By default, it is packaged with several process, as <a href="http://en.wikipedia.org/wiki/Scrum_(development)">Scrum</a>, <a href="http://en.wikipedia.org/wiki/OpenUP">OpenUp</a> or the <a href="http://www.eclipsecon.org/2005/presentations/econ2005-eclipse-way.pdf">Eclipse Way</a> (PDF), and it has an editor to be able to modify the process configuration. Each time you create a project you must assign a process, but you can have several projects and each project can follow a different process. It governs all activities, artifacts, artifact relationships, and operations that are pursued within the context of the process area, and it works in a seamless and unobtrusive way, as it manifests itself through artifacts types, operations manipulating the artifacts, and artifact change events.</li>
<li><b>Administration, users, projects, teams</b>: For dealing with users, projects, security, and licenses, each server hosts a set of core administration services. For example, these services can provide a common user identity in order to support authentication (establishes user identity) and authorization (a particular operation can be performed) based on the team membership or role in a project.</li>
<li><b>Collaboration</b>: Collaboration between the team members of a project can be performed in real-time, but also asynchronously (especially important for teams working across time zones). It also occurs at different contexts: around tools, process, tasks or data elements. The collaboration services in the Jazz platform supports and enables some of these core functions, for example, instant messaging, sending email and SMS, maintaining subscriptions, etc. It is something like a mix of the Eclipse <a href="http://www.eclipse.org/ecf/">ECF</a> and <a href="http://www.eclipse.org/corona/">Corona</a> projects (and I wonder why they did not use these projects).</li>
<li><b>Storage, data warehouse and search</b>: You may have noticed that I have deliberately grouped 3 core foundation services in only one. The reason is  because the Jazz repository model is composed by three logical DB in one, working together in order to provide the above 3 services. I am going to use another &#8220;stolen&#8221; picture to describe it:<br />
<br /><center><img src="http://www.rodenas.org/blog/wp-content/files/2009/04/jazz-repository.jpg" alt="Jazz Platform Repository" title="Jazz Platform Repository" width="500" height="199" class="aligncenter size-full wp-image-833" /></center></p>
<ul>
<li>Instead of having a fixed schema (that make integration hard) or a very generic schema (that makes writing tools tough), the Jazz repository allows tools to store their data their way. So content resources are created in a particular representation by the client, and can only be retrieved in that representation. The server doesn&#8217;t know enough about the content to transform it into an alternate representation. The storage services provides a completely RESTful framework for <acronym title="Create, Read, Update and Delete">CRUD</acronym> operations on resources stored in the Jazz private DB.</li>
<li>For every resource stored in the private DB, there are a set of “indexed properties” that are stored automatically in another DB using <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">RDF</a>. The indexing process is able to extract <a href="http://www.robertprice.co.uk/robblog/archive/2004/10/What_Is_An_RDF_Triple_.shtml">RDF triples</a> from some resource representations and able to extract text streams from some resource representations as well. This process extracts asynchronously each tool&#8217;s data into searchable indexes, consolidates them, and provides centralized query services for searching across the consolidated index. In this way, the search foundation services are able to provide common queries, both structured queries (based on <a href="http://en.wikipedia.org/wiki/SPARQL">SPARQL</a>) and full text search (based on <a href="http://lucene.apache.org/">Apache Lucene</a>).</li>
<li>And finally, we find the data warehouse DB, a periodically snapshot of all the information, used for public reporting. The data warehouse services relies on the Eclipse <a href="http://www.eclipse.org/birt/phoenix/">BIRT</a> project for its reporting system.</li>
</ul>
</li>
</ul>
<p>Anyway, the Jazz platform is still in its early stages, and it is constantly evolving to meet additional challenges. What I have summarized previously is what it is know as the Jazz Platform 0.6, but a new version is expected to be delivered on June with a new name, the <a href="https://jazz.net/development/DevelopmentItem.jsp?href=content/project/plans/jf-plan-1.0.html">Jazz Foundation</a>. So if you are interested in more deep details about the above or new services that are going to be delivered, I recommend that you go through the development team <a href="https://jazz.net/wiki/bin/view">wiki</a> (registration required).</p>
<h4>The killer-application</h4>
<p>There is also an interesting parallelism between how Eclipse and Jazz has been developed. In order to convince other IBM&#8217;s development tools product managers to adopt the Eclipse platform, Lee and his team decided to build a Java IDE. There were two reasons behind that decision: 1) to provide a real example (a killer-application) of a tool developed on the platform, proving in that way its benefits; 2) to help the Eclipse development team to better understand the needs of future consumers of the platform and to discover areas that required further development. This strategy was a success and the Eclipse platform and the Java IDE were quickly adopted inside IBM.</p>
<p>The Jazz project seems to use the same kind of strategy. They are developing a real tool using the Jazz platform. This killer-application is called <a href="http://www-01.ibm.com/software/awdtools/rtc/">Rational Team Concert</a> and as far as I know it is also rapidly adopted inside IBM. I hope to write about this product in the near future.</p>
<h4>Adoption</h4>
<p>Looking at the <a href="https://jazz.net/">jazz.net</a> site the increasing number of IBM tools that are adopting the Jazz platform, I have no doubt that it will be another success in terms of IBM adoption. But &#8230;</p>
<ul>
<li>Will it be a success outside IBM as was the Eclipse platform? IBM has not contributed the Jazz platform to the open source world (in terms of a <a href="http://en.wikipedia.org/wiki/Free_software_license">free software license</a>), and nor it is licensing it in any way (as far as I know). The only way to get this platform is licensing some of the Jazz based products. I am sure they are going to attract some more new customers looking for a complete lifecycle solution, but I believe it will not be a great success as Eclipse was. Anyway, I think the current goal for the Jazz platform is different from the Eclipse platform goal.</li>
<li>Are ISVs going to adopt this platform for their own products? There are the usual <a href="https://jazz.net/community/ensemble/index.jsp">business partners</a> that are complementing/extending the IBM&#8217;s Jazz based products with some new features, but it does not seem that they are going to adopt the Jazz platform for their own products. And it does not seem that IBM is trying to convince them to adopt the platform, as they did with Eclipse, or licensing it on an <acronym title="Original Equipment Manufacturer">OEMs</acronym> basis.</li>
<li>Will this platform attract external developers? IBM is not encouraging them to contribute in terms of code (the rights of what you contribute are transfered to IBM). They are only encouraging people to influence the direction of products through direct, early, and continuous conversations at the <a href="https://jazz.net/">jazz.net</a> website. So it will be very strange to see any non-customer developer.</li>
</ul>
<p>So in terms of external adoption/extension, it seems that IBM is focusing only in the interface as a way to integrate non-IBM tools, encouraging developers, customers and ISVs to participate in the development of the <a href="https://jazz.net/open-services/">Open Services for Lifecycle Collaboration</a> initiative, something like an open standards consortium.</p>
<h4>Conclusion</h4>
<p>Starting looking at the original Eclipse vision and how IBM revisited it after the Rational Software acquisition and the Eclipse success, I have attempted in this post to describe what it is the Jazz platform. I am sure some of you have realized that some of the improvements that I have described previously can be easily or are already implemented through Eclipse plugins, but I think these are the minor ones. There are three main conceptual differences between Eclipse and Jazz:</p>
<ul>
<li>a server centric approach instead of a local workbench in order to leverage the team concept;</li>
<li>a persistent storage using a federated cross-linked repository to store resources;</li>
<li>a seamless integration between tools using standard loosely coupled open interfaces and web protocols.</li>
</ul>
<p>And in my opinion, these conceptual differences can only be implemented through the creation of a new platform. Instead of solving some particular problems in an isolated way, Jazz is trying to attack the essence of the software development process. Does it means that we must convert to a new religion, drop the Eclipse platform and adopt the Jazz platform? No, Jazz is not going to replace Eclipse. There will be a strong relationship between the Jazz and Eclipse environments, yet the<br />
two are distinct and can run independently. Jazz is going to complement Eclipse in some particular scenarios:</p>
<blockquote><p>
Eclipse for Individuals, Jazz for Teams
</p></blockquote>
<p>We have also seen that IBM&#8217;s decision is not to open source this new platform, but to create a community around the <a href="https://jazz.net/">jazz.net</a> and <a href="http://open-services.net/">OSLC</a> websites. However, it will need to attract a broad and active participation from a wide external community in order to be a great success outside IBM, as it was Eclipse, something that I believe it is not a current IBM goal.</p>
<p>What will happen in the future? Sincerely, I don&#8217;t know, time will decide. From my particular point of view, this new vision match up what we have been doing for a long time and that has lead us to extend the Eclipse platform in order to create a <a href="http://wiki.eclipse.org/EclipseBankingDayLondon/SessionAbstracts#Repository_Based_Application_Development_Environment_for_Banking_Systems">custom collaborative tool set</a>. So, as we are already an IBM Rational customer and we have licensed some of the Jazz products, I will be very happy if we can integrate, in an easy way, our custom tools with the IBM Rational tool set.</p>
<h4>If you reached this point, please, participate in the conversation <img src="https://s.w.org/images/core/emoji/11/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></h4>
<p>Before concluding this long post, I would like to ask you:</p>
<ul>
<li>To the IBM/Rational guys: As I assume that I could make mistakes (history, goals, &#8230;) , if you want to add or point out something wrong, please write me, better as a comment in this post although I will also accept private emails, and I will correct it.</li>
<li>To the non IBM/Rational guys:
<ul>
<li>How much of you have heard about Jazz? How much of you have experimented with it? Which is your (technological) opinion?</li>
<li>Must IBM open source the Jazz platform? Do you think it will be interesting and wide adopted? Why?</li>
</ul>
</li>
</ul>
<h4>Additional information</h4>
<p><small>PS: One of the latest tasks Lee Nackman did before his retirement at IBM, was to help spur the development of the Jazz platform.</small></p>
<p><small>PS: Most of the people actually involved in the development of the Jazz project were part of the Eclipse platform development team, so it is not strange to see that they are applying the same strategy, but also adopting the best practices they learned during the Eclipse development process.</small></p>
<p><small>PS: There is an excellent case study on IBM’s strategy and process for creating Eclipse at the <a href="http://harvardbusinessonline.hbsp.harvard.edu/b02/en/common/item_detail.jhtml?id=906007">Harvard Business School</a>. It&#8217;s a worth read.</small></p>
<p><small>PS: Another interesting read is a paper on <a href="http://www.booch.com/architecture/blog/artifacts/CDE.pdf">Collaborative Development Environments</a> (PDF) by <a href="http://en.wikipedia.org/wiki/Grady_Booch">Grady Booch</a> and <a href="http://www.alanbrown.net/">Alan W. Brown</a>, which seems to be the &#8220;spark&#8221; that started the new vision.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2009/04/20/from-the-eclipse-platform-to-the-ibm-rational-jazz-platform/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">571</post-id>	</item>
		<item>
		<title>Eclipse Banking Day Recap</title>
		<link>http://www.rodenas.org/blog/2009/02/19/eclipse-banking-day-recap/</link>
		<comments>http://www.rodenas.org/blog/2009/02/19/eclipse-banking-day-recap/#respond</comments>
		<pubDate>Thu, 19 Feb 2009 01:47:53 +0000</pubDate>
		<dc:creator><![CDATA[ferdy]]></dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Banking]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[London]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=625</guid>
		<description><![CDATA[TweetAs I mentioned in a previous post, last week I attended to the Eclipse Banking Day in London. It was an enriching experience for me, not only in terms of speaking in a foreign language in front of large crowd but also seeing what other financial institutions are doing with Eclipse. I also met great [&#8230;]]]></description>
				<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2009/02/19/eclipse-banking-day-recap/&via=ferdy&text=Eclipse Banking Day Recap&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 mentioned in a previous post, last week I attended to the <a href="http://wiki.eclipse.org/EclipseBankingDayLondon">Eclipse Banking Day in London</a>. It was an enriching experience for me, not only in terms of speaking in a foreign language in front of large crowd but also seeing what other financial institutions are doing with <a href="http://www.eclipse.org/">Eclipse</a>. I also met great people, during and after the event, so, who could ask for more? It was a really great event!</p>
<p>Most of the presentations are now available on the <a href="http://wiki.eclipse.org/EclipseBankingDayLondon#Agenda">event wiki page</a>. I encourage you to take a look to some of them. Anyway, here there are some few personal thoughts about the presentations:</p>
<ul>
<li>Mike Milinkovich shared with us the Eclipse Foundation vision towards collaborative software development of tomorrow. He explained that in 3 years banks will collaborate on a common platform, where Eclipse could play a key role, and therefore banks will be able to focus all of their possible energies on what really provides them a competitive differentiation. I really wish it happens, but even though we have started seeing some proposals/incubators projects, like <a href="http://www.eclipse.org/proposals/financial-platform/">Financial Platform</a> or <a href="http://www.eclipse.org/ofmp/">Open Financial Market Platform</a>, I believe we will spend a few more years before it becomes mainstream. Hopefully I&#8217;m wrong!</li>
<li>It was also great to share a picture slide with Mike. The <a href="http://blogs.the451group.com/opensource/2008/12/04/the-five-stages-of-community-open-source-engagement/">maturity model for OSS adoption</a> is a great indicator of OSS engagement, not just for ISV&#8217;s but also for enterprises.</li>
<li>Mike also introduced e4, the next generation of Eclipse, and its 3 key architecturals goals: Eclipse platform as services, modeled and declarative UI, and SWT for the web. Related to the last one, have you ever wondered how the Eclipse IDE could look like if it was a browser-based? well, then take a look at <a href="http://borisoneclipse.blogspot.com/2009/02/eclipse-in-cloud.html">this post</a>. Sounds interesting, isn&#8217;t it?</li>
<li><a href="http://neilbartlett.name/blog">Neil Bartlett</a> did a great talk about <a href="http://en.wikipedia.org/wiki/OSGi">OSGI</a>. I liked the <a href="http://www.redmonk.com/jgovernor/2008/02/05/osgi-and-the-rise-of-the-stackless-stack-just-in-time/">Stackless Stack</a> reference.</li>
<li>Damm, I missed Tas Frangoullides&#8217;s presentation about MDD and SOA at Barclays. For what I have seen on the slides, it sounds like a really interesting initiative.</li>
<li>Miles Daffin, from Morgan Stanley, talked about provisioning in a large environment and some really strong installation policies. This is a great topic, because most of the big enterprises share the same requirements from the IT security guys, albeit we usually don&#8217;t discuss them in public: no downloads from Internet, no unapproved software installations, &#8230; So Miles&#8217;s talk about how they solved these requirements was really worth. And I totally agree him regarding provisioning: &#8220;Eclipse is not designed with enterprise users in mind&#8221;. So &#8230; lots of work for the P2 folks!</li>
<li>Jeremy Nelson explained J.P. Morgan&#8217;s OneBench platform for trading applications based on Eclipse RCP. It was really great, but &#8230; wish he had included some pictures about the platfom.</li>
<li><a href="http://blog.efftinge.de/">Sven Efftinge</a>&#8216;s presentation was about <a href="http://en.wikipedia.org/wiki/Domain-specific_language">DSL</a> frameworks and tools. He introduced the Eclipse modelling stack and he showed a real external DSL implementation using <a href="http://www.eclipse.org/modeling/tmf/?project=xtext">TMF Xtext</a> and <a href="http://www.eclipse.org/modeling/gmf/">GMF</a>. There are few DSL real examples that becomes public, so it is always a pleasure when someone explains one of them in a event. These guys from <a href="http://www.itemis.com/">itemis</a> are doing an incredible job.</li>
<li>And the last one, Ferran Rodenas talked about la Caixa&#8217;s software factory approach using Domain Specific Modeling Languages. His talk was &#8230; well, we could summarize it as he did what he could! <img src="https://s.w.org/images/core/emoji/11/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>
<p>And that&#8217;s all folks. Any other attendees would like to share their thoughts?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2009/02/19/eclipse-banking-day-recap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">625</post-id>	</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/#respond</comments>
		<pubDate>Sun, 18 Jan 2009 00:12:15 +0000</pubDate>
		<dc:creator><![CDATA[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[TweetAs 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 [&#8230;]]]></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><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>
	<post-id xmlns="com-wordpress:feed-additions:1">576</post-id>	</item>
		<item>
		<title>Eclipse Banking Day in London</title>
		<link>http://www.rodenas.org/blog/2008/12/22/eclipse-banking-day-in-london/</link>
		<comments>http://www.rodenas.org/blog/2008/12/22/eclipse-banking-day-in-london/#respond</comments>
		<pubDate>Mon, 22 Dec 2008 18:29:05 +0000</pubDate>
		<dc:creator><![CDATA[ferdy]]></dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Banking]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[London]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=536</guid>
		<description><![CDATA[TweetAfter the success of the Eclipse Banking Days in Frankfurt and New York, the Eclipse Foundation hast just announced the Eclipse Banking Day in London on February 12, 2009. Eclipse Banking Day is a day-long event for senior technical developers, architects and managers in the finance industry to learn how to better leverage Eclipse technology [&#8230;]]]></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/22/eclipse-banking-day-in-london/&via=ferdy&text=Eclipse Banking Day in London&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>After the success of the Eclipse Banking Days in <a href="http://www.eclipse-banking.org/">Frankfurt</a> and <a href="http://wiki.eclipse.org/EclipseBankingDayNYC">New York</a>, the <a href="http://www.eclipse.org/org/foundation/">Eclipse Foundation</a> hast just <a href="http://www.eclipse.org/org/press-release/20081222_bankingdaylondon.php">announced</a> the <a href="http://wiki.eclipse.org/EclipseBankingDayLondon">Eclipse Banking Day in London</a> on February 12, 2009.</p>
<blockquote>
<p>Eclipse Banking Day is a day-long event for senior technical developers, architects and managers in the finance industry to learn how to better leverage Eclipse technology and the Eclipse community as part of their development strategy. The event will focus on three themes:</p>
<ol>
<li>Eclipse as a platform for application development;</li>
<li>Leveraging Eclipse modeling technology for data exchange; and</li>
<li>Collaborating with the open source community.</li>
</ol>
<p>Attendees will have the chance to hear speakers from leading financial institutions and experts from the Eclipse community.</p>
</blockquote>
<p>It is not a secret that Eclipse is being used by some of the major banks and financial institutions around the world. Well, as it could not be less, we are also using Eclipse, both as a tools integration platform and as a branch teller workplace. Some days ago, <a href="http://ianskerrett.wordpress.com/">Ian Skerrett</a> (Eclipse Marketing Director) asked me if we would be interested in sharing our experience with other banks. So &#8230; we decided to accept the invitation and I&#8217;m going to present at the Eclipse Banking Day in London how we are using Eclipse at &#8220;<a href="http://www.lacaixa.com">la Caixa</a>&#8220;. Despite the below pompous abstract, I think it will be an interesting presentation.</p>
<blockquote>
<p><b>Repository Based Application Development Environment for Banking Systems</b></p>
<p>&#8220;la Caixa&#8221; is currently the leading savings bank in Spain and the third largest financial entity in the country. With a large network of more than 5.500 offices, more than 8.100 automatic cashpoint machines, a staff of more than 26.000 employees and more than 10,5 million clients, ”la Caixa” has positioned itself as a leading entity and referent within the Spanish financial sector.</p>
<p>In this talk, we will explain how &#8220;la Caixa&#8221; is using Eclipse to create a repository-based application development environment that successfully empowers its +1000 developers to create first-class custom enterprise banking applications in a fast-changing market. We will take a brief tour of &#8220;la Caixa&#8221;&#8216;s enterprise architecture and we will take an inside look at some custom Eclipse plugins built at &#8220;la Caixa&#8221;. We will describe how using a collaborative environment, visual designers and code generators “la Caixa” allows its developers to create rapidly all the software components, from web UI to IMS-PLI-DB2 transactions, but also archiving software reuse across the whole organization and enforcing governance in an unobtrusive way.</p>
<p>This presentation will also explain briefly how &#8220;la Caixa&#8221;&#8216;s 24.000 tellers are using Eclipse as a branch teller workplace. We will describe &#8220;la Caixa&#8221; bank teller evolution, and how using Eclipse it is possible to integrate in a common workplace from a custom legacy UI render to a modern web UI.</p>
</blockquote>
<p>If you are interested in attending, you need to <a href="http://wiki.eclipse.org/EclipseBankingDayLondon#Attendee_Registration">pre-register</a> (early, space is limited!). There is no cost to register but you must work for the financial services industry.</p>
<p>Hope to see and meet great Eclipse enthusiasts there! I will try to share my thoughts on the conference after the event.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2008/12/22/eclipse-banking-day-in-london/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">536</post-id>	</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><![CDATA[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[TweetRecently, 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 [&#8230;]]]></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><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="https://s.w.org/images/core/emoji/11/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></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>7</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">494</post-id>	</item>
		<item>
		<title>Explicit Design</title>
		<link>http://www.rodenas.org/blog/2008/11/27/explicit-design/</link>
		<comments>http://www.rodenas.org/blog/2008/11/27/explicit-design/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 22:45:59 +0000</pubDate>
		<dc:creator><![CDATA[ferdy]]></dc:creator>
				<category><![CDATA[Case]]></category>
		<category><![CDATA[MDD]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Explicit Design]]></category>

		<guid isPermaLink="false">http://www.rodenas.org/blog/?p=488</guid>
		<description><![CDATA[TweetSteve Cook: Cameron has been blogging about new features in our product.. In a recent post he used the term Explicit Design. I&#8217;ve been reflecting on this, and I like it. In software development we really do need to capture design data that is not just the code, but should be saved and versioned just [&#8230;]]]></description>
				<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.rodenas.org/blog/2008/11/27/explicit-design/&via=ferdy&text=Explicit Design&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><a href="http://blogs.msdn.com/stevecook/archive/2008/11/27/explicit-design.aspx">Steve Cook</a>:</p>
<blockquote><p>
<a href="http://blogs.msdn.com/camerons/">Cameron</a> has been blogging about new features in our product.. In <a href="http://blogs.msdn.com/camerons/archive/2008/11/10/testing-draft-to-blog.aspx">a recent post</a> he used the term Explicit Design.  I&#8217;ve been reflecting on this, and I like it. In software development we really do need to capture design data that is not just the code, but should be saved and versioned just like the code.  What do we call it?  We could call it &#8220;models&#8221; but &#8220;model&#8221; and &#8220;model driven development&#8221; are subject to so much historical baggage and methodology and <a href="http://blogs.msdn.com/keith_short/archive/2008/11/18/comments-on-communication-between-doug-purdy-and-lars-corneliussen.aspx">terminology arguments</a>.  &#8220;Model&#8221; just seems to imply baked-in code generation and round tripping, when there is so much more that you can do with it: planning, verifying, testing, refactoring. We need new vocabulary that represents our ability to capture versioned design data at a more abstract level than the code without simultaneously implying the history of CASE.
</p></blockquote>
<p>I have to agree: changing the name doesn&#8217;t solve the root of the problem, but perhaps we start thinking in a different way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rodenas.org/blog/2008/11/27/explicit-design/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">488</post-id>	</item>
	</channel>
</rss>
