Making of a Presentation

Yesterday I gave a presentation on Test Automation in an event arranged by a college. My first participation as a presenter in some special event.

While preparing for the presentation, I took notes on things that I did. I wanted to make a standard procedure and have a check list ready to refer next time I prepare for any presentation. This post is about my observations while I was making the presentation.

  1. First of all I wasted a lot of time in searching for a good power point template. I knew its the content that matters and not the cosmetic things but still I wanted a good, professional template. I didn’t find many. The one that I liked was paid and too costly. Finally I settled on to one decent, free template. I liked its color scheme and it looked pretty professional. Later I realized its the same template that Steve Huffman had used in his presentation. Great minds think alike, you know ;) I should have 2-3 more templates ready with me so that I don’t waste time on selecting the template next time. Its the look and feel, color scheme and ability to draw diagrams in the same color scheme that I look for in the template.
  2. Once I decided the topic for my presentation, many ideas immediately started rushing in my head. I could cover this, I could cover that, I could give this as an example and so on. They came all at once to me. One good thing I did was I opened my notepad and started typing whatever came to my mind. It pretty much set the agenda for my presentation. I should do this next time I finalize on the topic for the presentation.
  3. Next, I spent lots of time searching for good material on the topic. It was not based on my experiences as such so I had to refer lots of material to include in the slides. And I searched on few non-common sites for the material. It surprised me because I would not have normally thought of visiting those sites. Here’s the full list:
    6. torrents
  4. Preparation:
    1. Unless you are the pioneer of the topic, you would read lot of material on the topic. Your initial objective of reading is to judge the quality of the material and discard stuff that is not useful. In the process you note down which material could help you in preparing which part of the presentation. Like while talking about Agile and Automation I referred a completely different white paper found on some other website.
    2. Once you have finalized on the material that you would be referring for the presentation, start reading it. Thorough reading should be done. In the process you start selecting the topics, summaries that you think could be used for the presentation and start creating slides with headings on them.
    3. Start filling the slides, while re-reading the material and note down the sentences you want to cover in your talk.
    4. Spend good time on drawing the diagrams from the material in the color scheme of your slides. Do not copy paste the images from any material. It spoils the theme of the slides.
    5. Iterate over the process still you feel comfortable with the content of your presentation and amount of research.
    6. Note down the source of all the material referred and ensure they are listed on one of the slides.
    7. Finally, take printout of the slides and start writing on them points that you are going to say. Don’t write sentences, just few words telling you what you are going to say. These are the notes that you will keep with you during the presentation.
    8. The whole objective of the preparation should be to go away from the reference material and put things in your own words. You should not have to memorize any sentence. That’s a sign of danger. Everything said should be from your understanding of the topic. If possible try to make it sound like a story or some kind of a flow.
  5. One week before:
    1. Select the dress you would be wearing. Do whatever is required for making it ready for the presentation.
    2. Get your shoes ready for the presentation.
    3. Get a hair cut if required.
    4. Know the place where you would be giving the presentation. Know the route, how you would be reaching there and how much time you would need to reach there on the day of the presentation.
    5. If possible visit the place where you would be giving the presentation. I have always found it useful to know where I would be standing, where I will keep my notes, where the mouse, key-board would be.
    6. If its possible to visit the place, know where the rest room is, find a temporary place where you could sit and relax once you arrive for the presentation, where you could keep you bag and other stuff not required during the presentation.
    7. As described earlier take printouts of the slides and make notes on them.
  6. One day before:
    1. Be ready with your opening line without any confusion. Whatever it is, try not to change it. I use “Hello everyone, thanks for having me here. I’ll be talking about..”. Prefer “Hello everyone” over “Good morning/afternoon/evening” simply because it does not involve effort to know what time of the day it is. Your presentation may get delayed from morning to afternoon. You don’t want to get that wrong so avoid it altogether.
    2. Practice Session 1 - Practice giving the presentation out loud in your words. You should be able to explain the topics in your words without referring to the material. Note down the mistakes that you do, words/topics that you didn’t want to say. Correct the errors in the slides etc.
    3. Practice Session 2 - A quick practice session deliberately avoiding the mistakes made earlier. Remember the complete flow of the presentation in your head, with sequence of slides and sequence of points to be covered in each slide.
    4. Shave. You don’t want to do it in hurry so don’t do it on the morning of the presentation day.
    5. Clean your spectacles.
    6. Change the desktop wallpaper of the laptop you will be using for the presentation. You don’t want to distract your audience just before you start the presentation.
    7. Backup you presentation slides on Pen Drive, Laptop and Cloud.
    8. Keep a nice working pen with you.
    9. Watch a video presentation/talk of somebody that inspires you or even of whom you would like to imitate. Notice how they started their presentation, how they ended it, how they moved from one topic to other, from one slide to other, how they took Q&As etc. I watched Steve Huffman’s presentation couple of hours before my presentation and that’s when I noticed he too was using the same template that I had selected for my slides.
    10. Put spare laptop charger in your bag.
    11. Keep small water bottle with you that you could carry during the presentation.
  7. During the presentation
    1. One of the problem that I faced in my last tech talk was that my throat went completely dry just before I started talking. It was so bad that I was thinking of giving up the presentation. This time I solved the problem. I carried a small water bottle with me during the presentation and it helped. Its just that I couldn’t find proper timing to pause for drinking the water. It always felt awkward to drink water in middle of all the talking you were doing. I think I should have my pause timings planted in the presentation. For ex I could pause when a new slide with some diagram is displayed. I can ask the audience to take a look at the diagram while I take a quick drink break. Or I could ask them some question/quick poll, or ask them if they have any question and drink water while waiting for any answer.
    2. Keep your opening line ready.
  8. After the presentation:
    1. Don’t forget any stuff that you received at the event especially any memento etc. I forgot the one given to me! It feels rude to the organizers.
    2. Immediately after the presentation, you know precisely how it went and more precisely what mistakes you did. Write them down before you forget. Write a blog post about it.
    3. Complete any communication that you are expected to close. Like mailing the slides/pdf, sending thank you note etc.

