Contact   FirstPartners.net   Articles   Wiki   LinkedIn

Paul Browne Consultant CV Photo Paul Browne CV
   

Archive for the 'Articles' Category

Business Rules without Java

Monday, December 10th, 2007

I like this sample as it explains what Business Rules are, in a way that professional (i.e. non technical people) can understand. This one I originally posted on the O’Reilly Java and JBoss Drools blogs. If you were around in Dublin last month, you’ll notice that it’s also the sample that I talked through at the Irish Java Technologies Conference.

Like many countries, the Health services in Bangladesh can’t get enough doctors. Training more is not a solution ; Qualified doctors often leave for better pay elsewhere. Given the urgent need for trained medical staff in rural areas so save lives (often children dying of curable diseases), what are health workers to do?

The solution that the Health workers came up with was IMCI - or Integrated Management of Childhood Illness. It takes what the Knowledge in Doctor’s head’s and stores it as a simple guide that health workers can follow. When a sick child is brought into the clinic the health worker is able to follow the simple step-by-step instructions to make quite a sophisticated diagnosis.

I’ve no medical training beyond simple CPR (and if you’re relying on that then you’re in real trouble) but even I can understand it.

imci.jpg

Look at the pale blue box in the diagram above. It’s a set of medical rules: Are there any danger signs? What are the main symptoms? What combination of these symptoms are there? What is the age of the child? How long have they been ill? Depending on the outcome of the rules, go to the next set (the pink / yellow /green) boxes and apply the rules that you find there.

That’s Rules and RuleFlow.

  • Rules are ‘when something is present , then do this’. And not just single rules, but many of them. Together, loads of simple rules allow you to come up with quite a sophisticated diagnosis.
  • Ruleflow allows you to group your rules. If you’re a health worker with a sick child you want to do the most important checks first. Depending on the outcome, you then apply the next set of medical rules: Pink if they need urgent referral to the hospital, yellow if the clinic can cope , or green if the child can be looked after at home.

As gory as it sounds, everybody, including the doctors, are happy that their ‘brains have been put into a PC‘ (or in this case , a set of paper cards). The Doctors are happy because they can (guilt free) move to better paying jobs. The medical workers using the system are happy because they can help the sick children that they see every day. And the children gain because the better availability of medical knowledge (via Rules and RuleFlow) is literally the difference between life and death.

British Midland’s - BMI - Dirty Little Online Checkin Secret

Tuesday, October 16th, 2007

Flew Dublin - Heathrow again last week - this time with BMI (British Midland International). It’s what all Java consultants do - pop on the plane to London to see a client. Now I like BMI, not least because they provide a bit of competition for Aer Lingus. I like Web Checkin. A lot. See my post on how to use Web Checkin to solve Dublin Airport’s problems. But BMI have a (bad) secret about their online check-in that they don’t tell you until after you have paid for your flight.

BMI Logo
Online or Web checkin means you print your boarding card before you leave home. It means you arrive at the airport , walk straight through security and enjoy a coffee while waiting for your flight to board. For Aer Lingus it’s great on a day trip; print both boarding cards the night before you leave. For BMI there’s a glitch; you cannot print your return boarding card until after you arrive in London.

What? On your busy-day-with-client-not-one-second-to-spare you are expected to start printing pieces of paper. What is worse, you only find this out after you pay your money. Called the Flight Helpdesk ‘we have a lot of people complaining about that Sir’. Mail to BMI customer service, no reply.

The moral of this story is not to complain about BMI (although here’s my Ajax related Rant about Scandanavian Airlines if that’s your thing , or Mulley’s lost baggage saga if you prefer). And yes, I should be glad of a choice of flights to Heathrow (see Limerick Bloggerand Bock the Robber)

No, the moral of the story is that IT systems (yes the geeky bits) can have a huge impact on customers in traditional business (you know, the ones that pay you money). Being the helpful people we are, we’ll even show BMI how to fix this using Business Rules. Somewhere, deep in the bowels of the BMI system code, Someone, a long long time again decided ‘no one will ever want to check in before they leave’ . And now that it’s spaghetti code, it can’t be fixed, leaving a lot of unhappy customers.

SEO for Blogs - help Google find your older content

Monday, August 13th, 2007

