<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Thinking inside a bigger box - Latest Comments in On Architecture: The dubious joy of system architecture revision</title><link>http://thinkinginsideabiggerbox.disqus.com/</link><description></description><language>en</language><lastBuildDate>Fri, 09 Mar 2007 14:15:25 -0000</lastBuildDate><item><title>Re: On Architecture: The dubious joy of system architecture revision</title><link>http://www.brodwall.com/johannes/blog/2007/02/10/on-architecture-the-dubious-joy-of-system-architecture-revision/#comment-1797697</link><description>Really what you want to do instead of drinking until kl2 is drink util kl3 and then get a kebob.  Only then will you be able to deal with the mess of those BBS projects.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kukenspeil</dc:creator><pubDate>Fri, 09 Mar 2007 14:15:25 -0000</pubDate></item><item><title>Re: On Architecture: The dubious joy of system architecture revision</title><link>http://www.brodwall.com/johannes/blog/2007/02/10/on-architecture-the-dubious-joy-of-system-architecture-revision/#comment-1797696</link><description>Hi, Christian&lt;br&gt;&lt;br&gt;Any road worth walking is endless. :-)&lt;br&gt;&lt;br&gt;I agree that automated test and all the things I have preached at your previous place of employer can help improve maintainability if used well. And I think you're right that it can be sold, too.&lt;br&gt;&lt;br&gt;On a further note, like most interesting characteristics, it is impossible to measure maintainability without putting a system into production and improving it incrementally. So incremental deliveries might be a good tool for selling techniques for maintainability.&lt;br&gt;&lt;br&gt;As Robert Glass says (in Facts and Fallacies about Software Development): The maintainance period is not the problem, it is the solution.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johannes Brodwall</dc:creator><pubDate>Wed, 21 Feb 2007 15:10:36 -0000</pubDate></item><item><title>Re: On Architecture: The dubious joy of system architecture revision</title><link>http://www.brodwall.com/johannes/blog/2007/02/10/on-architecture-the-dubious-joy-of-system-architecture-revision/#comment-1797695</link><description>The customers must become aware of their need, and that will probably not happen tomorrow. However, I wouldn't be surprised if a customer signing a contract for a tailor made system tomorrow included some sentences about automated tests. I guess it's a matter of how much attention things get.&lt;br&gt;&lt;br&gt;Automated tests improve maintainability, so if customers start demanding that, then one piece is in place. For this part, we also have good measures.&lt;br&gt;&lt;br&gt;I think customers are willing to pay for it if they understand that it is good economy. The customer will probably need to hire people to check for them, just like they often hire people to check the architecture, the project management and more.&lt;br&gt;&lt;br&gt;Are we able to reliably deliver it? I don't know. Are we able to reliably deliver good architecture? There are at least some best practices one can state (like the negation of these tips: &lt;a href="http://thc.org/root/phun/unmaintain.html" rel="nofollow"&gt;http://thc.org/root/phun/unmaintain.html&lt;/a&gt;).&lt;br&gt;&lt;br&gt;Even though it is difficult to standardize tests for this, one can try to make some changes and see how difficult it is. If it is hard, you will see what makes it hard, and hopefully whether it really needs to be like that.&lt;br&gt;&lt;br&gt;Are you being defeatist? I agree that the road is really long, but I don't think it is endless.&lt;br&gt;&lt;br&gt;Do you?</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Rørdam</dc:creator><pubDate>Wed, 21 Feb 2007 14:54:30 -0000</pubDate></item><item><title>Re: On Architecture: The dubious joy of system architecture revision</title><link>http://www.brodwall.com/johannes/blog/2007/02/10/on-architecture-the-dubious-joy-of-system-architecture-revision/#comment-1797694</link><description>&lt;blockquote&gt;My main point, however, is this:&lt;br&gt;the customer must demand and control that the system they buy is reasonably maintainable. Nobody else will do it.&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;It is true that nobody else will do demand maintainability. But is the customer inclined and informed enough to do it? Willing to pay for it?&lt;br&gt;&lt;br&gt;And if the customer &lt;b&gt;is&lt;/b&gt; willing to pay for it, are we able to reliably deliver it?&lt;br&gt;&lt;br&gt;And a last question: Am I being defeatist?</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johannes Brodwall</dc:creator><pubDate>Tue, 20 Feb 2007 20:28:48 -0000</pubDate></item><item><title>Re: On Architecture: The dubious joy of system architecture revision</title><link>http://www.brodwall.com/johannes/blog/2007/02/10/on-architecture-the-dubious-joy-of-system-architecture-revision/#comment-1797693</link><description>You are pointing out the two main problems here. I'll respond to the last one first: the customer doesn't ask for it and is in a hurry. However, the customer really needs it, even though they are not aware of this fact. I have seen several reports estimating that "two-thirds of a software system's lifetime cost involves maintenance" (quote taken from &lt;a href="http://en.wikipedia.org/wiki/Software_maintenance" rel="nofollow"&gt;http://en.wikipedia.org/wiki/Software_maintenance&lt;/a&gt;). So it is really in the interest of the customer that this job is as easy as possible, since it is usually the customer who has to pay for it.&lt;br&gt;&lt;br&gt;The company creating the software, however, usually doesn't have much interest in this, because they will mostly get paid in full for any job they do after delivery, and the maintainability of their creation does not effect their chances of getting a contract for the maintenance. &lt;br&gt;&lt;br&gt;So the only victim here is the customer, who will have to pay more for changes (well, and the poor people who are assigned to the maintenance job, and they are quite often not those who developed it).&lt;br&gt;&lt;br&gt;The second problem is the quantification of maintainability. That is not easy to do, but we all clearly see the difference between code that is easy to change, and code that we don't dear to touch. This tells me that it should be possible to test this somehow.&lt;br&gt;&lt;br&gt;My main point, however, is this:&lt;br&gt;the customer must demand and control that the system they buy is reasonably maintainable. Nobody else will do it.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Rørdam</dc:creator><pubDate>Tue, 20 Feb 2007 13:22:55 -0000</pubDate></item><item><title>Re: On Architecture: The dubious joy of system architecture revision</title><link>http://www.brodwall.com/johannes/blog/2007/02/10/on-architecture-the-dubious-joy-of-system-architecture-revision/#comment-1797698</link><description>Personally, I get afraid when I hear the phrase "design for maintainability". I hear that "if we just worked harder, we wouldn't get into these troubles", and "why can't you do it right the first time." Maybe we are in agreement, but I am still looking for some better method than blaming those who've done the best job the could do under the circumstances with the results.&lt;br&gt;&lt;br&gt;All requirements should have clear (ideally quantifiable, but probably not always quantified) business value. When the customer is knocking at the door, when the software is getting more and more delayed, how can we value maintainability?&lt;br&gt;&lt;br&gt;Dark mood today. Sorry.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johannes Brodwall</dc:creator><pubDate>Mon, 19 Feb 2007 19:29:08 -0000</pubDate></item><item><title>Re: On Architecture: The dubious joy of system architecture revision</title><link>http://www.brodwall.com/johannes/blog/2007/02/10/on-architecture-the-dubious-joy-of-system-architecture-revision/#comment-1797692</link><description>I totally agree</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pelle Waagbø Said</dc:creator><pubDate>Mon, 19 Feb 2007 07:15:03 -0000</pubDate></item><item><title>Re: On Architecture: The dubious joy of system architecture revision</title><link>http://www.brodwall.com/johannes/blog/2007/02/10/on-architecture-the-dubious-joy-of-system-architecture-revision/#comment-1797691</link><description>I'm happy to see that there are people who are concerned about the maintainability of systems. It seems like most people don't care, or they don't have the time right now, or they believe that their code is as easy to understand for other developers as it is for them.&lt;br&gt;&lt;br&gt;I very rarely experience that developers take this aspect into account when they produce something. Maybe not so strange though, as it takes a lot more effort and time (and experience and perhaps some talent) than just making it work. As long as you are under some time pressure, and your manager doesn't ask for it (and probably nobody else either), why should you bother?&lt;br&gt;&lt;br&gt;I think the only way to prevent systems from becoming a mess is to have clear requirements for maintainability, so that it is clear that the system is not finished until these requirements are met.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Rørdam</dc:creator><pubDate>Mon, 19 Feb 2007 06:29:50 -0000</pubDate></item></channel></rss>