<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	>
<channel>
	<title>Comments on: System i evolution: The missing link is still missing (Part 2)</title>
	<atom:link href="http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/</link>
	<description>Words of wisdom and insight from the IBM i / System i / iSeries / AS400 community</description>
	<pubDate>Tue, 06 Jan 2009 22:44:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Pete Helgren</title>
		<link>http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/comment-page-1/#comment-7224</link>
		<dc:creator>Pete Helgren</dc:creator>
		<pubDate>Thu, 27 Sep 2007 15:30:26 +0000</pubDate>
		<guid isPermaLink="false">http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/#comment-7224</guid>
		<description>"Nevertheless if we brought the same people together today and tried to pick one or the other technical tracks, I think we wouldn’t be able to agree, and that’s a reflection of IT organizations generally."

I am not sure I agree with this.  Were we restarting today, the availability of less expensive hardware in the System i arena and the need for IBM to find, and perhaps fund, a software solution on i, would lead me to conclude that a "pure" ILE RPG solution could make sense.  Certainly the past four years of experience would lead me that direction as well.

The cross platform approach was decided before Nathan was hired and was based on several factors that were debated at length. Had Nathan been part of the mix early on, we may have arrived at a different conclusion and a different strategy.  Hard to say at this juncture.

That doesn't mean that I think a cross-platform approach isn't valid.  It is just that in this case, and because of what we were trying to accomplish, an ILE RPG approach would have been less risky overall and (hindsight is 20/20) a faster way to get where we wanted to be.  It might have limited future sales but the lower hardware costs on i today would have ameliorated that.  Most importantly, the existing customers on i would have gotten their new code quicker.