Richard Hearne writes (a bit) about Search Engine Optimisation for Bloggers. One point that he made in his review of Pat Phelan’s (Roam4Free) site was how to help Google find your older content. Taking this advice, I’ve installed the Wordpress Page Navigation Plugin on this blog - it’s the widget giving the ‘Page 1..2..3..end’ at the top of this site.

Blog Page Views

Without this plugin , all wordpress gives you by default is a single ‘previous page’ link. A user (or Google) might have to follow 15 or so links to get all your articles. Now it is all linked from the home page of your blog.

Almost as important as the number of visitors to the site, is what they do when they get there. You can see from the Google Analytics above , that the average visitor reads one and half pages on this site. (Is this Good? Is this Bad? - let me know) This could be multiple articles (there are about 20 per page), but the number isn’t really moving over time. I’m hoping the plugin can shift these numbers (up) even a little bit.

(Almost) Related Update and links (via Damien) : If you want to know more about SEO optimisation for Wordpress, Matt Cutts of Google had a very interesting talk. A transcript of the video and a summary are also available.

Java and those pesky Google APIs

Tuesday, January 23rd, 2007

Recently one or two people disagreed with what I had to say about the impact that the Google, Amazon (and other) API’s will have on Java. Considering the ratio of positive to negative comments (about 3 for and 30 violently against), I obviously need to express myself in a clearer way. The link to the original post is at the end of this article, read on before you consider flaming me.

Amazon Web Services Logo

So , deep breath , here goes.

Compare the the way you develop now , with the way you built software 10 years ago. Do you remember having to manage your own memory? Or the pain of trying to deploy your software on different machines without a JVM? Or the hassle of trying to write distributed software using Corba? Or using a text editor instead of the fine IDE’s (Eclipse, Netbeans or JDeveloper - take your choice) that we have today? Would you consider building your software without a tool like Ant or Maven?

(Shudder). Things have moved on ,and I am very glad they have. Likewise, the way we develop 10 years into the future will be very different. I don’t know what the future will look like, but here’s a simple guess.

The biggest trend today is the move from software running on your computer , to software being delivered over the web. I’m not talking about the buzzwords being thrown about regarding ‘Service Orientated Architecture’ or ‘Enterprise Service Bus’. I’m talking about simple API’s that are available for use over the web today. Like the API’s and products from Google - including their Documents and Spreadsheets, and their Authentication service.

‘Everything should be made as simple as possible, but not one bit simpler’ - Albert Einstein

‘You Ain’t Gonna Need it’ - Anon, XP Mantra

As a good Agile Developer you’d probably agree with these quotes. But what if the most simple way of doing things was not to develop in Java at all? Most people don’t build their own operating system - they use Linux, Windows or OS X instead. Most people don’t write their own Java Server - they use Tomcat, JBoss or your server of choice. The pattern is the same. A small, dedicated core of developers builds the product, and the rest of us say ‘thank you very much’ and use it to get things done.

This range of ‘off the shelf’ solutions is increasing all the time , even before the online services arrived on the scene. As a Java developer , you’ve said ‘thank you’ , downloaded the latest version and integrated it into your solution. The time you save means you deliver other cool features instead. Java is very good at this ‘download and integrate’ process - not only is it a key benefit of Object Orientated Software, but Java has the widest range of solutions available (if you don’t believe me , just check out Sourceforge).

Java can also let us build our solutions (either partly or fully) around the online API’s. Java has great networking and XML handling ability already. In time this will become as normal as the idea of using a JVM. Great - we use these API’s pretty much like we do libraries today, and we can continue developing pretty much as before, right?

Wrong.

Remember, what is the most simple way of doing things? What if the most simple way of doing things was not to use Java but to use a more simple language (like Ruby or PHP) instead? Until now there were a couple of advantages that Java had over these ’simple’ (and that’s a compliment) languages. When using online API’s these advantages disappear, or worse, become a liability.

  • Scalability and Robustness. Enterprise Java is massively scalable (it’s one of the reasons for it’s complexity). But can even you outscale Google?
  • Security. Enterprises haven’t (yet) learned to trust the security of online applications. This trust will be hard earned over time. But already you can make the argument that you data is safer with Google / Amazon / other service provider than on your average virus-ridden home PC.
  • Language Ties. To use the Java libraries you needed a JVM somewhere in your solution. Once you had a JVM , you might as well write your own solution in Java. But when the product you are extending is hosted elsewhere, you are free to code in the (most simple) language of your choice.
  • Always on. As long as you have a connection to the web, your programs can use the API’s. Scripting languages like Ruby and Python can claim to be even more portable. Not only can they run natively in most environments, they can also be deployed via a JVM if that is your choice (under the guise of JRuby and Jython)
  • Features. Need a feature that you don’t have in your scripting language? Just borrow it from Java by running in the JVM. How can Java win a ‘features arms race’ against that?

