You know nothing about Project Management

I’ve written and presented quite a bit about Agile Project management, but I’ve to recognize that these guys are experts. This PDF is a 90 Page guide to Scrum and XP Project Management, written in a way that both Business and Technical people can understand.

Crisp OO Consultants Logo [Link to crisp OO and Java consultants]
It’s clear , it’s honest , and more importantly , it’s not trying to sell you anything (Rational consultants, you know who you are). Ok, they’re not trying to sell you anything , not unless you’re in the market for a bit of OO consultancy in Sweden.

Open Java changes everything

Now that the dust is beginning to settle on Sun’s Decision to open source Java , what does it actually mean for you? That’s you as in a Business user, you as in a Java Developer , and you as a member of the wider IT Community?

  • In the short run (i.e. next 6 months), once the buzz dies down , not much. Remember that it took several years after the Netscape code was open source for Firefox to emerge and change the dynamic of the browser market.
  • In the medium term (between 6 and 24 months) expect some interesting packagings of Java to emerge, similar to the way the various Linux Distros work today. Consider these ‘green shoots’ or prototypes with interesting ideas. A ‘small footprint’ version of Java targeted at Applet developers seems to be one popular opinion of what might emerge. However, unless you are ‘bleeding edge’ or in a niche area the chances are you won’t notice them at this stage.

It is in the longer term (2 years plus) that open source java really makes it’s mark. Some predictions that you can quote back to me later:

– In the same way as JBoss and Geronimo have commoditised the app server market programming languages and runtimes will become a commodity. Expect the .Net platform to be opened (not just standardized) in some limited form.

– Java will become more like .Net with multiple languages running in the standard JVM. We have JRuby and Groovy. It wouldn’t be too hard to add C# to this list. Visual Basic in the JVM (the Sun Semplice Project) is already on it’s way.

– Oracle , IBM , SAP and others already committed to the Java market will become focussed on Java as an even bigger part of the core strategy. Just like the app server market, each will seek to differentiate themselves, perhaps by Service (IBM), by a core database (Oracle) or by leading a niche (SAP). Expect tension between the desire to differentiate (and fragment) and the GPL which seeks to ‘bind them all’.

Apache Harmony , a clean room implementation of Java will continue to gain momentum. It will get picked up by a major vendor in a similar manner to Apple using BSD code.

– Microsoft .Net will end up in a ‘death march’ with Java trying to gain a lead in a feature set. Open source is very good a mimicing existing products (as it makes an easy spec for dispersed developers to write on – just look at Open Office), so (unless software patents get thrown into the mix), it’s hard to see .Net getting a fundamental and lasting edge over the Java Ecosystem.

Update: I’m not saying that .Net is going to go away (nor should it), just that both it and Java are going to be around for a long time to come. Joe and John also have more commentary.

10 months on and still no refund from 02

Lessons learned from the ongoing Saga.

  • Dont buy anything from Totterdell’s (who 02 normally suggest) their customer service is attrocious. Go direct to the 02 shop and don’t hand over your money until you see the 3G working on your laptop.
  • Mobile Data is more complicated than mobile phones. If your technical support takes more than 30 days to diagnose the problem (which is probably my Dell Inspiron), why do you then refuse to give customers their money back (because it is outside of the 30 day refund period)?
  • Don’t believe anything 02 support tell you – I was promised a refund back in August (and have the statement to prove it) but have just spent a week having to explain the case all over again, including the bit where the excited customer rep tells me the refund has been approved (excuse me for not jumping up and down , but I’ve heard this one before).

So , this time, if I send a letter (again) to 02, I really will get the refund. I’ll then be able to put the 149 Euro towards something that actually works, like this (much better) offering from Vodafone.

Vodafone logo

Update (1): The vodafone product is HSPDA (=Broadband mobile). I have a ‘good friend’ who has one of the new Dell 4G Embedded Laptops, and the coverage from Dublin to Drogheda (along the Rail line) is excellent – HSPDA all the way ,except Malahide , where it dropped to ‘only’ 3G.

Update (2): I have been told by 02 Customer service (Today, 7th December) that the cheque is ‘in the post’

I'm not used to this from a hosting company

I’m in shock. I don’t normally get this kind of treatment from a hosting company.

Normal Version (for more see this post)

  1. Try something vaugely technical and fail
  2. Post support ticket on website
  3. Have support ticket ignored
  4. Post another support ticket , have it ignored
  5. Have credit card billed for hosting
  6. Repeat steps 2-5 until hosting company dies (it actually happened).

Java and Linux VPS Hosting by RimuHosting

