Thursday, November 17, 2005

Is quality a destination or a journey?

In keeping with my current provocative streak, I'd like to talk about another potentially hackle-raising, ire-swelling, flame-generating subject.  As the title of this post suggests, what is quality and how do you know you got it?  Let me start by placing myself squarely in the “Quality is a journey” camp.  Are you actually surprised by this?  If you've followed this blog (and other Borland bloggers), then this shouldn't come as any kind of shock.  After all, I'm more a pragmatist than I am an idealist.  Also, I want to dispel any kind of myth that I'm ignorant of any quality foibles that have hit Delphi in the past.  So, this isn't some high and mighty diatribe designed to deflect any blame and/or hide past mistakes.  OK, D2005 was less than perfect.. some would contend it was a disaster.  As much as I was reponsible for that release, I wish to just say we messed up and we're trying our hardest to correct as much as is in our power the how's and why's that happened.  Are we going to step up to the plate and just swing for a single?  I don't think so.  We're going to swing for the fences, dangit!  Will we hit a home-run?  Maybe. Maybe not.  But the point I want to make is that even after a bad play, we are still determined to step back to the plate and give it our best shot.  So even if we don't hit it out of the park, a double or triple would be far better than striking out at the plate.

So what does this sudden baseball analogy have to do with journeys?  Hank Aaron didn't start his baseball career as a record setting homerun king.  It was a journey for him as well.  So along that same vein, quality is also something you are always trying to do better than you did before.  It is a journey that some may contend is never finished.  However, unless you take those few first steps, you're going to just sit there and go absolutely nowhere.  So you may also be saying, “That's great, but shouldn't you be so much better now that you're releasing the 10th version?”  I agree.  But it is what it is, and I can only try and correct those things that lead to where we were in the past.  If only I could set the “way-back machine” and correct the problems of the past...

So you want honesty?  Maybe that was just too honest, but so what?  Would you rather some corporate mouthpiece pump out some press release about how it's all good and there's no trouble in paradise?  I don't think so.  I will tell you that the Delphi team is excited about the DeXter release.  The team was also relieved at the exec's willingness to actually delay the final cut of the C++Builder portion until we ('we' being the team and the field-testers) feel it is ready!

