Editor's//Comment
New Year's Resolutions
By Elden
Nelson
I'd like
to make a confession. This year, there've been times when I've been ... weak.
I've taken the easy way out, instead of doing the right thing. I've ... I've ...
I've developed a Web site using PHP and MySQL.
Why?
Well, it was a freebie site, and I'd used PHP many times to do the kinds of
things this guy wanted (ASP.NET hasn't been around forever, after all). So I
just leveraged existing code and knocked the project out as fast as I could. No
harm in that, right?
Well, I
suppose not. But I've noticed that it's when doing "freebie" sites that I learn
the most - because the client is in no position to complain and there are fewer
specs and time constraints, I can experiment a little and learn a lot. By
walking old paths with old technologies, though, I learn nothing.
So
here's my resolution for this year: I'm going to do everything in
ASP.NET, even the easy stuff I've done other ways for years. For me, at least,
that's the best way to learn.
Of course,
I'm not the only one making new year's resolutions. I recently asked a number
of respected asp.netPRO developers and authors what they've done
this year that they're going to change for next year. Here are a few of their
responses.
Dan Wahlin
What
I did: I started
what I thought was a small development project based on an idea I had. I threw
together a database (tables, stored procs, etc.), some C# classes, and a few
Web pages. As I finished one item on the project, I'd get excited and add a few
more "features" into the product. I continued this process until I realized the
project scope was much bigger than I originally estimated. I wasn't happy with
the architecture, so I went back to fix some normalization issues in the
database as a result of the project growth. This, of course, changed my data
layer because the stored procs changed, which broke my business and
presentation layers. Because of my poor planning in the initial stages, months
have passed and I still haven't finished the project.
Why
it's bad: Lack of
planning, even on small development projects, can lead to a lot of wasted time
as the project continues. Fortunately, this wasn't for a client (which is part
of the reason I didn't spend the normal time planning the architecture), but
the amount of time I've wasted is definitely not a good thing.
My
resolution: No
matter how small a project might seem, I'm going to take the time to plan the
project's architecture in detail.
Brian Noyes
What
I did: I assumed I
knew enough about an install procedure for a server product to just wing it and
not go through the install procedure checklist. The installation went great,
and I was done in a flash.
What
went wrong: I kept
getting weird behaviors. After banging my head against the wall for a couple of
days, I decided to admit that it was possible I had missed something in
the install. I went back, reviewed the steps, and - d'oh! - there it was: SQL
Server SP2 required. How could I have forgotten that? The same way I have
forgotten similar install steps numerous times before.
My
resolution: From
now on, I'll "waste" the extra 15 minutes to follow through the install manual
instead of guessing what the problem is downstream.
Bill Wagner
What
I did: I once was
working on a game aimed at the 3- to 8-year-old set. The game had a series of
activities and a navigation screen that children would use to go to their
favorite screen. We developers wanted an easy way for children to go from the
current screen to the main screen. We chose the "obvious" answer: Press the
space bar.
Why
it's bad: Several
of the younger children pressed the space bar accidentally. And repeatedly. You
can just imagine their frustration when they were busy playing a game and it
suddenly exited and brought them back to the introduction.
My
resolution: I'll
remember that users view our programs and designs through different eyes than
we do. To build better programs, listen to your users. Carefully listen to your
users. Even when you think you have listened to them repeatedly, listen more.
Any of
these resolutions sound familiar? What's your development resolution for
2003? Let me know at mailto:elden@aspnetPRO.com.
Elden Nelson is editor-in-chief of asp.netPRO and its
companion newsletter, asp.netNOW.
Tell us what you think! Please send any comments about
this article to mailto:feedback@aspnetPRO.com.
Please include the article title and author.