Giving a Kickass Product Demo

Technologists of all career paths should be able to ace giving a technical demo — not just folks in public facing roles. As an architect, product manager, or engineer you may need to give an internal product demo for a prototype or proof of concept. It takes a mix of science (methodology) and art (storytelling) to give a kickass demo. 

This post summarizes the methodology established by our team to ensure consistently successful demonstrations and a repeatable pattern that could be adopted by other public speakers. 

Introducing the “Tan France Method” 

Earlier this year, I led a session track, co wrote the product keynote, and presented a new product announcement at the inaugural Rubrik FORWARD conference. During this time, our team hunkered down to study what makes a technical demo successful. We determined that a presenter with great demo has a defined: 

  • Structure 🗺️ – story-based narrative with a clear progression, think a three-act structure
  • Focus 📍– addresses a specific use case or workflow and doesn’t meander
  • Audience 👥 – defined persona(s) that will be viewing this demonstration

When conducting a product or feature demonstration, I use a simple 3-step method that our team referred to as the Tan France Method™️. For those unfamiliar, Tan France is a stylist, fashion designer, and style icon that often uses a simple instructional method when styling someone.

Now, let’s apply this methodology to a technical product demo. It consists of the following steps:

  1. Set it up – consider using a slide that quickly summaries the demo, intended outcomes, and any applicable metrics and status. Keep it simple and use it to streamline the demo introduction. Explain exactly what the viewer is about to see: “In this demonstration, I will show you how to configure X. This consists of two steps, first A and then B.” Be sure to include any additional context that the viewer will need.
  1. Do the thing – “Imagine I am a [persona] attempting to [insert action or workflow]…” and complete the problem statement. Explain the value proposition of what you’re about to demonstrate and outline any key constructs. Demo the thing! Only show one action at a time. If you are showing multiple actions, make sure there’s connective tissue tying these actions together into a workflow. Let’s illustrate this idea by connecting provisioning and policy management actions:

😐 “while the instance is provisioning, let’s look at policies. A policy can be assigned to an instance to enforce a number of security and data retention requirements.”

🤩 “a benefit of this design is that you can apply policies during provisioning. This means that as soon as an instance starts, it has already inherited the assigned policies and is compliant to any security or data retention standards. While this instance is provisioning, let’s take a look at policies.”

Though it may be tempting to make an ad-hoc change during the demo, stick to the script and stay focused on the task at hand. It is important to have a logical flow to the story being told in the demonstration. 

Your demo will fail if it is too product focused — think about the story you’re telling. Why should your audience care? The demo should be driving towards a clear outcome that solves the problem you set up at the beginning. I recommend reading the chapter on giving demos in Guy Kawasaki’s “The Macintosh Way”. He asserts that a good demo is short, simple, sweet, swift, and substantial. Outline your demo using these qualities as the foundation. 

  1. Sum it up – Don’t overthink this, it can be as simple as: “In this demonstration, you saw X do 321, Y, and Z.” Make sure to highlight any key result or emphasize the desired outcome. Similarly to #1, I generally leverage a slide as a reminder to neatly wrap up the demo and move on. If code or config specs were shown during the demo, then I provide the code in a corresponding GitHub repository via a simple link on the demo summary slide. 

It may seem rote to introduce and conclude a technical demo in such a formal manner, but keep in mind that the viewer is generally seeing this for the first time. Repetition is the mother of learning. This methodology ensures that the viewer begins and ends the demonstration hearing the value proposition.

Ace It

There have been demos in my career where I was flew by the seat of my pants but those days are gone. I strive to operate using the principle of 7 Ps: proper prior planning prevents piss poor performance. Simply put, your audience deserves better than you trying to figure it out in real-time. Here’s my process:

  1. Outline or mindmap the demo – be sure to highlight the “aha” moments. This helps me focus the narrative and ensure I’m telling a coherent and simple story. My demos are always use case driven and I like to reference specific customer examples throughout. Here’s an example of a mindmap created for a demonstration. 
  1. Build or prestage demo resources – use simple, straightforward resource names but be a little creative (e.g. use “John the DBA” and “Jane DevOps” instead of “user1” and “user2”). 
  2. Test and rehearse demo – time yourself, if lengthy determine what else can be pre-staged using a little smoke & mirrors. This also ensures your main points are crisp and aren’t rushed. Sometimes nerves can make presenters a little rambly when speaking so it’s important to rehearse and lock in timings. Consider recording a backup copy in case there are issues on game day. 
  3. Create intro/outro demo slide(s), as applicable – these are a reminder for me to make I begin and end with the intended outcome

Make sure to put thought to the aesthetics of your demo. Think of ways to make the demonstration more visually appealing: pleasing colors, bigger fonts, visible mouse. Thomas Maurer wrote a great post on this topic that you can find here.  

