<?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>Software Associates - India &#187; development</title>
	<atom:link href="http://www.softwareassociates.in/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.softwareassociates.in</link>
	<description>Synergize with experience and expertise</description>
	<lastBuildDate>Tue, 07 Feb 2012 08:31:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Test management in parallel development</title>
		<link>http://www.softwareassociates.in/blog/test-management-in-parallel-development/</link>
		<comments>http://www.softwareassociates.in/blog/test-management-in-parallel-development/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 16:14:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code Management]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[development practice]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/?p=2395</guid>
		<description><![CDATA[In the last post, we discussed about code management related issues around parallel development. Let us have a peek at the challenges with testing the application in a parallel development scenario. Test Management There are multiple issues that we are &#8230; <a href="http://www.softwareassociates.in/blog/test-management-in-parallel-development/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In the last <a href="http://www.softwareassociates.in/blog/code-management-in-parallel-development/" target="_blank">post</a>, we discussed about code management related issues around parallel development. Let us have a peek at the challenges with testing the application in a parallel development scenario.</p>
<p><strong>Test Management<br />
	</strong></p>
<p>There are multiple issues that we are faced with while testing and verifying the application in an environment that involves parallel development. First and foremost is the availability of the test environments. Another issue is regarding the scope of testing to be done in the different releases.</p>
<p>A usual testing infrastructure would provide one system testing environment that mirrors the production environment as close as possible. But, here, in the case of parallel development, we could be faced with the task of testing different versions at the same time. This could occur due to the long testing times for adjacent releases. i.e. it could so happen that the next release enters the system testing phase before the previous one has left the ST phase. This could also come in the case when a hotfix is required to be developed and tested when a development release is under system testing. So, the main thing from an infrastructure point of view is to plan for multiple system testing environments. This would usually be number of releases that potentially could be in system testing phase in parallel plus one environment for verifying immediate hotfixes that need to be sent to production without waiting for any of the planned releases. So, at any point in time, there will be one environment in sync with the production version &ndash; ready for verifying any SOS deployments.</p>
<p>In the case of hotfixes disturbing the release schedule, it is important to have a strategy to test and verify the changes in the hotfixes as well as ensure the overall stability of the application. From the name itself, it is evident that the hot fix can&rsquo;t wait for an elaborate regression testing exercise. First level of test planning would involve identifying / creating test cases / scenarios that are relevant to the functionality being modified / developed in the hotfix. Next would be identifying test cases from impacting modules to be added to the test plan of the hotfix. A dependency matrix could be of help in identifying these modules. It is advisable to maintain a threadbare test case that ensures the sanity of the build from the main functionalities perspective. This can be executed in lieu of the regression test suite to enable a quick verification of the overall stability of the product.</p>
<p>A strategy that can be employed in case of too many hot fixes (which inherently is not good though) is to ensure that all the hotfixes are tracked to closure only after a proper testing (including regression testing) of the codebase is done in a subsequent release to the hotfix deployment. This is beneficial not only from the perspective of the stability of the product, but also helps in tracking the quality of hot fixes that go into the codebase. There might be situations where the urgency of the fix forces us to release a kludge. Having a mechanism to track the hotfixes to a closure gives an opportunity to verify the hotfix made also.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/test-management-in-parallel-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code management in Parallel development</title>
		<link>http://www.softwareassociates.in/blog/code-management-in-parallel-development/</link>
		<comments>http://www.softwareassociates.in/blog/code-management-in-parallel-development/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 14:15:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code Management]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[development practice]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/?p=2390</guid>
		<description><![CDATA[Parallel Development There are various situations in which we, as development teams, are faced with the challenges around parallel development. In this post, let us look at some of the challenges around such a situation and how to tackle them &#8230; <a href="http://www.softwareassociates.in/blog/code-management-in-parallel-development/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Parallel Development<br />
	</strong></p>
<p>There are various situations in which we, as development teams, are faced with the challenges around parallel development. In this post, let us look at some of the challenges around such a situation and how to tackle them efficiently.</p>
<p>One situation that causes parallel development work is supporting a product / application that has planned frequent releases. In such a case, there is a possibility that development of one release overlaps another. Another situation is that of addressing maintenance issues in the midst of an enhancement work. In such cases, there could be hotfix releases appearing unexpectedly in between the enhancement release plan.</p>
<p>The main challenges that come up are :</p>
<ol>
<li>How do I maintain the source code for the two versions of the application being worked upon?</li>
<li>How do I test multiple versions of the application?</li>
</ol>
<p><strong>Code Management<br />
	</strong></p>
<p>The problems related to maintenance of different versions of source code can be addressed by the branching functionality available in most of the modern configuration management tools. This functionality provides the ability to maintain different versions of the codebase and manage changes in them. Typically, this feature enables maintaining a main version of the code named trunk and have branches to maintain other versions. However, just the choice of a configuration management tool that supports branching won&rsquo;t help us. We need to anticipate parallel development and be ready for it.</p>
<p>We should be maintaining code corresponding to production version (or any other primary environment that we will be supporting) in the trunk and do any development work only in a new branch. This would always give the team quick access to the correct codebase in the trunk if at all there is need to work on any production hotfix. The common issue that we usually end up in is that the development is done on the trunk itself, anticipating no releases would go in before the one being worked on. A hot fix development would then lead to fetching old code from a label in the trunk or, picking up source code from a release package or, even worse, fishing out code from production to start work on the hotfix. So, the suggested way is to always have the trunk mapped to the version in production and perform development work in branches.</p>
<p>So, we branch out and do our development in the new branch and are prepared for parallel development. Now, if we need to do a hotfix, the team can fetch the latest from the trunk and work on it and checkin into the trunk itself and release a hotfix. We would do it this way unless the hotfix work itself is large enough and we anticipate a hotter fix to come around and get ahead of the current hotfix!!! In such a situation, we would need to do the hotfix also in a new branch and keep the path for the potential hotter fix as the trunk.</p>
<p>A question which naturally arises is what happens ultimately when the release being developed in the branch goes into production. There would be changes made to the version in trunk due to the hotfixes and changes to the version in the branch due to the development. Thus, we are faced with the challenge of creating a version to be sent to production which contains the hotfixes as well as the development done in the branch. This is done by merging the branch onto the trunk. There are merge features within CM tools to help us perform this. However, a manual intervention is required in the merge process to resolve conflicts that occur i.e. we need to manually make decisions about the version to be retained after merge in cases where same files have been changed in the trunk as well as the development branch. This is a critical process that needs to be given due importance and done very carefully. Irrespective of the number of conflicts a merge has generated, the newly merged version has to be tested afresh to verify the stability of the application.</p>
<p>To reduce the number of conflicts that would arise during a merge, it is a good practice to merge the trunk onto the active development branches periodically. i.e. the development branch is periodically updated with the changes happening in the trunk so that there are lesser issues while merging the branch during the development release into the trunk. A corollary of this good practice is to merge the trunk onto any other active development branches after a development branch has been merged to the trunk. The diagram below summarizes this.</p>
<p><a href="http://www.softwareassociates.in/blog/code-management-in-parallel-development/fig-1-2/" rel="attachment wp-att-2521"><img alt="" class="alignleft size-full wp-image-2521" height="252" src="http://www.softwareassociates.in/wp-content/uploads/fig-11.gif" title="fig-1" width="650" /></a></p>
<p>In the next post, we will have a look at how to manage testing in a parallel development situation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/code-management-in-parallel-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiple Content Blocks in WordPress using Categories and Posts</title>
		<link>http://www.softwareassociates.in/blog/multiple-content-blocks-in-wordpress-using-categories-and-posts/</link>
		<comments>http://www.softwareassociates.in/blog/multiple-content-blocks-in-wordpress-using-categories-and-posts/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 11:45:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[cms]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/?p=2218</guid>
		<description><![CDATA[Most websites have a main content area which is composed of more than a single content block. As WordPress is first and foremost a blogging platform, its support for a highly flexible CMS isn&#39;t comprehensive. This is mainly seen in &#8230; <a href="http://www.softwareassociates.in/blog/multiple-content-blocks-in-wordpress-using-categories-and-posts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Most websites have a main content area which is composed of more than a single content block.<br />
	As WordPress is first and foremost a blogging platform, its support for a highly flexible CMS isn&#39;t comprehensive. This is mainly seen in the pages feature of WP, where each page has a single editable content area. This is useful only for single content block layouts, and complex websites aren&#39;t based on such layouts.</p>
<p>Take the case of a layout having a header, content, right area, left area, footer section etc. There are several methods to make each section dynamic within the same page. One such method is by using Categories &amp; Posts feature of WordPress.</p>
<p><strong>Home Page<br />
	</strong></p>
<p><a href="http://www.softwareassociates.in/wp-content/uploads/001.jpg"><img alt="" class="alignnone size-full wp-image-2219" src="http://www.softwareassociates.in/wp-content/uploads/001.jpg" style="width: 418px; height: 194px;" title="001" /></a></p>
<p><strong>Steps for creating a dynamic page<br />
	</strong></p>
<ol>
<li><strong>Create a page template :</strong> Create a template file say, &ldquo;home.php&rdquo; in your &ldquo;/wp-content/themes/yourtheme directory&rdquo;.</li>
<li><strong>Create the page : </strong>Create a page without any content and assign the template created in the above step to the page.</li>
<li><strong>Create category : </strong>Create a category for each section in the layout. For example, referring to the above image, create &ldquo;Header&rdquo; category for header contents, &ldquo;Left-Content&rdquo; category for left block contents, etc.</li>
<li><strong>Create posts : </strong>Create content for each section using posts. For example, say the header section has a logo and a mission/vision text. Create a post having a title, say, &ldquo;Header-Logo&rdquo; and paste the logo image in the content area. Then assign the category &ldquo;Header&rdquo; to this post. Similarly a post title &ldquo;Header-Text&rdquo; can be created. You must note the &ldquo;PostID&rdquo; of each post you are creating.</li>
</ol>
<p>After creating all the posts(content) for a particular page, you need to retrieve the post contents in your template file(home.php) created in the first step. For this, use the code below :</p>
<p><strong>For the header section : </strong></p>
<p><a href="http://www.softwareassociates.in/wp-content/uploads/header.jpg"><img alt="" class="alignnone size-full wp-image-2220" src="http://www.softwareassociates.in/wp-content/uploads/header.jpg" style="width: 470px; height: 334px;" title="header" /></a></p>
<p><strong>For the left content section : </strong></p>
<p><a href="http://www.softwareassociates.in/wp-content/uploads/left.jpg"><img alt="" class="alignnone size-full wp-image-2221" src="http://www.softwareassociates.in/wp-content/uploads/left.jpg" style="width: 472px; height: 199px;" title="left" /></a></p>
<p>Similarly retrieve content for right-section and footer area.</p>
<p><strong>Drawback</strong></p>
<p>The only difficulty with this method is with your site&#39;s blog functionality. Blog index page will show all the posts created irrespective of the categories. So if you are implementing a blog in your site, you must exclude the categories created for adding page contents from the list of blogs. Otherwise all posts in those categories will also be indexed in your blog page.</p>
<p><strong>How to exclude multiple categories from blog pages (index.php, single.php, search.php, archive.php, etc)?</strong></p>
<p>Use the code :</p>
<p><a href="http://www.softwareassociates.in/wp-content/uploads/exclude.jpg"><img alt="" class="alignnone size-full wp-image-2222" src="http://www.softwareassociates.in/wp-content/uploads/exclude.jpg" style="width: 471px; height: 210px;" title="exclude" /></a><br />
	<strong>&nbsp;<br />
	</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/multiple-content-blocks-in-wordpress-using-categories-and-posts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to enhance the scope of output cache</title>
		<link>http://www.softwareassociates.in/blog/how-to-enhance-the-scope-of-output-cache/</link>
		<comments>http://www.softwareassociates.in/blog/how-to-enhance-the-scope-of-output-cache/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 16:49:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[aspnet]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[output caching]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/?p=2208</guid>
		<description><![CDATA[How to enhance the scope of output cache Output cache can be used to store the rendered HTML in the client system for a certain period of time. I.e. if the same page is requested within the specified time period, &#8230; <a href="http://www.softwareassociates.in/blog/how-to-enhance-the-scope-of-output-cache/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">How to enhance the scope of output cache</p>
<p>	Output cache can be used to store the rendered HTML in the client system for a certain period of time. I.e. if the same page is requested within the specified time period, a previously cached copy of the page is displayed.&nbsp; No round trip, hence no delay in time. And this could be implemented by adding a single line of code in your aspx page.</p>
<p>	&#39;&lt;%@ OutputCache Duration=&quot;Period in seconds&quot; %&gt; </p>
<p>	Suppose you are displaying static content in your page that depends on a QueryString value. Here one can make use of output cache by directing to maintain different versions of the same page depending on the QueryString value.&nbsp; To do this, change the above line of code as follows.</p>
<p>	&nbsp;&#39;&lt;%@ OutputCache Duration=&quot;xxx&quot; VaryByParam=&quot;querystring&quot; %&gt;</p>
<p>	This results in different copies of the same page being cached, for different query string values. </p>
<p>	In most cases, we cannot expect web pages to contain only static content. So when&nbsp; the webpage require sdisplaying dynamic content, how can you enjoy the same benefits? Identify the areas of a page where only static content is displayed, create appropriate user controls for such areas and cache the user controls as before. This is known as partial caching.</p>
<p>	Now think of a situation where you want to keep versions of a page or a user control according to some value other than the QueryString. This is where, VaryByCustom comes into the picture.</p>
<p>	Suppose you are using a user control in your webpage which contains only static data, say a menu. Now depending on user type, one need to make some changes in displaying the menu. I.e. you want to cache different versions of the menu depending on user type. To implement this,&nbsp; one has to change the above line of code as follows.</p>
<p>	&#39;&lt;%@ OutputCache Duration=&quot;xxx&quot; VaryByCustom=&quot;UserType&quot; %&gt;</p>
<p>	Then, override &ldquo;GetVaryBtCustomString&rdquo; method in Global.asax as follows,</p>
<p>	&#39; public override string GetVaryByCustomString(HttpContext context, string custom)</p>
<p>	&nbsp;&nbsp;&nbsp; {<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (custom == &quot;UserType&quot;){<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return string.Format(LoggedUser.UserType);<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return base.GetVaryByCustomString(context, custom);<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
	&nbsp;&nbsp;&nbsp; } </p>
<p>	Here different versions of the user control &#8211; menu is cached for different user types.</p>
<p>	Let the web server and end user enjoy the benefits of caching.<br />
	</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/how-to-enhance-the-scope-of-output-cache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Development Process</title>
		<link>http://www.softwareassociates.in/blog/development-process/</link>
		<comments>http://www.softwareassociates.in/blog/development-process/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 06:09:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/?p=826</guid>
		<description><![CDATA[We have a comprehensive integrated development process based on configuration management best practices and &#34;Continuous Integration&#34; principles. All artifacts related to the project are versioned and stored safely in our version control repository, which is backed up regularly. The development &#8230; <a href="http://www.softwareassociates.in/blog/development-process/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We have a comprehensive integrated development process based on configuration management best practices and &quot;Continuous Integration&quot; principles. All artifacts related to the project are versioned and stored safely in our version control repository, which is backed up regularly. The development team develops using development environment that integrate with our version control mechanism. Code analysis is performed to ensure that codebase corresponds to the coding guidelines. Continuous integration is ensured using a central build / deployment infrastructure and a central integration testing environment. Daily versioning of the project development artifacts ensures a mechanism to rollback to an earlier version at any time. Automation is made<br />
	use of to reduce time in daily integration chores.</p>
<h2>Benefits</h2>
<ul class="pdgLftTp20">
<li>Continuous integration ensures lesser time to integrate the modifications by different developers.</li>
<li>Clean central build / deployment / integration testing infrastructure ensures that there are no footprints of development machine involved in the product being tested</li>
<li>Versioned and backed up codebase enables disaster recovery.</li>
<li>Regular versioning helps in managing maintenance tasks and enhancements in parallel.</li>
<li>Coding guidelines improves readability and enhances maintainability, in addition to identifying obvious low-performance code snippets.</li>
</ul>
<h1>System testing process</h1>
<p>System testing is performed on an environment that is built as close as possible to the production environment using virtualization. System test cases are developed executed by test engineers on a &ldquo;build&rdquo; delivered by the development team. The bugs detected are logged, fixed and tracked to closure through subsequent builds from the development team. Deployment instructions are created and tested during deployment of system testing environment.</p>
<h2>Benefits</h2>
<ul class="pdgLftTp20">
<li>Early testing in an environment close to production helps unearth and solve issues early on.</li>
<li>A virtualized ST environment helps in setting up the ST environment for maintenance purposes and testing the deployment instructions quickly.</li>
<li>Formal release of &ldquo;builds&rdquo; by the development team to the testing team ensures delivery of a &quot;tested build&quot; that is traceable through version control.</li>
</ul>
<h1>Release management and deployment</h1>
<p>A package that is already tested and certified by the testing team is chosen for release. Release log and release checklist ensures standard operating procedures are followed for the release and is traceable to a build and a label in the codebase repository.</p>
<h2>Benefits</h2>
<ul class="pdgLftTp20">
<li>Since release package has already been tested on the ST environment which is close to the staging / production environment, there is minimal risk of issues with deployment.</li>
<li>Release packaging with deployment instructions and release notes makes the release self-sufficient and enables separation of development and deployment activities.</li>
<li>With self-sufficient release packages, we can have common secured release location for multiple projects.</li>
<li>Maintenance of release log ensures traceability of releases to codebase versions.</li>
<li>Release checklist ensures basic features of a release package.</li>
</ul>
<h1>Development process and methodology</h1>
<div class="processDiagram">
<div id="initialStudy">
<h1>Initial Study</h1>
<p>Requirement Analysis</p>
<p>Feasibility Study</p>
<p>Ballpark Estimation</p>
</p></div>
<div id="projectBrief">
<h1>Project Brief</h1>
</p></div>
<div id="projectDoc">
<p>Project Understanding Doc</p>
<p>Questions/Thoughts</p>
<p>Ballpark Time Plan</p>
</p></div>
<div id="clarifications">
<p>Clarifications</p>
<p>New Functional Requirements</p>
<p>Time Plan Feedback</p>
</p></div>
<div id="Ballpark">
<p style="font-family: Arial,Helvetica,sans-serif;">Ballpark Time Plan Approved</p>
<p style="font-family: Arial,Helvetica,sans-serif;">Detailed Project Spec Delivered</p>
</p></div>
<div id="estimate">
<h1>Estimate</h1>
<p>Detailed Study</p>
<p>Detailed Estimate</p>
<p>Project Milestones</p>
<p>Project Deadline</p>
</p></div>
<div id="estimateApproved">
<p>Estimate Approved</p>
<p>Screen Designs Delivered</p>
</p></div>
<div id="design">
<h1>Design</h1>
<p>System Analysis &amp; Design</p>
<p>Database Design</p>
<p>Change Analysis</p>
<p>Documentation Changes</p>
<p>Additional Estimate</p>
</p></div>
<div id="coding">
<h1>Coding</h1>
<p>XHTML Coding</p>
<p>Data Access Layer</p>
<p>Business Logic Layer</p>
<p>Presentation Layer</p>
<p>SQL Scripting</p>
<p>Bug Fixing</p>
</p></div>
<div id="testing">
<h1>Testing</h1>
<p>Developer Testing</p>
<p>Black-Box Testing</p>
<p>Functionality Testing</p>
<p>Accessibility, UI Testing</p>
<p>Load Testing</p>
</p></div>
<div id="testReport">
<p>Test Report</p>
</p></div>
<div id="changeRequest">
<p>Change Request</p>
<p>New Functionality Request</p>
</p></div>
<div id="feedback">
<h1>Client Feedback</h1>
<p>Client Evaluation</p>
<p>User Testing</p>
<p>System Evaluation</p>
</p></div>
<div id="finished">
<p>Finished Modules Deployed</p>
</p></div>
<div id="final">
<p>Final Deployment</p>
<p>Source Files Delivery</p>
</p></div>
<div id="maintanence">
<h1>Maintenance</h1>
<p>Site Maintenance</p>
<p>Post Deployment Services</p>
</p></div>
<div id="futureChanges">
<p>Future Changes</p>
</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/development-process/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.softwareassociates.in/blog/category/development/feed/ ) in 0.33697 seconds, on Feb 8th, 2012 at 3:28 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 8th, 2012 at 4:28 am UTC -->