That’s all I have for now. I am sure I’ll come up with new suggestions next time I prepare for a presentation. May be I’ll update this post then. Or may be I’ll write a new post.

Hope future me finds these suggestions useful.

How to create audio book from any ebook

English is not my native language. However it was my first language in school. All it means is that I am little slow while reading English. And hence I prefer audio books. There are many other benefits of audio books (like listening while driving etc) but I mainly use them to read out the book in front of me, for me.

This speeds up the reading and also allows me to highlight important sections in the book (either hard copy or ebook).

However not all books come with audio book version. I have few ebooks (mainly PDFs) which I really want to read but there is no corresponding audio book available. This was a long pending problem which I solved yesterday.

I found a generic way to generate audio book for any ebook. Here’s how.

First, you need a good text to speech (TTS) converter software. I have wasted many hours in finding one. The one that would read any text from any application. Finally I found a decent one - TextAloud. The default voice is useless and don’t judge the software based on that.

Next, you need a good voice that would sound as natural as possible. And the one that I found most comforting was Paul from NeoSpeech. A good voice is more critical than the actual TTS software being used. Install this voice and make it your default voice in TextAloud.

Now open any ebook in TextAloud or simply copy-paste the entire book into the TextAloud. Opening PDF in TextAloud will convert it into plain text. This will insert extra text like page number, page footer etc between each page. You don’t want this to be read in your audio book. So copy the plain text generated by TextAloud and paste it in your favor editor (like SublimeText, Notepad++ etc) and find-replace all such text to blank. For page numbers RegEx based find-replace should be done.

Make sure no garbage text is present. Now copy back this content into the TextAloud and click ‘To File’. This will convert the entire book into an audio file. Depending on the size of the text, it will take a while to generate the entire audio file. Be patient.

For me, a PDF of 3.5 MB had text of around 750 KB. From this text, TextAloud produced audio file of size 1.5 GB.

While testing the audio book generated, I completed two chapters of the book! Wanna know the name of the book?

My first tech talk

On 31st Jan I gave my first technical talk. The topic was Performance and Scalability. The goal was to make BMC’s (org where I work) developers aware of implicit P&S requirements and expectations which Product Managers may not have captured in the User Stories.

I gave the presentation along with our architect Sudhir. We worked together for few weeks collecting the material and coming up with good examples for the presentation. This was a voluntary assignment and had to be done along with the daily work load.

The presentation was recorded and made available publicly on BMC KPoint site here. Although the recording is of poor quality, one can view the slides clearly.

