<?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>Tim Anderson's ITWriting &#187; agile</title>
	<atom:link href="http://www.itwriting.com/blog/category/agile/feed" rel="self" type="application/rss+xml" />
	<link>http://www.itwriting.com/blog</link>
	<description>Tech writing blog</description>
	<lastBuildDate>Tue, 16 Mar 2010 17:29:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>QCon London 2010 report: fix your code, adopt simplicity, cool .NET things</title>
		<link>http://www.itwriting.com/blog/2346-qcon-london-2010-report-fix-your-code-adopt-simplicity-cool-net-things.html</link>
		<comments>http://www.itwriting.com/blog/2346-qcon-london-2010-report-fix-your-code-adopt-simplicity-cool-net-things.html#comments</comments>
		<pubDate>Fri, 12 Mar 2010 11:46:57 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[qcon]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2346-qcon-london-2010-report-fix-your-code-adopt-simplicity-cool-net-things.html</guid>
		<description><![CDATA[<p>I’m just back from QCon London, a software development conference with an agile flavour that I enjoy because it is not vendor-specific. Conferences like this are energising; they make you re-examine what you are doing and may kick you into a better place. Here’s what I noticed this year. </p>
<p>Robert C Martin from Object Mentor <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2346-qcon-london-2010-report-fix-your-code-adopt-simplicity-cool-net-things.html">QCon London 2010 report: fix your code, adopt simplicity, cool .NET things</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/2334-functional-programming-nosql-themes-at-qcon-london.html' rel='bookmark' title='Permanent Link: Functional programming, NOSQL themes at QCon London'>Functional programming, NOSQL themes at QCon London</a></li>
<li><a href='http://www.itwriting.com/blog/544-qcon-london.html' rel='bookmark' title='Permanent Link: QCon London'>QCon London</a></li>
<li><a href='http://www.itwriting.com/blog/2340-martin-fowler-on-the-ethics-of-software-development-qcon-report.html' rel='bookmark' title='Permanent Link: Martin Fowler on the ethics of software development &ndash; QCon report'>Martin Fowler on the ethics of software development &ndash; QCon report</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I’m just back from <a href="http://qconlondon.com/" target="_blank">QCon London</a>, a software development conference with an agile flavour that I enjoy because it is not vendor-specific. Conferences like this are energising; they make you re-examine what you are doing and may kick you into a better place. Here’s what I noticed this year. </p>
<p><a href="http://blog.objectmentor.com/articles/category/uncle-bobs-blatherings" target="_blank">Robert C Martin</a> from <a href="http://www.objectmentor.com/" target="_blank">Object Mentor</a> gave the opening keynote, on software craftsmanship. His point is that code should not just work; it should be good. He is delightfully opinionated. Certification, he says, provides value only to certification bodies. If you want to know whether someone has the skills you want, talk to them. </p>
<p>Martin also came up with a bunch of tips for how to write good code, things like not having more than two arguments to a function and never a boolean. I’ve <a href="http://www.itjoblog.co.uk/2010/03/software-craftsmanship.html" target="_blank">written these up elsewhere</a>.</p>
<p><a href="http://www.itwriting.com/blog/wp-content/uploads/2010/03/image10.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.itwriting.com/blog/wp-content/uploads/2010/03/image_thumb10.png" width="404" height="310" /></a> </p>
<p>Next I looked into the non-relational database track and heard Geir Magnusson explain why he needed <a href="http://project-voldemort.com/" target="_blank">Project Voldemort</a>, a distributed key-value storage system, to get his ecommerce site to scale. Non-relational or NOSQL is a big theme these days; database managers like <a href="http://couchdb.apache.org/" target="_blank">CouchDB</a> and <a href="http://www.mongodb.org/display/DOCS/Home" target="_blank">MongoDB</a> are getting a lot of attention. I would like to have spent more time on this track; but there was too much else on; a problem with QCon.</p>
<p>I therefore headed for the functional programming track, where Don Syme from Microsoft Research gave an inspiring talk on F#, Microsoft’s new functional language. He has a series of hilarious slides showing F# code alongside its equivalent in C#. Here is an example:</p>
<p><a href="http://www.itwriting.com/blog/wp-content/uploads/2010/03/image11.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.itwriting.com/blog/wp-content/uploads/2010/03/image_thumb11.png" width="404" height="331" /></a> </p>
<p>The white panel is the F# code; the rest of the slide is C#.</p>
<p>Seeing a slide that this makes you wonder why we use C# at all, though of course Syme has chosen tasks like asychronous IO and concurrent programming for which F# is well suited. Syme also observed that F# is ideal for working with immutable data, which is common in internet programming. I grabbed a copy of <a href="http://www.amazon.co.uk/gp/product/0596153643?ie=UTF8&amp;tag=onlyconnectsyste&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0596153643" target="_blank">Programming F#</a> for further reading.</p>
<p>Over on the Architecture track, Andres Kütt spoke on Five Years as a Skype Architect. His main theme: most of a software architect’s job is communication, not poring over diagrams and devising code structures. This is a consistent theme at QCon and in the Agile movement; get the communication right and all else follows. I was also interested in the technical side though. Skype started with SOAP but switched to a REST model for web services. Kütt also told us about the languages Skype uses: PHP for the web site, C or C++ for heavy lifting and peer-to-peer networking; Delphi for the Windows interface; <a href="http://www.postgresql.org/" target="_blank">PostgreSQL</a> for the database.</p>
<p>Day two of QCon was even better. I’ve written up Martin Fowler’s talk on the ethics of software development in a <a href="http://www.itwriting.com/blog/2340-martin-fowler-on-the-ethics-of-software-development-qcon-report.html" target="_blank">separate post</a>. Following that, I heard Canonical’s Simon Wardley speak about cloud computing. Canonical is making a big push for <a href="http://www.ubuntu.com/cloud" target="_blank">Ubuntu’s cloud package</a>, available both for private use or hosted on Amazon’s servers; and attendees at the QCon CloudCamp later on were given a lavish, pointless cardboard box with promotional details. To be fair to Wardley though, he did not talk much about Ubuntu’s cloud solution, though he did make the point that open source makes transitions between providers much cheaper. </p>
<p>Wardley’s most striking point, repeated perhaps too many times, is that we have no choice about whether to adopt cloud computing, since we will be too much disadvantaged if we reject it. He says it is now more a management issue than a technical one.</p>
<p>Dan North from ThoughtWorks gave a funny and excellent session on simplicity in architecture. He used pseudo-biblical language to describe the progress of software architecture for distributed systems, finishing with</p>
<blockquote><p>On the seventh day God created REST</p>
</blockquote>
<p>Very good; but his serious point is that the shortest, simplest route to solving a problem is often the best one, and that we constantly make the mistake of using over-generalised solutions which add a counter-productive burden of complexity. </p>
<p>North talked about techniques for lateral thinking, finding solutions from which we are mentally blocked, by chunking up, which means merging details into bigger ideas, ending up with “what is this thing for anyway”; and chunking down, the reverse process, which breaks a problem down into blocks small enough to comprehend. Another idea is to articulate a problem to a colleague, which exercises different parts of the brain and often stimulates a solution – one of the reasons pair programming can be effective.</p>
<p>A common mistake, he said, is to keep using the same old products or systems or architectures because we always do, or because the organisation is already heavily invested in it, meaning that better alternatives do not get considered. He also talked about simple tools: a whiteboard rather than a CASE tool, for example.</p>
<p>Much of North’s talk was a variant of YAGNI – you ain’t gonna need it – an agile principle of not implementing something until/unless you actually need it.</p>
<p>I’d like to put this together with something from later in the day, a talk on cool things in the .NET platform. One of these was Guerrilla SOA, though it is not really specific to .NET. To get the idea, read <a href="http://jim.webber.name/2009/10/30/617410fc-7ec9-489f-a937-f50cf090bf48.aspx" target="_blank">this blog post</a> by Jim Webber, another from the ThoughtWorks team (yes, there are a lot of them at QCon). Here’s a couple of quotes:</p>
<blockquote><p>Prior to our first project starting, that client had already undertaken some analysis of their future architecture (which needs scalability of 1 billion transactions per month) using a blue-chip consultancy. The conclusion from that consultancy was to deploy a bus to patch together the existing systems, and everything else would then come together. The upfront cost of the middleware was around £10 million. Not big money in the grand scheme of things, but this £10 million didn&#8217;t provide a working solution, it was just the first step in the process that would some day, perhaps, deliver value back to the business, with little empirical data to back up that assertion.</p>
<p>My (small) team &#8230; took the time to understand how to incrementally alter the enterprise architecture to release value early, and we proposed doing this using commodity HTTP servers at £0 cost for middleware. Importantly we backed up our architectural approach with numbers: we measured the throughput and latency characteristics of a representative spike (a piece of code used to answer a question) through our high level design, and showed that both HTTP and our chosen Web server were suitable for the volumes of traffic that the system would have to support &#8230; We performance tested the solution every single day to ensure that we would always be able to meet the SLAs imposed on us by the business. We were able to do that because we were not tightly coupled to some overarching middleware, and as a consequence we delivered our first service quickly and had great confidence in its ability to handle large loads. With middleware in the mix, we wouldn&#8217;t have been so successful at rapidly validating our service&#8217;s performance. Our performance testing would have been hampered by intricate installations, licensing, ops and admin, difficulties in starting from a clean state, to name but a few issues &#8230; The last I heard a few weeks back, the system as a whole was dealing with several hundred percent more transactions per second than before we started. But what&#8217;s particularly interesting, coming back to the cost of people versus cost of middleware argument, is this: we spent nothing on middleware. Instead we spent around £1 million on people, which compares favourably to the £10 million up front gamble originally proposed.</p>
</blockquote>
<p>This strikes me as an example of the kind of approach North advocates.</p>
<p>You may be wondering what other cool .NET things were presented. This session was called the State of the Art .NET, given by Amanda Laucher and Josh Graham. They offer a dozen items which they considered .NET folk should be using or learning about:</p>
<ol>
<li>F# (again) </li>
<li>M &#8211; modelling/DSL language </li>
<li><a href="http://boo.codehaus.org/" target="_blank">Boo</a> – static Python for .NET </li>
<li>NUnit – unit testing. Little regard for Microsoft’s test framework in Team System, which is seen as a wasted and inferior effort. </li>
<li>RhinoMocks – mocking library </li>
<li>Moq – another mocking library </li>
<li>NHibernate – object-relational mapping </li>
<li><a href="http://www.castleproject.org/container" target="_blank">Windsor</a> – dependency injection, part of Castle project. Controversial; some attendees thought it too complex. </li>
<li><a href="http://nvelocity.sourceforge.net/" target="_blank">NVelocity</a> &#8211; .NET template engine </li>
<li>Guerrilla SOA – see above </li>
<li>Azure – Microsoft’s cloud platform – surprisingly good thanks to David Cutler’s involvement, we were told </li>
<li>MEF – Managed Extensibility Framework as found in Visual Studio 2010, won high praise from those who have tried it </li>
</ol>
<p>That was my last session (I missed Friday) though I did attend the first part of <a href="http://cloudcamp.org/" target="_blank">CloudCamp</a>, an unconference for cloud early adopters. I am not sure there is much point in these now. The cloud is no longer subversive and the next new thing; all the big enterprise vendors are onto it. Look at the CloudCamp sponsor list if you doubt me. There are of course still plenty of issues to talk about, but maybe not like this; I stayed for the first hour but it was dull.</p>
<p>For more on QCon you might also want to read back through my <a href="http://twitter.com/timanderson" target="_blank">Twitter feed</a> or search the entire <a href="http://twitter.com/search?q=%23qcon" target="_blank">#qcon tag</a> for what everyone else thought.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/2334-functional-programming-nosql-themes-at-qcon-london.html' rel='bookmark' title='Permanent Link: Functional programming, NOSQL themes at QCon London'>Functional programming, NOSQL themes at QCon London</a></li>
<li><a href='http://www.itwriting.com/blog/544-qcon-london.html' rel='bookmark' title='Permanent Link: QCon London'>QCon London</a></li>
<li><a href='http://www.itwriting.com/blog/2340-martin-fowler-on-the-ethics-of-software-development-qcon-report.html' rel='bookmark' title='Permanent Link: Martin Fowler on the ethics of software development &ndash; QCon report'>Martin Fowler on the ethics of software development &ndash; QCon report</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2346-qcon-london-2010-report-fix-your-code-adopt-simplicity-cool-net-things.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Technology trends: Silverlight, Flex little use says Thoughtworks as it Goes Google</title>
		<link>http://www.itwriting.com/blog/2074-technology-trends-silverlight-flex-little-use-says-thoughtworks-as-it-goes-google.html</link>
		<comments>http://www.itwriting.com/blog/2074-technology-trends-silverlight-flex-little-use-says-thoughtworks-as-it-goes-google.html#comments</comments>
		<pubDate>Mon, 11 Jan 2010 16:49:12 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[web authoring]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[thoughtworks]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2074-technology-trends-silverlight-flex-little-use-says-thoughtworks-as-it-goes-google.html</guid>
		<description><![CDATA[Today Martin Fowler at Thoughtworks tweeted a link to the just-published Thoughtworks Technology Radar [pdf] paper, which aims to “help decision makers understand emerging technologies and trends that affect the market today”.

It is a good read, as you would expect from Thoughtworks, a software development company with a bias towards <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2074-technology-trends-silverlight-flex-little-use-says-thoughtworks-as-it-goes-google.html">Technology trends: Silverlight, Flex little use says Thoughtworks as it Goes Google</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/291-thoughtworks-mingle-is-jruby-always-this-slow.html' rel='bookmark' title='Permanent Link: ThoughtWorks Mingle: is JRuby always this slow?'>ThoughtWorks Mingle: is JRuby always this slow?</a></li>
<li><a href='http://www.itwriting.com/blog/277-salesforcecom-google-adobe-flex-and-air-new-internet-platform.html' rel='bookmark' title='Permanent Link: Salesforce.com + Google + Adobe Flex and AIR = New Internet platform?'>Salesforce.com + Google + Adobe Flex and AIR = New Internet platform?</a></li>
<li><a href='http://www.itwriting.com/blog/1278-programming-language-trends-flash-up-ajax-down.html' rel='bookmark' title='Permanent Link: Programming language trends: Flash up, AJAX down?'>Programming language trends: Flash up, AJAX down?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Today Martin Fowler at <a href="http://www.thoughtworks.com/" target="_blank">Thoughtworks</a> tweeted a link to the just-published <a href="http://www1.vtrenz.net/imarkownerfiles/ownerassets/1013/Technology%20Radar%20Jan%202010.pdf" target="_blank">Thoughtworks Technology Radar</a> [pdf] paper, which aims to “help decision makers understand emerging technologies and trends that affect the market today”.</p>
<p>It is a good read, as you would expect from Thoughtworks, a software development company with a bias towards Agile methodology and a formidable reputation.</p>
<p>The authors divide technology into four segments, from Hold – which means steer clear for the time being – to Adopt, ready for prime time. In between are Assess and Trial.</p>
<p>I was interested to see that Thoughtworks is ready to stop supporting IE6 and that ASP.NET MVC is regarded as ready to use now. So is Apple iPhone as a client platform, with Android not far behind (Trial).</p>
<p>Thoughtworks is also now contemplating Java language end of life (Assess), but remains enthusiastic about the JVM as a platform (Adopt), and about Javascript as a first class language (also Adopt). C# 4.0 wins praise for its new dynamic features and pace of development in general.</p>
<p>Losers? I was struck by how cool Thoughtworks is towards Rich Internet Applications (Adobe Flash and Microsoft Silverlight):</p>
<blockquote><p>Our position on Rich Internet Applications has changed over the past year. Experience has shown that platforms such as Silverlight, Flex and JavaFX may be useful for rich visualizations of data but provide few benefits over simpler web applications.</p></blockquote>
<p>The team has even less interest in Microsoft’s Internet Explorer – even IE8 is a concern with regard to web standards – whereas Firefox lies at the heart of the Adopt bullet.</p>
<p>In the tools area, Thoughtworks is moving away from Subversion and towards distributed version control systems (Git, Mercurial).</p>
<p>Finally, Thoughtworks is Going Google:</p>
<blockquote><p>At the start of October, ThoughtWorks became a customer of Google Apps. Although we have heard a wide range of opinions about the user experience offered by Google Mail, Calendar and Documents, the general consensus is that our largely consultant workforce is happy with the move. The next step that we as a company are looking to embrace is Google as a corporate platform beyond the standard Google Apps; in particular we are evaluating the use of Google App Engine for a number of internal systems initiatives.</p></blockquote>
<p>A thought-provoking paper which makes more sense to me than the innumerable Gartner Magic Quadrants; I’d encourage you to read the whole paper (only 8 pages) and not to be content with my highlights.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/291-thoughtworks-mingle-is-jruby-always-this-slow.html' rel='bookmark' title='Permanent Link: ThoughtWorks Mingle: is JRuby always this slow?'>ThoughtWorks Mingle: is JRuby always this slow?</a></li>
<li><a href='http://www.itwriting.com/blog/277-salesforcecom-google-adobe-flex-and-air-new-internet-platform.html' rel='bookmark' title='Permanent Link: Salesforce.com + Google + Adobe Flex and AIR = New Internet platform?'>Salesforce.com + Google + Adobe Flex and AIR = New Internet platform?</a></li>
<li><a href='http://www.itwriting.com/blog/1278-programming-language-trends-flash-up-ajax-down.html' rel='bookmark' title='Permanent Link: Programming language trends: Flash up, AJAX down?'>Programming language trends: Flash up, AJAX down?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2074-technology-trends-silverlight-flex-little-use-says-thoughtworks-as-it-goes-google.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe&#8217;s chameleon Flash shows its enterprise colours</title>
		<link>http://www.itwriting.com/blog/1846-adobes-chameleon-flash-shows-its-enterprise-colours.html</link>
		<comments>http://www.itwriting.com/blog/1846-adobes-chameleon-flash-shows-its-enterprise-colours.html#comments</comments>
		<pubDate>Wed, 07 Oct 2009 15:27:41 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/1846-adobes-chameleon-flash-shows-its-enterprise-colours.html</guid>
		<description><![CDATA[<p>Duane Nickull is Senior Technical Evangelist at Adobe and co-author of Web 2.0 Architectures which I reviewed recently. He is also Duane Chaos of grunge band 22nd Century and entertained us at the Adobe MAX party last night in Los Angeles.</p>
<p></p>
<p>It’s appropriate that he works for Adobe, whose Flash runtime has parallel chameleon characteristics. Most <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/1846-adobes-chameleon-flash-shows-its-enterprise-colours.html">Adobe&#8217;s chameleon Flash shows its enterprise colours</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/1541-what-next-for-adobe-livecycle-es.html' rel='bookmark' title='Permanent Link: What next for Adobe LiveCycle ES?'>What next for Adobe LiveCycle ES?</a></li>
<li><a href='http://www.itwriting.com/blog/1434-adobes-flex-builder-to-flash-builder-name-change-does-not-go-far-enough.html' rel='bookmark' title='Permanent Link: Adobe&rsquo;s Flex Builder to Flash Builder name change does not go far enough'>Adobe&rsquo;s Flex Builder to Flash Builder name change does not go far enough</a></li>
<li><a href='http://www.itwriting.com/blog/367-adobe-shows-how-anything-can-be-a-web-application.html' rel='bookmark' title='Permanent Link: Adobe shows how anything can be a web application'>Adobe shows how anything can be a web application</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.blogger.com/profile/08767498160563891543" target="_blank">Duane Nickull</a> is Senior Technical Evangelist at Adobe and co-author of Web 2.0 Architectures which I <a href="http://www.itwriting.com/blog/1815-book-review-web-2-0-architectures.html" target="_blank">reviewed recently</a>. He is also Duane Chaos of grunge band <a href="http://www.myspace.com/22ndcentury" target="_blank">22nd Century</a> and entertained us at the Adobe MAX party last night in Los Angeles.</p>
<p><img title="Duane Chaos at Adobe MAX bash in LA" src="http://www.itwriting.com/images/duane-chaos.jpg" alt="Duane Chaos at Adobe MAX bash in LA" /></p>
<p>It’s appropriate that he works for Adobe, whose Flash runtime has parallel chameleon characteristics. Most of the time it is delivering <a href="http://www.itwriting.com/blog/1841-three-reasons-why-adobe-flash-is-hated.html" target="_blank">annoying ads</a>, games or silly videos; but it also turns up as a flexible cross-platform client runtime for Enterprise applications.</p>
<p>We saw this demonstrated yesterday in an excellent session on scaling Flex for a large trading application, given by the developers of Morgan Stanley’s <a href="http://www.morganstanley.com/matrixinfo/" target="_blank">Matrix</a> application about which I have <a href="http://www.itwriting.com/blog/1655-morgan-stanley-why-we-didnt-use-silverlight-for-matrix.html" target="_blank">written before</a>. This session was far more informative than the earlier online briefing, and a fascinating case study in how to create Enterprise-grade software.</p>
<p><img src="http://www.itwriting.com/images/mg-matrix.gif" alt="" /></p>
<p>Matrix was built by a team of around 30 Flex developers, over a period of between 18 months and two years. It uses a REST-based service layer which talks to a variety of Java and .NET back-end servers – we didn’t hear much about these – and delivering XML to the Flex client. The team did not use the Flash-optimised AMF protocol because the app uses <a href="http://www.lightstreamer.com/" target="_blank">Lightstreamer</a> which did not support it at the time, though we were told that AMF would be advantageous and may be used in future. LiveCycle Data Services were ruled out because of lack of support for edge server deployment; again, this has apparently been fixed in the latest LiveCycle so migrating in that direction is possible.</p>
<p>Matrix uses the <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm" target="_blank">Cairngorm 3</a> architecture, which specifies best-practice design patterns for Flex, implemented using the <a href="http://www.spicefactory.org/parsley/" target="_blank">Parsley Application Framework</a>. The application is modular, and we heard a lot about how rigorous module encapsulation makes a large application like this &#8211; 600,000 lines of Flex code – manageable, reliable, flexible and testable. One module cannot access the implementation details of another, and a message bus handles communication.</p>
<p>I was also impressed by the attention given to performance. Another advantage of using modules is that they are loaded on demand, reducing the load time and memory footprint. Each module is profiled separately. The team also found that a big factor in Flex performance is efficiency in managing redraw regions – apparently Flash can easily be sloppy about this and redraw regions that have not actually changed. The team patched the UIMovieClip component to overcome problems in this area.</p>
<p>A model-view-controller architecture is used for the user interface, and this enables better testability. The team uses continuous integration to maintain quality.</p>
<p>According to the session presenters, the result is an application that has the high performance required of a financial trading application, and can run for extended periods without issues.</p>
<p>Although I had the impression that developing Matrix has been bleeding edge at times, with the team using beta software to get access to new features, there was also evidence that Adobe was responding to issues and using this as an opportunity to improve its platform.</p>
<p>This makes a great case study for those sceptical about whether the Flash runtime is really capable of powering Enterprise clients, or for any Flex developer.</p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:649b5fc7-3ea0-45c0-8026-3be74f71feac" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/adobe">adobe</a>,<a rel="tag" href="http://technorati.com/tags/matrix">matrix</a>,<a rel="tag" href="http://technorati.com/tags/flex">flex</a>,<a rel="tag" href="http://technorati.com/tags/livecycle">livecycle</a>,<a rel="tag" href="http://technorati.com/tags/cairngorm">cairngorm</a>,<a rel="tag" href="http://technorati.com/tags/parsley+application+framework">parsley application framework</a></div>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/1541-what-next-for-adobe-livecycle-es.html' rel='bookmark' title='Permanent Link: What next for Adobe LiveCycle ES?'>What next for Adobe LiveCycle ES?</a></li>
<li><a href='http://www.itwriting.com/blog/1434-adobes-flex-builder-to-flash-builder-name-change-does-not-go-far-enough.html' rel='bookmark' title='Permanent Link: Adobe&rsquo;s Flex Builder to Flash Builder name change does not go far enough'>Adobe&rsquo;s Flex Builder to Flash Builder name change does not go far enough</a></li>
<li><a href='http://www.itwriting.com/blog/367-adobe-shows-how-anything-can-be-a-web-application.html' rel='bookmark' title='Permanent Link: Adobe shows how anything can be a web application'>Adobe shows how anything can be a web application</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/1846-adobes-chameleon-flash-shows-its-enterprise-colours.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Beck on Agile: it&#8217;s all about the team</title>
		<link>http://www.itwriting.com/blog/549-beck-on-agile-its-all-about-the-team.html</link>
		<comments>http://www.itwriting.com/blog/549-beck-on-agile-its-all-about-the-team.html#comments</comments>
		<pubDate>Thu, 13 Mar 2008 15:08:24 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/?p=549</guid>
		<description><![CDATA[<p>Kent Beck is really a relationship consultant, or should that be counsellor? This is not a bad thing. Beck gave a keynote this morning here at Qcon and talked a bit about techie topics like frequent deployment (he claims that Flickr deploys every half an hour) and creating more tests more often, but the main <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/549-beck-on-agile-its-all-about-the-team.html">Beck on Agile: it&#8217;s all about the team</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/992-tell-me-whats-wrong-with-microsofts-team-system.html' rel='bookmark' title='Permanent Link: Tell me what&rsquo;s wrong with Microsoft&rsquo;s Team System'>Tell me what&rsquo;s wrong with Microsoft&rsquo;s Team System</a></li>
<li><a href='http://www.itwriting.com/blog/2289-microsoft-net-gotchas-revealed-by-visual-studio-team.html' rel='bookmark' title='Permanent Link: Microsoft .NET gotchas revealed by Visual Studio team'>Microsoft .NET gotchas revealed by Visual Studio team</a></li>
<li><a href='http://www.itwriting.com/blog/1892-visual-studio-2010-to-launch-march-22-with-azure-team-foundation-server-for-all.html' rel='bookmark' title='Permanent Link: Visual Studio 2010 to launch March 22 with Azure, Team Foundation Server for all'>Visual Studio 2010 to launch March 22 with Azure, Team Foundation Server for all</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Kent Beck is really a relationship consultant, or should that be counsellor? This is not a bad thing. Beck gave a keynote this morning here at <a href="http://jaoo.dk/london-2008/conference/" target="_blank">Qcon</a> and talked a bit about techie topics like frequent deployment (he claims that Flickr deploys every half an hour) and creating more tests more often, but the main focus of his talk is relationships within the development team and between the team and the business people (if they regard themselves as separate). </p>
<p>Beck says that the ubiquity of computing is changing the typical characteristics of a programmer. When only geeks had computers, programmers were inevitably geeky &#8211; and for whatever reason, that often meant something of a social misfit. Today everyone grows up with computers, which he says makes programming more accessible to non-geeks, who have better social skills.</p>
<p>Reflecting on this, I&#8217;m not quite convinced. Yes, everyone grows up with computers, but few have any inclination to understand how they work. A nation of car-drivers does not make a nation of engineers.</p>
<p>Still, that doesn&#8217;t affect his main point, which is that characteristics like trustworthiness, transparency, honesty, accountability, and the ability to get on well with others, are critical to successful development:</p>
<blockquote><p>I focus on what developers can do to have better social skills and be better business partners.</p>
</blockquote>
<p>In an aside on accountability, Beck makes a point about Windows and the &#8220;beginning of the end of the Microsoft monopoly.&#8221; He says that people are realising that they don&#8217;t have to put up with computers that are unreliable or require frequent restarts:</p>
<blockquote><p>How many hours are spent worldwide waiting for Windows to restart, do the maths. Software needs to be effective and needs to work; increasingly there are alternatives.</p>
</blockquote>
<p>Windows can work pretty well in the right circumstances; but it&#8217;s a fair point nonetheless. I recall the effort it took to <a href="http://www.itwriting.com/blog/?p=522" target="_blank">set up a laptop</a> recently. Microsoft&#8217;s fault, or third-party problems? Both; but the user doesn&#8217;t care whose fault it is, but only wants a better experience.</p>
<p>Incidentally, the team theme came up again when <a href="http://www.goodliffe.net/" target="_blank">Peter Goodliffe</a> spoke on good and bad application design. He observed that bad design is damaging to teams; uncertainty about what the code does or where new code should go stresses relationships, and working with a bad design damages morale. My reflection was that the team is primary, not the design. A bad team will never come up with a good design. A good team could still find itself working with a bad design though, so focus on design is never wasted.</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f51e8b2a-7dca-43b5-842e-d626f86746d0" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati tags: <a href="http://technorati.com/tags/kent%20beck" rel="tag">kent beck</a>, <a href="http://technorati.com/tags/qcon" rel="tag">qcon</a>, <a href="http://technorati.com/tags/design" rel="tag">design</a>, <a href="http://technorati.com/tags/windows" rel="tag">windows</a>, <a href="http://technorati.com/tags/software%20development" rel="tag">software development</a></div>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/992-tell-me-whats-wrong-with-microsofts-team-system.html' rel='bookmark' title='Permanent Link: Tell me what&rsquo;s wrong with Microsoft&rsquo;s Team System'>Tell me what&rsquo;s wrong with Microsoft&rsquo;s Team System</a></li>
<li><a href='http://www.itwriting.com/blog/2289-microsoft-net-gotchas-revealed-by-visual-studio-team.html' rel='bookmark' title='Permanent Link: Microsoft .NET gotchas revealed by Visual Studio team'>Microsoft .NET gotchas revealed by Visual Studio team</a></li>
<li><a href='http://www.itwriting.com/blog/1892-visual-studio-2010-to-launch-march-22-with-azure-team-foundation-server-for-all.html' rel='bookmark' title='Permanent Link: Visual Studio 2010 to launch March 22 with Azure, Team Foundation Server for all'>Visual Studio 2010 to launch March 22 with Azure, Team Foundation Server for all</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/549-beck-on-agile-its-all-about-the-team.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
