<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JCAMS Associates</title>
	<atom:link href="http://jcams2010.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://jcams2010.com</link>
	<description>We fix software train wrecks</description>
	<lastBuildDate>Mon, 31 Jan 2011 21:36:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Should we continue using Visual FoxPro?</title>
		<link>http://jcams2010.com/index.php/2011/01/31/should-we-continue-using-visual-foxpro/</link>
		<comments>http://jcams2010.com/index.php/2011/01/31/should-we-continue-using-visual-foxpro/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 21:36:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jcams2010.com/?p=63</guid>
		<description><![CDATA[Visual FoxPro will continue to be a useful development tool for many years.  It features great flexibility in working with data in many data environments and can accommodate various sharing strategies. <a href="http://jcams2010.com/index.php/2011/01/31/should-we-continue-using-visual-foxpro/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of my clients recently asked me this question.  My assumption was that they had a concern that Microsoft had no future plans for Visual FoxPro and would stop supporting the latest (and last!) version in 2015.  I prepared my arguments that the software we were running with should continue to run without problems for at least 10 years beyond that and pointed out that we had never called on Microsoft for support in the 15+ years we had been developing the application.</p>
<p>An additional argument for staying with Visual FoxPro now was that if we switched to some other programming language, it too might also be obsolete when a move from Visual FoxPro was mandatory.  There was certainly no interest in rewriting the system twice in the coming decades!</p>
<p>Further discussion revealed that part of the concern was with data sharing in the organization.  The Visual FoxPro data is all housed in a server at one location where most of the manipulation and reporting is performed.  A couple of locations remote to this server access it for simple queries.  Wouldn&#8217;t we have to rewrite the system if we wanted to centralize the data &#8212; using SQL Server or some other database system?</p>
<p>This turns out to be one area where Visual FoxPro has much flexibility.  It does not have to rely on the native FoxPro data layout.  It can access SQL Server (and many other types of data) just as well.  Although it would be more complicated than converting the data and throwing a switch, it would be much more economical than a complete system rewrite and could be staged, moving parts of the data to the shared environment as it became desirable to share that particular data.  Additionally, it would be possible to replicate the data to be shared and keep all the existing processes unchanged.</p>
<p>The bottom line is that Visual FoxPro continues to be a viable development solution for a wide variety of applications.  I certainly recommend continuing to use it in existing applications and would not totally dismiss using it for new applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://jcams2010.com/index.php/2011/01/31/should-we-continue-using-visual-foxpro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Validating a new process turns up problems with the old</title>
		<link>http://jcams2010.com/index.php/2010/09/27/validating-a-new-process-turns-up-problems-with-the-old/</link>
		<comments>http://jcams2010.com/index.php/2010/09/27/validating-a-new-process-turns-up-problems-with-the-old/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 19:33:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jcams2010.com/?p=57</guid>
		<description><![CDATA[A new process was developed for selecting records from a large database.  It was carefully tested and seemed to be doing precisely what it was supposed to do.  The real test is to compare the results with those from the &#8230; <a href="http://jcams2010.com/index.php/2010/09/27/validating-a-new-process-turns-up-problems-with-the-old/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A new process was developed for selecting records from a large database.  It was carefully tested and seemed to be doing precisely what it was supposed to do.  The real test is to compare the results with those from the existing process to find out if there are problems.  This was done by the user and they reported that they thought the counts were way off. </p>
<p>Part of the selection process was to catagorize the records selected.  When some catagories came up with no records found, it was clear that there was a problem with the new selection process.  A correction was made and a rerun of the selection yielded very similar but different counts. </p>
<p>The new process gave slightly higher counts in most categories, lower in others.  Part of this was correctly attributed to the time frame involved:  part of the criteria was based on activity in the previous 12 months &#8212; the selection in the new process was run later so that there was some new activity, but also records where the activity was just over 12 months old would not have been selected.</p>
<p>To find out the cause of any other differences, the two different selection files were compared.  It was found that there were about 1000 (out of 35000) records selected by the new process that had not been selected by the old process.  There were also about 900 records selected by the old process that weren&#8217;t selected by the new process. </p>
<p>Analysis of these records uncovered the fact that the old process was selecting records that were supposed to be skipped and not selecting other records that were supposed to be selected!  It also uncovered about a dozen records that the new process missed selecting.</p>
<p>The moral of this little story is that just because the new doesn&#8217;t match the old that the new must be wrong.  <em>But there is more!</em>  It also suggests that it is wise to audit existing processes from time to time.  In this case, it was clear that most of the selection criteria were being handled properly &#8212; it was more recently added criteria that wasn&#8217;t being correctly handled.</p>
<p>Even if you have no plans to replace a data selection process, perhaps now would be a good time to schedule an independent audit to verify that you are getting what you think you should be getting!</p>
]]></content:encoded>
			<wfw:commentRss>http://jcams2010.com/index.php/2010/09/27/validating-a-new-process-turns-up-problems-with-the-old/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A major train wreck narrowly avoided</title>
		<link>http://jcams2010.com/index.php/2010/08/11/a-major-train-wreck-narrowly-avoided/</link>
		<comments>http://jcams2010.com/index.php/2010/08/11/a-major-train-wreck-narrowly-avoided/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 18:20:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jcams2010.com/?p=52</guid>
		<description><![CDATA[A disgruntled developer left a time bomb.  
The application was quickly rewritten and business activities were not disrupted.

 <a href="http://jcams2010.com/index.php/2010/08/11/a-major-train-wreck-narrowly-avoided/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was at a networking group one morning and someone said that they were working with someone who had a serious problem.  I set up an appointment to see them the next day.  They had a custom application which had lost some of its functionality.  There had been a major disagreement with the developer and he had the application programmed to first stop performing certain functions and then to not run at all.  It looked like we had 3-4 weeks before the last condition was met.</p>
<p>We quickly determined that the only possible route to save the business from a serious outage was to build a replacement application as soon as possible.  The most critical functions were identified and these were developed first.  It was also necessary to create a program to extract the data from the current application.</p>
<p>The new application was completed and tested and the customer started using it before the old application stopped working entirely.  Additional, less critical functions were added at a more leisurely pace!</p>
<p>This was certainly a rare situation, but could happen to anyone.  We prefer not to work with such deadlines, but if we must, we are able to identify and focus on the critical functions and get the customer up and running with as little disruption as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://jcams2010.com/index.php/2010/08/11/a-major-train-wreck-narrowly-avoided/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome</title>
		<link>http://jcams2010.com/index.php/2010/07/18/welcome/</link>
		<comments>http://jcams2010.com/index.php/2010/07/18/welcome/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 17:12:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jcams2010.com/?p=14</guid>
		<description><![CDATA[This is the first entry for JCAMS Associate&#8217;s blog site.  We welcome you to come back regularly to find out about new developments in fixing and avoiding software train wrecks.  We will also share about things we are doing in &#8230; <a href="http://jcams2010.com/index.php/2010/07/18/welcome/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is the first entry for JCAMS Associate&#8217;s blog site. </p>
<p>We welcome you to come back regularly to find out about new developments in fixing and avoiding software train wrecks. </p>
<p>We will also share about things we are doing in the community and ways you might get involved!</p>
]]></content:encoded>
			<wfw:commentRss>http://jcams2010.com/index.php/2010/07/18/welcome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