I hope folks will be willing to join in on this journey.  You get a better and better Delphi/C++Builder and we all win.  Come to think of it... Isn't that also what this whole SDO/ALM thing is about as well?  Not only is quality about doing software right, but also about doing the right software.  This is something that the Delphi team has held as one of its core values.  Always, always, use what you produce in one form or another.  I like the story I'd heard recently about how an airplane manufacturer would require that the team of engineers that wrote the flight control software be among the first to fly on the plane during trials.  I'm not sure I'd want that job, but it does illustrate my point.



  1. Great post, Allen. Quality is a journey, with a destination that you'll never reach. Remember old Zeno and his paradox.

    To the people who say "That's great, but shouldn't you be so much better now that you're releasing the 10th version" I'm gunna change analogies on you a bit.

    It's like hockey. The other versions were another season, with different management, different coaches, different skaters, different goaltenders, even different rules.

    Every season, a team has to keep learning, keep working on the basics, keep adjusting to opposition. Teams that don't do that play sub .500 hockey.

    BORL is on it's way to winning the Stanley's mug, IMO and your new coaching staff seems to be making an impact on all the players.

    I'm soooo glad I've got SA. I can hardly wait.

    (Oh, and, I didn't find D2005 all that bad, no worse or better than say, D2, which, in IDE terms would be the same rev level. Remember all the video driver patches?)

  2. I completely agree in what you are saying and I am happy to see you are working in the issues.

    If you could also explain your price politics. $391 is the cheapest upgrade from a release like Delphi 2005. Doesn't really make sense to me after reading your statement.

  3. Patricio MoschcovichNovember 18, 2005 at 5:25 AM

    "an airplane manufacturer would require that the team of engineers that wrote the flight control software be among the first to fly on the plane during trials"

    That reminds me of an airline which forces a few randomly-chosen security screeners to fly on that same flight.

    The screeners surely do a great job!

  4. Nice post, Allen. I'm glad to hear that management is being reasonable and allowing delays when the product is not done. (...notwithstanding my personal disappointment about C++ being delayed - but that's a moot point anyway for me.)

    I think it's clear to everyone that software shipped before it is ready doesn't meet anyone's needs, neither the customer nor the vendor. That is an easy trap to fall into.

  5. Alan you are absolutely right. Quality is a journey. However, Borland has been treating its customers like quality is a destination. To get bug fixes we have to travel to a different destination after shelling out some serious cash for a ticket.

    The "journey" is community members and customers submitting bug reports through a Bugzilla style interface, getting prompt feedback and submissions that are incorporated into the code base. The other part is getting bug fix releases on a monthly or quarterly basis. I don't think you have to open source your project to have this.

  6. Awesome post. Keep up the frank and honest blog entries.

  7. D2500 was incomplete, rough round the edges and flakey in places. But wasn't as bad as many customer comments make out. And no other company apart from Borland would have had the balls to attempt it. Frankly I've enjoyed using it for the last 11 months.

  8. Pragmatism is fine, but too much of it leads to shortcuts.

    For example, exposing some private fields might cause you to be done an hour earlier, but leaves a big ugly spot that will give the wrong signal to others.

  9. Honestly, I think the author is being somewhat naive.

    Delphi 2005 quality didn't suck due to tactical missteps or complacency on the Delphi development team.

    We all know and recognize the team to be a world class set of individuals, working hard on giving us the best development tool in the World.

    No, Delphi 2005 sucked because management didn't allocate the resources they should have. (and used to)

    Delphi 2005 is a complex beast. It did require a *lot* of testing and development before release.

    1. Delphi 8 & 2005 introduced a whole slew of new modules integrated tightly into the IDE, increasing an already complex product by several magnitudes. Furthermore several of these modules weren't even written by the Delphi team, and uses disparate platforms. (for instance, the StarTeam client is written in .Net for some odd reason) In turn thoroughly debugging this complex mess is a huge task. It's my impression, that integrating all these disparate technologies makes the product inheritently vulnerable to instability and creates a debugging nightmare.

    2. Delphi 2005 introduces .Net as a key component in the internal operation of the IDE. While .Net is a fine platform, usage, robustness and experience still can't compete with the old and mature Win32 platform, certainly not in critical applications like an IDE.

    And the lack of resources continue.

    Look at D2006. Now effectively becoming a beta release because the C++ personality is "not ready for prime time"?

    So are we to believe, that Borland Corp, the creator of world class compilers + IDE's for the last 21 years aren't able to implement their own compiler into their own IDE in 12 months time??? (C++ was demoed a year ago in the common IDE)

    Of *course* they are able to. If only management would allocate the required manpower to do things right.

    Another example would be dropping the remote debugger in Delphi 2005. Apparently the excuse was "lack of time to reimplement the functionality properly".

    C'mon, Borland can do *anything* it sets its mind to!

  10. The journey aspect is part of quality, but it's not about *getting* there, it's mostly about *staying* there in any other industry but IT.

    It's not really an issue about IT being a young industry, more an issue about IT quality flaws being tolerated by customers and constant patching being possible to ease the pains.

    Seeing it as only a journeys means you've already accepted that continuing to ship products after customers have reported flaws is acceptible f.i., in other industries there would be recalls, court injunctions to stop shipping, etc.

    So seeing it as a journey is sticking to the leniency side: "we're doing our best". Such an attitude in food, medecine or automotive industry wouldn't be acceptible, you're required to achieve quality first, and then maintain it. And if doing your best isn't enough, then you don't ship, period.

    A very nice tasting food that makes people sick is unacceptable, however nice the taste may be. In the IT world, if it tastes nice enough, it gets shipped, then let's worry about trying not getting people too sick... which may never happen, if it turns out the sickness effect isn't patchable out.

    As long as the reversal of priorities hasn't happened, quality won't be there in IT, simply because it's seen as something desirable, and not something you have to achieve AND maintain.

  11. Quality just isn't required/expected by clients for the price they are willing to pay.

    Unless people die because of code quality and bugs this won't change anytime soon.

  12. Eric,

    Thank you for your comments. As always, your insights are very well reasoned. I do not disagree with you on principle, however, this *is* the state we (the collective software industry "we") are in. It won't change overnight, and we all have to remain in business until it does. Part of remaining in business so that we can continue this journey is to sometimes make trade-offs. I hate to make statements that simply sound like "everybody else is doin' it!", but the reality is just this. In order to remain competitive and relevant, the game must be played. Also, we have to be wary of swinging too far in the either direction. In all things there must be balance. My goal is to find that balance again. I think we had it but may have strayed a little in the recent past. I can only strive to change the future.

    Again, it's good to have you reading. See you in non-tech ;-)


  13. Good post and some good responses.

    My only warning to you Allen, is to not let the "journey" articulation become an excuse. I am not saying that's your intention; but the danger is there.

    I am glad to see that you've delayed the release of the C++ aspect until its quality has reached an acceptable threshold. Excellent. That's exactly what should be happening across the board.

    I don't see how that could lose you customer's. It wil certainly keep your existing customers; and, a perception of excellent quality over time will hopefully gain you customers.

    It would be interesting to see Borland, through its ALM/SDO platform, become the vendor with which Quality is not just associated; but, an actual deliverable through its tools.


  14. For customers, "quality IS the vendors destination" - it is a goal that must be achieved. A product has to meet quality standards otherwise it's not fit for purpose. For the vendor, quality is both a process and a target. If the vendor's objective is the product then then quality process must deliver the target. If the vendor's commitment only extends are far as the sale of the product then quality is a journey that is part of the vendor's sales pitch, and the achievement of quality is only one of the potential outcomes.

    Customers are not interested in the quality process in the vendor's sales pitch - customers are only ever interested in performance - don't bother with excuses, the customer is not interested.

    I wish the staff at Borland all the best in their endeavours to release DBS 2006. May their thoughts be clear and concise and may their efforts be efficient, effective and abundantly fruitful.




Please keep your comments related to the post on which you are commenting. No spam, personal attacks, or general nastiness. I will be watching and will delete comments I find irrelevant, offensive and unnecessary.