Richard's Rant

Principal .NET Consultant, MCSD Certified

August 2008 - Posts

Coldest Ride Ever!

This morning was the coldest ride I have been on. When I left home at 6:20 AM, the apparent temperature at Archerfield was -1.2 Celsius. As I went through the park to get to Paradise Road, I snapped this picture:

IMAG0015

And yes, that white stuff is frost!

My cheeks were aching with the cold. I must be totally mad.

Is UML A Good Thing in an Agile World?

I remember when I was at University and we were taught this new thing called UML that was going to change the world and make all software development predictable and manageable. Like most things that you are taught at University, the teaching is disconnected from reality: no one knew about it, it was hard to grasp, it went against all conventional wisdom, etc. For an industry that changes so rapidly, there are plenty of examples of the inertia that people in the industry exhibit.

So I come to the question of whether using UML is a good thing. Logic would say that it is a good thing: the ability to model a software artifact before coding holds the promise of better implementation, less time spent in coding, etc.  This is in contradiction with the current wave of agile methodologies, which espouse overall design and instead focuses on short development spurts to deliver small pieces of functionality. Does UML have a place in this new world?

So what is a Software Architect to do? Well, for my 2 cents, using a great UML tool allows the modeller to abstract the design from an implementation, which makes the model more flexible. However, this does bring a lot of issues to the surface, such as the developers losing control of the design process, and developers then being relegated to nothing but code monkeys. Management loves this idea, because it allows them to "offshore" the actual building of the model, lowering costs. Developers must, therefore, change the what they do, which can be very hard due to the inertia that a lot of developers display. From my observations, resistance to change is very high, and brings a whole new set of stresses to the Software Architect.

So back to the question in hand: Is there a place in this new agile world for Model Driven Architecture? Well, I guess that depends on the size of the software model. For an enterprise, using a Model Driven Architecture approach brings great benefits in terms on standardisation, and adherence to a plan that is more aligned with the business. The downside is that the business may not be as agile as a smaller organisation that does not use an MDA approach.

Links for Tuesday 12 August 2008
  • Really good article on Database Modelling. It explains some of the proposed extensions to the UML to cater for Data Models.
Links for Monday 11 August 2008

I am being slack today and only posting the links