Ron Jacobs was recently down in Australia for the Australian Architecture Forum as well as for an Architecture Council tour in Canberra, Sydney and Melbourne.

At the councils, Ron delivered a talk on "The Perfect Pattern Storm: Where TDD meets UX and MVP", which provided some insights into how Test Driven Development (TDD) is influencing solution architectures. His talk pointed out that the test-first mantra was/is having a significant impact in how we design software, in that a lot more thought gets put into making sure that components are testable from the outset. Sometimes this requires a change in approach, and Ron's example of this was how the 'traditional' Model View Controller pattern gave rise to the Model View Presenter (MVP) derivative. This evolution allowed the View to be made as simple (and testable) as possible, by delegating the responsibility for handling UI events to a Presenter class, which was then independently testable in isolation from the actual UI technology (web or forms) that was feeding events to the view.
The testability challenge of MVC never occured to me when I was first exposed to the pattern in my SmallTalk80 days at University, as I was too busily immersed in telnet-based multi-player dungeons and drinking beer with various mates (you know who you are). However, looking back through the lens of Wikipedia, one thing that surprised me was that Kent Beck - the originator of Extreme Programming - was actually a big SmallTalk proponent, and that in fact he'd been thinking of these things all the way back in the mid 90's. It still boggles my mind that anyone would want to build a payroll system in SmallTalk - even back then - given the demands the environment and runtime made on hardware, but then those were the heady days of computing where anything was possible :)
Anyway - Ron's slides from the Architecture Council tour can be found here. Enjoy!
Got back to my desk this afternoon to discover that my machine had been defaced by a certain colleague. Not content with something like seventeen hundred impressions of his likeness during the auREMIX keynote, he also managed to 'brand' my machine, albeit in a fairly low-tech, low-brow way ;)

I think he must have run out of DG stickers.
After many, many months of planning, and a couple of crazy days of actual doing, the Australian Architecture Forum event in Melbourne and Sydney is finally over. We had a great turnout in both cities, and judging from the conversations I had with various people on the day, everyone loves the round-table/breakout format, and the opportunity it provides to get directly connected with other architects. Some of my highlights included:
- Meeting and talking with architects from a very wide range of industries and organisations. Again, for me this is a key value of the AAF, in that it brings together a very diverse group of architects who - as it turns out - tend to share a very common set of opportunities and challenges around SOA.
- Getting some excellent insights into Service Economies for SOA; I'm planning on writing a white paper and/or series of blog entries on some of the ideas I've been pursuing around building better alignment between the business and IT on SOA investment. I decided that I wanted to kick off my research in this area by putting the topic to AAF round-table attendees, and the feedback was very useful. Most salient comment of the day came from one of the attendees (from a logistics org) in the Melbourne round-table: "Why is it so easy to get the business to buy a truck, but so hard to get them to invest in SOA?". Why indeed? This will be the basis of some future thinking and writing on my part :)
- Seeing Ron Jacobs in action, presenting on RESTful services for SOA. I actually had the priviledge of spending the few days prior to the AAF with Ron, delivering Architect Councils in Sydney, Canberra and Melbourne, as well as at various other developer and architecture events, which was a blast!.

- Sitting in on Gianpaolo's session on the Consumerisation of IT, and a couple of his S+S round tables. GP is a very influential thinker in the S+S/SaaS industry, and it was great spending time with him, both in the round tables as well as in the spare time around the AAF.
- Encountering some unexpected branding for a certain recently announced Microsoft consumer product. And no, it's not Groove done right for the internet, nor is it just foldershare re-invented. LiveMesh is something else entirely, but that's a topic for another day.

- Watching Jim Webber and Josh Graham ham it up during their entertaining - and sometimes off-colour - locknote lampooning the entire SOA industry. I'm pretty sure that no stone was left unturned in thier effort to find something or someone to poke fun at :)

I also - unfortunately - missed a lot of sessions as I spent quite a bit of time running around concentrating on logistics. My thanks go out to Graham Elliott, Dave Lemphers, Yuri Misnik, Tom Hollander, and Matt Chessell for their contributions at the AAF, and also thanks very much to Object Consulting (especially Esther and Andy, as well as the rest of the Object team) for putting the shin-dig on and letting us participate!
Minor glitch I think, but the AAF site was back online this morning. Register away - only a few days to go before we kick off in Melbourne!
Got a report this evening (thanks, Michael) that the Australian Architecture Forum site is down. It'll be back online asap, so hold tight if you are trying to register, and keep checking back in with us.
In the meantime, check this little fella out:

We were on the road between Traralgon and Woodside this weekend, on our way to visit P's mum, and came around a corner to discover an 'ex-Roo' laying in the middle of the road. Being a moderately blind corner, it wasn't a great place to suddenly come accross for a large amount of animal at 100Kph, so after a bit of discussion we decided to turn around and move it off the road. Lucky we did, as this little guy was still in it's mum's pouch.
Although sadly it's mum hadn't survived, the Joey seemed to have escaped trauma. We gently pulled it out of it's mum's pouch, wrapped it up nice and warm and called Wildlife Victoria when we got to P's mum's place.
They were amazing, and had a local carer over within the hour to pick it up for fostering. The carer said that it's very common for Joey's to be found alive in their pouches days after their mum's have been hit by vehicles. It just goes to to show - if you hit something, it's really important you stop and check whether it had any young that might have survived (as well as assessing whether the animial you hit can be saved and/or isn't suffering, and doesn't represent a risk to other people on the road).
We're in the final countdown to this year's Australian Architecture Forum, which I'm very proud of being a part of again this year. The AAF - in case you didn't know - is a unique conference designed to maximise opportunities for IT architects to (a) network with other architects and (b) learn how other architects practice architecture, and what they think. The idea is that rather than spend most of the day listening to presenters talk about their topic, AAF attendees split up into smaller round-tables to discuss specific topics with a subject matter expert but mostly with each other.
This is a great opportunity to get with other architects from similar (or dissimilar) backgrounds and industries to learn how they approach architecture, to find areas of common interest and practice, and to get to know others in the industry. It's also a great opportunity to get into a room in order to disagree with what everyone else is saying, which is always entertaining (and educational) if last year's forum is anything to go by :)
This year is shaping up to be very interesting, with Microsoft, IBM, SalesForce and Thoughtworks and Object Consulting working in unison to produce a single-day event that addresses multiple industry points of view. We're at an inflection point in the industry, with traditional on-premise models of software delivery being transformed by the availability of new services provided in the 'cloud'. What does this mean for architecture? How do the traditional concepts of SOA apply to this new model, and what does the future look like. I can't think of many forums where you could get the major players at the same event debating and discussing this topic on neutral ground, which for me is what makes the AAF model compelling.
Some particularly interesting (at least for me) sessions on the agenda:
- Ron Todd, Worldwide Solutions Architect delivering the AAF keynote on SOA and business agility.
- Peter Coffee, SalesForce Director of Platform Intelligence busting some myths about SaaS.
- David Lemphers, newly minted MS corp Cloud Services Product Manager talking about SOA strategies designed to leverage the best of on-premise as well as cloud services.
- Chris Seymour from Object Consulting talking about key SOA drivers for Smart Client applications
- Ron Jacobs, Microsoft Corp WCF/WF evangelist talking about RESTful services co-existing with traditional SOA web services.
- Gianpaolo Carrao, Microsoft Corp, discussing some of the implications of the consumerisation of IT services.
- The Thoughtworks team - Jim Webber, Joshua Graham and Richard Durnall delivering what I think will be an extremely interesting (and knowing Jim) quite possibly very entertaining locknote on how the enterprise is responding to pressures in the modern computing environment (and hopefully it's not all about enterprise computing being backward ;) ).
There's only nine days to go before the first event kicks off in Melbourne on Friday 16th May, while the second event is on in Sydney on Monday 19th May. If you don't have your ticket yet, don't despair - there is still time to register at the AAF site to secure your spot. This is one architecture community event you don't want to miss!
Just got a note from Deeps that the TechEd 2008 site is now live. I'm looking after the Aussie and Kiwi Architecture tracks at TechEd again this year, so I've been thinking about the sort of sessions that we'll have in the track. The official Architecture track summary is as follows:
You already know a lot about different products and technologies, but how do you make them work together to solve business problems? How can you create applications and infrastructures that solve today’s challenges-without just choosing technology for technology’s sake? The Architecture track offers broad architectural perspectives that span many products, technologies and solutions. We can help you further or begin your career as an architect by providing the background, patterns, and real-world guidance you need.
This year, we're focusing on three broad areas:
- Persona: What is the role of an architect? How do I become an architect? What skills does an architect need?
- Patterns: Architectural patterns and practices, considerations like user experience and distributed applications, and current trends like software-plus-services and composite applications.
- Practice: Real-world case studies, best practices, recommendations, and other architecture-related guidance.
The purpose of this track is to help you coordinate your knowledge of multiple products, technologies, and solutions to meet the business needs of your organisation. Further your career and solve tomorrow's architectural problems today with the knowledge you'll gain from the Architecture track.
The general idea of the architecture track is to step up a level of abstraction and look at some of the higher order bits of the topics that are being addressed in the other other parts of TechEd. The track is less about the technology per-say, and more about the considerations and practices raised by the adoption and use of the platform.
So, with that in mind, what do YOU want to see in the track? Who would you like to see presenting from MS corp (or elsewhere) this year? I've got a few speakers in mind, but I'm interested in your feedback about what would be of interest. What topics are going to spin your wheels? Should we be talking more about Live? About S+S? About patterns&practices? Methodologies? Something else?
Let me know your thoughts. As we develop the track, I'll start posting ideas and topics here so you can follow along.
PS: Check out the TechEd Australia and NZ sites. Note the use of Silverlight on the Aussie site. Very pretty. I voted for "Gladiator" :)
Dave recently pinged me on this little meme that's going around that lets you inflict random factoids about yourself on unsuspecting visitors to your blog. I'm up for it. The ground rules are as follows:
- Each player starts with eight random facts/habits about themselves.
- People who are tagged need to write a post on their own blog (about their eight things) and post these rules.
- At the end of your blog, you need to choose eight people to get tagged and list their names.
- Don’t forget to leave them a comment telling them they’re tagged, and to read your blog.
Little-known facts about Nigel
- I'm half-Maori. My Dad was from Taranaki, on the west coast of the North Island of New Zealand. On my mother's side, it's all Scottish and German from the deep south.
- I worked on a shearing gang when I was a student. I was the guy who scraped the dags away
from the fleece during shearing, and then gatherered the shorn fleece
to be transferred to the classing table. I always held jealous
aspirations of working the wool press, which was the most advanced
piece of technology in the shearing shed at the time.
- I am addicted to an online world-war-II combat flight simulator called Aces High. My call-sign is 'whisk' and I'm in a squad called the "Airborne Kitchen Utensil Assault Group", along with several other kitchen implements. My preferred ride is the Pony.
- I once played drums in a progressive country punk power trio called 'The Hyphen-Ears', with Steve Watson and the late Kevin Smith. Kevin went onto become an actor of some repute, most notably as 'Ares, God of War' on 'Xena, Warrior Princess'. Kev was an amazing guy, who's sorely missed by all who were lucky enough to have known him.
- I studied computer science at the University of Canterbury, in Christchurch. My undergrad degree was a B.Sc, and my master's degree was (somewhat bizarrely when I think about it) a M.Com. Really, the post-grad degree thing was all about avoiding getting a job in the real-world.
- Most of my work prior to joining Microsoft was on un*x based platforms. I have worked for Microsoft for 6.5 years now, and I still spend quite a bit of time fiddling with various flavours of Linux.
- My partner's name is Princess. No really, it is.
- I'm a cat person, but allergic to cats. So we have a dog.
So, onto the viral part of the meme - the tagging:
Taking my lead from Greg, I've finally gotten off my derrier and set up my skydrive account so I've got a convenient place to post Melbourne Architecture Council Decks. I've placed the deck from Dr Bohdan Szymanik's excellent session on KiwiBank on the share. Kiwibank's story is very impressive - in seven short years they have built an online bank from (literally) nothing to an operation that now has in excess of 600,000 customers. Not bad for the size of the market in NZ. It was great to hear about how Kiwibank achieved this bootstrapping feat - which was as much about a clear business imperative and overcoming organisational obstacles as it was about technology. Great session, and I'm glad we were lucky enough to have Bodhan come over.
Following all of the excitement around Silverlight 2 at MIX last week, last night we quietly released the source code for the Silverlight Retail Financial Services Demonstrator onto an unsuspecting interweb. This is a technology demonstrator that shows how you can build a rich, immersive online banking experience in Silverlight, and it's got some really shmik features that I wish MY bank had. These include interactive 'what-if' games you can play with your mortgage, being able to schedule payments and model how these affect your account balance through the month, and navigating your stock portfolio, amongst lots of other cool things.
If you are interested in getting a quick overview, there's videoed session from MIX posted up at the VisitMix OpenSpace blog. However, if you're like me, you'll probably just want to download the source and start playing with it, which is what I did :) Here it is, running in (ahem) another browser.

