Publication Date: 9/15/2009 11:21:37 AM
I recently attended my nephew’s 5th birthday party. Observing him I realized that he and his guests could teach programmers a thing or two about software design:
Put yourself in someone else’s shoes
My nephew spends quite a bit of time playing with imaginary friends. And to him, they all have distinct personalities. (For example, one of his imaginary friends is a dead composer. Another is a penguin.)
Programmers often think too much like themselves when designing software. To design really great software, you need to be able to use your imagination, and put yourself in another person’s shoes.
The goodies take effort
One of the big events at his party was the piñata. Of course, it took several good bashes with the bat before it burst. If they had given up after the first couple of attempts, they would have never gotten the precious goodies. But my nephew and his little guests were very persistent and it paid off.
Since I enjoy building software more than designing software, I confess it is easy for me to give up a bit early on some of the tougher designs before they are really done. But you only get the full benefits of design if you spend some good effort on it. Don’t give up too soon, or your solution will be half-baked.
Be an explorer
Some of my nephew’s guests were intrepid explorers. They carefully examined the entire backyard, including the vegetable garden, the fences, the flowers, and the local insects. These explorers looked for new things to examine and discover.
Fully understanding a problem and imagining an effective solution requires the programmer to be inquisitive, thoughtful and creative. Sometimes programmers spend too little time understanding a problem and too much time deciding they already know the answer.
Think like a geek
Your URL (optional):
Type the code shown
Top 5 Programmers to Avoid
What everyone should know about bugs
How to tell if an estimate sucks
The Secret to Building a Crappy User Interface
The Problem with Selecting the Lowest Bidder
5 Ways to Control Software Development Costs
As someone with over 20 years of software development experience
and currently a small business owner, it has been a pleasure working
with Avonelle. In addition to being a talented developer, Avonelle also
has database expertise and system design skills. Avonelle is open
minded and willing to discuss various methodologies for achieving a
project goal. She is also not afraid to ask questions which is vital in
a software development project. Her up-front project cost (not
estimate) is very helpful in budgeting for a project.
--Dwayne Wolterstorff, Owner @ Fair
Copyright © 2013 Avonelle Lovhaug. All Rights Reserved.
Sitefinity ASP.NET CMS