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.
Friday, September 21, 2007
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.
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.