Derik Whittaker

Syndication

News


It takes real balls to do it right

It does not take a genius to realize that I (and most others on this blog) are fans of JetBrains.  But what it may take a genius to realize is it takes balls to do what JetBrains does with their products. 

You may be asking what exactly I am talking about or referring to?  I am taking about the fact that they are willing to throw caution to the wind and provide very early (and in many cases mostly stable) release of their products to the wild.  What makes this even more crazy/impressive is that they build products for software developers and we all know that software developers are the most vocal and opinionated group of people out there.

The fact that JetBrains releases software early and often simply makes sense and ALL companies that release software (regardless of the type) and not be afraid of what may happen.  Because putting your product (in this case software) in front of customers early and often will allow you to:

  1. Find and resolve more bugs
  2. Find and resolve any weak area in usage or workflow
  3. Find areas of the application that are still lacking

Now the trick to releasing pre-alpha, alpha or even beta software is you MUST listen users feedback and attempt to incorporate or fix any areas of concern (of course only make adjustments if they make sense for the product).

So, what is the point of this post?  Well 2 things.  1 to give kudos to JetBrains for again releasing early copies of their software and 2 tell all software companies that releasing early and often will result in a better product.

Till next time,


Posted 11-06-2009 4:57 AM by Derik Whittaker
Filed under:

[Advertisement]

Comments

Jak Charlton wrote re: It takes real balls to do it right
on 11-06-2009 6:26 AM

+10000000 :)

Awkward Coder wrote re: It takes real balls to do it right
on 11-06-2009 9:02 AM

+1

Awkward Coder wrote re: It takes real balls to do it right
on 11-06-2009 9:04 AM

+1

Andrew wrote re: It takes real balls to do it right
on 11-06-2009 12:28 PM

Releasing early and often works for Jetbrain, but will never work for all software.  You didn't even remotely consider:

1) Regulated industries where you need to submit your product a regulator board every release (which can cost tens of thousands of dollars per submission).

2) Software that is critical to someone's welfare, for example medical equipment or financial systems where "Ooops, turns out there's a bug, sorry for killing you/the loss of our house" just doesn't cut it.

3) Software in a already tighly contested market space, releasing a buggy POS is only going to kill your reputation.

What works for Jetbrains, just doesn't work for everyone.

Awkward Coder wrote re: It takes real balls to do it right
on 11-06-2009 12:37 PM

@Andrew - you would have thought 3 on your list would have stopped JetBrains according to you but it doesn't...

Derik Whittaker wrote re: It takes real balls to do it right
on 11-06-2009 1:22 PM

@Andrew,

Actually I can only agree to point #1.  For points 2 & 3 i 100% disagree

BTW, i work for a heathcare software vendor and one thing you MUST understand is this.  We have clients/customers who keep our products in 'test' environments for 2-3 months if not longer.  

By providing them more builds we can more quickly get to the bottom of issues and produce better software

Andrew wrote re: It takes real balls to do it right
on 11-06-2009 4:06 PM

@Ackward Coder

I guess there a few ways to answer that, 1) did Jetbrains act this way all the time, or only once their products were accepted within the marketplace? 2) Is the marketplace that crowded with quality products?  That's an honest question, I don't really know.  Resharper is obviously the top...well whatever it is, IDE enchancer?  I haven't used their other products, but by all accounts they are top of the line.  Would a new company entering the same marketplace today be as successful following the same strategy, or would people just say "why use this new buggy thing when I can just use Jetbrains"?  I honestly don't know the answer to that one.

@Derik,

I guess it's all a matter of tastes, I look at your point about your company and I wonder what your clients think.  Do they like getting something fast and contributing to the effort to make a better product (and do they get a discount for basically bieng your QA department for doing so?), or do they think "Well of course we get it early because the product has so many bugs that WE are forced to find and document."?

I would hope that your company has a fairly high bar set for code quality anyways, so you probably aren't turning over completely obvious, simple to find bugs (of the "I try and add a customer and the app crashes" ilk), so really they're probably only finding the hard to replicate bugs at this point.

I just look at the places I've been a consultant at in the past, and if "release early, release often" was their mantra, a lot...and I mean a crap load...of horrible, bug ridden code would have been released.

Derik Whittaker wrote re: It takes real balls to do it right
on 11-06-2009 7:43 PM