I'd definitely do things differently.  The tools are better than they were when we reviewed options in 2001 and the System i a very different animal. The mistake would be to do this the *same* all over again.  That ain't gonna happen.</description>
		<content:encoded><![CDATA[<div class="KonaBody">
<!-- google_ad_section_start --><br />
<!--Amazon_CLS_IM_START--><br />
&#8220;Nevertheless if we brought the same people together today and tried to pick one or the other technical tracks, I think we wouldn’t be able to agree, and that’s a reflection of IT organizations generally.&#8221;
<p>I am not sure I agree with this.  Were we restarting today, the availability of less expensive hardware in the System i arena and the need for IBM to find, and perhaps fund, a software solution on i, would lead me to conclude that a &#8220;pure&#8221; ILE RPG solution could make sense.  Certainly the past four years of experience would lead me that direction as well.</p>
<p>The cross platform approach was decided before Nathan was hired and was based on several factors that were debated at length. Had Nathan been part of the mix early on, we may have arrived at a different conclusion and a different strategy.  Hard to say at this juncture.</p>
<p>That doesn&#8217;t mean that I think a cross-platform approach isn&#8217;t valid.  It is just that in this case, and because of what we were trying to accomplish, an ILE RPG approach would have been less risky overall and (hindsight is 20/20) a faster way to get where we wanted to be.  It might have limited future sales but the lower hardware costs on i today would have ameliorated that.  Most importantly, the existing customers on i would have gotten their new code quicker.</p>
<p>I&#8217;d definitely do things differently.  The tools are better than they were when we reviewed options in 2001 and the System i a very different animal. The mistake would be to do this the *same* all over again.  That ain&#8217;t gonna happen.<!--Amazon_CLS_IM_END--><br />
<!-- google_ad_section_end -->
</p></div>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathan Andelin</title>
		<link>http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/comment-page-1/#comment-7223</link>
		<dc:creator>Nathan Andelin</dc:creator>
		<pubDate>Thu, 27 Sep 2007 13:56:41 +0000</pubDate>
		<guid isPermaLink="false">http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/#comment-7223</guid>
		<description>There were pros and cons to the "two pronged approach", but I agree with Pete that the cons outweighed the pros, and eventually led to the implosion of the company, and a lamentable loss to the customers who funded it.  Nevertheless if we brought the same people together today and tried to pick one or the other technical tracks, I think we wouldn't be able to agree, and that's a reflection of IT organizations generally.  There are a lot of competing alternatives in IT, and most IT organizations struggle with disparate technologies.  Furthermore the two pronged approach served the interests of a couple key people in the company.  If you're interest is control over a company that begins on a level playing field, one technique is use the competing interests under the pretense of the role of mediator, which over time puts you in a position to negotiate concessions from one camp or the other through a position of power.  Then foment the use of an offshore development group in India which adds to your control - something of a "divide-and-conquer" while appearing to mediate style of management.

On the pro side, we did more than due diligence in proving both J2EE and ILE development options and gained a lot of knowledge from it.  Indeed we spent nearly 5 years testing and proving both.  Unfortunately most of that knowledge appears to be lost as the principals were forced pursue different paths as of late.

On the con side, it established an on-going conflict of interest between the J2EE camp and the ILE camp specifically, and other camps generally.  Detailed designs about our respective architectures under a different setting might have been protected as trade secrets, but in a single-company setting forced to share with the competition, so to speak.

The ILE team had a jump-start with my Web development framework, while the J2EE team struggled with alternatives, so the J2EE team was playing catch-up from day one and spending a lot of extra time reinventing the wheel, as they say.  One of the big problems for the J2EE team was that their program models were patterned after the ILE models (a management decision) so the screens were quite similar, but the performance between the two was about 10 to 1 in ILE's favor - which the customers noticed, and they also didn't like the extra work to set up and maintain the J2EE runtime environment (Tomcat or Websphere).

Notwithstanding the success of the ILE prototypes and  applications, three Vice Presidents who all favored the J2EE track felt they needed to ride herd over me which was overly constraining.

There was a lot of time spent on politics and positioning that could have been spent on development.

As resources for funding new development became constrained over time there appeared to be less communication and cooperation between the development teams and key people appeared to become more distanced and self-serving.

Finally the company imploded and splintered, leaving most of the original principals pursuing separate paths, while a few key people try to rebuild from what's left.</description>
		<content:encoded><![CDATA[<div class="KonaBody">
<!-- google_ad_section_start --><br />
<!--Amazon_CLS_IM_START--><br />
There were pros and cons to the &#8220;two pronged approach&#8221;, but I agree with Pete that the cons outweighed the pros, and eventually led to the implosion of the company, and a lamentable loss to the customers who funded it.  Nevertheless if we brought the same people together today and tried to pick one or the other technical tracks, I think we wouldn&#8217;t be able to agree, and that&#8217;s a reflection of IT organizations generally.  There are a lot of competing alternatives in IT, and most IT organizations struggle with disparate technologies.  Furthermore the two pronged approach served the interests of a couple key people in the company.  If you&#8217;re interest is control over a company that begins on a level playing field, one technique is use the competing interests under the pretense of the role of mediator, which over time puts you in a position to negotiate concessions from one camp or the other through a position of power.  Then foment the use of an offshore development group in India which adds to your control - something of a &#8220;divide-and-conquer&#8221; while appearing to mediate style of management.
<p>On the pro side, we did more than due diligence in proving both J2EE and ILE development options and gained a lot of knowledge from it.  Indeed we spent nearly 5 years testing and proving both.  Unfortunately most of that knowledge appears to be lost as the principals were forced pursue different paths as of late.</p>
<p>On the con side, it established an on-going conflict of interest between the J2EE camp and the ILE camp specifically, and other camps generally.  Detailed designs about our respective architectures under a different setting might have been protected as trade secrets, but in a single-company setting forced to share with the competition, so to speak.</p>
<p>The ILE team had a jump-start with my Web development framework, while the J2EE team struggled with alternatives, so the J2EE team was playing catch-up from day one and spending a lot of extra time reinventing the wheel, as they say.  One of the big problems for the J2EE team was that their program models were patterned after the ILE models (a management decision) so the screens were quite similar, but the performance between the two was about 10 to 1 in ILE&#8217;s favor - which the customers noticed, and they also didn&#8217;t like the extra work to set up and maintain the J2EE runtime environment (Tomcat or Websphere).</p>
<p>Notwithstanding the success of the ILE prototypes and  applications, three Vice Presidents who all favored the J2EE track felt they needed to ride herd over me which was overly constraining.</p>
<p>There was a lot of time spent on politics and positioning that could have been spent on development.</p>
<p>As resources for funding new development became constrained over time there appeared to be less communication and cooperation between the development teams and key people appeared to become more distanced and self-serving.</p>
<p>Finally the company imploded and splintered, leaving most of the original principals pursuing separate paths, while a few key people try to rebuild from what&#8217;s left.<!--Amazon_CLS_IM_END--><br />
<!-- google_ad_section_end -->
</p></div>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pete Helgren</title>
		<link>http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/comment-page-1/#comment-7207</link>
		<dc:creator>Pete Helgren</dc:creator>
		<pubDate>Wed, 26 Sep 2007 15:39:56 +0000</pubDate>
		<guid isPermaLink="false">http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/#comment-7207</guid>
		<description>Nathan is correct.  Much *was* left out.  All of it documented in very long emails between myself and members of the management team (including Nathan).  I didn't include it because of length and personalities.  Including that information didn't really enhance the article (might have provided some 'emotional tension' though).

Something to note, however, and I think this is important: You *really* need to have a development plan and then follow it.  In this case, we started with a cross platform approach and then added an ILE, System i centric framework (a good one, IMHO, see: http://www.relational-data.com ) that was basically at cross purposes with the original stated direction of development.  This wasn't a bad thing, it just was confusing to everyone on the original development staff (and it was a reflection of what was to come, management-wise).  Had our original stated goal been to develop a System i centric solution rather than a cross-platform solution then no acrimony would have ensued.  However, the solution, which resulted in this two pronged approach, was a disaster, for all of the reasons I stated before.

Nathan's prologue is right on.  The company is a very different entity today. And, chasing the "holy framework grail", they are investigating PHP.  The problem with this approach is that the framework isn't the problem.  The management of company is.  Had company management stayed out of the control of development and the Java OR the ILE solution been adopted (not both) the company would be in a much better place today.

Another thing learned is that in developing a successful software company, technology isn't the issue, management usually is.</description>
		<content:encoded><![CDATA[<div class="KonaBody">
<!-- google_ad_section_start --><br />
<!--Amazon_CLS_IM_START--><br />
Nathan is correct.  Much *was* left out.  All of it documented in very long emails between myself and members of the management team (including Nathan).  I didn&#8217;t include it because of length and personalities.  Including that information didn&#8217;t really enhance the article (might have provided some &#8216;emotional tension&#8217; though).
<p>Something to note, however, and I think this is important: You *really* need to have a development plan and then follow it.  In this case, we started with a cross platform approach and then added an ILE, System i centric framework (a good one, IMHO, see: <a href="http://www.relational-data.com" rel="nofollow">http://www.relational-data.com</a> ) that was basically at cross purposes with the original stated direction of development.  This wasn&#8217;t a bad thing, it just was confusing to everyone on the original development staff (and it was a reflection of what was to come, management-wise).  Had our original stated goal been to develop a System i centric solution rather than a cross-platform solution then no acrimony would have ensued.  However, the solution, which resulted in this two pronged approach, was a disaster, for all of the reasons I stated before.</p>
<p>Nathan&#8217;s prologue is right on.  The company is a very different entity today. And, chasing the &#8220;holy framework grail&#8221;, they are investigating PHP.  The problem with this approach is that the framework isn&#8217;t the problem.  The management of company is.  Had company management stayed out of the control of development and the Java OR the ILE solution been adopted (not both) the company would be in a much better place today.</p>
<p>Another thing learned is that in developing a successful software company, technology isn&#8217;t the issue, management usually is.<!--Amazon_CLS_IM_END--><br />
<!-- google_ad_section_end -->
</p></div>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathan Andelin</title>
		<link>http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/comment-page-1/#comment-7198</link>
		<dc:creator>Nathan Andelin</dc:creator>
		<pubDate>Tue, 25 Sep 2007 21:57:07 +0000</pubDate>
		<guid isPermaLink="false">http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/#comment-7198</guid>
		<description>As one of the persons referenced in Pete's article and one of the original shareholders of the company reviewed herein the biggest thing that struck me was the amount of history that was left out (nor could fit in an IMHO column).

Pete's description of the "two pronged approach" underplayed the struggle between those who favored cross-platform development vs. those who favored a System i centric solution running under the native virtual machine, where Pete and I were the strongest voices in the respective opposing and competing camps.

Perhaps predictably, our customer base and the company line of credit were unable to sustain competing development tracks and we eventually splintered.  By May 2007, five of the seven members of the original management team had resigned (including Pete) and about half of the developers were laid off (including all the Java developers).

Having all the Java developers gone was ironic because the cross-platform approach was favored by the majority of management, though somewhat out of sync with the customer base.  We also had a small .Net based development team working on another product line, but it was spun-off and sold to another company.

Finally it appeared that the company was committed to shifting in whole to a System i centric approach using my ILE frameworks and tools but at the same time the majority shareholder began pressuring me to change the terms of our partnership and license agreements to be more favorable to him, which ultimately forced me to withdraw from the company too.

Today the company has substantial software assets, but most of the original developers are off doing other things, leaving a small number of people supporting the Web-based product line while the company reassesses it's development options.  The last word I heard was that they were going with PHP, while I continue along the ILE track.</description>
		<content:encoded><![CDATA[<div class="KonaBody">
<!-- google_ad_section_start --><br />
<!--Amazon_CLS_IM_START--><br />
As one of the persons referenced in Pete&#8217;s article and one of the original shareholders of the company reviewed herein the biggest thing that struck me was the amount of history that was left out (nor could fit in an IMHO column).
<p>Pete&#8217;s description of the &#8220;two pronged approach&#8221; underplayed the struggle between those who favored cross-platform development vs. those who favored a System i centric solution running under the native virtual machine, where Pete and I were the strongest voices in the respective opposing and competing camps.</p>
<p>Perhaps predictably, our customer base and the company line of credit were unable to sustain competing development tracks and we eventually splintered.  By May 2007, five of the seven members of the original management team had resigned (including Pete) and about half of the developers were laid off (including all the Java developers).</p>
<p>Having all the Java developers gone was ironic because the cross-platform approach was favored by the majority of management, though somewhat out of sync with the customer base.  We also had a small .Net based development team working on another product line, but it was spun-off and sold to another company.</p>
<p>Finally it appeared that the company was committed to shifting in whole to a System i centric approach using my ILE frameworks and tools but at the same time the majority shareholder began pressuring me to change the terms of our partnership and license agreements to be more favorable to him, which ultimately forced me to withdraw from the company too.</p>
<p>Today the company has substantial software assets, but most of the original developers are off doing other things, leaving a small number of people supporting the Web-based product line while the company reassesses it&#8217;s development options.  The last word I heard was that they were going with PHP, while I continue along the ILE track.<!--Amazon_CLS_IM_END--><br />
<!-- google_ad_section_end -->
</p></div>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg Helton</title>
		<link>http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/comment-page-1/#comment-6577</link>
		<dc:creator>Greg Helton</dc:creator>
		<pubDate>Mon, 06 Aug 2007 17:13:43 +0000</pubDate>
		<guid isPermaLink="false">http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/#comment-6577</guid>
		<description>Yes, the FDD technique gave us cohesive business logic that was uncoupled from the UI and the DB, i.e., pure pojo business components.  With that in place, we could create new business logic or refactor with little or no impact to the other layers.  Being able to refactor allowed us to refactor for reuse opportunities and thus we kept the codebase DRY.  

I like RPG but when I see the argument that RPG is as good or better language for business as Java I know the person making the argument does not know Java and OO.  Abstraction, polymorphism, encapsulation, etc are all tailor made for business logic.  Reuse of RPG components in a web application is an interesting challenge but a Java solution using Spring and Hibernate should only half as much code as an RPG solution.</description>
		<content:encoded><![CDATA[<div class="KonaBody">
<!-- google_ad_section_start --><br />
<!--Amazon_CLS_IM_START--><br />
Yes, the FDD technique gave us cohesive business logic that was uncoupled from the UI and the DB, i.e., pure pojo business components.  With that in place, we could create new business logic or refactor with little or no impact to the other layers.  Being able to refactor allowed us to refactor for reuse opportunities and thus we kept the codebase DRY.  
<p>I like RPG but when I see the argument that RPG is as good or better language for business as Java I know the person making the argument does not know Java and OO.  Abstraction, polymorphism, encapsulation, etc are all tailor made for business logic.  Reuse of RPG components in a web application is an interesting challenge but a Java solution using Spring and Hibernate should only half as much code as an RPG solution.<!--Amazon_CLS_IM_END--><br />
<!-- google_ad_section_end -->
</p></div>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pete Helgren</title>
		<link>http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/comment-page-1/#comment-6572</link>
		<dc:creator>Pete Helgren</dc:creator>
		<pubDate>Sun, 05 Aug 2007 23:18:58 +0000</pubDate>
		<guid isPermaLink="false">http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/#comment-6572</guid>
		<description>Greg,

Thanks for the comment.  I equate programmers getting enmeshed with UI design and endlessly tweaking UI with the elimination of secretarial and administrative help and having managers and staff do their own correspondence and other minutia. Sure, you are capable of doing it, but is it really an efficient use of the resource?

Agile development techniques can be helpful because it can focus you on the essential function and keep you from getting sidetracked.  In our case, the business logic was encapsulated by the RPG put the application in RPG III did not have a modular design that allowed use to leverage it.  We simply re-wrote the business logic in Java and RPG.  However, had we focused only on that, as you illustrated, we would have had a much more complete solution much earlier.</description>
		<content:encoded><![CDATA[<div class="KonaBody">
<!-- google_ad_section_start --><br />
<!--Amazon_CLS_IM_START--><br />
Greg,
<p>Thanks for the comment.  I equate programmers getting enmeshed with UI design and endlessly tweaking UI with the elimination of secretarial and administrative help and having managers and staff do their own correspondence and other minutia. Sure, you are capable of doing it, but is it really an efficient use of the resource?</p>
<p>Agile development techniques can be helpful because it can focus you on the essential function and keep you from getting sidetracked.  In our case, the business logic was encapsulated by the RPG put the application in RPG III did not have a modular design that allowed use to leverage it.  We simply re-wrote the business logic in Java and RPG.  However, had we focused only on that, as you illustrated, we would have had a much more complete solution much earlier.<!--Amazon_CLS_IM_END--><br />
<!-- google_ad_section_end -->
</p></div>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg Helton</title>
		<link>http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/comment-page-1/#comment-6570</link>
		<dc:creator>Greg Helton</dc:creator>
		<pubDate>Sun, 05 Aug 2007 18:20:19 +0000</pubDate>
		<guid isPermaLink="false">http://imho.midrange.com/2007/06/19/system-i-evolution-part-2/#comment-6570</guid>
		<description>You hit the nail on the head - "If the programmers could have focused on writing business logic and enhancing the framework, rather than designing UI, we would have been much better off".  I worked on a project that did just that.

I worked with an experienced agile architect last year and he used Peter Coad's Feature Driven Development (FDD) technique to lead the project members in focusing on the business logic.  For two months we developed business logic with minimal UI (just enough to accept input and show the results to the client) and no connection to the database. We later added persistence and more robust UI features including Ajax.

I realized later that the focus on pure business logic kept us from creating screens and tables that we would later have to modify.  In that way we avoided project churn.  The cost of churn, re-doing whats already been done, can stop a project's forward momentum completely.  We were able to do things right the first time by delaying activities until sufficient knowledge existed to do it right.

My project was new development so FDD worked well in that arena.  In your attempt to refactor an existing app leaving business logic in the RPG, I would want to proceed as though I was developing in a pure FDD model, i.e., have the client identify a few important, core features for each iteration and then work to deliver them.</description>
		<content:encoded><![CDATA[<div class="KonaBody">
<!-- google_ad_section_start --><br />
<!--Amazon_CLS_IM_START--><br />
You hit the nail on the head - &#8220;If the programmers could have focused on writing business logic and enhancing the framework, rather than designing UI, we would have been much better off&#8221;.  I worked on a project that did just that.
<p>I worked with an experienced agile architect last year and he used Peter Coad&#8217;s Feature Driven Development (FDD) technique to lead the project members in focusing on the business logic.  For two months we developed business logic with minimal UI (just enough to accept input and show the results to the client) and no connection to the database. We later added persistence and more robust UI features including Ajax.</p>
<p>I realized later that the focus on pure business logic kept us from creating screens and tables that we would later have to modify.  In that way we avoided project churn.  The cost of churn, re-doing whats already been done, can stop a project&#8217;s forward momentum completely.  We were able to do things right the first time by delaying activities until sufficient knowledge existed to do it right.</p>
<p>My project was new development so FDD worked well in that arena.  In your attempt to refactor an existing app leaving business logic in the RPG, I would want to proceed as though I was developing in a pure FDD model, i.e., have the client identify a few important, core features for each iteration and then work to deliver them.<!--Amazon_CLS_IM_END--><br />
<!-- google_ad_section_end -->
</p></div>
]]></content:encoded>
	</item>
</channel>
</rss>
