05
Nov 09

Bugtracking is not a platform business, either…

Just my 2c worth regarding Does slow growth equals slow death?

I vaguely remember a keynote by Geoffrey A. Moore at JavaOne 1997 or 1998 talking about platform and application businesses. In this talk, he was making the point that the market for software platforms is traditionally divided basically into 80% marketshare for one vendor and the rest of the vendors share the remaining 20%, whereas application software markets are more like two or three rather large vendors, let’s say 40%, 30%, 20% and the rest of the players are small niche players.

Although a bug tracking system may sport a healthy third-party plug-in business, bug-tracking is essentially application software, not platform software like operating systems or databases.

Disclaimer: I may have gotten the percentages wrong, but you get the point.


04
Nov 09

Reasons why we chose JIRA over FogBugz

Please keep in mind that the following points may not apply to the latest FogBugz / JIRA versions (check the update below). We evaluated FogBugz and JIRA in the summer of 2006 before going with JIRA. At this time, we’re still on JIRA 3.x due to licensing changes in JIRA 4 and being trapped in interiorcad 2010′s release tornado.

  • With JIRA, we got the source code – in a standard language we are vaguely familiar with using open-source technologies – capable of running on a variety of platforms, including MacOS X which we’re most familiar with (and, quite frankly, prefer)

  • We could start without a separate database server. Plus, no need to license SQL server. Forums were quite clear at the time that FogBugz and MySQL didn’t play as well together as we needed
  • Attachments in FogBugz were stored within the database (at the time). This was the showstopper for us. At least 50% of our 18000+ issues in JIRA have 5MB+ attachments to them. I don’t want these bytes in a relational database. Don’t tell me this is no problem with database server XYZ. I have been a database guy for a very long period of my professional life. No binary large objects in my databases as long as I can still breathe.
  • We didn’t want to administer a Windows server machine – Although FogBugz could be run on Linux or MacOS X, the forums showed that the jury was still out (at the time) if this was a good idea
  • Licensing – There was a unlimited users license of JIRA at the time, which was more affordable for a smaller company like us. This has changed with JIRA 4 (for the worse).
  • Plug-ins – There was and still is a lively plug-in community for JIRA – I understand that the latest version of Fogbugz offers plug-ins, too

One area where FogBugz is way better suited to our needs is E-Mail integration. Basically, e-mail integration in JIRA sucks for us. Way too complicated to set-up & manage. Plus, the e-mails sent out by JIRA are basically unusable for end-user support (at least without a lot of tinkering).

Overall, we have been very happy with our choice. JIRA has been extremely reliable for us – which is requirement #1. We need to get our software done. We aren’t paid for fiddling around with third-party software (for set-up information go here, you will be amazed). Does its job well. JIRA 4 looks like a substantial step forward in terms of UI improvements. There are quite a few other products from Atlassian which play well with JIRA and which we’re looking very closely at, namely Confluence, Crucible and GreenHopper.

E-Mail integration / Using JIRA for technical support still sucks as far as we are concerned (Small company dealing with thousands of not-too-computer-savvy customers around the world). JIRA is quite enterprisey, and it shows – in terms of set-up, in terms of administration and in terms of features. Sometimes, less would be more as far as we are concerned.

[Update 7/26/11:]

We are now on JIRA 4, 25K+ issues, still operating on a Mac mini, 8GB RAM, Intel Core Duo, 160GB hard drive. In 2010, we purchased Confluence and are running Confluence on the very same mac mini as JIRA. Everything is still solid as a rock. We use JIRA’s internal backup mechanism to back up JIRA’s database 3 times a day, Confluence’s internal backup runs once a day. At night, we clone the hard drive via SuperDuper!. Of course, the Mac mini runs protected by a UPS. Both JIRA & Confluence are still on HSQL (I can almost hear the cardiac irregularities of Atlassian support reading this).

My major complaint at this time is pricing:

Our development team consists of 7 engineers, 1 product owner, 1 CTO).

We are heavily invested in Scrum. Therefore, we would love to use GreenHopper. However, we would have to license GreenHopper for all 50 users of JIRA (instead of licensing it for our dev team only), thus adding $550 to our yearly Atlassian upgrade bill. I think this is way disproportional compared to the upgrading cost for JIRA. Thus it won’t happen.

We have a Confluence 100 users license in order to accommodate both our internal staff and partners / distributors.

Team Calendars looks like an absolutely fantastic tool for our development team (sales & marketing uses Exchange, no way of moving them over). However, we would have to license Team Calendars for all 100 users (instead of licensing it for our dev team only), thus adding another $550 to our yearly Atlassian upgrade bill. I think this is way disproportional compared to the upgrading cost for Confluence. Thus it won’t happen.