So do we face a form of developer apartheid, where a ‘hard core’ of Java Experts develop web API’s that the rest of us use via scripts? Let me know what you think. Like the original blogpost said, it may not be the end of Java, but perhaps the end of Java as we know it.

Grabbing people’s brains and shoving them into a PC

Wednesday, December 27th, 2006

It didn’t go down too well when an elderly relative asked me over Christmas ‘what exactly do you do?’. After fobbing him off with the usual ’something in computers’, he was shocked to find out that I spend most of my time ‘Grabbing people’s brains and shoving them into a PC’.

This kind of blog-related-violence is normally associated with Twenty-Major (Warning , Parential Guidance required , unless you’re over 80), so before you call the police , let me explain.

Look at your hands. Unless they’re scarred and calloused (from the weekend’s DIY) the chances are that you work in the knowledge economy. You could work for a Bank , Insurance company, Legal company or be a medical professional but most of your work consists of one thing:  You push pieces of paper around that have some magical value.
Or you would push pieces of paper around if it hadn’t all been computerised in the last 10 years. Now you swap files and emails to get things done.  And you swear on a regular basis when the computer can’t find the information you’re looking for, or someone doesn’t understand the email you sent them. But the important bit, the information processing,  still remains in your brain.
Red Piranha Logo

Which brings us to Red-Piranha (site update in progress) and the shoving of people’s brains into a computer. While we can copy an MP3 music file (with Adam’s and Bono’s imagination in it) and send it around the world, but we can’t photocopy your brain. We don’t want all of it, just the part that gets the magical value-added work done. The bits about drinking beer and playing volleyball on the beach we’ll quite happily leave with you.

So this is what Enterprise Web 2.0 is all about : getting the computer to take a load off your brain so that you’ll have more time to spend on the beach drinking beer. Chapter 3 (draft) of our Enerprise Web book has just been put online, which shows you exactly how to do this.

Next time you get worried about offshoring …

Wednesday, December 6th, 2006

… have a read of this instead. Ireland is probably unique in having , within the last 10 years , benefited hugely from offshoring (why do you think all the US Companies are here?), then benefited again from being about to offshore work itself.

Thanks to Bill for the link.

Knowledge Base is Back and (almost) better

Monday, November 20th, 2006

Following our recent outage, our Knowledge Base is back. More the ‘base’ part , as the Knowledge still has to be uploaded again.

Media Wiki Logo

Following ‘Clouds have silver linings’ we’ve moved to using MediaWiki, the same tool that powers WikiPedia. This has the largest user base of any wiki, and a good supporting toolset. In particular , to allow local editing of wiki pages, there is the Eclipse Based Plog4U.

Enterprise JavaScript

Friday, October 20th, 2006

http://script.aculo.us/images/logo.gif

I’m already a big fan of using DWR to create Dynamic Ajax web pages. I’m beginning to warm to script.aculo.us. DWR is the workhorse, script.aculo.us the flash cousin with all the special effects. Still , any framework with a page on Unit Testing gets my vote. Enterprise JavaScript , here we come!

Not a Web 2.0 Company - Scandanavian Airlines

Monday, June 12th, 2006

I don’t think these guys will be joining the Web2Ireland (even Web 2.0) group anytime soon. Basically , their website says ‘We couldn’t be bothered using any of the Ajax toolkits out there, so we’ll get you Mr Customer to do all the work for us’. I wonder what their look-to-book ratio is ( I used to do some work for Aer Lingus - LinkedIn Profile).

Scandanavian Airlines (SAS) Website.

Hint to SAS: Here is how to fix this (pdf), or hire us and we’ll fix it for you.

Or if you prefer , reassure yourself that you’re not the only airline with Ajax problems.
More blogposts on Ajax.

Architecture? One size fits all

Saturday, May 6th, 2006

No matter what your system does , be it insurance , banking , online travel booking or telecoms, the chances are it does the following things:

  • Gets information from users over the web
  • Does some business processing on that information
  • Saves the information in a database.

