Saturday, March 20, 2010

What's in a name.

Bill Buxton at his Mix10 session brought up a point that I've had a rant or two about for many years: Just because you can count your change when buying something doesn't make you a Mathematician.

Equally, just because you do some creative things as part of your work does not make you a Designer.

We all know that you can't build 'battleship grey' applications any more, those days have gone and I see many sessions in conferences and user groups about Developer / Designer interaction.

I think we haven't got the right words for this and it makes for more confusion.

In the Agile development world we all know the benefits of Ubiquitous Language - we all have to have a common understanding of the terminology or chaos prevails.

Let's start calling the people who work in Illustrator, Photoshop and Blend 'Visual Stylists' - they do very creative stuff but they are not Designers, any more than the equally creative programmers with which they have to interface.

Design is a fundamentally different process from the implementation of styles or code. We should reflect that in the language we use.

Dave Evans
'Design Engineer'

BTW I disagree with Bill's analogy where he had writing code and applying style as Construction, in software Construction is the Build process. The code and styles are the blueprints. And that's why software is fundamentally different to all the other disciplines.

Wednesday, August 5, 2009

AltNetUK Weekend

Just back from the AltNetUK weekend.

The best yet, thanks to @serialseb, @adean, @ICooper, @Ben_Hall and @MichelleFlynn, also sponsors / hosts Tequila, ThoughtWorks, EMC Consulting, redgate, CodeBetter and Cognitive.

Catalyst or Excuse?

With all events like this, the real value is often what happens on the periphery rather than the actual event – i.e. the event itself is at best a catalyst, at worst an excuse. However with these AltNetUK events I see great value in the sessions themselves as well as all the extramural discussions.

AltNet Beers

Friday night was the first ‘formal’ AltNet Beers session I’d managed to attend – good conversations, probably would have preferred the park bench to occur at an earlier stage in the evening.


Saturday was the Open Space Coding Day – my third. As usual this was challenging and productive. My morning session was excellent - TDD "as if you meant it" hosted by @gojkoadzic – very painful, but it was meant to be... A very restricted set of rules for creating a line of code meant that we had to re-evaluate how we use TDD.

It did a very good job in the time available, but led to greater questions that would be followed up in another session on Sunday. My main concern was that we came into the session with no context and that we were de-facto domain experts (OXO was the problem).

Dynamic Transit

Saturday afternoon was a bit mixed, started with Dynamic languages session but 45 mins in, I found that the installs required on the machine I had taken with me would take more than the session time. So I “2 footed” into the Mass Transit session – which was having similar install times but an interesting discussion was going on.

Saturday night was fun...

The Conference

Sunday was the AltNetUk Conference. A bit tighter on space but much easier to move around than the last one.

Design is not Emergent

I first went to Gojko’s follow up TDD session. Gojko suggested that a much more meaningful exercise would need a couple of days – starting with a specifications workshop and then moving through the development phases. I’d be very interested in pursuing that course.

I’m still ambivalent about TDD. I went to a couple of introductory talks a while ago, and came out thinking “I’m never going to do that”. And now that I both practise and encourage TDD on all new projects, I definitely don’t do it the way the early talks would suggest. I see TDD as a coding process (maybe Test Driven Coding would be a better acronym for what I do).

To me, Design is the guiding principle not something that just emerges out of a process.

Software Engineering is Dead? Long live Software Engineering...

The second morning session that interested me was the Software Engineering Dead? / Craftsmanship session. Spent a long time talking about craft and analogies. Came to the conclusion that Software Development should stand on its own two feet and not try to borrow processes from other fields like manufacturing.

Coming from a Software Engineering / Structured Programming background, I always found it was a pretty good methodology – if you did it properly. I wonder if in a few years time people might look back on a mainstream uptake of Agile technologies as an unmitigated failure - and we’ll all say “yes, but they didn’t do it properly”.

RESTing in an Advanced way

After an entertaining lunch by the Thames, next up was Advanced REST. This ended up being an @adean tutorial (which was a good thing). Clarity of thought about the architecture really came through and myths were dispelled with real world examples.

DDD Events

Last session was Events in DDD / The other half of the DDD book – the Event pattern described was interesting, but I felt that the Observer pattern was simpler. Good discussion about loosely coupled services. We had a few minutes for the DDD other half – suggestion was made to organise a full session on this at a future time, again will try to engage with that.

Caught the train home and collapsed...

Azure Open Space Code Day (Birmingham) next.

Friday, January 11, 2008

99.99% of 'insert new product here' is Useless.

99.99% of 'insert new product here' is Useless.

We hear this all the time – 99.99% of Twitter, Seesmic, Facebook, you name the product of the day, is Useless. Well the truth is: They are right...

But then again, another truth: 99.99% of Everything is Useless.

Let’s take books. I love books, I have lots of books, I enjoy reading books. We’re a long way from really virtualising the experience of reading a book – know how to do it, but don’t have the technology yet. Books are here for a while.

Now let’s walk into a bookstore. One of my favourites sits on University Ave, Palo Alto – I’ve been there lots of times. Upstairs they have thousands upon thousands of books. And they have big sections on the stuff I really like – computing, music, SF, travel... I walk around and read bits and pieces and try to find what I need or would be entertaining. Based on past experience there is more than a 50% chance that I will walk out with nothing.

Nothing, from all those thousands of books? And remember all those books took months or even years to write, had to be PUBLISHED – with all that entails in terms of quality control and costs, manufacture and transport. Yet on many occasions, I could not find one that was useful to me at that moment in time. 99.99% of Everything is Useless. But there is enough to be useful to enough people to make the whole thing work.

It is the same with music, with television – how many times, with hundreds of channels is there nothing worth watching?

Compare that to blogs, Twitter, all the others – no quality control, no editors, no-one saying what can and can’t be published, anyone can do it – that’s the greatest strength. Of course, it is inevitable that the average quality would suffer.

But there is enough to be useful to enough people to make the whole thing work.

No-one would dream of judging all books by just sampling a few random copies – you have to be told where to start by an enthusiastic, but realistic guide.

So don’t write off the new products from first impressions or over-zealous advocates. Many will fail, but some will change your lives.

Wednesday, January 9, 2008

Sunday, January 6, 2008

This is my 3rd blog site...

The first one disappeared off the face of the earth - a lesson learnt there - never trust your data to one 3rd party.

The second one (started 2004) was just rants, another lesson learnt.

Maybe this one will be better.

Yes it will.