Oh, and E-Mail integration / Using JIRA for technical support still sucks. But I haven’t given up on Atlassian to come up with a nice JIRA-based user helpdesk solution.

[/Update]


30
Oct 09

Der alte Mann, der Kaffee und die Würde des Menschen

Xcode entscheidet sich für einen zehnminütigen Build.

Zeit für einen kurzen Trip zum Starbucks, ca. 150m vom Büro entfernt. Vor einem Geschäft sitzt ein alter Mann auf dem Boden, einen leeren Becher vor sich und wartet auf Gaben der zu dieser Uhrzeit spärlichen Passanten. Ich weiche seinem Blick aus, gehe in den Starbucks und bestelle einen Caffè Latte Grande “To Go”.

“Bestimmt versäuft er sein Geld. Er könnte auch einer von den gefährlichen Subjekten sein, die gar nicht arbeiten wollen und nur auf Kosten der Allgemeinheit leben. Was man halt so hört.”

Aber er sitzt hier auf der Straße. 8:50 morgens. 5° Celsius. Ich bin hier. Kein Grund seinem Blick auszuweichen. Wenn ich 3,40€ für einen Caffè Latte rauswerfen kann, dann kann ich auch das Wechselgeld auf meinen Fünfer in seinen Becher werfen. Der alte Mann bedankt sich.

Die Würde des Menschen ist unantastbar.

Xcode hat den Build beendet. Back to our regularly scheduled programming.


25
Oct 09

Moving to DreamHost

Setting up a Dreamhost account was quite painless, except for the fact that it isn’t activated right away. I’m supposed to wait a business-day in order for the account to become active. Underwhelmed taking into account that I have 3 hours to waste right now as my family is on the road.

Account activation stalled for two days. E-Mail Tech-support was prompt and activated my account manually. Unfortunately, no reason was given why my account activation stalled. Anyway, everything is up and I’m a happy camper for now.

Installation of WordPress via a “One-click install” took a few clicks but worked as advertised. Stupendous. Next: Importing my old Movable Type blog.


21
Oct 09

A rant about (enterprise) software in the cloud

Disclaimer

I’m a huge fan of yammer. Fantastic service. Clean UI. Love it. iPhone and desktop clients. We use it everyday in our little corner of the universe. If you’re not using it within your enterprise, make sure to check it out. It’s fantastic. As far as our set-up and user count is concerned, yes, I know that I’m arguing from the point of a rather small business.

Internalized the disclaimer? No? Read it again. Did you get it? Good.

Confession

Todays outage of yammer pushed me over the edge. I have to confess: I hate strongly dislike enterprise software in the cloud. There are hundreds of thousands (if not millions) of users hammering the system at all time. Don’t tell me that this is improving the odds of a stable system. If you’re paranoid (I’m not), you smell privacy issues. If the system goes down, you’re hosed. You can’t do anything except frantically pressing “Refresh” in your browser of choice. Or check Twitter. Or blog. Generally speaking: Do anything but get work done. It will get even worse if your external internet connection goes down the drain because the caterpillar driver from the construction site next door had a bad hair day.

Compare this with our internal installation of JIRA. Enterprise software. Quite pricey (as far as I am concerned). We plunked down $2000+ for the license plus $2000 / year for a support/update contract (which I can cancel at any time and still run the software as is). But worth every penny (or cent, depending on where you live). And it’s running within our firewall. On a mac mini. It is running flawlessly with about 10 users on-site and 15 users on two external sites accessing it basically 24/7 (plus 120+ not-so-frequent users), 18500+ issues. Our software development group lives within JIRA. Did I mention it’s running within our firewall? And it’s fast. Plus, it’s backing up the database three times a day. Plus backing up the whole system to a bootable disk at night. In four years, the system was down once for about 4 hours, because we somehow managed to insert a 4MB unparsable piece of crap into an issue which caused memory overflows on the server. Lesson learned. Don’t insert crap into an issue comment.

If the server (yup, it’s a mac mini) goes down in flames, I will get hit with a rolled-up newspaper immediately because nobody will be able to get any work done. I will run into the server room, murmur a few expletives of my choice, take the nightly backup disk, put the latest database backup on it, confiscate any mac in our office, plug in the backup disk, boot from it and JIRA is back up for all our users. Net time for this stunt? About 10 minutes. If I refrain from cursing, it’s more like 7 minutes.

I then trash the faulty mac mini, get a new one from the store nearby for $500, do the same stunt again, and we’re fine again.

Summary

Traditional IT isn’t that bad. If we f$%& up, it’s our fault. If we messed up the set-up, it’s our fault. But we’re in control. If I have a bad hair day, I can do something about it.

Tune in next week when you’ll hear Dr. Bob say “I feel a rant about software as a service pricing coming on…”.

Thanks for listening. Ah, I feel better now. I should try to get some work done.


15
Oct 09

Avoid Alert Dialogs / Messages…

Yammer 2.0 for iPhone is a huge improvement over 1.0. Local caching. Improved performance. Way better usability. Excellent.
One gripe. After composing and sending a new message to yammer, I am greeted with the following alert:

yammersuccess.png

Which requires me to press “OK” in order to proceed with my quest of wading through a morning’s list of messages while waiting for the car in front of me to move another inch through morning traffic jam.

In order to avoid the alert dialog / message, I would suggest to insert the new message into my list of messages, probably marked with a special badge or color in order to let the user know that the message was sent.

Lesson to be learned:

Avoid alerts at all cost. They get in the way of the user. Most of the time, users don’t read them, anyway. There’s almost always a way to achieve same goal without an alert dialog.

(…stepping down from soapbox)


10
Oct 09

HelfRecht Zeitplanbuch und iPhone

Nach Jahren der Abstinenz habe ich neuesten HelfRecht-Katalog eine iPhone-Tasche entdeckt, die sich in ein Zeitplanbuch Topline-S mit 17mm Ringmechank einheften läßt. Konnte nicht widerstehen.

Perfekt Sache, wenn man das iPhone mal nicht in der Hosentasche transportieren will.


09
Oct 09

The Atlassian Dragons Exercise

The installation process for the Atlassian Starter suite – Crowd, Bamboo, Fisheye, JIRA, Greenhopper and Confluence – is quite daunting and takes about 5 hours+ (way more on my Parallels VM setup, but I did expect that).

It’s obvious that the different Atlassian products have been built by different teams, at different times and sometimes even different companies. Although, AFAIK, all products are built with basically the same base technology (J2EE), each product has some minor differences in

  • Installation
  • Configuration
  • Directory set-up
  • Starting up / Stopping products (e.g. there’s no shutdown command for Crowd, Bamboo automatically installs as a service)
  • Configuration files

If the suite has to be installed manually, consistency in the setup process trumps everything. This is even more relevant if the suite is installed by a non-IT, non-Java plain old-fashioned C++ hacker like me.
Generally, editing the configuration files was no big deal, although the sheer number of changes necessary induced cross-eyes at times.

Including Crowd into the installation process made the setup process quite involved and complicated. Although single sign-on is quite a feature, I wouldn’t consider it crucial for a 10 user set-up. I would’ve preferred to make integration with Crowd an optional exercise. Plus, removing Crowd from the standard equation would have enabled more detailed feedback on setting up the different applications’s integration features.

Kudos to the Atlassian documentation team responsible for the detailed step-by-step descriptions. It was close to perfect, just very very minor errata in terms of version numbers. A few more screenshots would have been helpful, but would have made the endeavour of documenting the suite’s installation process not only daunting, but outright impossible to maintain over time.

I was very disappointed that Crucible was neither part of the exercise nor part of the $10 offer. Atlassian, please make Crucible part of the Dragons exercise and part of the $10 / 10 users offer. I’m sure there were very good technical and/or business reasons not to include it, but if the Atlassian team can pull of a stunt like the Dragons exercise, I know they can pull off including Crucible, too. It just takes a few more beers, I suppose. German beer, of course. :-)


23
Sep 09

Work ethic

After experiencing the “Magic” tour concert of Bruce Springsteen & The E-Street Band in 2008, I felt inclined to draft a blog post on “Bruce Springsteen and Work Ethic”. However, I never finished it because I couldn’t quite find the right words.

Luckily, I stalled.

Today, I found an excellent blog post by Craig Peters which sums up the topic quite nicely:

Work ethic is just one of many reasons why the Springsteen canon has become the soundtrack of a generation and why he continues to create five-star albums while so many of his contemporaries have drifted off into the nooks and crannies of retirement and classic rock radio.
The energy, passion and dedication he brings to his work is unmatched in the entertainment world. We’d all love to bring the same kind of energy, passion and dedication to our own work, whatever it might be.

You can always argue about music, taste or if a certain artist / kind of music resonates with you – but you can’t argue about the work ethic, energy & dedication you should bring to your job.

Make sure to read Craig’s complete post.


11
Jul 09

Cutting down on RSS feeds?

Brent Simmons makes the case for a News Diet.

RSS no longer delivers news to me. Twitter delivers news. And if I miss some, I don’t care that much. It’s quite easy to ignore a tweet as it scrolls by.

RSS delivers longer essays on certain topics to me. I’ve unsubscribed most of the standard “news” sites and focus on “meatier” sites.

That said, I should probably weed out some of my 1200+ feeds :-)

Get Adobe Flash player