JavaOne 2009 – (Mostly) Important Questions (Mostly) Answered

Posted in: Enterprise Java

A few days before JavaOne I posted some questions that I was looking forward to finding out the answers too. Here is what I found out.

Has Hudson Killed CruiseControl?
I saw a couple of presentations on Hudson. I also saw Kohsuke Kawaguchi at the Thirsty Bear and he was drinking the good beer, so clearly Hudson is verging on world domination under his guidance.

I never saw Cruisecontrol mentioned anywhere. Not in the conference catalog and not in the pavilion.

I am now even more convinced that Hudson is the way forward for open source Java Continuous Integration.

What Will Be The Volume Of The Twitter Noise Coming From Inside The Conference?
There was definitely a strong stream of Tweets around the #javaone keyword all week. I was able to get a different perspective during the General Sessions by watching the Twitter stream go by as people Tweeted about what was being said on stage.

But what I will say is that I was able to keep up with the volume of Tweets. I mention this because I started to try and follow the #wwdc keyword this week as the Apple conference was going on and I simply could not keep up, not even close. Every time my TweetDeck was refreshing, I was getting more than 100 Tweets during the opening keynote. I gave up in the end and turned the live search off.

Also, while I saw some people Tweet about “is there a Tweetup?“, I never actually saw anyone take the bold step to be the organizer of one.

So definitely more Twittering going on, but nothing earth shattering. I was also hoping to see a vendor try and use Twitter as a medium for some kind of viral promotion during the conference, but I didn’t see anything that creative unfortunately.

Will AJAX Presentations Be THE Place To Be Seen For A 3rd Year Running?
So there were definitely a lot of AJAX based presentations. There were also a lot of REST presentations, which (at least in my experience) seem to always stray over into the AJAX world.

But there were also probably an equal number of JavaFX presentations. Although I would take the amount of JavaFX presentations and other buzz with a grain of salt as it is Sun’s pet project and it was their conference.

There was even an AJAX vs JavaFX presentation to round things out on that front.

But I do think my prediction of all topics related to the cloud as being the hot topics of the conference was probably correct – probably only outnumbered by speculation related to the whole Sun/Oracle situation. There was a track on the Monday morning related to the cloud, there was an unconference on the Monday afternoon called “Cloud Camp”, Sun showed off cloud related provisioning in the Tuesday morning keynote and there were a whole pile of regular sessions either related to new cloud topics, or just repositioning old topics to add the buzzword cloud to their repertoire.

What Will The Oracle Presence Be?
So a bit of a mixed bag on this front.

As most people who care already know, Larry Ellison made an appearance at the keynote on Tuesday morning. I was actually rooting for him to not show up at all – I think that would have been the best play for Oracle. I think McNealy played it well, but it was obvious that both men were a little uncomfortable and they stumbled on some awkward topics during the time they shared the stage. I don’t actually think Larry really cleared any of the FUD related to the situation even though he tried to reassure people that Oracle “likes” Java.

Beyond Larry’s appearance though, Oracle’s presence was actually less than previous years. Most notably, Oracle had absolutely zero presence in the pavilion this year. You can speculate to heart’s content as to why that was. I believe there was at least one session from Oracle personnel, but I did not make it to that one.

I didn’t see any Oracle signage around the conference, it pretty much was business as usual from that standpoint.

What Will The Reaction To The Microsoft Keynote Be?
This turned out to be a dud when compared to the chatter leading up to it.

There was little reaction from the crowd, although from my quick eyeballing of the room, it seemed to be the smallest attendance for keynote during the week.

Basically Microsoft told us that integration is import – wow, thanks for that, welcome to the party. The rest of it was a thinly veiled marketing pitch, which never goes over well at a technical conference.

Will Jonathon Schwartz Look As Uncomfortable And Awkward As Usual?
Believe it or not, I actually think Schwartz did a reasonable job on the Tuesday morning. It didn’t feel quite as stiff as usual. His interaction with partners etc. was still a little cumbersome but nothing worse than I have seen elsewhere.

