Holding a lab instead of a lecture can be rather challenging. There is 45 minutes in which you need to show stuff, but also add value by giving the audience the opportunity to learn by doing. Last year on Ascend Vegas 2017, I held two labs: Building an Add-On and Making great use of the new Forms. While it was a really good material, I had too ambitious plan and during the add-ons one, I failed to present even half of it! This year, I wanted to address the timing and I am proud to say I made it! Read more about the lab here.
Here are some pieces of advice:
- Put extra time on configuring the solution - I have added the automatic login (so that the audience doesn't have to type user/pass). Not the recommended way to do this, but good enough for the lab, see: StartPageController - AddUser method
- Pre-install any Add-Ons - doing an install-package takes loads of time when you have so little. It's possible to avoid a lot of typing by prepping a PowerShell snippet and adding it to code, however, it still takes time for the package manager to search and find them (multi-pack.ps1)
- Add everything that doesn't add value - any property definitions that you can later show how to use rather than typing public string ...
- Remember, the audience does not have a ReSharper: Add empty classes with proper "usings" - this will save them quite some time.
- Have small snippets/examples - this may not always be possible, but it's better than having loads of code that does one thing. You and the knowledge-hungry audience might not be able to see it in action.
- Have the right order - let the audience do the most important first, then run through demos in a pace adjustable to time.
- Talk less, do more - very difficult for me :D
If unsure, do practice! I had a run-through with my team and they gave me great ideas for many of the points above!