Friday, September 21, 2007


rather than just taking on jobs you can put your heart into, you should find a way to put your heart into everything you do.”

Windows Mobile: Feature Prioritization

In these days where we’re shipping software every day, and just cause a site is out there doesn’t mean it’s anywhere close to done, it’s important to recognize that sites may be works in progress.

stand in front of them and explain this bright thing

Tips (etc.) on using flip charts

if you still want to dynamically create WSDL files (using the http://localhost/vDir/myService.asmx?WSDL) with your own minOccurs values

Ease of use can lead to new uses...

"How can we even think of saving chimpanzees if the humans around them are struggling to survive?" That was the question posed by Dr. Jane Goodall, who's devoted 47 years of her life studying chimps in the Gombe Stream National Park in Tanzania

Top Ten Signs Your Software Project is Doomed

The Mathemagician's Guide to Lightning Calculation and Amazing Math Tricks.

Note From Boss To Employees

I majored in super annoying grammar correction in college

PowerPoint (or Keynote) is a great tool to AMPLIFY what we are saying, but not serve as our scripts, or substitute for our own communication experience when we are speaking.

Try to avoid having BOOL function parameters

CSS Naked Day

scope creep

Precision in language

How To Make Your Own Domain An OpenID

10 tips for leading your team to peak performance

Jobs that don’t require a specialty are low level. To move up you need to be great at something, and you have to let people know what you don’t do. No one is great at everything. Even if your goal is not to get to the executive suite, you should specialize. When you want to take five months off to hike in Tibet, if you are easily replaced, you will be. If you have a skill that is hard to duplicate, your job will be there for you when you get back.

EDSK ... how long the software being developed will need to be supported

Every developer should know how long the software being developed will need to be supported.

First off, lets get the exceptions out of the way. If the software being developed is a small, one off application, which serves a single purpose and will only be used by a single person, there is a chance that it may never need supporting. In such a case it will normally be sufficient to just keep a copy of the source code and
any specification documents.

So what do I mean by 'software needing to be supported'?
Simple. It's everything after the software is finished and delivered to the user.

This includes:
- Helping installing the software.
- Answering questions about the software.
- Fixing bugs.
- Adding new features.

Why is this important?

Because time taken in support is time that can't be spent on other software or a new version of the software.

If you aren't accounting for supporting previously created software when planning subsequent work or determining how much to charge for the software, problems are likely to follow.

It is also likely to matter to the person buying the software. They will have expectations about how long support will be available for. As part of managing the relationship with the customer and their expectations it is important to be clear about this. And this is sometihng that can only be done if it has been thought through.

What do you do once you know this?

Make sure that you plan for support and are always have sufficient resources and knowledge to do so.

What do you think?
Is this something every developer should know? Have you say in the comments.