<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Software Factory Verticalization (Specialization)</title><link>http://blogs.msdn.com/jezzsa/archive/2007/09/11/software-factory-verticalization.aspx</link><description>I have been meaning to write this post about software factory verticalization for some time now. I actually started this post at the start of the year, but we've been busy writing a number of MSDN white papers recently which have gotten in the way, which</description><dc:language>en-GB</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Horizontal </title><link>http://blogs.msdn.com/jezzsa/archive/2007/09/11/software-factory-verticalization.aspx#4881249</link><pubDate>Wed, 12 Sep 2007 18:57:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4881249</guid><dc:creator>musing's of a geek</dc:creator><description>&lt;p&gt;Horizontal&lt;/p&gt;</description></item><item><title>re: Software Factory Verticalization (Specialization)</title><link>http://blogs.msdn.com/jezzsa/archive/2007/09/11/software-factory-verticalization.aspx#4882514</link><pubDate>Wed, 12 Sep 2007 20:36:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4882514</guid><dc:creator>leovernazza</dc:creator><description>&lt;p&gt;Hi, a post like this was required for a better discussion. I think it has also a lot to do with the &amp;quot;customization pit&amp;quot; that is proposed in the DSL Tools' book. &lt;/p&gt;
&lt;p&gt;About vertical –vs- horizontal factories, I agree with you we need both, and that we need horizontal first. From my modest point of view we need horizontal DSLs in each logical layer, and vertical ones on top of them just for some complex enough business. Probably the best of all the horizontal DSL is SQL, we should learn a lot from it. &lt;/p&gt;
&lt;p&gt;However, I can’t see clear enough one aspect you mentioned: How Software Factories change IP issues between solution-integrators and end-customers? Maybe I didn’t get your point. &lt;/p&gt;
&lt;p&gt;I mean, suppose you don’t use a Software Factory approach: don’t you have the same problem? &amp;nbsp;&lt;/p&gt;
&lt;p&gt;You cannot probably re-use the core code that was written for a specific customer, but you can always re use your experience. That is the core of the consultancy business. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;For example, I worked building Credit Management Systems for several companies. In all the cases, at the end the code was left on the customer (we used to sell the IP as part of the agreement), but we reused our experience as an asset for the next time. &lt;/p&gt;
&lt;p&gt;If you can formalize that experience in a DSL, better for you. You can generate code for each customer, and the customer can extend the generated code. Or, they can use the DSL if you agree it. This will require a better refined and supported DSL... and so, it's a choice for the Solution Integrator.&lt;/p&gt;
</description></item><item><title>re: Software Factory Verticalization (Specialization)</title><link>http://blogs.msdn.com/jezzsa/archive/2007/09/11/software-factory-verticalization.aspx#4951970</link><pubDate>Mon, 17 Sep 2007 10:35:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4951970</guid><dc:creator>geremida</dc:creator><description>&lt;p&gt;Hi Jezza&lt;/p&gt;
&lt;p&gt;I've probably read most of your posts, and as usual this one is spot on. &amp;nbsp;I've also posted the guts of this reply at &lt;a rel="nofollow" target="_new" href="http://rungesrand.blogspot.com/"&gt;http://rungesrand.blogspot.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The current crop of horizontal factories - SCSF(Smart Client Software Factory), WCSF(Web Client Software Factory), WSSF(Web Service Software Factory) - are all general purpose / cross cutting. &amp;nbsp;They should provide a way of insulating / abstracting from the physical solution domain, eg .NET 2.0/3.0/3.5, etc.&lt;/p&gt;
&lt;p&gt;The issue I'm raising is - how do we future proof our factory developed applications, to allow us to take advantage of ever changing technologies, and allow us to &amp;quot;easily&amp;quot; upgrade to the next version of our vertical or horizontal factories.&lt;/p&gt;
&lt;p&gt;Without strategies to handle this, are we destined to have to rewrite / refresh our apps / products every few years ? &amp;nbsp;If we accept this - then it's legacy / obsolescence by design, and we loose many / most of the gains we have made by using a software factory approach.&lt;/p&gt;
&lt;p&gt;It seems to me that the answer lies with modelling (via DSLs) so that our IP assets are maximised in (DSL) models and other factory assests, and we &amp;quot;just&amp;quot; have to update the mappings to lower levels when they change.&lt;/p&gt;
&lt;p&gt;But with the factory approach spanning vertical factories to horizontal factories to physical solutions, this introduces some interesting configuration management and upgrade challenges.&lt;/p&gt;
&lt;p&gt;Also &amp;quot;interesting&amp;quot; is the choice of which horizontal factory (from Microsoft P&amp;amp;P) you should use. &amp;nbsp;For our smart client product line, we were planning to use the SCSF, but depending on who you talk to - development of it has either stopped / slowed to a crawl, and the supposed replacement is Acropolis. &amp;nbsp;I don't see any evidence with Acropolis that they are taking a software factory approach. &amp;nbsp;This is indeed a challenge for those of us who would like to embark on a software factory / product line approach.&lt;/p&gt;</description></item><item><title>re: Software Factory Verticalization (Specialization)</title><link>http://blogs.msdn.com/jezzsa/archive/2007/09/11/software-factory-verticalization.aspx#4957488</link><pubDate>Mon, 17 Sep 2007 18:00:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4957488</guid><dc:creator>leovernazza</dc:creator><description>&lt;p&gt;Hi geremida, &lt;/p&gt;
&lt;p&gt;You should use Himalia ;)&lt;/p&gt;
&lt;p&gt;It's the DSL approach to clients (a.k.a. user interfaces).&lt;/p&gt;</description></item></channel></rss>