I was super happy to see Scott McNealy make an appearance – it was clearly the highlight of the keynote. I also think Sun made the right call to have McNealy be the one to address the elephant in the room. The standing ovation he received when he left the stage I think was evidence of that and was also the highpoint of the whole keynote.

Will James Gosling’s Toy Show Seem Overly Long And Desperate Again?
The toy show was the same old story as expected. I sat through it and there are some interesting niche type Java things going on, but I still left the session with overwhelming sense of “meh”.

I think the most interesting part of the Friday morning keynote was the fact that there was absolutely no acknowledgment of the Oracle/Sun situation at all, nor was there any acknowledgment that this was probably the end of JavaOne, at least as we know it today. I had predicted the Friday morning keynote to be somewhat emotional with a bunch of farewells and look-backs, but as it turns out, the Tuesday morning keynote was the one that had the emotion in it.

Will The Lunch Lines Be Under Control?
Nope, lunch lines were ridiculous as usual.

I am always impressed at how megalomaniacal the event staff get at Moscone during these big conferences.

Will It Be Crazy Cold in Yerba Buena Gardens on Thursday Night Again?
I was way off on this one.

The weather was forecast to be horrible on Thursday and so the event staff moved the party to the ballroom at the Marriott on 4th street. As it turns out it was perfectly dry on Thursday and it could have easily been held outside, but it was certainly cold.

The party was actually pretty good and the band was excellent for the setting IMHO and the food was significantly better than last year’s corn dogs and popcorn.

Will The Bookstore Be Given More Space?
Nope, exactly the same space, exactly the same pushy-shovey experience trying to browse the books.