Initial part was presented by Sudhir. I start at around 00:51:00 in the video. I think its not clear from the video but it was quiet apparent to the audience then that I was scared and confused as hell in the beginning. But actually it was more than that. My throat was all dry and I could barely speak. After a minute or so I thought I should just give up and ask Sudhir to continue. But I continued and I think I recovered myself after sometime.

This should not have happened. I have being teaching students for 8 year now. I have pretty good experience on stage, my voice is loud and clear, I am accustomed to use microphone. But still I was nervous. These were no students. These were employees, developers. Some having far more experience than me. And they were around 100.

But even this was not the problem. Problem was that I was not prepared thoroughly for first two slides. And when I am not thorough in what I have to say, I get distracted. I need to look into the notes for key words, there is low confidence in the voice and I become nervous. I recovered because I was ok with later slides. Some of the later slides were completely done by me. I was thorough with them.

I am glad its over but sad that I did basic mistakes that I was aware of. Lack of preparedness is big mistake in case of presentation. You have to be convinced yourself before you try to convince others. You have to completely absorb the material.

Anyways, On 31st Jan I gave my first technical talk :)

Book Review: The Lean Startup

My first book of the year, The Lean Startup by Eric Ries. I am so glad that I read this book before investing significant amount of time in developing my product. It has saved me from doing some serious mistakes and introduced me to basic concepts which every entrepreneur should be aware of.

Top Amazon review is not so favorable for this book and I had cancelled it from my reading list todo. However Eric’s talk on Evangelizing for the Lean Startup was such an eye opener for me that I instantly decided to read this book. Check out the video if you don’t believe me.

I’ll call the book as the beginner’s guide to startup. It introduces many terminologies which are common in startup world and some very fundamental tactics that are essential for startup’s initial operations. The book gives you a vocabulary to understand discussion on startup and entrepreneurship.

But what makes the book more compelling are the various illustrations given to get the point across. Most of the examples are from Eric’s first hand experience as an entrepreneur or as an consultant.

