<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for Quality Software Development with Ease</title>
	<atom:link href="http://qualityswdev.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://qualityswdev.com</link>
	<description>My thoughts about the best way to develop software. Agile Methodologies, XP Practices and other Software Development Goodness.</description>
	<lastBuildDate>Mon, 12 Jul 2010 16:49:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>Comment on Is estimation waste? by On Estimation &#171; Paul Dyson&#8217;s Blog</title>
		<link>http://qualityswdev.com/2010/01/07/is-estimation-waste/#comment-171</link>
		<dc:creator>On Estimation &#171; Paul Dyson&#8217;s Blog</dc:creator>
		<pubDate>Mon, 12 Jul 2010 16:49:43 +0000</pubDate>
		<guid isPermaLink="false">http://qualityswdev.com/?p=168#comment-171</guid>
		<description>[...] has blogged about his thinking and who I hope will comment further on this subject. This seems to appeal to developers who find estimation difficult and teams that struggle with accuracy of estimation. Certainly [...]</description>
		<content:encoded><![CDATA[<p>[...] has blogged about his thinking and who I hope will comment further on this subject. This seems to appeal to developers who find estimation difficult and teams that struggle with accuracy of estimation. Certainly [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The purpose of test-driven development (TDD) by Custom Software Development Company</title>
		<link>http://qualityswdev.com/2010/03/24/the-purpose-of-test-driven-development-tdd/#comment-164</link>
		<dc:creator>Custom Software Development Company</dc:creator>
		<pubDate>Thu, 10 Jun 2010 13:23:37 +0000</pubDate>
		<guid isPermaLink="false">http://qualityswdev.com/?p=274#comment-164</guid>
		<description>nice and informative.</description>
		<content:encoded><![CDATA[<p>nice and informative.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Java Build Server by Sonar &#187; Sonar in the news</title>
		<link>http://qualityswdev.com/2010/01/23/java-build-server/#comment-163</link>
		<dc:creator>Sonar &#187; Sonar in the news</dc:creator>
		<pubDate>Tue, 01 Jun 2010 11:14:04 +0000</pubDate>
		<guid isPermaLink="false">http://qualityswdev.com/?p=85#comment-163</guid>
		<description>[...] Java Build Server By Manuel Küblböck, 23 January 2010 In my last Java project, I set up a build server with Continuous Integration (CI) capability. I am a big fan of Test Driven Development (TDD) and I quite enjoyed Hudson telling us right away when someone checked in code that broke the build. It just gives you so much more confidence in your code and keeps it releasable at all times. In addition, we used Sonar to measure the quality of our code. [...]</description>
		<content:encoded><![CDATA[<p>[...] Java Build Server By Manuel Küblböck, 23 January 2010 In my last Java project, I set up a build server with Continuous Integration (CI) capability. I am a big fan of Test Driven Development (TDD) and I quite enjoyed Hudson telling us right away when someone checked in code that broke the build. It just gives you so much more confidence in your code and keeps it releasable at all times. In addition, we used Sonar to measure the quality of our code. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Deployments should be non-events by Manuel Küblböck</title>
		<link>http://qualityswdev.com/2010/05/15/deployments-should-be-non-events/#comment-161</link>
		<dc:creator>Manuel Küblböck</dc:creator>
		<pubDate>Tue, 25 May 2010 19:40:07 +0000</pubDate>
		<guid isPermaLink="false">http://qualityswdev.com/?p=308#comment-161</guid>
		<description>Thank you Marc for your interesting pointers. I would like to say a few words to each of them.
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;automated user acceptance&lt;/strong&gt;: Currently continuous deployment is mostly (only?) used with online off-the-shelf applications that don&#039;t have a customer (=user) acceptance test phase. So, with bespoke software development for a specific customer you might only be able to automatically deploy as far as a UAT environment.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;security requirements&lt;/strong&gt;: You could write a test for every possible group of attacks you can think of and run them against your running application.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;interfaces between companies&lt;/strong&gt;: These interfaces should hopefully be clarified before testing an application. In any case issues regarding these interfaces can be detected by automated end-to-end tests.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;user documentation&lt;/strong&gt;: OK. You got me. I don&#039;t have an answer for this one. However, I don&#039;t really see user documentation as part of the deployed piece of software. Probably because I am a developer and I like to write code, not documentation. Don&#039;t get me wrong, I understand that user documentation is an important part of any application, but it doesn&#039;t influence if the application itself is correct or not. It is an accessory that helps the user understand and use the application, but it is not part of the application itself.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;releases spanning multiple applications&lt;/strong&gt;: Again, any issues here can be detected by automated end-to-end tests against all participating applications.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;no developer touches life system&lt;/strong&gt;: I don&#039;t know why you would have a requirement like this in the first place, but let&#039;s say you do. As I see it there are two givens here, (a) your code is developed by developers and (b) your code should eventually end up in your production system. Let&#039;s for a moment assume that you can automate all testing, then you would want to eliminate all manual steps between the developer committing the code and the code being deployed to production. And that is exactly the idea behind continuous deployment, to get rid of unnecessary manual steps. So, technically when doing continuous deployment the developer is not touching the life system any more so as he did before, it&#039;s just that the manual steps in between him and the life system have been automated.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;testing the tests&lt;/strong&gt;: There are different categories of tests, unit tests for your code units, end-to-end tests to test your running application and anything in between. These should hopefully cover for each other to some extent. But you are right, if your tests are crap, then they don&#039;t say anything about your application. In my opinion, continuous deployment can only work together with test driven development and a very disciplined team that is experienced with developing this way.&lt;/li&gt;
&lt;/ul&gt;

I would like to make it clear once more: When talking about automated tests I am not just talking about unit tests, but also about functional tests that test your deployed and running application. Furthermore, doing continuous deployment requires a high level of discipline from a development team that knows what they are doing.</description>
		<content:encoded><![CDATA[<p>Thank you Marc for your interesting pointers. I would like to say a few words to each of them.</p>
<ul>
<li><strong>automated user acceptance</strong>: Currently continuous deployment is mostly (only?) used with online off-the-shelf applications that don&#8217;t have a customer (=user) acceptance test phase. So, with bespoke software development for a specific customer you might only be able to automatically deploy as far as a UAT environment.</li>
<li><strong>security requirements</strong>: You could write a test for every possible group of attacks you can think of and run them against your running application.</li>
<li><strong>interfaces between companies</strong>: These interfaces should hopefully be clarified before testing an application. In any case issues regarding these interfaces can be detected by automated end-to-end tests.</li>
<li><strong>user documentation</strong>: OK. You got me. I don&#8217;t have an answer for this one. However, I don&#8217;t really see user documentation as part of the deployed piece of software. Probably because I am a developer and I like to write code, not documentation. Don&#8217;t get me wrong, I understand that user documentation is an important part of any application, but it doesn&#8217;t influence if the application itself is correct or not. It is an accessory that helps the user understand and use the application, but it is not part of the application itself.</li>
<li><strong>releases spanning multiple applications</strong>: Again, any issues here can be detected by automated end-to-end tests against all participating applications.</li>
<li><strong>no developer touches life system</strong>: I don&#8217;t know why you would have a requirement like this in the first place, but let&#8217;s say you do. As I see it there are two givens here, (a) your code is developed by developers and (b) your code should eventually end up in your production system. Let&#8217;s for a moment assume that you can automate all testing, then you would want to eliminate all manual steps between the developer committing the code and the code being deployed to production. And that is exactly the idea behind continuous deployment, to get rid of unnecessary manual steps. So, technically when doing continuous deployment the developer is not touching the life system any more so as he did before, it&#8217;s just that the manual steps in between him and the life system have been automated.</li>
<li><strong>testing the tests</strong>: There are different categories of tests, unit tests for your code units, end-to-end tests to test your running application and anything in between. These should hopefully cover for each other to some extent. But you are right, if your tests are crap, then they don&#8217;t say anything about your application. In my opinion, continuous deployment can only work together with test driven development and a very disciplined team that is experienced with developing this way.</li>
</ul>
<p>I would like to make it clear once more: When talking about automated tests I am not just talking about unit tests, but also about functional tests that test your deployed and running application. Furthermore, doing continuous deployment requires a high level of discipline from a development team that knows what they are doing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Deployments should be non-events by buzina</title>
		<link>http://qualityswdev.com/2010/05/15/deployments-should-be-non-events/#comment-160</link>
		<dc:creator>buzina</dc:creator>
		<pubDate>Tue, 18 May 2010 13:14:12 +0000</pubDate>
		<guid isPermaLink="false">http://qualityswdev.com/?p=308#comment-160</guid>
		<description>Hi!

Interesting Idea, but how to automate user acceptance? How to automate security requirements? How to automate interfaces between companies? How to automate updated user documentation? Or production docuemtnation? How to guarantee that release units spanning multiple applications / dev groups with different policies work together well? How about the requirement that no developer ever touch the life systems? If it is automated, this is equivalent to direct access? Who tests the tests? And how?

I don&#039;t mind having a simple &amp; lean release process, but aiming at a fully auztomated process where a developer commit updates the production environment after X automated tests is not a quility target.</description>
		<content:encoded><![CDATA[<p>Hi!</p>
<p>Interesting Idea, but how to automate user acceptance? How to automate security requirements? How to automate interfaces between companies? How to automate updated user documentation? Or production docuemtnation? How to guarantee that release units spanning multiple applications / dev groups with different policies work together well? How about the requirement that no developer ever touch the life systems? If it is automated, this is equivalent to direct access? Who tests the tests? And how?</p>
<p>I don&#8217;t mind having a simple &amp; lean release process, but aiming at a fully auztomated process where a developer commit updates the production environment after X automated tests is not a quility target.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Deployments should be non-events by Jyrki</title>
		<link>http://qualityswdev.com/2010/05/15/deployments-should-be-non-events/#comment-159</link>
		<dc:creator>Jyrki</dc:creator>
		<pubDate>Sat, 15 May 2010 14:02:46 +0000</pubDate>
		<guid isPermaLink="false">http://qualityswdev.com/?p=308#comment-159</guid>
		<description>Hello,

I&#039;m currently using Gerrit (http://gerrit.googlecode.com/) and Hudson for something like this. Current workflow is something like this:

1. Change is pushed into Gerrit
2a. Hudson notices the change and runs a build reporting results to gerrit (http://blog.hudson-ci.org/content/pre-tested-commits-git).
2b. Change is manually reviewed and tested. Reviewers/testers can pull the change for gerrit for testing.
3. If change is good, ie. Hudson job is success and reviewers show green light, change is submitted to Gerrits main repository.
4. Hudson notices a new change in Gerrits main repository and deploys a new version into beta server. 

I tried to explain this with flow chart in little blog post http://softwarefromnorth.blogspot.com/2010/04/almost-continuous-deployment-with.html

I&#039;m using beta server because our customers didn&#039;t want to have this on live server. Beta and live server are swapped biweekly, though, meaning that beta comes live one and live server is cleaned.</description>
		<content:encoded><![CDATA[<p>Hello,</p>
<p>I&#8217;m currently using Gerrit (<a href="http://gerrit.googlecode.com/" rel="nofollow">http://gerrit.googlecode.com/</a>) and Hudson for something like this. Current workflow is something like this:</p>
<p>1. Change is pushed into Gerrit<br />
2a. Hudson notices the change and runs a build reporting results to gerrit (<a href="http://blog.hudson-ci.org/content/pre-tested-commits-git" rel="nofollow">http://blog.hudson-ci.org/content/pre-tested-commits-git</a>).<br />
2b. Change is manually reviewed and tested. Reviewers/testers can pull the change for gerrit for testing.<br />
3. If change is good, ie. Hudson job is success and reviewers show green light, change is submitted to Gerrits main repository.<br />
4. Hudson notices a new change in Gerrits main repository and deploys a new version into beta server. </p>
<p>I tried to explain this with flow chart in little blog post <a href="http://softwarefromnorth.blogspot.com/2010/04/almost-continuous-deployment-with.html" rel="nofollow">http://softwarefromnorth.blogspot.com/2010/04/almost-continuous-deployment-with.html</a></p>
<p>I&#8217;m using beta server because our customers didn&#8217;t want to have this on live server. Beta and live server are swapped biweekly, though, meaning that beta comes live one and live server is cleaned.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Deployments should be non-events by Jochen</title>
		<link>http://qualityswdev.com/2010/05/15/deployments-should-be-non-events/#comment-158</link>
		<dc:creator>Jochen</dc:creator>
		<pubDate>Sat, 15 May 2010 10:31:33 +0000</pubDate>
		<guid isPermaLink="false">http://qualityswdev.com/?p=308#comment-158</guid>
		<description>Hi Manuel,

this software life-cycle process demand sounds familiar to me. That is a common wish of customers.
In a SOA landscape this topic is known under &#039;Governance&#039;. Life-cycle management is part of it. But its not only good for SOA. If your software landscape consist of many artifacts, you need a solution to &#039;govern&#039; it.
Governance tools allow do design a life-cycle process for every artifact. For every process step you can add design time polices. That can be approval policies as you mentioned or notification jobs.
From my experience that is still a very theoretical topic. Although there are software solutions for this, I have never seen any in production. And unfortunately I don&#039;t know an open source solution for it.
In the near future I have the challenge to build up such a life-cycle management for a customer. Maybe I can contribute some hands on experience then.</description>
		<content:encoded><![CDATA[<p>Hi Manuel,</p>
<p>this software life-cycle process demand sounds familiar to me. That is a common wish of customers.<br />
In a SOA landscape this topic is known under &#8216;Governance&#8217;. Life-cycle management is part of it. But its not only good for SOA. If your software landscape consist of many artifacts, you need a solution to &#8216;govern&#8217; it.<br />
Governance tools allow do design a life-cycle process for every artifact. For every process step you can add design time polices. That can be approval policies as you mentioned or notification jobs.<br />
From my experience that is still a very theoretical topic. Although there are software solutions for this, I have never seen any in production. And unfortunately I don&#8217;t know an open source solution for it.<br />
In the near future I have the challenge to build up such a life-cycle management for a customer. Maybe I can contribute some hands on experience then.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on About the Author by Jochen</title>
		<link>http://qualityswdev.com/about-the-author/#comment-157</link>
		<dc:creator>Jochen</dc:creator>
		<pubDate>Thu, 13 May 2010 22:44:36 +0000</pubDate>
		<guid isPermaLink="false">#comment-157</guid>
		<description>Hi Manuel,
ich habe jetzt auch mal einen technischen Blog gestartet. Dort will ich einige meiner Gedanken über meine BPM Erfahrungen sammeln und zunächst mal über meine Erfahrung berichten eine Open Source BPM/SOA Plattform aufzubauen.
Nur so als Info, dass ich mal einen ersten Besucher habe. www.accomplish-bpm.blogspot.com

Viele Grüße,
Jochen</description>
		<content:encoded><![CDATA[<p>Hi Manuel,<br />
ich habe jetzt auch mal einen technischen Blog gestartet. Dort will ich einige meiner Gedanken über meine BPM Erfahrungen sammeln und zunächst mal über meine Erfahrung berichten eine Open Source BPM/SOA Plattform aufzubauen.<br />
Nur so als Info, dass ich mal einen ersten Besucher habe. <a href="http://www.accomplish-bpm.blogspot.com" rel="nofollow">http://www.accomplish-bpm.blogspot.com</a></p>
<p>Viele Grüße,<br />
Jochen</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Java Build Server by john</title>
		<link>http://qualityswdev.com/2010/01/23/java-build-server/#comment-94</link>
		<dc:creator>john</dc:creator>
		<pubDate>Mon, 05 Apr 2010 06:59:44 +0000</pubDate>
		<guid isPermaLink="false">http://qualityswdev.com/?p=85#comment-94</guid>
		<description>http://www.coveros.com/research/research_stack.php</description>
		<content:encoded><![CDATA[<p><a href="http://www.coveros.com/research/research_stack.php" rel="nofollow">http://www.coveros.com/research/research_stack.php</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Resigning is a bit like breaking up with your girlfriend by Manuel Küblböck</title>
		<link>http://qualityswdev.com/2009/12/23/resigning-is-a-bit-like-breaking-up-with-your-girlfriend/#comment-93</link>
		<dc:creator>Manuel Küblböck</dc:creator>
		<pubDate>Sat, 27 Mar 2010 21:20:42 +0000</pubDate>
		<guid isPermaLink="false">http://qualityswdev.com/?p=89#comment-93</guid>
		<description>Thank you Leena, your comment was just in time for me to realize that this post is missing something: the time right after the break-up. I added the section &#039;Get some distance first&#039;.

I am happy to say that yes, I think, I have been able to stay friends with my former boss. I was in fact out for dinner with him last night and I am still managing to keep in touch with many of my former colleagues by having the occasional lunch with them and by making the odd appearance in the company&#039;s football team.</description>
		<content:encoded><![CDATA[<p>Thank you Leena, your comment was just in time for me to realize that this post is missing something: the time right after the break-up. I added the section &#8216;Get some distance first&#8217;.</p>
<p>I am happy to say that yes, I think, I have been able to stay friends with my former boss. I was in fact out for dinner with him last night and I am still managing to keep in touch with many of my former colleagues by having the occasional lunch with them and by making the odd appearance in the company&#8217;s football team.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