New Version

  1. Try to upgrade to PHP5 (latest version of the language the website is written in)
  2. Find good script on support section of hosting company website
  3. Script fails near end (these things happen), raise support ticket.
  4. Get response within 6 hours (hmm , that’s strangely fast!).
  5. Shock! Not only have the updated the script, but they’ve actually gone and performed the upgrade for me , saving me about 2 hours work.
  6. Still not believing 5 , I double check the upgrade , and yes, they’ve actually done it!

Now , if only they could do something about the name (I’ve lived in New Zealand , so I know Rimu is actually a type of tree, but a lot people just think it’s rude!).

SQL programs are the cockroaches of the IT world.

Back in the dark days when World War III threatened us with imminent nuclear oblivion, we were told that cockroaches and other insects were the highest form of life that would survive. I’ve recently come to the conclusion that SQL programs, like cockroaches, will surive anything that the IT world can throw at them.

Oracle Ireland Logo

SQL is a way of getting useful information from databases ,like ‘get me all Bank Customers with an account balances greater than 10,000 Euro’. It’s been around since the stone age and it is strongly suspected that the ancient Egyptians were familar with it’s earlier forms. Given that at least part of most systems talk to a database, it is probably the most widely used programming language in the world. It’s the most widely used because it’s the most useful : do one thing and do one thing well.

However, you get into trouble when you use SQL in ways nature never intended. Once you step beyond the ‘get me this’ or ‘update that’ you’re in trouble. Like a 12m high cockroach from a 1950’s Horror Movie, your code is out of control. Even Oracle are migrating to a Java stack to implement business logic outside of the core database engine.

By way of apology to any Oracle or SQL-Server progammers offended by this post, I’ll share the news that I’m my way to getting Oracle certified. It’s Oracle Exam SQL-007 [pdf] and if you understand that , you’ll know that while it’s not bad for a Java person, guys like Donal Daly , Mark Rittman and Scott Spendolini aren’t under threat from me just yet.

Warning: Irish Rail website gives false information

Irish Rail Logo

If you’re planning to travel by Irish Rail, don’t trust the timetable information given out by it’s website. On a recent trip from Drogheda to Portadown, the actual outgoing and return times were between 5 and 10 minutes earlier, due to timetable changes made up to 6 months before. It’s all very well getting consultants to redesign your website , like CIE did recently , but if your organisation can’t keep it up to date , what’s the point?

There’s no excuse for giving out inaccurate information. Translink , the company that operates the northern half of the Dublin-Belfast Enterprise service, manages to display the correct train times. Incidentally , Translink is also publicly owned , so the ‘shrug shoulders it’s just public service’ excuse isn’t valid either.

Get your act together , and display accurate times, or don’t give out any information at all. I made the train , but how many people have been caught out by this? Bluire has found more reasons to be angry with Irish Rail.

Update: Red Cardinal has shown that at least the ex-CIE group of companies are consistent, with Bus Eireann showing an appalling web design for their site.

Update 2: Ken reports about a recent webchat with Irish Rail. Interesting reading.

Update 3: And I thought I had problems. This is much worse.

Agile Architecture – a new blueprint every day

The best thing about doing presentations is the questions you get asked at the end. Apart from the stomach churning moment of ‘will I be able to answer this one?’ they give you a new angle on things that you may have always assumed, but force you to think of in a different way.

Take one of the questions after yesterday’s Enterprise java presentation at DCU. One of the topics mentioned in the final ‘putting it all together’ was the Agile and RUP (or other upfront design) methodologies. The question , coming from an attendee that was keen on using Agile , was ‘How do you do Architecture in an Agile project?’
DCU Logo

On the face of it this seems a contradiction. Agile in it’s most extreme form is ‘make up just enough design as you go along’, with automated tests to make sure changing things later is a relatively low cost and pain free process. In real life most projects are a balance between Agile and need some element of a more formal process (often trying to answer the question ‘how mucn is this going to cost?)’

So , how do you merge Agile with an upfront design process? It’s easier than you think.

Most systems built the ‘traditional way’ do not get all their design done in one go. They might start out with the best of intentions for phase 1 with a clean sheet but over the months / years people come and go, business requirements change and different phases try to deliver different things. Over time the original clean design twists and turns and you work hard to try and make it work out ok. Some of features you thought were key may end up getting thrown out as too complicated.
Now Agile architecture is a similar situation. Each weekly / monthly iteration is like phases on the larger project , with twists and turns that may be unexpected. The difference now is that you have a safety net comprised of your (J)Unit tests, to allow you to make radical changes if your blueprint ends up in a cul-de sac.

Yes, it is ok to have an idea the bigger picture and where you like to go with the design. Yes, a good architect will find reasons in the current release to build towards that design. And yes, a good architect may admit that some of the design features he / she thought were required weren’t actually needed. The difference between Agile and Upfront architecture is in when you find your ‘Don’t really need it’ point. With Agile , you find it just before you build it. With upfront design / architecture you find it when it’s already too late.