At a conservative estimate , about 99% of Enterprise systems would fall into this category.

If so, why do you need an architect , when you can use our ‘one size fits all’ architecture diagram (below)?! Most non-trivial systems, regardless of the language they are written in (be it Java, .Net , or your language of choice) follow the pattern seen in this diagram.

3 Tier Enterprise Diagram

There are 3 Pieces to the Solution:

  • Web Browser (for the user / client).
  • Web and Application Server - carry out business logic.
  • Database Back End - to store data and ensure data integrity.

Within the Application Server (the middle bit above, which as Java Architects is the bit we are interested in), there are a further 3 tiers

  • A Presentation tier (or layer), which is mainly about talking to the user (it gets and sends requests to the web browser).
  • A Service layer , which is mainly about talking to back end such as databases, legacy systems (such as mainframes) and XML-Web services that we may use.
  • A Business layer, the ‘meat’ of the sandwich, where the ‘Value add’ is in terms of business processing and validation.

For each of these layers , your priority in building them are slightly different.

  • The Presentation layer is the bit the user sees. You want it to be fast and give a good impression to the client. Underneath, use a standard framework (link: pick your framework here) and then customize the look and feel.
  • The Service layer you want to work fast and well (e.g. no data faults), but then then forget about. Unless things go wrong, no user is going to complement you on the quality of database persistence! Use standard libraries for the entire layer.
  • Unless your company is a clone or franchise, the business layer in the system is going to be completely different. Aside from the user-interface , concentrate most of your project effort here as this is the core of what system does. We’ve written quite a bit about how to increase the value-add of the business layer (link to O’Reilly Technical Articles)

By the way , we’re only half-joking about the ‘why do you need an architect’ bit. We can be contacted here.

New Articles, Whitepapers and Presentations

Sunday, April 30th, 2006

I’ve just updated the FirstPartners.net site with some new Articles Whitepapers and presentations.

These include:

It’s been very quiet over here (aka what has Paul been up to) - Enterprise Web 2.0

Thursday, April 20th, 2006

It’s all been very quiet over here , too quiet. And not just because of the hosting issues (the people at Netbunch, you know that I’m talking about you)

It’s been very quiet , because I’ve been very busy. On top of all this , we’re coming to the end of the year for the (part time) Masters at UCD in Dublin, so we’ve also got exams coming up. Thankfully it’s the last year, the downside being I have a dissertation to write.

Being a blogger , I’m not happy putting together a weighty tome that will sit gathering dust on a shelf. Instead , I want something that will solve some business problems , and that I can use as interesting content. So after much thought , the proposed title of my dissertation will be …… cue drum roll ….. ta-da!

Enterprise Web 2.0

Now, if you’ve talked to me , you know I spend a lot of my working day as an Enterprise Java Consultant , working for various banks. The idea is to take some of the Web 2.0 ideas (and you don’t need me to repeat them) and apply them to the sort of problems large companies have. Or , if you want the catchy subtitle , ” it’s all about sucking the knowledge out of people’s brains and putting it onto (ugly) websites”.

So an obvious topic to cover is the use of Ajax , which while big on the web at the moment , is going to be huge once companies realise what it can bring to their internal applications. The rest of the topics cover knowledge management (what is web 2.0 if it’s not about sharing knowledge), but also some tools and techniques that will all Enterprise Java (with all it’s robustness and scalability) compete with the nimbleness and tricks of Ruby.

Business Problem 1: How to present this information to people in a easy to deploy, but powerful way.
Solution: Update to Sun Java article - this one on how to do Web 2.0 / Ajax ‘right’ in Enterprise Java (i.e. not worrying about legacy code)

Business Problem 2: Where you have documentation, but don’t know how to find it.
Solution: Write up of the Red-Piranha Adaptive Search engine that ‘learns’ what the team wants , and finds more of it.

Business Problem 3: Where you have information in Excel sheets, but can’t do much with it.
Solution: Update to previous O’Reilly Articles on JBoss Rules - this one on JBoss’ ability to ‘run’ Excel Spreadsheets.

Business Problem 4: Where you have information that people ‘know’ , but that a machine finds it hard to ‘learn’
Solution: Simple Neural Networks using Joone, applied to a ‘real life’ business problem.

Business Problem 5: Where several people have to work together on a set of information , following a strict set of steps.
Solution: JBoss workflow, with a simple online example