Below are few key learning for me:

  1. Validated Learning - If learning is the goal why waste time in doing thing that would not contribute to it? Why delay the learning?
  2. Early adapters - customers who feel the need for the product most acutely. They are more forgiving and eager to give feedback. They are different from mainstream customers which are lot more demanding and expect high quality.
  3. Startup is based on two assumptions or leap-of-faith hypothesis.
    1. Value Hypothesis - Does the product really delivers value to customers once they are using it?
    2. Growth Hypothesis - How new customers will discover a product or service?
  4. Development should be carried in Build-Measure-Learn feedback loop. Key is to iterate over this loop as fast as possible to get faster feedback.
  5. Minimum Viable Product (MVP) - that version of product that enables full cycle of Build-Measure-Learn with minimum time and effort. When in doubt, simplify. Any additional work beyond what was required to start learning is waste, no matter how important it might have seemed.
  6. Innovation Accounting - A quantitative approach that allows to see whether engine-tuning efforts are bearing fruit.
  7. Activities happen in order of Build-Measure-Learn but planning is done in reverse order. We plan what we intend to learn, then use innovation accounting to figure out what we need to measure to know if we are gaining validated learning and then figure out what needs to be built.
  8. Genchi Gembutsu - “go and see for yourself” so that business decisions are based on deep first-hand knowledge.
  9. Customer Archetype - brief document that seeks to humanize the proposed target customer.
  10. Dropbox built a video to demonstrate what its product would do instead of actually building the product. This was its MVP.
  11. Concierge MVP - treat your first customer personally and at times doing all the operations manually (without any actual product). It help to invalidate company’s growth model.
  12. Wizard of Oz testing - customer believes they are interacting with the actual product but behind the scenes human beings are doing the work.
  13. Pivot or persevere - The sign of successful pivot is that these engine-tuning activities are more productive after the pivot than before.
  14. Vanity Metric - Total registers users and total paying customers.
  15. Actionable Metric - Customer registration, the download of our application, trial, repeat usage and purchase.
  16. Split test or A/B test - two different versions of a product are offered to customers at the same time and changes in the behavior are observed to infer the impact of the two variations.
  17. Kanban used in Grockit - User stories were not considered complete until they led to validated learning. Thus, stories could be cataloged as being in one of four states of development: in the product backlog, actively being built, done, or in the process of being validated. Validated was defined as “knowing whether the story was a good idea to have been done in the first place”.
  18. Lazy registration - Customer do not have to register for the service, instead can immediately being using the service.
  19. A report should be Actionable (demonstrate clear cause and effect relation), Accessible (deals with customers and their actions than piles of data points. Also it should be easily accessible to the employees - consider analytics as part of the product itself and be owned by the development team), Auditable (data is credible to employees)
  20. Land of living dead - company has achieved a modicum of success - just enough to stay alive - but is not living up to the expectations of its founders and investors.
  21. Quote - A startup’s runway is the number of pivots it can still make.
  22. Signs of need to pivot - decreasing effectiveness of product experiments and the general feeling that product development should be more productive. Have regular “pivot or persevere” meetings.
  23. Catalog of Pivots:
    1. Zoom-in Pivot
    2. Zoom-out Pivot
    3. Customer Segment Pivot
    4. Customer Need Pivot
    5. Platform Pivot
    6. Business Architecture Pivot
    7. Value Capture Pivot
    8. Engine of Growth Pivot
    9. Channel Pivot
    10. Technology Pivot
  24. Single-Minute Exchange of Die (SMED) - rapid changeover in the product in order to reduce the batch size.
  25. Andon cord - Allows any worker to ask for help as soon as they notice any problem, stopping the entire production line if it cannot be corrected immediately.
  26. Release small, release more often - help immediately assess the impact of their work, evaluate its effect on customers, and decide what to do next.
  27. This needs extensive automated tests and continuous health monitoring.
  28. When a problem occurs: automated revocation of defective change, quick notification to relevant team, team blocked in further development until problem is found and fixed.
  29. Sustainable growth - New customers come from the actions of past customers.
  30. Churn rate - fraction of customers in any period who fail to remain engaged with the company’s product.
  31. Engine of growth - Sticky (high customer retention), Viral, Paid.
  32. Startup should concentrate only on one engine of growth at a time.
  33. Making transition to mainstream customers will require tremendous additional work.
  34. Adaptive Organization - one that automatically adjusts its process and performance to current conditions.
  35. Wisdom of five whys - sequentially asks “Why?” five times to find the root cause of any problem.
  36. At the root of every seemingly technical problem is a human problem. Five Whys provides an opportunity to discover what that human problem might be.
  37. Proportional Investment - If outage is a minor glitch, it’s essential that we make only a minor investment in fixing it.
  38. Organizations have muscle memory and it is hard for people to unlearn old habits.

Every term is well understood in the context of various example given in the book and it is best to read the book than to read them out of context.

If you are already familiar with these terms and are aware of Lean Philosophy than your are good to go. This book is not for how-to-raise-money etc and so you will be disappointed if that’s what you are looking for.

Why I decided to dropout

Yesterday I communicated that I will be dropping out of BITS-Pilani MS (Computer Science) program which was sponsored by my employer and conducted in office premises every Saturday.

I already have a post graduate (M.Sc.) degree in Computer Science from University of Pune. Then why was I motivated to enroll to the MS program? Primarily to update my knowledge with latest technologies and brush up some of my basics in Algorithms, DS and OS. Secondary motivation of-course was to add one more degree to my resume.

Unfortunately even after begin topper in Algorithms class (with 97 out of 100) I never really learnt anything. The syllabus was way too primitive and too little. Other subjects were equally disappointing. After mid semester I had already stopped attending the lectures. I was not getting value for my time.

I learnt one subject though - Network Programming. I didn’t have this subject for M.Sc. It was really challenging and fun to study. But the credit goes to the book that was used for the course - Richard Stevens and not to the faculty. I read the book and loved it. I didn’t attend the lectures but read most of the syllabus.

I completed first semester and stood second in the class. Final grades will be distributed soon. But I didn’t enroll for second semester. If I am going to learn through self study, I might as well save time in other formalities. Why waste time attending lectures and giving exams which don’t lead to my goal?

But there is one more reason for dropping out. I want to focus more on my startup. I want to learn things that are useful for my startup. With day job filling all my weekdays, I can’t waste my weekends doing something that is not going to contribute towards my startup. If I giving it a shot I might as well give my best.

The decision was not easy. I am going to miss few opportunities the course had to offer after completion. One being qualifying for Ph.D.

I have unnecessarily increased the opportunity cost of my startup. Time will tell if I made the right decision.