The Android Developer Challenge deadline is giving us a cold, hard stare.
At this point, GeoMata is a functioning prototype, but there remains plenty of little unfinished functional pieces. Realistically, we don't have time to implement all of them. We have to prioritize these remaining items, decide which we can accomplish before the zero hour, and then get to it. We have to make sure the entire app looks halfway decent, that it feels consistent, and most of all that it doesn't break.
On top of that, there's the ever existing friction between doing it now and doing it right.
As a developer, that's probably my biggest frustration point. I'm a perfectionist. I always want to do it "the right way". I actually feel guilty when I don't. In my experience though, it's a very rare scenario where you have a perfect blueprint and everything ends up designed and operating per the original spec.
This has led me to conclude that for most decently sized projects, creating a intricately detailed design document is a waste of time. A design document is still a good thing to have, just don't etch every detail in stone, give yourself some breathing room. Chances are likely, that your going to have to alter your design in un-anticipated ways, and you won't know how until you get your hands dirty.
Crafting good software is like sculpting. You write some code, realize how to make it better, do some refactoring, and then repeat this many times over. Your codebase incrementally improves. But you can't continually refactor your code forever. You have to finish it at some point, and that's the trick really. Finding the balance between perfection and good enough.
At this point I've resigned myself to not having everything perfect, reality demands it, and the later in the game you figure that out the worse off you'll be. I've found solace in the fact that I at least know all the dark corners of our app that need a good house cleaning. I've been maintaining a decent sized task list, so when the time pressure eases up (if it ever does), I can go back in and clean things up where they need it the most.
It's kind of funny how that works though, the more successful you are the more time constraints you could end up with. If GeoMata somehow miraculously is declared a winner in Phase I of the ADC, then I'm instantly bootstrapped with another deadline to worry about (Phase 2). In reality, that's exactly the problem that I want to be saddled up with.
Friday, April 4, 2008
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment