How to run a meeting that actually gets something done.

So for this post I wanted to do something more around soft skills, and I’ve actually had a couple of people ask me to write something up about this. Running a meeting is not the easiest thing in the world, but there always seems to be this perception that everyone should know how to without any guidance or instruction.

As part of my day job, I’m a pre-sales resource, so that means I run and coordinate a lot of meetings with a wide variety of people, everything from tech talks for developers, to regular cadence check-ins, and business strategy sessions with executives. And over the years I’ve come up with some tips and tricks to ensure that those meetings are productive, efficient, and don’t waste anyone’s time. Here are some tips to help if you find yourself in a position of having to run meetings and want to make sure they are productive.

Tip #1 – Time is valuable

This is more of a guiding principle than a tip, and one that you should take to heart immediately, and it really is the foundation of everything else in this blog. Everyone is busy, all the time…we live in a connected world where multi-tasking is the new normal. If someone is having a meeting with you, they are giving you the two most important things they have, time and attention. You need to treat these as valuable resources to be utilized appropriately, and not something to waste. This means do the following:

  • Be on time – This is common sense, you will never recover from arriving late, it already convinces the people your meeting with that you don’t see their time as valuable.
  • End on time or EARLY – I know, blasphemy, but if I can end early, I always do. Your customers will thank you for this. I don’t rush meetings, but if we accomplish what we need to, just wrap up, no need to draw things out just because of the time block.
  • Make sure you have enough to justify the meeting: Not everything needs to be a meeting, sometime a phone call will do. Always better to do things via a phone call than email, but if one of these can replace a meeting, take that option.

Tip #2 – Begin with the end in mind

This goes to the points above about making sure you have enough to justify the meeting, and looking at how valuable both the people you are meeting with’s time is, and how valuable your time is. The first question you should be clear on is…”What do I hope to accomplish here?”

This goes to Steven Covey’s principle, “Begin with the end in mind.” If you can’t answer this question, don’t waste anyone’s time. But if you can, great, use that to structure the rest of the meeting and work backwards.

For example, if the goal is to get approval to embrace a new technology, start with the problems it solves. Give them a reason to care and then work backwards into what it takes to implement.

If the goal of the meeting is to understand the ramifications of an old technology start with the downsides of the status quo and work towards the solution.

Make sure you know what your goal is because this provides a key metric for success and you can then objectively measure when the meeting is over.

Tip #3 – Have an agenda out ahead of time

This is another facet of the above, never go into a meeting without an agenda, even if its informal. You need to know in your mind how the meeting will run, and keep things focused on the goals you identified above.

Whenever possible, send out that agenda to let the attendees know exactly what will be covered. This is important not just because they know how it will flow, but it can help your attendees to identify people who they should include to make the meeting productive.

Tip #4 – Don’t skip small talk

This is the most common mistake I’ve seen with people, they are too focused on the immediate. Small talk before the meeting begins is important, this is how you build a relationship and re pore with your customer. If you don’t take time to build the relationship and help them see you as a person, it will hurt your credibility in the long run.

Now its important to know when to cut this off, and keep things light, butt having small talk before a meeting helps to make people comfortable. The more you can get to know people and reference things they’ve said in future meetings drives home that you respect them and care about them as a person.

Tip #5 – Be respectful of their time

Start on time. Period. This is not hard people, do not start late if you can avoid it. This shows that you have no respect for their time which as I previously said is the most important thing they have to give.

Also, if it looks like you might run over, make sure to give them an out, something like “I want to be respectful of your time, and we have 3 minutes…” and start to wrap it up. If they want to go long, they will allow you too. But this gives them an out and shows you care.

Tip #6 – Do introductions

If its a larger meeting, make sure you encourage introductions, and not just you and your team, but make sure everyone on the call or at the table introduces themselves. This shows each person in the room you see them and care about them, and want to hear their voice. This helps to be inclusive in making sure everyone feels comfortable.

Also resist the urge to introduce other people, let them introduce themselves, and what I mean by this is say something like “and given this topic, I wanted to bring Claire to this conversation…Claire, can you introduce yourself.”

Tip #7 – Never leave without confirming actions

Always make sure at the end of the meeting that you summarize the action items, take 5 minutes at the end to say that “These are the items I heard that have follow-up involved…” and make sure you say a name of a person with each item to drive home who is responsible. Also ask the customer for confirmation. This makes sure each person is aware of actions and expectations before they leave. This will make it easier to engage after the meeting.

Tip #8 – Your agenda should not be iron clad…be flexible

Another common mistake I see a lot, is people get too attached to their agenda. They say well we are supposed to cover that last, so “you customer have to wait”. This is a mistake, as I said before its their time, so if they want to restructure things, you should allow it. Now I say this with a couple of rules:

  • It has to be on topic with the intent of the meeting.
  • There needs to be agreement from the team for the change of direction.
  • And all appropriate people need to be at the table.
  • If the order matters and you can address it very soon.

This is a fine line, but ultimately it goes back to tip 1, which is remember this is their time, and your agenda is not important than their time.

Tip #9 – Don’t get derailed

During any meeting, some times you get someone who will try to derail the meeting to meet their own needs, never dismiss these concerns but if you have to push them off as out of scope, but give them the validation around when you will address the topic. Something like “That’s a little out of scope, but see me after and we can address those concerns.”

Weekly Link – 6/3

Below are some links I’ve found based on the work I’ve been doing that I thought were interesting.

Technical Links:

Developer Life:

Adventures in 3d Printing

So my latest adventure in technology has been to setup my Ender3 3-d printer. I got this thing around Christmas time, mainly as a toy for myself to play around with, and to do more with the raspberry pi’s that I have. Also as a STEM tool for teaching my kids.

But mostly to make cool stuff for me. I’ll be honest, I’m a tabletop gamer, so the idea of custom mini’s is pretty awesome.

So I won’t do a full “step-by-step” on how I assembled this thing, there are a lot of great videos out there on doing that, here’s the one I used.

But I wanted to talk through the process of my prints. The overall process of getting the printer setup wasn’t bad, but its the little things that will mess up your first couple builds and those are the ones I wanted to call out.

  • Leveling the Bed: So I got to tell you, I’m new to 3d printing, and I hate this expression, mainly because it created the wrong image in my mind. When I heard this, I got out a small level and made sure the bed was completely flat. But that led to some really terrible prints. What this really means is making sure that the distance between the nozzle and the bed is uniform throughout. Best way to do this, take a business card and run it in between, and if you feel the nozzle dragging on the card you’ve got it.
  • Feeding the Filament: When I first did a print, I almost ruined my printer, and its because I didn’t feed the filament the whole way through the line. You have to push it the whole way to the nozzle.
  • What to do when it doesn’t stick: I had real problems, even after it was leveled with the print sticking. What would happen is I would get 75% through and then the bed would let go of the model and my print would be ruined. I used hairspray thanks to a community I joined’s recommendation. And it worked like a charm.
  • Supports: I tried a few builds without supports, and that tended to be a mistake, so I had to put them back in. But when I did I changed the percentage supports to 10% and that made them so much easier to break off and stopped me ruining prints after the fact.

Overall though I’ve had some good luck with it, and had a lot of fun. I got an Ender3, and I have to say that overall its been pretty easy to pickup and get going with.

Weekly Links – 5/27

Here’s this weeks links:

Technical Links:

Developer Life:

Weekly Links – 5/20

Here’s this weeks links:

Technical Links:

Developer Life:

Musings on Ethical AI for Business and resources to help

When I was a kid, one of my favorite movies was Jurassic Park, because well…dinosaurs. I remember the movie being such a phenomenon too that summer, there were shirts and toys everywhere. I even remember going to the community pool and seeing adults everywhere holding the book with the silver cover and the T-Rex skull on it.

It really was a movie ahead of its time, not just in terms of special effects, or how it covers the topic of cloning, but in that it described a societal nexus we were all headed towards that many people didn’t quite see yet. One of my favorite moments in the movie is when Jeff Goldblum’s character, having just survived a T-Rex attack deliers this line:

See the source image

Technology has grown, by leaps and bounds, to the point now that many argue Moore’s law is irrelevant and outdated. And we are making advances in everything major area of life to the point that the world we grew up in is completely unrecognizable to that of our children. Furthermore to the point that this question has become all the more relevant today, with regard to artificial intelligence.

Just to be clear these are the thoughts of one developer / architect (me) on this subject and I would recommend you research this heavily, and come to your own conclusions, but these are my opinions and mine alone.

We have reached a period of time where more and more businesses and society in general are looking to artificial intelligence as a potential solution to solve a lot of problems and more and more the question of AI ethics has become prevalent. But what does that actually mean and how can an organization build AI solutions that serve to benefit all of humanity rather than cause unintended problems and potentially harm members of society.

The first part of this comes down to the recognition that artificial intelligence solutions need to be fully baked and great care needs to be given to supporting the idea of mitigating built in bias in both training data and the end results of the service. Now the question is what do I mean about bias. And I mean actively searching for potentially bad assumptions that might find their way into a model based upon a training dataset. Let’s take a good hypothetical case that strikes close to home for me.

If you wanted to build a system to identify patients that were at high risk for pneumonia. This was a hypothetical I talked to a colleague about a few months ago. If you took training data of conditions they have and an indicator of whether or not they ended up getting pneumonia, this would seem like a logical way to tackle the problem.

But there are potential bias that could occur based on the fact that many asthmatics like myself tend to seek proactive treatment, as we are at high risk, and many doctors treat colds very aggressively. Mainly because when we get pneumonia it can be life threatening. So if you don’t account for this bias it might skew the results of any AI system. Because you likely won’t see many asthmatics appear in your training data that actually got pneumonia.

Or another potential consideration could be location, if I take my data sample just from the southwest like Arizona, dry climates tend to be better for people with respiratory problems and they might have lower risk of pneumonia.

My point is the idea of how you gather data and create a training data set is something that requires a significant amount of thought and care to ensure success.

