The Ten Lies Software Developers Tell

1) My code is better that yours. Writing code is very much like writing a song or painting a picture. Artists and song-writers have different styles of painting or song writing. Writing code is similar, different software engineers have different coding styles. So, unless your code is really badly written, my code is no better than yours, it is simply different to yours. If my code works and does not require any enhancements, leave it alone, no matter how different to yours it is.

2) It works on my machine…well, if it works on your machine and not mine, then clearly it is not a robust application, or your installation procedure does not work very well. Remember that you wrote it on your machine, so of course it works on your machine. Now get it to work everywhere else.

3) I’ll comment the code at the end. The end of any development cycle is always chaotic, that is a simple fact of software engineering. So, if you have not got time to comment your code while you are writing it, how are you going to have the time at the end? Besides, if it is a large project with a long development time, are you going to remember what some of the earlier written (uncommented) code does!

4) I’ll add the error handing at the end. Error-handling is part of the basic design of a system, not something you slap on at the end when you have time.

5) The programme is complete – but I just need to quickly finish off…..This is a very common one. The development is not complete until you have finished writing all of the code. If you have a single line of code to write, it is not complete, and not ready for testing.

6) It is a small bug – it will only take 5 minutes to fix. By the time you have load the development environment, identified the bug, fixed, tested and rolled out the change to production, it will be much longer that 5 minutes. There is no such thing as a 5 minute to fix bug.

7) I only have to change one line of code to fix the bug. To the customer, it does not matter weather it is one line of code, or one hundred lines of  code. All the customer cares about is that the application is not working. Fix it!

8) It’s not my problem. If your application is not working – it is your problem. It does not matter if RightFax is down and you cannot print faxes, or you cannot connect to the FTP server. The fact is that if your application is not doing what it should be doing, you had better find out what the cause is, and resolve it.  While different people may have ownership of different portions of a software system, you are ALL responsible to ensure that everything is working.

9) The application works fine with my test data. Yes it might, work with the test data, but the live system does not run on test data. It runs on live data. Best you get your application to work with live data.

10) It’s a user error. If the user is clever (or stupid) enough to break your application, it is not robust enough. You need to anticipate all user inputs, and cater for them. If at a later stage you find another user error, modify your code and test cases to check for it.

And a bonus lie…

11) Of course I test my own code. Do you? Really? Promise? Ok, then let me try to break your application.

13 P’s of creating a speech – lessons from Ken Annandale

Ken Annandale gives us a very effective speech outline – the 13 P’s of creating a speech. I think that it is pretty self-explanatory – enjoy!

  1. Preparation
    1. Point description (ask yourself)
    2. Purpose Objective (Why am I doing this presentation?)
    3. People -Audience (Who is going to listen to me?)
  2. Introduction
    1. Promise Attention grabber (How do I get their attention?)
    2. Present Position (Historical situation What was the situation like before?)
    3. Perfect Position (Ideal situation What could it be like in future?)
    4. Proposal Recommendation (What is being offered as a solution?)
  3. Body
    1. Pertinent Points (features / facts – How does / will the solution work?)
    2. Persuasive Points (benefits / emotive – What?s in it for them / us / you / me?)
    3. Points to Ponder (Aspects that may concern them)
    4. Problems (Allow them to ask questions)
  4. Close
    1. Precis (wrap up – repeat everything you said in brief)
    2. Plan for Action (Ask them to react to your suggestion)

For more information on Ken, his website is http://www.show.co.za

On getting tasks done

Some tips on completing tasks.
  • Avoid add a task to today’s todo list, rather add it to the future. Adding it to today’s list adds additional pressure to completing what you have already committed to do.
  • Does a task need to be completed perfectly, or just good enough? Remember the 80/20 rule. Often good enough is good enough.
  • Remember – you will always have things on your todo list.
  • Delegate the fun stuff – then it will get done.
  • Have one todo list only.
  • Take a break – you cannot be productive all the time.
  • Types of tasks
    • Should do
    • Must do
    • Don’t need to do
  • Remember David Allan’s wise words:
    • Do
    • Deletage
    • Defer
    • Delete (you will be surprised how often a defer turns into a delete)
  • Finally, review your task list at the beginning of the day, and at the end of the day (just for a few minutes).

Presentation tips for PowerPoint

This is an extract of a training session that I present “Putting the POWER back into PowerPoint”.

Nowadays, many of us use PowerPoint for our presentations. While there are many courses and books on the technical side of how to create slides, there is very little material available on how to create effective slides and presentations. This course helps to address that issue.

Only use slides if appropriate. Nowadays, we often automatically haul out PowerPoint when asked to do a presentation. You need to ask yourself if the particular presentation really needs it, or if slides are not really necessary

Create slides around the presentation, not the presentation around the slides. Remember that the slides are there to enhance and not replace your presentation.

Use few and simple fonts and colours. The fewer you use, the easier it is to read.

Use contrasting colours. As above – it’s easier to read. Also test your slides under a variety of conditions to find what combinations work. My favourite is a navy blue background, with yellow headings and white text.

Use the 7×7 rule. No more that seven words per line; and seven lines per page. Rather put your main points onto the slides than a transcription of your speech. It is easier for the audience to remember a few points than an essay, and it allows for larger fonts to be used, hence making the slides more readable (especially from a distance).

Check spelling and grammar. This is just plain professionalism – it goes without saying.

