Friday, November 17, 2006

As agile as a herd of rihno?

Joel Spolsky is one of my favourite dispensers of wisdom, which is why it annoys me so much when he says something so obviously wrong, and especially when he contradicts himself doing it...

This week I've spent most of the week locked in my office with my headphones on hammering out new code, actual new code, to do actual new things I couldn't do before. That felt good, its not something I get to do that often any more now I'm hip deep and sinking fast in operations.

As a project matures more and more time gets sucked into maintenance, support and making sure things only break when you expect them to break. Adding features becomes an incremental thing, but sometimes you get the chance to crank out a really big block of code. These chances don't come along that often and shouldn't be squandered. By ignoring several moderately important "other things", I've managed to compress a month long project and a seriously large chunk of code into a weeks work.

That just wouldn't be possible if I'd had to context switch that much. For really short context switches like people ignoring the sign on my door telling them to go away, or a quick email response, I've found that pausing the music I'm listening to, dealing with the interruption, and them restarting the music will allow me to "check point" the state my head is in and the data structures I've built there while I'm working. I'll still loose ten or fifteen minutes because I won't be rolling along at full speed any more, but the damage is fairly limited.

Longer switch outs are more problematic, in fact there was one point this week where I had to drop what I was doing and do something else. It took me two hours, and then it took me another six hours to carefully reassemble the pile of stuff in my head and get back to where I was before I was interrupted. So that was eight hours gone because I had to drop what I was doing for two hours, there isn't such a thing as a short interruption when you're coding, not really...

I'm all for agile development, but agile development shouldn't mean that you get locked into endless fire fighting or you'll never get those big features out the door.

1 comment:

  1. IEEE Final Year projects Project Centers in Chennai are consistently sought after. Final Year Students Projects take a shot at them to improve their aptitudes, while specialists like the enjoyment in interfering with innovation. For experts, it's an alternate ball game through and through. Smaller than expected IEEE Final Year project centers ground for all fragments of CSE & IT engineers hoping to assemble. Final Year Projects for CSE It gives you tips and rules that is progressively critical to consider while choosing any final year project point.

    Spring Framework has already made serious inroads as an integrated technology stack for building user-facing applications. Spring Framework Corporate TRaining the authors explore the idea of using Java in Big Data platforms.
    Specifically, Spring Framework provides various tasks are geared around preparing data for further analysis and visualization. Spring Training in Chennai

    The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training