What is Web 2.0 - still the most read article on O’Reilly’s Website

Wednesday, April 5th, 2006

What is Web 2.0 is still the article that most people read on O’Reilly’s Website , week on week. I’d like to think that in some small way it’s because we linked to it. And , in the networking / linking world of Web 2.0 , that’s probably true.

Web 2.0 and Enterprise Java - move over Struts

Wednesday, March 1st, 2006

A while back I wrote an article for an O’Reilly sister site, Java.net , on Sprinkle Some Ajax Magic into your Struts Web Application. I’m going to repeat one thing I said in this article: while coding Ajax is cool, you really want to use a framework if you have the choice. If you don’t believe me , check out some of the podcasts on Ajaxian.com. When you listen to the problems that the frameworks have overcome (What if the ActiveX XmlHttpRequest Object is turned off? What if you want to do local storage? What if the user hits the back button?), you’ll be a convert to the ‘Frameworks are better’ approach. So which Ajax enabled framework should you use as an Enterprise Java developer?

Pre Ajax, the answer to ‘which Java presentation framework should I use?’ would have been Apache Struts. Not because it was technically better than any of the other frameworks (although feel free to leave your comment!) but because everybody else is using it. This meant
(a) using Struts is good for your client, as they can replace you if you get run over by a bus and
(b) using Struts is good for you, as you can take your Struts skills to your next piece of work.

However , in this strange new Ajax and Web 2.0 world, things are beginning to change. Javascript gone from ‘has been kiddie scripting language’ to ‘coolest thing on the planet’. User expectations about what Enterprise Web applications can are going through the roof as Web 2.0 enters the mainstream. What Java framework are you going to use to deliver these expectations?

With this in mind, I did some research on the Ajax Enabled Java frameworks that are currently (Feb 06) available. I tried to pick out the best ones (best for your career, and hopefully technically best) based on the following criteria:

  • Java - Web development frameworks with Ajax capability.
  • Rating based on technical capabilites, and which is most likely to be the ‘next Struts’ (i.e. become the defacto standard for Java-Web Development).
  • Rating is based partly on downloading and running the projects and partly on evaluation of what the websites / other people say.
  • Products must be available (at least partly) in open source form with a recognised open source licence - as these are most likely to get community traction.

Before we get into the list, there a couple of items that you may think are missing:

  • Whatever you may think of non-Java frameworks (e.g. Ruby on Rails, PHP with Ajax), these are not included here. The notion of Java being replaced by Language / Framework ‘X’ is an entirely different article.
  • The list also does not include several excellent ’server neutral’ frameworks such as BackBase, Dojo, Prototype, or JSON. While these frameworks are included with some of the toolsets listed below, we’re aiming to get an ‘out of the box’ toolkit for the Web tier of Enterprise Java applications.
  • You’ll also probably note that there are 3 implementations of the Java Server Faces (JSF) standard on this list - MyFaces , Ajax JSF and Struts (Shale).

Think we got the evaluation wrong? Leave your comments at the bottom of this post.

Ajax Java Web Presentation Frameworks