Don’t read the slides verbatim. We can all read. Rather give us a few seconds to read a slide before speaking about the points on the slide. If you are presenting the slides point by point, then show the point while you discuss it. But please don’t insult me by reading the points aloud.

Use animated effects only if appropriate. They can really look cute, but can be distracting to the main point.

Audio and video clips add complexity to the presentation. Use them only if appropriate.

Rather use graphs than numbers. They are easier to read and simpler to understand. Remember that numbers tell, but pictures sell.

Rehearse with and without the slides. This gives you the power to still deliver a presentation should you have a major catastrophe with the slides (eg: the projector stops working half-way through a presentation).

Arrive at the venue early. This gives you plenty of time to setup and ensure that everything is working. It also allows for you to resolve any issues well-before time. If it’s a really important presentation, try to get there the day before as well so that you can check out the venue and ensure that all equipment is working.

Bring the following to your presentations:

  • Printout of slides- in case the projector fails.
  • Electronic copy in a few formats – so you can connect to another laptop should the need be required.
  • Long extension leads & multi plugs – so you can plug in wherever the plug points are.
  • Masking tape – tape down any long cables that you (or others) may trip over
  • Laptop and power supply – even if you know they are supplying equipment, rather have it there as a backup.

Finally two pointers for running the actual presentation:

Don’t run the laptop off batteries (no matter how fresh). I have seen many laptops shutdown or go into standby mode because the laptop was running on batteries, and either they went flat, or the presenter forgot to put the laptop into a “don’t go into standby” mode.

Speak to the audience, not to the screen. Many presenters read the slides (see point above) while facing the screen. This prevents you from making eye contact with the audience, and prevents them from hearing you. It’s also rude.

Do you backup?

I just read an email about an author from Port Elizabeth who has lost over 200 pages from a book that she is busy writing after her laptop was stolen. These are over 200 pages of the only draft!

While I feel sorry for her, I hear this kind of story almost every week. How simple is it to really backup your files? I am sure that right now, she is thinking that perhaps she should back up on a more regular basis.

A hard drive drive costs less than R1000, and a memory stick less than R99, so there is no excuse for loosing your data. Hey, I even sometimes make a dirty backup backup by simply emailing changed documents to my gmail account. It is free, effective and reliable! And of course entry level Google Drive and Dropbox accounts are free.

So, please learn from this and backup your files!

Schrodenger’s Restaurant

Isn’t it interesting that as soon as you find a quiet, out of the way restaurant, everybody starts going there. You know what I mean, the sort of place that is reasonably priced, serves really fine food, and has a fine ambience. Then everybody hears about this place, and before you know it you have to book weeks in advance. And then when you finally manage to visit the restaurant, its full, noisy and impersonal. Everything that you liked about it has gone. Why are all of these people visiting YOUR spot?

What is interesting is that the very act of you visiting the restaurant changes the ambience in a very subtle way. Similarly, the act of all of you visiting the restaurant changed it in a larger way. Many people doing this creates a critical mass, and that is when the small, subtle changes become far more pronounced.

Hence, the best way to not change the restaurant is to not visit it at all, which is pretty self-defeating. What’s also interesting is that everybody else is feeling exactly the same about THEIR spot.

What can you do about it? Not much really. You can continue to visit your favorite spots, and hope that the critical mass takes its time to accumulate, or that (hopefully) it does not accumulate at all, and the restaurant continues to satisfy the trickle of people passing through.

4 tips on PowerPoint

Use PowerPoint to enhance your presentations, not as a substitute for poor presentations.

  • Create your content first, and then create the visuals. Creating slides is far more fun that creating good content; don’t fall into the trap of creating great slides that support a weak message.
  • Budget your time. Allocate a set amount of time to create the slides, and budget that across all the slides you need. Otherwise your first 2 or 3 slides could be fantastic with no time to do a good job on the rest of the slides.
  • You don’t always need slides. Only use slides if they significantly enhance your presentation.
  • Focus on the message, not on the medium. Good slides will not hide a poorly crafted message.

3 acronyms to make email messages a little more effective

Hey are three acronyms you can use to make your email communication a little more effective.

NNTR / NRN

If you put NNTR in the end of the subject line (No need to reply, or no response needed), it tells the recipient that you are not expecting a response. e.g.:

Minutes of last night’s meeting attached NNTR

Personally I prefer to assume that unless you explicitly tell the reader that a response is needed, a response is not expected.

EOM

If you can fit the entire message into the subject line, put EOM at the end (End of Message) and they won’t have to even open the message. e.g.:

Meeting confirmed for today at 6pm EOM

FYI

If an email contains no actionable items add FYI to the subject line to tell the reader. e.g.:

Here is a copy of the project schedule (FYI)

These work just as well in text messages. Do they work for you? How effective do you find them?

What to get done

In my previous post I gave some tips on getting tasks done; here are some tips on what to get done.

  • Never accept a meeting on the same today – it messes up your planning
  • Know what you need to do today, and only focus on those – remember to eat the biggest frog First (Brian Tracey)
  • Don’t do other people’s work – it is too easy to say yes, but mean no – delegate!
  • Only commit to work that you can complete, and if you can’t complete it, don’t commit!
  • Don’t make promises you cannot keep.
  • Don’t let people flatter you, – if you don’t want to be involved, say no.