A word on live demos — keep track of time and always have a backup plan. Sometimes shit happens and things break. If something isn’t going to plan, do an initial assessment and make a judgement call. When on stage, I do a quick OODA loop and then decide whether to bail out or troubleshoot the issue. It may be compelling for some to troubleshoot live and bring the audience on that journey with you. However, this is not always the case and can often lose the audience thus reducing the effectiveness of your demo. Keep in mind the audience, their user personas, and familiarity with the topic. For these reasons, it’s always handy to have a recording that you can narrative over in the worst case scenario.


Giving a kickass demo should be a skill in every technologist’s repertoire. This post outlined a simple methodology that can be customized to fit the use case you plan to demo. Remember: proper prior planning prevents piss poor performance. 

Ravello Ends its Silence

On 23 May, I attended the Oracle Blogger Day at HQ in Redwood City. Ravello, an Oracle family member, has been quiet ever since acquisition. After an excellent day spent deep-diving into the product, I think it is safe to say that Ravello will be silent no more.

If you are not familiar with Ravello, it is an overlay cloud service that allows you to take any VMware based multi-VM application and run it in the cloud. This can be done without any change to workload, storage, or the network configuration. Ravello allows you to seamlessly deploy your existing VMware or KVM based data center workloads on Oracle Public Cloud, AWS, or Google Cloud as-is.


Screen Shot 2017-06-04 at 6.54.52 PM
On-premises to cloud migration

Most organizations face challenges when moving an enterprise application to the cloud. This image outlines some of the considerations and difficulties.

Screen Shot 2017-06-04 at 6.59.50 PM
Challenges when moving enterprise application to the cloud

Ravello creates a software layer that abstracts the differences between on-premises and cloud infrastructure (networking, storage, virtualization).

The heart and soul of Ravello is HVX. HVX is a virtualization engine designed specifically for nesting. This is what allows vExperts to easily run ESXi hosts in their cloud service without issue. HVX is designed to run on already virtualized hardware using binary translation with direct execution. It exposes VMware or KVM virtual devices, which is why no changes to the VM are required.

Screen Shot 2017-06-04 at 6.17.49 PM
HVX technology overview

But most impressively, it allows you to run any VM in any cloud. Or so they say.

Currently in Ravello, you can add and/or remove NICs, do simple IP filtering, but not much more. One of the items that was demoed by the team was enhanced network editing. The upcoming new networking capabilities include a visual network topology that allows for the creation of switches, configuration of ports, subnets, VLANs, etc.

Screen Shot 2017-06-04 at 6.18.12 PM
Ravello network overlay

Considering how rudimentary networking has been with Ravello, this enhancement will be warmly welcomed once released.

The storage overlay abstracts underlying cloud storage, exposing block devices to the guests. Ravello uses an image caching, copy on write file system.

Screen Shot 2017-06-04 at 6.18.27 PM
Ravello storage overlay

Transparent RAID0 is used, as needed, for large disks.

At this point, you may be wondering where Oracle is going with Ravello. Imagine deep integration with Oracle Cloud — a true lift and shift to the cloud with even heavy enterprise workloads. Think:

  • Ravello on Oracle’s Bare Metal Cloud Service (BMCS)
  • Leverage virtualization with hardware assist
  • Integration of BMCS and Ravello networking

So, where does this fit for businesses?

  • If Oracle and Ravello can really deliver on a “lift and shift” type migration without need for redesign or reconfigure then this will ease transition into the cloud.
  • Creation of identical cloud resources matching that of on-premises for security or penetration testing, update testing, etc.
  • Identical but isolated environments, such as for educational purposes.

Ultimately, I am glad to see that Ravello is still around and that its use cases are growing. Being integrated with Oracle Cloud has propelled towards becoming a more evolved platform. A big issues that I’ve seen as a consulting architect is the difficult and complex migration of legacy applications from on-premises to the cloud.

All in all, as far as Oracle Cloud and Ravello have come, there is still a lot of work to be done. I’m looking forward to what future releases bring.


Thank you to Oracle, Ravello, and the Tech Reckoning crew (John, Kat, Amy) for inviting me out to the inaugural blogger day. 

The Importance of Mentoring: The Roles of the Mentee (Part III)

Previously discussed was the importance of mentoring and leadership, as well as the roles of a mentor. This post will cover the various responsibilities of the mentee. To view the entire series:

Studies have shown that mentors typically select their protégés based on performance and potential. Mentors will continue to invest in the relationship when mentees use their time well and are truly open to feedback.

Often when we think of a mentor/mentee relationship, it is associated with a senior/subordinate relationship. This does not need to be the case. I have learned as much from my peers as I have those in a higher position than me. Do not hesitate to reach out to a peer! It may be easier to establish a mutual mentorship relationship between peers than with a superior.


