Scottish Developers Perth Conference

Friday saw Scottish Developers holding a day conference in Perth, Scotland.

Extra chairs had to be brought in: we took a couple of last minute bookings that took us over the edge. Good to see a full house!

Full details of all the sessions can be found here.

But briefly, the sessions were:

Duncan Jack – Coldfusion and Flash Integration
John Cant – HyperOS and experiences of designing an ASP webserver for CD
Andy Swan – Design by Contract
Rob Lally – scripting language Groovy designed for the JVM

John’s demonstration of HyperOS was an eye-opener: unlike VMWare or VirtualPC, HyperOS uses real hard drive partitions to manage operating systems. Re-installation of an operating system is simply a matter of drag’n’drop: Windows 95, for example, took less than a minute to restore itself to a “clean” unbroken state. And, of course, whilst HyperOS can only run one OS at a time, that OS has full access to the machine’s resources. Contrast this with VMWare or VPC which uses the host’s resources.

Rob’s Groovy session demonstrated how Groovy sits on top of the Java language and is in fact a very terse language that is converted into Java prior to execution. Rob demonstrated that 50 lines of Java could be expressed in 6 lines of Groovy. Impressive stuff.

Duncan’s session, once again, drummed home the power of Flash. Scottish Developers ran an evening event in June where Flash was demonstrated from an animation perspective. Duncan looked at it from an Rich Internet Application angle. Powerful, fast, fewer roundtrips to the server: that was the main message.

Andy’s DBC session presented Bertrand Meyer’s pre and post conditions. It also covered invariants. Interestingly, once the session entered Q’n’A, the subject of discussion moved to TDD, Test-Driven Development. We ended up discussion how pre/post conditions are often tested using assertions, and since TDD uses assertions too, could we combine pre/post assertions with the test’s primary assertion? Of course we ended up wondering if one assertion per test is a good thing, or should we just bite the bullet and have a handful of assertions per test. Currently, we are agreed on the latter: more than one assertion per test. Emotive stuff.

We gave away a couple of books, a rubgy shirt and some t-shirts: everyone’s a winner!

All in all, these were four very good sessions and excellent speakers: see you at the next Scottish Developers event!

Test-Driven Development: a practical guide – book review

Test-driven development (TDD) has become very popular in recent months. Until now there was only one textbook on the subject: Kent Beck’s. “test-driven development: A Practical Guide” by David Astels, was published in July 2003 and complements Beck’s original TDD work. This book is part of The COAD Series, named after Peter Coad, Borland’s Senior Vice President and Chief Strategist. The book itself is a little over 550 pages long and offers up-to-the-minute advice on how TDD can change your development and testing philosophy.

Read the review here.

Scottish Developers have free books…to give away!

Are you studying for your MCAD or MCSD certification? May be you’re thinking about taking any of these Microsoft exams: 70-300, 70-305/70-315, 70-306/70-316, and 70-310/70-320?

If so, you’ll be pleased to learn that Scottish Developers are giving away the following books:

books

All you have to do is come along to Scottish Developers day conferences and evening seminars! The next one is Friday 25th June: more details can be found here.

Thanks are due to INETA for the provision of these books and for their support!

Tim Bray on TDD

I was interested to read Tim Bray’s push on Test-Driven Development (TDD).

What caught my eye was the closing paragraph (repeated here):

And if you’re a CIO, ask your development people if they’re using TDD internally, and if they’re not, go order some copies of Kent Beck’s Test Driven Development: By Example and hand them out and tell them to get with the program. Anything less would be unprofessional.

Wouldn’t it be just great if upper management handed out [free] books on really cool topics like this?

Isn’t that last sentence just the the ticket? Clearly, Tim is a great TDD fan. And why not? TDD has made my life easy and it has made my users’ life easier too – bugs are caught much earlier in the process.

Download the slides to my Delphi-oriented TDD presentation here (and the code is here). A Visual Basic.net version can be found here.

The code is the design

It’s amazing how what was considered humour a few years ago suddenly becomes a working reality today.

In a December 2003 session in Edinburgh, Scotland, Martin Fowler discussed the subject of “the code is the design”, and made reference to Jack Reeves article What is Software Design? Basically, Martin stated that the most accurate form of design documentation that you have for your application is the code itself.

If you’re a first year university student, you can probably relate to this: write code first, then make the “design documentation” fit the code you’ve just written; voila, the code reflects the design.

Anyway, I was clearing out some 15-year old files and came across some interesting photocopies. Here’s the best one:

agile world

How prophetic. Assuming that we take “Software Specifications” on its own, we’re not far off the statement the code is the design…

“Nice” highlighting feature courtesy of Microsoft PowerPoint 2003.

Now, I reckon there might be some copyright issues here, however since I never saw/owned the original book that this was published in, I can’t make reference to it. I’ve left the page footer logo in place, hopefully somebody might recognise it.

Is eBay broken?

I, well, my wife, has bid for a couple of things recently. This is my first experience with eBay, so I’m not sure that it’s working the way I expected.

The first bid was for a Robbie Williams doll (did I mention that it was for my wife?)…we were outbid by 50p on the last day.

The second bid was also for a Robbie Williams doll …we were outbid by 50p on the last day.

Amazing, 50p each time, different sellers. How did that happen?

Either eBay is outbidding by 50p for their benefit or the seller has another account for increasing the bid.

Heck, I don’t care, it’s a con either way in my opinion. Unless somebody from eBay e-mails me to confirm that this is not the case, that’s my bidding on eBay over…after two failed attempts.

Technorati Tags: , ,

