Improving client demos

As developers, we fear client demos. It’s the one time the system will never work. The client will think the feature is wrong or have some change that he swore he told you to do.

What are client demos

After having written functionality in the system, a software developer has to show the functionality to the client. This usually takes the form of a system demo. The client will be sitting in the room/in a video call watching you while you pray that the system works the way did two hours ago before you did that small tweak.

When they go wrong they go very wrong

The worst memory of a demo going very very wrong was at my mid-term evaluation of my honour's project. We had a very complicated system with lots of integration and moving parts. We however were only given 30 minutes to set up our demo in the venue.
All I remember saying was
"... and we add the customer in this system and it automatically adds it in that system (switching the screen to the other program. ). Let’s give it a few minutes.... "
It turns out the integration had broken due to a network issue.

The examiners were not that impressed and I felt I had let down my team who had put their faith in me to ensure they passed. We still passed and very comfortably but still the nightmare lives on. Since then I have ensured I take out as much of the uncontrollable stuff as possible.

I have learnt a few techniques in ensuring I don't look like a complete incompetent person, well most of the time.

Don't make any cosmetic changes

It’s too late to make the last change. The client, for the most part, will not notice that the button is slightly out of alignment with the others. If you do have an OCD client just mention it at the end of the demo and that you will fix it.
If things are very broken then fix it but don't make unnecessary changes.

Don't actually demonstrate the system just show the different steps

How many times have we seen developers click a button and

an error screen pop up out of nowhere.

a validation warning the developer was not expecting pop up

the numbers of the screen suddenly don't add up

The developer is usually seen trying to um and ah his way out of it. I have seen this happen far too many times. It can happen for any number of reasons.

The solution is to not demo the system at all. I have each step of the process in a different browser tab in order. I don't actually click the button I tell them I am clicking the button and then I switch to the next tab. If you can get away with it pictures of the screens are the best.
This ensures you know what is happening next and gives you the confidence to present your work.

Preload and order everything

It sounds so simple but the number of times I have cringed waiting for the internet connection to load the page is unreal. The world hates you and will let you down at key moments.
Ensure everything you have to present is preloaded and in order. This ensures you can swiftly move through the various parts of the system or explanations without having to fumble around trying to work out where the next item is.

Disable your notifications and personal stuff

During presentations, it's brilliant to see when the presenter gets a notification. It’s usually very funny or embarrassing for the presenter. It’s fun and games until it’s your turn. Your dirty WhatsApp group, we all have them, will send you a dirty joke during the presentation and you will not be able to close it quick enough.

The same goes for the personal browser tab you have open with an email from that company you are trying to move to. It’s never fun trying to avoid your boss for the next week.

Really easy solution here, turn them off and disable them. This includes business chat programs, emails, PushBullet and your phone.

Know the order of the demo

Often demos will involve more than one developer presenting functionality and it will involve you waiting for your turn to demo. It’s very rare that you actually did forgot to "unmute your microphone" or that you didn't hear your name being called.
Know when it’s your turn to present and know who is after you.

Tell a story

People love being told a story it makes sure they stay engaged and can relate to the new functionality. It doesn't have to be a good one just give it a human touch.
It’s a case of:
This is where you add customers into the system
Vs
This is where John will capture the new customer's details he received in his mail box

The client starts believing you have thought of the whole process and not just a screen. You can also use this to avoid certain areas of functionality you know are broken and haven't fixed yet.

All in all, client demos are not difficult nor should they be scary. Just be prepared and ensure you take them seriously. If it goes badly it’s your neck on the line.