The other major problem is that every AI system is unique in the implications of a bad result. In the above case, its life threatening, in terms of a recommendations engine for Netflix, it means I miss a movie I might like. Very different results and impact on lives. And this cannot be ignored as it really does figure into the overall equation.

So the question becomes how do we ensure that we are doing the right thing with AI solutions? The answer is to take the time to decide on what values as an organization we will embrace at our core for these solutions. We need to make value driven decisions on what type of implications we are concerned about and let those values guide our technology decisions.

For a long time values have been one of the deciding factors between successful organizations and unsuccessful ones. The one example that comes to mind was the Tylenol situation where a batch of Tylenol had been tampered with. The board had a choice, pull all the Tylenol on market shelves for public safety and hurt their shareholders or protect share holders and deny. The company values indicated that customers must always come first and it made their decision clear. And it was absolutely the right decision. I’m giving a seriously abridged version, but here’s a link to an article on the scare.

Microsoft actually released an AI School for business to help customers to get a good starting point for figuring that out. They also made several tracks for a variety of industries to help with what should be considered for each industry. Microsoft has also made their position on ethical AI very clear in a blog post by Company President Brad Smith and Our Approach: Microsoft AI

Below are the links to some of the training courses on the subject:

Along side this, there has been a lot of discussion around this, from some of the biggest executives in the AI space, including Satya Nadella:

But one of the most interesting voices I’ve heard with regard to the ethics and future of AI is Calum Chace, and I would tell you to watch this as it really goes into the depth of the challenges and ways that if AI is not handled responsibly we are looking at another major singularity in human evolution:

This is a complicated and multi-faceted topic that is great food for thought on a Friday. Empathy is the most important elements of any technology solution as these solutions are having greater and greater ramifications on society.

Weekly Links – 5/13

Here’s this weeks links:

Technical Links:

Developer Life:

Getting Started with Azure (developer perspective)

So there’s a common question I’ve been getting a lot lately, and that’s “I want to learn Azure, where do I start?” And this is ultimately a very reasonable question, because as much as the cloud has permuted much of the digital world, there are still some organizations who have only recently started to adopt it.

There are many reasons people would choose to adopt the cloud, scalability, cost, flexibility, etc. But for today’s post I’m going to focus on the idea that you have already decided to go to the Azure Cloud and are looking for resources to ramp up. So I wanted to provide those here:

MS Learn: The site provides videos, reading, and walk-through’s that can assist with learning this type of material:

MS Learn for Specific Services: There are several common services out there that many people think of when they think of the cloud, and I wanted to provide some resources here to help with those:

EDX Courses: EDX is a great site with a lot of well made courses, and there are a wealth of options for Azure and Cloud, here are a few I thought relevant, but it is not an exhaustive list.

  • Architecting Distributed Applications: One common mistake, that many make with regard to the cloud is that they think of it as “just another data center”, and that’s just not true. To build effective and scalable applications, they need to be architected to take advantage of distributed compute. This course does a great job of laying out how to make sure you are architected to work in a distributed fashion.
  • Microsoft Azure Storage: A great course on the basics of using Azure Storage.
  • Microsoft Azure Virtual Machines: The virtual machine is the cornerstone of azure, and provides many options to build an scale out effectively. This is a good introduction into the most basic service in Azure.
  • Microsoft Azure App Service: The most popular service in Azure, App Service enables developers to deploy and configure apps without worrying about the machine running under-the-covers. A great overview.
  • Microsoft Azure Virtual Networks: As I mentioned above, Software Based Networking is one of the key pieces required for the cloud and this gives a good introduction into how to leverage it.
  • Databases in Azure: Another key component of the cloud is the Database, and this talks about the options for leveraging platform-as-a-service offerings for databases to eliminate your overhead for maintaining the vms.
  • Azure Security and Compliance: A key component again is security, as the digital threats are constantly evolving, and Azure provides a lot of tools to protect your workload, this is an essential piece of every architecture.
  • Building your azure skills toolkit: A good beginner course for how to get your skills up to speed with Azure.

Additional Tools and Resources, I would recommend the following:

Those are just some of the many resources that can be helpful to starting out with Azure and learning to build applications for the cloud. It is not an exhaustive list, so if you have a resource you’ve found helpful, please post it in the comments below.

Weekly Links – 5/6

So I’ve decided to start doing something new, Like any good dev, I spend a lot of time on the internet, so as I’m working on various projects I’ve decided I’m going to post a bunch of useful links out here that I find as i’m going through my travels. Hopefully you find them helpful too.

Technical Links:

Developer Life:

Where do I start – Microsoft AI

In the interest of helping to navigate the information available out there, I’ve been putting out there ideas for this “Where Do I start” series on the blog. Right now as I previously mentioned I’ve been studying for the AI-100 exam, and as part of that effort I found a lot of resources online, and I thought I’d share these in the interest of helping others.

There are a wealth of resources out there and I want to make sure I focus your attention on resources related to Microsoft AI and how you can leverage these services as accelerators for your own application development.  I wanted to draw your attention to a lot of the key resources for getting started.

Learning Videos:

 

Now additionally I have done some work on my github implementing the face api, which is available here:

https://github.com/KevinDMack/FacialSearchDemo