How to ensure that you never meet your future employer…

At my wife’s recommendation, I was watching Channel Four’s Big Brother television programme.

Now, there’s a programme you wouldn’t want your future employer to see you on. And if you’re Kitten, you should be worried. Very worried. Why? Well, it’s not hard, but before she even entered the house, her escapades guaranteed the fact that when my time comes to employ staff, she won’t be short-listed.

And tonight, she totally ignored the fact that the Big Brother staff called her to the diary room asking for a nomination. Not once, not twice, but three times. This was a nomination for the house-mate who could do without their suitcase for some of the 10-week duration. Rather unsurprisingly, Kitten received the most votes and ironically nominated herself. Joy of joys.

So, through stupidity and bloody-mindedness, she’ll have to make do for at least another week without her suitcase. May be, another nine weeks, if she’s lucky…little chance there I think.

Please don’t get me started about those house-mates who didn’t understand Big Brother’s question: “BB will deliver 11 (out of 12) suitcases tonight, please nominate the house-mate who you think shouldn’t receive their suitcase: state their name and why. ” It doesn’t get simpler than that, but these folks were confused by such a simple question. Even that goon with four A-levels. He’s 20 for crying out loud.

What are his four A-levels going to be worth in 10 years time? Nada, amigo, nada. (And on the off-chance you are reading this, and one of your A-levels isn’t Spanish, nada means nothing.)

Technorati Tags: ,

Google broke, but Clarke fixed it

I was glad to read Clarke’s mention of me here

But Clarke raised the important subject of Google being “broke”: Fame can be fleeting – especially for famous MBA graduates.

Of course, when Google indexes this page, Clarke will be even more famous, and Google won’t be broken any more. After all, searching for famous MBA graduates should take you to http://www.clarkeching.com. No doubt.

Craig Murphy XML SOAP Delphi C# XSLT Scrum XP TDD Test Driven Development available author writer speaker developer ScrumMaster .NET Hire.

There you go, if it ain’t broke, don’t fix it. I’ll check back later.

Technorati Tags: , ,

Hidden Slippage

After reading this, I followed through to here, which meant I ended up here.

To summarise, Michael’s theory is this:

The amount of undetected slippage that can occur on a task that was scheduled to take X, where X is in the range of one hour to one week, is X.

Generally, I’ve found this to be true. However I have to augment it with my experience:

The amount of undetected slippage that can occur on a task that was scheduled to take X, where X is in the range of one hour to one week, is X. However, as X gets closer to one week, the amount of undetected slippage that can occur on a task that was scheduled to take X, is actually X + X.

Those folks who don’t understand this are the same folks who will ask you if you have a “quick minute”. A minute’s 60 seconds, no argument. There’s no such thing as a quick minute that doesn’t last 60 seconds.

Technorati Tags: ,

Prince 2 Foundation – Day 2

Day 2 of my 3 days of Prince 2 Foundation training…

Notable quote: “At some point you’ll need a detailed requirements document”. This was made in reference to selecting an “end date”.

I was a little surprised to learn that apparently, after requirements have been gathered, we’re supposed to work out an end date using estimating and scheduling. Of course, we all know that this is a luxury; end dates are frequently dictated and imposed upon us!

Page 239 of the Prince manual discusses Management of Risk. It was interesting to learn that risks can have a negative effect and a positive effect. In other words, a risk can be an opportunity. Amusingly the lecturer believed that the manual has “messed” with a good English word.

Equally amusingly, page 241 states that risks should be owned by the person best situated to keep an eye on it.

Fortunately, there is some overlap between Scrum and Prince 2. Both approaches advocate openness and honesty, never tell the Executive or Product Owner “what they want to hear”.

However, Prince 2 does take a moderately long time to “start producing the goods”, there’s a lot of up front documentation/design before production begins.

Technorati Tags: , , ,

Prince 2 Foundation – Day 1

I attended a three-day QA Prince 2 Foundation course.

Including myself, there were nine delegates. Of course, being a project management course, there was an interesting skills mix: generally, though, everybody had some sort of IT background.

The lecturer was excellent and made good use of humour throughout. I don’t know how he managed it, but he used to “B” word (questioning parentage) frequently, but never just for the sake of it: each time resulted in nine heads nodding followed by laughter.

Interestingly, whilst I’ve not found this in the Prince 2 manual, Prince 2 believes that the best way to mess up a project is to allow the users to change requirements. Now, those of you who know me will know that I have been attending Agile Scotland meetings since February 2003… the agile modus operandi revolves around allowing users the opportunity to change requirements. I could see a quandary coming on…

During his introduction to Prince 2, the lecturer mentioned that an earlier version of Prince was seen as being bureaucratic and overcooked. “You must do this…” was a common phrase. Luckily, Prince 2 moves away from this approach, allowing the tailoring of Prince 2 to specific organisations and projects. After all, there’s little point spending £50K managing a £10K project…

Prince 2 is mainly commonsense, however how often do we get time to apply commonsense? Interestingly, the Prince 2 manual takes 400 pages to describe its flavour commonsense.

On the plus side, Prince 2 does expect us to get the customer involved and to get the user involved. This was seen as a good thing as it reduced any “moment of truth” surprises that might crop up during project/product delivery. I picked up another useful acronym, OSIHNTOT: “Oh s**t I had not thought of that.” (Aw-shin-tot)

Here’s a screenshot of the Prince 2 process model:

Prince 2 process model

I think that goes some way to proving why Scrum works…

Technorati Tags: , , , ,

Craig Murphy: author, blogger, community evangelist, developer, speaker, runner