Last week’s post covered the roles of a mentor. There are also responsibilities relegated to the mentee as well. A few include:

  • Continuous Learner: take advantage of this opportunity to learn. Be inquisitive; ask questions! But also look for ways to give back to your mento It’s not impossible to think that a mentor may also learn from the mentee. Learning can be a mutual experience and the mentor/mentee relationship can and should be symbiotic.
  • Be Timely: very few mentors have time for excessive hand-holding. Most are dealing with their own high stress jobs and long hours. A mentee that is positive and uses their precious time wisely working to solve problems (rather than complain about work) can be a bright spot in the day. Do your research before reaching out to your mentor. Do not waste their time with something that could have been easily googled.
  • Be Open: mentees have a lot more than just career advice to gain in a mentorship relationship. Mentors can also speak about education, motivation, and work-life balance. Find out from your mentor what he/she sees as the key points to long-term success and happiness.
  • Be Serious: demonstrate that you are eager for counsel by implementing the advice your mentor gave, showing the result, and then going back for more. So, if your mentor suggests you get on project X, get yourself on that project, and do a good job. Then report back to your mentor that you are grateful for the advice because you were able to learn a lot. Your mentor will be much more willing to give you their time and energy after you have proven yourself to be a quick and eager study.
  • Synergizer: a benefit of mentorship, or really any great conversation, with a trusted colleague is that new ideas are forged. Capture those ideas and capitalize on them!
  • Initiator/Relationship Driver: in the military, many times you are officially assigned a mentor, however, this is typically not the case in a corporate work environment. If you feel like you need help, it is your responsibility to reach out and get assistance! Identify the skills, knowledge, and goals that you are seeking to achieve and discuss with your mentor. Walking up and asking a stranger to be your mentor will rarely work. However, approaching a stranger will a pointed, well thought out question can yield results. Initiate with a superior in your office or someone familiar in the community or even a peer.

As mentioned earlier, mentorship is typically more reciprocal than it may appear. The mentee may receive a more direct type of assistance but the mentor benefits as well. There is a stronger sense of purpose, a sense of pride, and useful information exchanged. When mentorship is done correctly, everybody flourishes.

vBrownBag – VCAP6-DCV Objective 1.3

vBrownBag EMEA is in the midst of recording sessions that cover the VCAP6-DCV (3V0-622) exam. If you are interested in presenting one of the exam objective, see the Call for Presenters post here.

Objective 1.3 – Determine Risks, Requirements, Constraints, Assumptions

Skills and Abilities

  • Differentiate between the concepts of risks, requirements, constraints, and assumptions.
  • Given a statement, determine whether it is a risk, requirement, constraint, or an assumption.
  • Analyze impact of VMware best practices to identified risks, constraints, and assumptions.

Additional Resources


Without further ado, the podcast recording can be found here:

Goals for 2017

Considering we’re over halfway through January, it would now would be an appropriate time for me to write down what I want to accomplish in 2017.


My goals for this year:

  • Blog more – Blogging as been something that I’ve never been able to maintain a steady rhythm or schedule. Historically I’ve blogged when I’ve run into something interesting or when I was paid to do (ha! but really…). I planned on doing this in 2016 but it took a backseat to my VCDX pursuit. This year, I plan to blog more frequently!
  • Be more community involved – This is another item that I’ve been wanting to do for awhile but was prioritized last while in pursuit of other things. I plan to be more proactive and involved in the virtualization community. I hope to speak at my local (Los Angeles) VMUG. I was selected as a delegate for Tech Field Day in February so I’m looking forward to that! Additionally, I’ll be co-hosting and being a more active participant in vBrownbag. Who knows? Maybe I’ll even start my own podcast.
  • Second VCDX – I achieved VCDX-DCV last year, an accomplishment for sure. However, a majority of my work for the last 18 months has been around Horizon View. Because of this, I’m looking to pursue my VCDX-DTM in 2017.
  • Learn more about the NPX program – The design that I am in the midst of writing for VCDX-DTM is Nutanix based. I would like to find out more information regarding the NPX process, perhaps even attend an NPX bootcamp.
  • Be more proficient with AHV – This goes with the point above. I’m working more and more with Nutanix therefore I would like to skill up and become more proficient with Nutanix and AHV.
  • Learn AWS – I purchased AWS training spur of the moment because of a Black Friday deal I found online. I’d like to keep studying AWS and pursue the Solutions Architect certifications.
  • Speak at a conference – I’ve applied numerous times to speak at VMworld and have been rejected. This year I’d like to branch out and apply to a few different conferences and hopefully earn a speaker spot.
  • Find better work/life balance – This is my dark horse goal. I tend to bury myself in work and am constantly on the road. Additionally I’m going back to university so that’s made having a personal life even more difficult.

There you have it, ladies and gentlemen, my goals for 2017. I’ll do a recap at the end of the year to see how much I managed to accomplish.


All of our blog posts from the past year are about to be transferred from our old site to this new and improved one. That being said, it’s going to look like there are a ton of entries being posted today but they are truly from the past few months. 

Excuse the mess while we settle into our new site.