Note, I followed the instructions in the distribution to get this up and running, which are pretty good. However, this is one small change you might need to make in order to get it working on your system. Initially, once I had it all set up, I ran the application, and was rewarded with... a blank browser page. A bit of investigation revealed the cause: in the file TestPage.html.js, you'll find a Javascript function createSilverlight. The first thing this function does is make a call to SilverLight.createObjectEx(), passing a source parameter for the SL xap of "BankingDemo.xap". However, this xap actually lives in the ClientBin subdirectory, and so my browser couldn't find it. Quite simply, the call to createObjectEx never returned a functioning silverlight object to the browser. The fix was simple: just qualify the name in the source parameter as "ClientBin/BankingDemo.xap", as shown below, and all should run fine.

Happy Retail Financial Service Demonstrator Code Tinkering :)
This week, I've been helping host my good friend and colleague Gianpaolo Carraro at a number of round-tables discussing Software + Services. We're half-way through; yesterday we conducted a session in Melbourne, and this morning we were in Canberra. As I write this, I'm at Canberra Airport waiting for our flight to Sydney, where we're on again tomorrow morning.
I have to say it's always fascinating to observe how differently architects in the private sector see the world compared with architects from the public sector. With regard to Software + Services, in Melbourne much of the discussion centred on the practicalities of integrating internal with external systems. In particular, authR/N got a fair bit of attention - i.e. how are you going to do SSO between your internal systems and stuff that's hosted by a cloud provider? Obviously you want your users to have as good an experience as possible, and this doesn't include having to type credentials into every app you access (or incorporate into a mash-up of some kind). Moreover, what about authorisation? It's important that you can map internal user auth groups onto the roles that are (presumably) provided by the service running in the cloud. Very interesting conversation, and to me the entire session was an implicit validation of the model that enterprises will increasingly start to consider externally hosted and run software as well as software that will continue to run on-premise.
On the other hand, at this morning's session in Canberra - to predominantly public sector architects - the focus was much more on the cultural and legaslative aspects of consuming services that are provided by outsiders. As you'd expect, for some federal agencies, relinquishing control over citizen or national data is simply not an option. Think tax, or defence. One of the major concerns is privacy - in the private sector, if someone inadvertantly discloses your financial details, you could probably redress this with some kind of monetary compensation. In the public sector, if someone inadvertantly discloses something about your - say - health records, then it could potentially ruin your life. Because of this you could argue the stakes are considerably higher for this sort of information, and the agencies take the custodianship of this information very seriously.
However, having said this, it was also clear that even in the public sector there are lots of commodotised capabilities that dont necessarily hold personal information, or information of concern to national security, that may be very good candidates for externalising. One example given was ERP - many government purchases are a matter of public record - i.e. department X spent $Y with provider Z. The financial transaction is already in the public domain, and therefore could be hosted/executed by a third-party provider. The details of the transaction i.e. exactly what was purchased, may not be, and could be retained on internal ERP systems that are in some way linked with the external application provider. This to my mind is one of the best aspects of the S+S vision - you can concentrate on what's important for your business (tracking the inventory of what you've bought), and factor out the stuff that's not that interesting (the fiscal details of that purchase).
Anyway - I'm looking forward to the session in Sydney tomorrow morning. I've attached GP's deck to this post - enjoy!
Last week Glenn Smyth, Chief Architect from the Adelaide Bank presented for us at the Melbourne Architect Council.
Ostensibly, this was a talk about SOA, and how you can use capability modelling (ala Motion, now called MSBA) to guide some of your decisions about implementing service oriented architectures. But really, the talk was about good old fashioned organisational politics.
Want IT architecture to have an impact on the business? Get the role out of IT, and _into_ the business. What does this mean? In the case of Adelaide Bank, it means that architecture is a strategic group that reports directly to the CEO. They have a voice with the business, and are seen as adding strategic direction and business value to the organisation rather than simply being seen as 'governance' and 'standards'.
This also means that to be truly effective, enterprise architects MUST understand the business, which further implies that the business itself must be able to articulate what their actual business strategy is. This might seem trite, but quite often it's the case that the business has trouble with this. It's not enough to say "increase market share" or "improve customer retention and monetisation" or even "maximise profits through improved execution and reduced costs". The strategy needs to be more specific than this, and include a clear view of the business intent of the organisation as well as some clear thoughts on the business operating model (ala the thinking from Enterprise Architecture as Strategy: Creating a Foundation for Business Execution).
The upshot is that if, as an enterprise architect, you aren't armed with a clear view of the business intent, strategy and operating model, you are more or less working in the dark as you try to align your architecture (and services) to the business.
It was a great session, with plenty of food for thought. I've attached Glenn's very useful annotated deck to this post - feel free to grab it and have a look at how capability mapping can help your thinking around SOA and working more closely with the business.
The newly (and most likely temporarily) facially hirsuite Dave, the ever-analytical Graham and I spent an intimate evening a few weeks ago with 20 of our closest MOSSIG friends discussing "The Platform". Tim has posted a podcast (and summary) of this session, which I have to admit I haven't had a chance to listen to yet... but from memory it was one of those very interesting chats where everyone is either in vehemant agreement or arguing bitterly about semantcs :)
FWIW - I still maintain (looking furtively at CodeJedi here) that the .NET framework, as well as the SCSF, SSF and the WCSF are all platforms by my admittedly arbitrary definition: "any code artifact that accelerates your time to value is a platform".
Thanks Tim for giving us an opportunity to be part of a really interesting discussion!
It's hard to believe that it's only a few days until the inaugural Australian Architecture Forum. But don't despair, there's still time to register for the event if you haven't had a chance to yet. I've been looking at the agenda today, and it looks like it'll be a really interesting conference. Some highlights - at least for me - are:
Dr Paul Ashley from IBM talking about IBM's take on e-Business patterns
The IBM Patterns for e-Business (p4eb) have been used by architects and specialists in sales and delivery situations for a number of years. They can be used to provide a step by step approach to designing a solution for a client, by partitioning the problem into logical business patterns. These patterns are then refined through application, runtime and deployment patterns. The advantage of using p4eb is that they are a great productivity tool in designing systems and also express the design in a common language that is easily understood. With the advent of SOAs and Web 2.0, the p4eb are evolving to make use of these new technologies. Significant work is underway to update the patterns so they reflect the current thinking in both these areas, providing new solution approaches.
It's clear to me that - at the moment - there's a dearth of good architectural guidance for enterprises looking at how best to incorporate Web 2.0 concepts into their architectures, so it'll be interesting to get IBM's perspective on this.
Phil Argy, ACS president hosting a roundtable discusing IP, and ramifications for software development
As a partner of Mallesons Stephen Jaques for over 20 years and President of ACS and on World Intellectual Property Organisation (WIPO) panel of arbitrators for the resolution of intellectual property disputes Philip Argy is uniquely qualified to lead this discussion on the discussion on the legal ramifications and challenges of writing software in Australia.
This is a really interesting topic. Do we pay enough attention to the legal side of the systems we architect? In my experience, I'm not sure we do...
Evan Bottcher from Thoughtworks discussing legacy application extension
The project team faced a tough challenge. The business wanted to build some major new features for their resource planning application, but the existing code was a bit of a mess. Serious design problems were immediately apparent which would make it difficult to deliver the new features required, and the current functionality could not be clearly understood. There was almost no automated test coverage to give confidence. Surely it would be best to start from a clean sheet of paper?
Instead the team embraced the legacy and carefully renovated the application while delivering new functionality. This enabled us to make earlier and more frequent releases and reduce risk dramatically. This session will share the approach used by the team to quickly and safely extend and improve the application.
IMHO War stories are probably one of the best ways to learn more about the practice of architecture, so this session and other similar case studies from the community are going to be really valuable parts of the conference
Brett McDowell from Object Consulting talking about the practice of Architecture
What skills, experiences and other attributes are needed to be an Architect? What levels and types of Architects are out there and what exactly do they do?
'Architecture' in IT can mean a range of things. Typically it is a poorly structured discipline within the software industry as a whole and within the software engineering fraternity in particular. One of the reasons is the number of 'soft' aspects to architecture which have proven difficult to formularise, codify and document.
Most Architects work in an ad hoc manner and will have a range of tricks and techniques and some shortcuts and preconceived ideas of what works and what doesn’t. But very few Architects can actually describe how to actually architect a system clearly, which makes it very difficult for people wishing to become architects.
'Architecture' is such a broad term that it's often hard to figure out what it actually means to be an 'architect'. Should be a fascinating round-table.
On that same topic, it's also good to note that IASA international president Paul Preiss will be in Australia especially for the Architecture Forum to talk about how the IASA are working with the international community to address some of the concerns the industry has regarding legitimising the role of 'architect'
Join Paul Preiss, President of the International Association of Software Architects, as he guides you through the knowledge required in today’s software architects. This knowledge base comes from the official IASA skills taxonomy (http://www.iasahome.org/web/home/skillset) which represents a revolutionary step in the development of the architecture profession. For the first time real architects detail the knowledge and capabilities which have taken them to the top of the field. The knowledge was taken from over 85 of the world’s top architects, each with over 10 years experience in IT architecture. It has been compiled into a powerful set of materials which describe the skills you need to be successful. In this exclusive session Paul will show you how to increase your existing skill set using this powerful knowledge base.
There's lots of other great sessions - the entire agenda is online for you to have a look at on the forum site. So, if you haven't registered to come along already there's still time! Hope to see you there!
I couldn't resist it.
Check out Frank's blog for more TechEd LOLCATs madness.