Saturday, March 14, 2009

Irresponsible Push

Inspired by a popular internet company whose name I won't reveal here (you know who you are), the GWAP Web site team has started following a software engineering technique that I'm calling "irresponsible pushing." It works wonders.

Developer:I've implemented a first draft of the new feature. I just need to test it. We'll be able to release it in 2-3 weeks.
Luis: Push now. Release it.
Developer:What? Live?
Luis: Yes, push push push.

Then the untested feature is released (with bugs of course).

Luis: There are bugs! It's live. People are seeing the bugs! We're gonna lose users. FIX IT. Fix it now!

Then the developer goes nuts for the next 30 minutes fixing the issue, and voila: what was going to take 2-3 weeks took less than an hour.

I should be writing a book about this stuff.

13 comments:

  1. Man, that sounds familiar.

    Pick your poison. Do you want to be known as the lazy developers who never release things on time, or the bozos who put out buggy code? Or worse, both.

    ReplyDelete
  2. kinda crazy, but most of us have been in a similar situation.. of course, not on purpose like yours.

    ReplyDelete
  3. Sounds crazy to me... This should work if you don't have a staging platform or alternate site where you can (safely) test the changes before pushing live. It sounds like an irresponsible thing to do if you're running a company that's even slightly concerned about maintaining an image. ;)

    ReplyDelete
  4. My guess is that there is a rule of thumb about how much a developer is a user of what they are developing and how often you need to get it out to users who are not the developers.

    ReplyDelete
  5. Fictional story:

    1. Boss tells developer to deploy before feature is tested
    2. Bug in feature cause a client monetary damage
    3. Client sues boss
    4. Developer testifies boss forced him to deploy what he knew was untested
    5. Profit

    ReplyDelete
  6. I'm not advocating doing this when there are clients involved :)

    ReplyDelete
  7. Luis: I am sorry to say, your approach lacks originality and genius. It is much more inventive to send your developpers on a "new long week-end work initiative thing" immediately after releasing the buggy feature: this way you will get an exhaustive list of the bugs, some suggestions of their cause and of how to solve them, and save your developper's time (or not).

    ReplyDelete
  8. Genius! Then you can complain about the poor implementation afterwards and performance! And you can ALSO blame that on the developer too!

    Then you can make them work weekends and nights to fix the problems!

    ReplyDelete
  9. Clients are good for one thing: testing. That's why god created them...to test (albeit, preferably in staging; though I'd imagine the buzz one would get from the method you proposed would be greater)

    ReplyDelete
  10. To developer working for Luis:
    Don't tell the boss that the feature is code complete on a Friday (or Thursday). Wait until Monday.

    ReplyDelete
  11. Luis, I'm wondering if you had a backup plan?

    I mean, what if the irresponsible push caused Nasty Problems? Maybe losing your users forever; some of whom may be Deans controlling tenure ... you get the drift.

    PS: You are late to the game. Microsoft calls the Irresponsible Push "Vista" ;)

    ReplyDelete
  12. I think this should be cross-posted as "How to Lose Developers."

    ReplyDelete