Will Enough People Use me As A Reference So I Can Get The Better Swag?
Unfortunately no. :(

Why are the A’s and Giants both playing away all week?
The MLB has declined to comment on this obvious conspiracy.

Twitter Recap for Week Ending 2009-06-08

Posted in: Social Networking
  • Bad sign for attendence @ #javaone. Keynote hall set up much smaller than previous years, definitely fewer seats #
  • Sitting in #communityone keynote session #
  • Wondering if physical disaster recover sites should now be replaced with cloud services #
  • First technical session of the week – Taking Advantage Of Subversion’s New Features #
  • Family Blog Update: insert witty fork pun here… http://bit.ly/b28K3 #
  • 2nd session of the day “Test Your Product On Multiple Machines in Parallel with Hudson” #communityone #
  • @chungsean welcome to #javaone sir #
  • Sitting in “Community Equity: Social Value System for Social Network” #communityone #
  • Just arrived @ pavillion reception for #communityone #
  • @alicia_s is it really small? Stupid fat hobbit #
  • Following semi-naked marching band to next party @ #communityone #
  • @alicia_s we’re talking about whatever you want to talk about #
  • Frankie says relax at #communityone party #
  • @srabon having an OK time. I am carrying some flu symptoms, so taking it easy to make sure I last the whole week. in reply to srabon #
  • Need one more person to use me as a refererence for #javaone registration to get the Flip. Earn yourself some good karma points – W1302019 #
  • In #javaone opening keynote, waiting for it to start, same DJ as last year #
  • Grey foggy morning in SF, will only get worse if Ellison shows up at the #javaone keynote #
  • Some McNealy and no Elison so far. Oh and I caught on on t-shirt. Good so far, #javaone #
  • I spoke too soon, Elison on stage now. ;( #javaone #
  • Elison was doing ok until he dissed AJAX – wrong room for that statement. #javaone #
  • In 2nd tech session of the day already at #javaone. This one on Amazon EC2. Also saw the one on OpenESB and BPEL. #
  • Is #OpenSolaris the product with the most swag and the least number of users at #javaone? Seriously, I do not get it. #
  • Watching JBoss mini-talk on there new ESB in the pavillion #
  • Thanks to @abridgwater for inviting me to the Press/Analyst Reception tonight. Cheers mate. #javaone #
  • Heading to the Java Community Process party at the Intercontinental for more #javaone fun #
  • Family Blog Update: cute of the day… http://bit.ly/PxdvC #
  • Mashed Potato Martinis at the JCP party! #javaone #
  • In a lab at #javaone about building social apps. using Zembly – same tool that @briankous demoed to the Behr team last Friday. #
  • In Joshua Bloch’s Effective Java talk for about the 5th year straight. #javaone #
  • In HtmlUnit session w/ @briankous at #javaone #
  • @briankous the jboss party is tomorrow night @ jillian’s, not tonight. how about a team dinner instead? in reply to briankous #
  • Netflix just sent me Weeds: Season 4: Disc 1 #
  • team dinner @ Magnolia, 1398 Haight St (Haight @ Masonic) 7:45pm – meet in lobby of my hotel 7:30pm to share taxi, or see you there #
  • Having dinner w/ @briankous @chungsean @michaelpallas and @tshumaker @godfather #
  • BTW, what kind of douche uses @godfather as their Twitter handle? Freakin’ Vito #
  • Sitting in a restaurant on Haight St in San Francisco and they are playing The Grateful Dead – is that just gratuitous? #
  • #JavaOne After Dark moved to the Marriott (4th & MIssion) because of probable bad weather tomorrow (actually later today really) #
  • RT @ABridgwater: Adrian on ZDNet.co.uk “The view from the floor at #JavaOne” http://bit.ly/3gb6d #
  • Urgh, the OpenSSO lab I am in is full of problems. #javaone #
  • FYI, if your English is not so good, strapping on a mic. and yelling and speaking really fast is not going to help the situation. #javaone #
  • #JBoss Party is starting. Free beer and a front row seat to watch the Lakers on a 20ft screen. I love Java. #javaone #
  • Damn, @briankous just broke a beer glass. Half a beer and we are going to have to cut him off already. #javaone the corruptor of innocents #
  • @gorkeyv are you high? #
  • @chungsean and I have moved on to the After Dark Party @ the Marriott #
  • I am watching the original lead singer of Toto sing Africa. i think I have slipped into a totally awesome alternate dimension @ #javaone #
  • @gorkeyv since when do you get so sticky over the Lakers? #
  • If there is any actual original member of Skynyrd on stage, is it OK to scream for Free Bird? #
  • I just saw any original member of Skynyrd play a 10:30 version of Free Bird – all bets are off for the rest of the night. Fuck yeah! #
  • Last keynote at possibly the last #JavaOne has just started – probably a few teary eyes in the room by the end I expect #
  • Today’s #javaone keynote, no emotion expressed, no acknowledgment of the end of JavaOne in this form, and also no “see you next year”. #
  • 2nd to last #javaone session about to start. Hopefully Mr Galbraith will be as interesting as usual and will keep me awake #
  • #javaone we are off to on on good start – Ben just slammed SAP user interface :) #
  • @jazzlifejunkie and if that all goes well, red eyes in the morning #
  • Beer Log: Dogfish Head 90 Minute IPA #
  • #Beer Log: Rogue – St Rogue Dry Hopped Red Ale #
  • @jazzlifejunkie touche sir #
  • #Beer Log: Rogue – Hazelnut Brown #
  • #Beer Log: Rogue – Anniversary Charlie – Dry Hopped American Strong Ale #
  • #Beer Log: Moylan’s – Hopsickle Imperial Ale – Triple IPA #
  • Family Blog Update: He’s coming home today… http://bit.ly/Dnuoo #
  • @gorkeyv thanks for the balanced well thought out reviews. you realize that it is #apple that has cult like followers , not #palm right? in reply to gorkeyv #
  • Maybe that should be the #pre tag line “Guaranteed to be really a lot like an #iIPhone since we used the same people” #
  • Adelaide Crows def. Essendon Bombers, 130 to 114 #
  • Family Blog Update: Back From San Francsico http://bit.ly/bZJhT #
  • Family Blog Update: Birthday Present http://bit.ly/Om85e #
  • Family Blog Update: Certified : Totally Nerdy http://bit.ly/sc7nF #
  • Family Blog Update: Are You Going To San Francisco? http://bit.ly/rAjbc #
  • Family Blog Update: Fog In San Francsico? http://bit.ly/2A6nBL #
  • Forgot my camera cable. Finally able to post my #javaone photos. http://bit.ly/KjZTE #
  • Everyone expects the new #iPhone to be announced tomorrow at WWDC, but will it also be available in stores tomorrow? http://bit.ly/t1U6e #
  • Family Blog Update: Stayin’ In Touch http://bit.ly/gyyGb #

Twitter Recap for Week Ending 2009-06-01

Posted in: Social Networking
  • #JavaOne book signing schedule available http://bit.ly/10ZIlm #
  • @gorkeyv – your precious Pre is available on bestbuy.com for $849. why dont you run out and get one. right now? http://bit.ly/MGN3Z #
  • I think my #TweetDeck is going to meltdown trying to follow the #JavaOne related tweets this week. #
  • My little one’s 18 month birthday today. Wife and I are celebrating with cupcakes and a Mendocino Brewing Co. White Hawk IPA. #
  • @gorkeyv who cares about the #pre. the real question is, will you be smart enough to buy a new #iphone in july instead? in reply to gorkeyv #
  • #DMB new unreleased album now on Pandora in its entirety. http://bit.ly/18csV #
  • @gorkeyv the revolution train left the station a long time ago and #Palm never bought a ticket to ride. #
  • @aiku1337 I believe Sun Certifications are free if you are attending #JavaUniversity on Monday, otherwise it is $79 for #JavaOne attendees in reply to aiku1337 #
  • Woo Hoo! Reached 150 connections on LinkedIn. World domination is surely just around the corner now. #
  • Palm Pre in iPhone class, but Palm is running on fumes says Mossberg. #palm #pre #iphone http://bit.ly/CX9K8 #
  • @crunchgear says Palm Pre is an also-ran. #palm #pre http://bit.ly/VskcZ #
  • Netflix just sent me Horton Hears a Who! #
  • Netflix just sent me The Black Crowes: Freak ‘n Roll into the Fog #
  • Family Blog Update: Where’s Callum? http://bit.ly/xGomM #
  • Happy Birthday @alicia_s. BTW, you are so totally old! #
  • Family Blog Update: Why are there no lights? http://bit.ly/gJE7E #
  • Netflix just sent me Death Bed: The Bed That Eats #
  • RT @JavaUp: JavaOne Party Planner http://ff.im/3oC1d #
  • Basking in the glow of passing my SCEA exam on Friday afternoon! #
  • Welcoming @michaelpallas @chungsean @srabon and @briankous to the Twitterverse. #
  • #javaone hell week officially begins. flying SNA to SFO today, hope to catch some of the Glassfish Unconference this afternoon. #
  • In Admirals Club @ SNA. Check-in was as dehumanizing as usual. #
  • Family Blog Update: Party Time!…. http://bit.ly/Ryr02 #
  • Checked into hotel. Room is on the 29th floor. Should be entertaining in earthquake country. #
  • Checked in @ #javaone. First load of swag is in the bag. #
  • They are handing out hand sanitizer as part of the swag @ #javaone registration. #
  • At the Glassfish Unconference. Approx. 60 people here by my count. #javaone #communityone #

JavaOne 2009 – (Mostly) Important Questions

Posted in: Enterprise Java

JavaOne 2009 starts in 5 days. Here is a list of questions I am looking forward to finding out the answers too.

Has Hudson Killed CruiseControl?
Seems like it has based on the number of mentions of Hudson vs CruiseControl in relation to the content at JavaOne. I lost my interest in CruiseControl when ThoughtWorks spun a for-profit version out of it. The only company I have seen be successful at this strategy is JBoss/RedHat where they develop the open-source version first and then roll the for-profit version out of that. The other times I have seen this attempted, all of the effort goes into the for-profit version and the open-source version ceases to progress. There is something fundamental about that 2nd pattern that just smells bad and doesn’t really seem to be in the spirit of open-source.

What Will Be The Volume Of The Twitter Noise Coming From Inside The Conference?
I have been tracking the hashed keywords related to the conference for a couple of weeks now. The volume has been slowly increasing and took a big jump on Tuesday morning when everyone got back from the long weekend in the US. I expect it to keep building up until Tuesday morning, but then what? Does it slow down because everyone is busy, or does it kick into a whole new gear and my trusty Twitterberry will just meltdown in the middle of the opening keynote?

Also curious to see what ad-hoc social activities get incubated in the Twitterverse during the conference?

Will AJAX Presentations Be THE Place To Be Seen For A 3rd Year Running?
The last 2 years have seen crazy interest in anything AJAX related. With Ben Galbraith and Dion Almer (spelling from memory there) being the focal point in their always entertaining presentations. But it feels a little like AJAX is getting to be slightly old news, at least in this forum.

My guess is that anything cloud related is going to be the hip place to be seen this year.

What Will The Oracle Presence Be?
AFAIK, the Oracle/Sun deal has not gone through yet, so technically Sun is still an independent entity. But of course I am also not naive enough to think Oracle won’t be pushing to start getting their hands on the “goods” at this conference. Will there be an Oracle presence in the keynotes that are traditionally Sun’s (the 2 on Tuesday and the 1 Friday morning)? What about signage around the conference? Oracle always has a booth in the pavilion, but will it be bigger, better positioned etc. this year?

What Will The Reaction To The Microsoft Keynote Be?
So the Twittervese exploded earlier this week when it was announced Microsoft will be presenting the Thursday morning keynote. Anyone who has been playing with Java long enough knows that Microsoft has not really been Java’s best friend. So, will the Java community accept Microsoft on the main stage? It would be nice to think that there will be some passionate reaction, either outrageous clapping or hateful booing, whatever, as long as there is some definitive reaction I will be happy. I fear the Java faithful might not be the kind to wear their hearts on their sleeves quite that much though.

Does the Oracle deal have something to do with Microsoft’s presence? Why does Oracle not have a keynote instead? Curious indeed.

Will Jonathon Schwartz Look As Uncomfortable And Awkward As Usual?
I will admit upfront that I am a Scott McNealy fan. He was passionate, and engaging to listen to on a stage. I was not happy when he was ousted from the top of Sun.

But even if I temper my anger over that situation, can anyone really be interested in listening to Schwartz talk? His stage presence is awful and he is robotic in his delivery of obviously scripted lines when guests are on stage. And don’t get me started on the pony tail, sport coat and jeans look! Bring back McNealy for the last one please!!!!

Will James Gosling’s Toy Show Seem Overly Long And Desperate Again?
I have a lot to thank James Gosling for. Most of my career is based on the technology he invented. I would like to have a beer with him at some point no doubt. But man, he is only marginally better than Schwartz on stage.

And I do not really understand the point of the Toy Show in the Friday morning keynote. You are at THE Java conference, and so the audience has self selected itself as resoundingly pro-Java. So why do we need a 3 hour carnival of Java applications trying to prove to us that Java is cool. We already think it is cool, that is why we are there. A lot of it just feels like they are pleading with us to please, please keep thinking Java is cool for another year until the next conference.

Will The Lunch Lines Be Under Control?
Getting your “free” lunch at JavaOne is an exercise in forgoing your basic right to not be hearded like livestock and yelled at by over zealous minimum wage event staff. It is like they are surprised by the number of people that show up for lunch each day, like there was no way they could possibly have guesstimated how many people might want to eat that day. Seriously, it is your last chance to get it right, please make an effort.

Will It Be Crazy Cold in Yerba Buena Gardens on Thursday Night Again?
Why is the Thursday night party outside now? I can’t possibly imagine it is much cheaper is it? It is San Francisco, it is cold on the hottest day of the year. I froze my ass off last year. The long range weather forecast looks like we are in for the same again.

Will The Bookstore Be Given More Space?
Doubt it. There is a whole convention center, and the bookstore gets jammed in a 10 by 30 square. Why? Why do you hate people who like to read?

Will Enough People Use me As A Reference So I Can Get The Better Swag?
I know 3 people who did, I think I need 2 more. I will even buy you a beer. My number is W1302019. Go ahead and earn yourself some karma points.

Why are the A’s and Giants both playing away all week?
A big boo to the MLB for having both teams out of town this week. It has become somewhat of a tradition for me to take my team to the baseball during JavaOne and you have destroyed that cherished pastime. Shame on you Bud Selig.

See you in San Francisco!

The Last Hurrah – JavaOne 2009

Posted in: Enterprise Java

Only about 2.5 weeks until JavaOne 2009. I think this will be my 5th or 6th time around.

There is no doubt that above all of the hot technology and vendor clamoring and free swag, the one thing that will be the biggest topic will be the Oracle takeover of Sun. And seeing as the deal hasn’t been consummated yet, the specter of the deal will be looming over the conference all week. I am expecting the signage to still be Sun branded (I hope), but I am curious to see what the Oracle footprint will be.

Hopefully Oracle will do the right thing and keep a low profile this one last time. The worst possible thing would be to have Ellison trot out on the main stage that first morning. I would prefer to hear McNealy speak over Schwartz no doubt, but I will take Schwartz over Ellison hands down.

If you are a fan of Java and the technology eco-system that hangs off of that central keyword, then I encourage you to come on out. Beat your boss into submission if necessary. Who knows if JavaOne will survive to see another year. Even if it does, will Oracle have sucked all the fun out of it by then anyway?

I am concerned that the buyout announcement may damage attendance this year. I hope I am proved wrong. I think the Java community needs to send a strong message to Oracle and vote with their feet by attending this year. Let Oracle know in no uncertain terms that the Java community is vibrant, engaged, innovative and will not go gently into the night.

If you haven’t registered yet, you will have the opportunity to credit someone as referring you to the conference. If this emphatic plea has inspired you to go, my registration number is W1302019 and you can fill it in in the appropriate space on the form.

I will be Twittering while at the conference. You can follow me here http://twitter.com/craigsdickson.

See you in San Francisco.

Better the devil you know

Posted in: Software Development Best Practices, Software Development Team Leadership

It seems nearly everyday a new technology or pattern or paradigm bursts onto the scene. Lately we have seen things like AJAX and Ruby and other web-oriented technologies getting a lot of buzz and plenty of people jumping on the bandwagon. And don’t let me get started on SOA!

But what about the trusted tools we already know. Do we need to be ever pursuing the mastery of these new technologies and applying them to each new project and retroactively applying them to existing (already functioning) projects? What value does that bring? It really only makes sense if the benefits of the new technology outweigh the costs of adoption – these costs can be higher than you think.

To illustrate the point, lets take a team of engineers working for an internal IT shop. They have worked to identify a core set of tools and technologies that they are going to specialize in. They have recruited for those skills and their training dollars have been spent to improve those skills. In addition they have wisely created coding style guides, they have documented their own best practices they have chosen to follow, and best of all they have a continuous integration server set up, that is building and testing their code as fast as they can commit it. All in all, they are quite comfortable in their chosen domain and are working to maintain their skills appropriately.

Now for some reason they are asked to consider technology “X”. This could happen for a bunch of reasons – maybe somebody writing the functional requirements was over zealous and mentioned it in those documents, or a customer has heard of “X” and simply wants to have their project developed with it for no other particular reason except that they have heard of it and want to “contribute” to the process.

Assuming the team is a reasonably mature team with a good mix of senior and junior talent and have a grasp of fundamental engineering principles (quite rare possibly?) then what is the cost of using “X” on the new project instead of their existing tools?

As in most organizations that practice some form of waterfall process, they start by asking the engineering team for a detailed estimate of how long the new project will take to implement. Ignoring the fact that this is a gross error to attempt such an estimate at this stage of the project, the team dutifully works to create the estimate. But now they are faced with the problem that they are not really sure how long it takes to do things with “X”. They are comfortable with their current set of tools and could probably come up with a good estimate if given enough time, but now they are really going to struggle. So they scramble to find some documents, but of course “X” is the new sexy technology with a lot of buzz but no solid documentation or best practices defined. The team’s only true choice (assuming the estimate is needed quickly) is to SWAG it and then likely pad the SWAG to allow for the unfamiliarity of “X”.

So the first issue we have is a wildly unreliable effort estimate due to a lack of experience and confidence with “X”.

Now its time for design. But of course the team has no inherent knowledge of “X” so they get nothing for free in the design phase and have to start from scratch on every detail. So the design phase progresses and the team is able to make some progress, but there are some nagging questions that the team simply cannot find answers for. The team identifies these issues and decides that the only real way to resolve them is to engage some external help from the only people who know “X” – the vendor that just launched it. The vendor is of course more than happy to help, but since they are in great demand (because they are the only ones with any skills in this area), their rates are astronomical. The team reluctantly engages the external resources and embarks on a Proof Of Concept to help finish the design phase.

So the second issue we have is a design phase that takes an incredible amount of time, most of which can be considered more “learning” time than design time and we also have a huge cost outlay for professional services.

Time to implement.

The team is trying to be as agile as possible within the bounds of their company’s tollerance so they are quite commited to unit testing and continuous integration, but pair programming and other practices are still just “crazy talk”. Unfortunately “X” dosen’t have a good toolkit for writing unit tests. The vendor says they are working on it, but it is not on the release calendar yet. Looks like unit testing is out. The team starts implementing, but their preferred IDE dosent support “X” so now they have to run 2 large IDE applications on their (already underpowered) machines at the same time so they can creat the “X” parts, while still having access to the rest of their projects. Additionally, the team has been committed to creating repeatable builds and strict release processes for a while now since some code slipped out to production a while back without being tested or put into there code versioning system. Technology “X” builds fine within the customized IDE the vendor has provided, but there is no support for compiling from other command-line based build tools. So the team assigns resources to write the necessary build tool plugins so that they can appropriately build, tag and release the project.

There is a lot of additional overhead in the implementation phase when using a brand new technology. Over time these overheads reduce on each subsequent project, but the cost on the first few is quite significant. The lack of integrated tools really does hamper the team and the costs incurred because of the extended development time will add up quickly.

Eventually the team finishes implementing, but since no automated unit or integration tests have been running, the quality is questionable. Never the less, the QA team comes along and wants to test the project. But once again, “X” is so new that there are no tools for the QA team either. But even if there were tools available, the QA team would have never used them, so there would be a training and ramp up cost involved. So QA is going to be a manual process. As a result, some of the regression testing is not applied consistently and a lot of bugs slip through the cracks and make it to production.

The cost here is of course an extended QA time line. But possibly more costly is the low quality of the end product.

The project finally goes to production, but of course there is the immediate flurry of bugs and feature enhancement requests that are associated with a 1.0 release.

So the team starts again with the requirements gathering phase. But when it comes to the design and implementation phase, it turns out that in hindsight the code wasn’t really architected as well as it could have been now that the team knows more about “X”. So it is difficult to add the new features because of this. They hack the new features in, and so begins the downward spiral of building more and more features on top of an constantly degrading base. Technical debt increases exponentially.

This cycle of adding features and then fixing the bugs the new features introduced continues for a while. But now 2 of the team on the project are leaving for greener pastures (its surprising they lasted this long really). So the HR person comes by your office and gets a detailed job description from you, which includes all of the skills from the other technologies but now also includes “X”. The HR person not knowing any better says thank you and goes off to do the best keyword matching process they can.

A day or two latter they come back looking frustrated. They are having trouble finding anyone with the mandatory skills you described. Turns out that the two skill sets you must now support are really not common bedfellows and so recruiting is going to be an issue. You really only have one choice – recruit for one skill and spend the money and time to train them on the other.

So here is an ongoing maintenance cost that will be higher than before. Recruiting for skills that don’t usually show up together can be a big issue. If you are lucky enough to find people with the skills, they are likely to be higher priced just because they have that uncommon combination.

So before you choose to adopt the latest sexy technology because all of the weekly e-newsletters you get are mentioning it, think about what it is truly going to cost your team and company. Is it worth it? I propose that in the majority of cases, it is not.