@Andrew,

Actually most of the customers that are part of our 'early adopter' program are part of it because they want a say in the products direction.  

And yes, we do our best to not release 'crap' and we do attempt to set a high bar for quality.

Andrew wrote re: It takes real balls to do it right
on 11-06-2009 8:08 PM

@Derik,

Interesting, I guess I could see it that way, driving the development insures that they can get their little nuggets in there, or at least increase the chances.

But what about things like boxed software, something like a Turbo Tax, a Video Game, a POS system for a Beauty Salon, etc.  Those types of apps need to be near bullet proof before release, or you'll have a lot of angry customers on your hand.

Either way, it's an interesting stance on the topic.  I for one, work in an industry that is scenario 1) from my original comment, so it's a moot issue for me anyways.  My employeer spends almost 10 million a year getting software approved in various jurisdictions already, so submitting multiple times would bankrupt us.

Derik Whittaker wrote re: It takes real balls to do it right
on 11-06-2009 9:03 PM

@Andrew,

Your logic is sound, however in reality it does not hold up.

All the Applications I have ever worked on have been 'customer facing'  I have never really worked on any sort of internal only application and I can tell you one thing for certain.  I have worked on a POS that when finally deployed was used by over 1500 member stores for a commercial department store.

No application is EVER bullet prof, no POS, no order entry system, no tracking system, nothing.

Again,  like I said, in some industries, such as yours, this may not work.  But I am also going to go out on a limb and say that your company would not have to pay to get alpha or beta software approved for each release.  

I am also NOT saying that you must push out a new release ever month, but that exposing software to customers earlier during the cycle will only make a better product.

Andrew wrote re: It takes real balls to do it right
on 11-09-2009 12:06 PM

@Derik,

As a matter of fact, we would have to pay.  Regulatory boards don't care if something if Alpha, Beta or Release, just that they are getting software that they must review and approve.  Granted, I believe this is unique to the industry I am in.

I'm not disagreeing with what you are saying, I just think it's not always possible.   I also think that if a company was to take this approach, they better be sure they have good people who aren't lazy.  As I said in a previous comment, I'm quite sure that developers in many of the places I'd worked at would use this style of development as an excuse to forgo any of their own testing and just shove it out the door.  But that'd really isn't a problem with the "Release early, release often" philisophy as much as it's a problem with those companies.

Dave Schinkel wrote re: It takes real balls to do it right
on 01-06-2010 2:37 PM

It's all dependent on the "How" you release often.  Are you

a) Code & Running

b) Planning iterations that are realistic to achieve and then releasing the alpha software

Makes a huge difference and the decision between success and failure for any business.  Far too many shops code & run thus producing trash and burning out their assets (employees).

Tony wrote re: It takes real balls to do it right
on 01-31-2010 11:11 PM

I agree, it DOES take balls and good people,  both business and technology/engineering, to implement the discipline and instill processes that allow for frequent iterations of ALM/SDLC in the form of alpha, beta and release.  I also agree that there are exceptions, but for the most part ALL verticals  can/could be successful with frequent iterations of software and/or hardware. I've seen my share of projects fail under different verticals due to business not wanting to walk the walk, for various reasons but usually ego is always involved, and align with engineering to create a successful environment where frequent iterations could have been done. I love my ReSharper! :)

About The CodeBetter.Com Blog Network
CodeBetter.Com FAQ

Our Mission

Advertisers should contact Brendan

Subscribe
Google Reader or Homepage

del.icio.us CodeBetter.com Latest Items
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Subscribe with myFeedster
Add to My AOL
Furl CodeBetter.com Latest Items
Subscribe in Rojo

Member Projects
DimeCasts.Net - Derik Whittaker

Friends of Devlicio.us
Red-Gate Tools For SQL and .NET

NDepend

SlickEdit
 
SmartInspect .NET Logging
NGEDIT: ViEmu and Codekana
LiteAccounting.Com
DevExpress
Fixx
NHibernate Profiler
Unfuddle
Balsamiq Mockups
Scrumy
JetBrains - ReSharper
Umbraco
NServiceBus
RavenDb
Web Sequence Diagrams
Ducksboard<-- NEW Friend!

 



Site Copyright © 2007 CodeBetter.Com
Content Copyright Individual Bloggers

 

Community Server (Commercial Edition)