AjaxAnywhere Independent of Java framework (e.g. Struts, JSF or Spring). Closest in approach to Java.net Struts-Ajax Article. Good interim solution based on existing frameworks, but can’t see this being the main framework long term.
Apache Myfaces Apache implementation of JSF, including technology donated by Oracle from ADF / Oracle Fusion. Being Apache, will become one of the main JSF implementations in use. But is JSF the best way of doing your website?
App Fuse combines a lot of the leading frameworks (Struts, Dwr, Spring with JSF as an option) into one easy to use package. Already a very good ready to go package (for web , mid and business tiers) and the Appfuse team have a good track record in integrating the latest, most widely used frameworks.
Ajax JSF Ajax implementation of the Java Server Faces Specification. Good indication of what a full JSF Ajax implemention would be like, but implemented by only one brave developer!
Echo 2 Evolution of original Echo Framework, can run in any Servlet container. Original has cult following, but doubt if it will become the number 1 web framework.
DWR - Direct Web Remoting Acts as a proxy so that you can call Java Objects transparently from Javascript. Good solution, seems to have traction, even though it still forces you to write Javascript and keep objects in Synch with Java. Several other frameworks (e.g. Appfuse and Webwork (soon to be in Struts) integrate this.
JSP Controls Aims to be drop in (Ajax enabled) replacement for JSP Tags. Can be used both with simple JSP and other frameworks, but at the time of writing has less than 1000 downloads
JWIC Dynamically add Ajax to Java class based application - similar to Velocity concepts. A good simple framework, based on POJO’s but doesn’t (yet) seem to have much traction on sourceforge.
Struts The original, and to many, still the best. Many changes are afoot in the next version, including the integation with WebWork (which already has Ajax capabilities) and the move to the JSF compatible (’Shale’) Struts aims to be backwards compatible, and the forthcoming JSF and Ajax capabilities look good. Pity there is no ‘offical’ milestone release yet.
Struts Layout Struts Tags, but with Ajax capabilities. Another good interim solution based on Struts, but is the Struts Event model suited for the Ajax world? (e.g. multiple events being raised from the ajax web page, instead of just the one (GET or POST) in the standard HTML model)
Swato Integration with Java Servlets through use of Servlet filters.Not a lot of documentation, nor a demo to encourage me to invest more time in it.
Tacos aimed at providing Ajax for Tapestry
Tapestry is technically a good framework, just didn’t seem to get the traction Struts did. Not sure if adding Ajax is going to change that.
Webwork Will integrate with next version of Struts (as Model - called the ’struts action framework’). Strong contender, gives Ajax functionality through (integrated) DWR and Dojo.
WidgetDev Hybrid (Open-source/ commercial) Framework. (In my opinion) Not enough maturity / features to justify open source version with reduced features
zk8 XUL / XAML type framework , capable of being rendered in either Swing or HTMLGood Framework, might attract people who are familiar with extending Firefox using XUL, but can’t see XUL (no matter who much I think it is a good idea) being mainstream without a visual designer.

Conclusion
The New Struts is …. Struts. Some other framework may overtake Struts to become the new standard, but I would recommend the following Struts-related frameworks based on the following scenarios

Scenario 1: Adding Ajax to existing Struts Applications. Use AjaxAnywhere - closest to the approach taken in the article Sprinkle Some Ajax Magic into your Struts Web Application. Despite writing this article , I see the frameworks evolving rapidly to the point where you would only take such an approach for adding Ajax to ‘Legacy’ applications.

Scenario 2: Need Ajax Now for a new Java Application. Use Appfuse as it gives Struts, Ajax (with DWR) and the possiblity of JSF integration now, all ‘out of the box’. This fits in well with …

Scenario 3: Medium Term. Use an implementation of JSF (either MyFaces or whatever Appfuse promotes - probably Struts Shale). Struts Shale (JSF) has so far released only ‘overnight’ builds. Apache MyFaces (JSF) tool support and Ajax capabilities are likely to improve over time. Both Struts-Shale and MyFaces are likely to play well with AppFuse , making it a safe bet for investing your time checking it out.

Stop reading these blogs and get on with your life

Tuesday, February 21st, 2006

And it’s not just blogs that waste time in your life. A colleague was good enough to pass on the handbook from a ‘more effective time management’ course he was on (and swears by). It was given by Priority Management , on Getting Smart with Outlook , but it’s applicable to whatever email client that you use.

Notes from the Handbook are here on the KnowledgeBase.

Before you yawn and click elsewhere , consider the remainder of your life as 1 page per day diary - no matter how long you have left , you have a finite amount of blank pages left. It’s up to you how you use them. The headlines are:

  • Get yourself organised *before* you read your emails in the morning. This way you are working to your agenda, not somebody elses.
  • Only check your email 4 times a day - constant interuptions means that a task can take up to 4 times longer to complete (as your brain needs time to focus back on the task each time).
  • When you get an Email , do one of the 4 D’s
  • Do it now
  • Decide When to do it
  • Delegate - give it to somebody else
  • Dump (ie Delete it)
  • Schedule all you tasks into some sort of Time Planner (e.g. Diary or Outlook Calendar). If you use Microsoft Outlook / Exchange , have this page as your default view (again, you work to your own agenda, not somebody elses).
    • How to avoid losing 150m Euro

      Friday, February 3rd, 2006

      It now seems obvious that the Healthcare Payroll system was destined to fail. If you were working on the project, I’m sure it felt very differently at the time. How can your projects avoid a similar fate? While IT may sometimes seem disconnected from reality, the following guidelines show that ‘Real World’ lessons still apply.

      1. Know what you want and stick to it. If you’re building a house and change the plans several times the builder is going to fleece you, no matter how low the initial quote was. The same goes for IT Projects - if you change your mind after the price is agreed, you’re going to pay more.
      2. If you don’t know what you’re doing , find a friend who does. I know very little about houses, so when I was buying my own I got a friendly surveyor to check it out. With IT projects, this ‘friend’ should be genuinely on your side, and have something to lose (e.g. financial or reputation) if things go wrong.
      3. Little and often is better. Like exercise, smaller projects that deliver results little but early are best. If the results are good, try a second (and third) round to add more functionality based on the feedback from users.
      4. It’s been all done before. Tailored suits cost a lot more than ready-made ones - and most people are happy with a ‘Good enough’ instead of ‘Perfect fit’. There are literally thousands of ‘off-the-peg’ computer systems out there ready for final alteration to what you need.
      5. If you don’t understand the answer, ask more questions. Thankfully the days we sat and nodded at the Doctor’s Latin words are long gone. IT Consultants may sometimes speak a different language, but if they can’t explain what they’re talking about in English that you understand, the chances are they’re trying to hide something.
      6. Don’t build on sand. Like houses , projects need good foundations. For IT Projects , the good foundations are sound knowledge of the Business Processes being coded into the system. Changing processes and changing IT systems at the same time is like building on sand.
      7. Sometimes the tortoise wins the race. Unless your entire business model is built around being the very first to market, then being a tortoise and letting others race ahead has very big advantages. Not only can you learn from other people’s mistakes, but the chances are you’ll get it at a much reduced cost - For example websites now cost a fraction of what they did during the dot.com boom.
      8. Use a safety net. When building houses, often the first thing to go up is scaffolding, for safety reasons. The equivalent safety net in IT is called ‘Unit Tests’. Not only do they help you get there faster, but they let you know if you’ve broken something you’ve already built.
      9. Be a good poker player. Good poker players never give away valuable cards. For IT projects, owning all cards mean just that - make sure that you have full rights to the solution so that you can still move tables and use a different supplier. Even if you never make the move, knowing that you can is an effective bargaining chip.

      And finally …

      When you are in a hole, stop digging. The decision to call a halt to the projects was no doubt a difficult one, and is to be applauded. Too often, the temptation is to keep on going and hope things will turn out right. Recognising problems at an early stage means there is more chance of being able to fix them.

      Give your input into the Web 2.0 Presentation

      Saturday, January 28th, 2006

      I’ve been invited to do a Web 2.0 presention to the Irish Dev / Irish Internet Association (it’s on the 21st Feb in the Morgan Hotel , Dublin, if you’re about in Ireland that day).

      So, we have a problem. I consider myself to know a little about Web 2.0, but nobody knows everything about it, even the great Tim O’Reilly and his famous definition of Web 2.0. You might as well try and record every conversation happening in a busy room. I thought I would ask the community.

      The Audience is tricky, as it is partly business (to whom Web 2.0 = next dot com boom) and partly technical (to whom Web 2.0 = Ajax) - for the record , I consider both views wrong. We also have only 30 minutes , including a (very quick) demo of how easy it is to migrate to Ajax (based on this Java.net article). A lot of the business concepts will be at the level of this article that I wrote for Ireland’s Business Plus magazine.

      So, I have some notes on the Web 2.0 presentation taking shape over on the Knowledgebase. To cater for the technical side, we’ll probably (quickly) cover some of the Ajax Enabled Java Frameworks (summary of these here).

      What do you think? How can I inject a cold dose of reality into this Web 2.0 business? Leave your comments below , or Contact me via this form.

      Everything you know about the web is wrong

      Friday, January 27th, 2006

      Yes, form an orderly queue for autographs - the article in Business Plus magazine is finally available in the February edition (currently in Newsagents). It’s called ‘Everything you know about the Web is wrong’ and tries to introduce some of the concepts behind Ajax to a wider Audience.

      Now, if you’re too tight to buy the magazine , or you’re living outside Ireland , this blog entry tells you how to download it. Mind you, you’ll miss out on the lovely photo of me. Want something more technical? Try this article I wrote for Sun’s Java website on for size.

      While you’re at it, book your place to see me deliver a presentation on Web 2.0 - it’s part of the Irish Dev / Irish Internet Association Event on the 21st February at the Morgan Hotel in Dublin. All comments (especially giving a cold dose of reality amid all the hype) are welcome.

      All shameless self publicity.