We’ve mastered the basics of data modeling and data modeling patterns, but what happens when you or a teammate wants to use this one weird trick to improve on the data model and the resulting database design? Have you just discovered a brilliant new trick that no one else has ever thought of? Or will your new design cost you more, take on more risk and cause all kinds of pain for both IT and your business users?
We’ll look at a few tricks that we’ve seen in our database design review and show you how they work and talk about the trade offs for using them. You’ll learn about:
Building a database engine inside your database
Designing before understanding your business model
Dealing with data structures that don’t do well in RDBMSs
Optimizing the developer versus the data or the app
Using design patterns that don’t reflect modern architectures and tools
…and a lot more
If you could go back in time and meet yourself on Day One of your IT career, what advice would you give?
What a great question. I’ve previously blogged about What I Would Tell my 16 Year-old Self . All good stuff there. Especially about the hot rollers.
But what would I say to Karen Lopez, brand new Senior Systems Analyst (yes, that was my first job title)? There a bunch of small stuff that really turns out to be big stuff later:
- Skip the Full Day Voice Mail Training. Sure, it was mandatory, but the guys only had to do a half-day version of it. Insist you don’t know need a full day. Set the direction for how the team sees your role on the project from the start.
- Don’t let that clerk at the Passport Office talk you into bad data quality: alphabetizing your names on your passport. That one decision is going to impact you more than you can ever imagine. But you will get some great data quality presentation material out of it.
- Respect your boss, but don’t let him manage your career. My first boss started on the same day I did. He wasn’t a twenty-something, though. He had retired from the US Army the day before and had come to work for the defense consulting company I worked at. To manage projects for the US Army. Funny how that works. He brought with him his military bearing…and his need to be in command of everything, even the technical design of the application we were building. Even though he was an accountant and had no technical experience or training.
He and I didn’t really look at life the same way, but he was my boss. I let him manage my professional development plan, my training, my assignments much more than I should have. He wasn’t a good fan of female engineers, either. So our non-technical tester was the guy who did all the demos and presentations, even though he really could answer any of the technical questions he received.
Karen, that boss should not have been able to set your path, only guide it.
- Don’t try to explain everything that caused a bug or a mistake in a deliverable. Just fix it and fix the problem that led to it. Nobody really cares why it happened unless the think you are going to do it again. Fix it, learn from it, move on. Don’t make your mistakes stand out more than anyone else does. Be honest, but don’t broadcast them.
- Never accept the first offer. I can’t tell you, Karen, how many times you are in a negotiation and don’t even realize it. The earlier you realize this, the better off you will be. Think your boss is doing you a big favor by sending you on a local one day course? Sure, she is. But she’s sending Chad on a full week of bootcamp training because he asked for that instead. Think you are fortunate because you are getting a 5% raise? You are, but Chad got 10% because he negotiated it.
- You will make great friends at work. But they are your colleagues first. Save the details of your life for friends outside work.
- No one cares what shoes you are wearing…as long as you can keep up the sprint with everyone else. Wearing impractical shoes is going to slow you down. That’s literal and figurative advice. See, double the value.
I think First Day of Work Karen did okay over the years. She got to work at all three branches of the US government during her first job. She played volleyball on the Mall. And she learned a lot about voice mail, a bleeding edge technology then. But there were more important things to learn along the way.
Jen McCown (blog | twitter) has called for a Un-SQL Friday blog post on Speaker Lessons Learned. Since I speak frequently, I thought I’d whip up a quick post to cover some of my tips on making a presentation look it it was all planned. I’ve been giving presentations for so long I can’t even tie these recommendations to any one event that caused me to adopt these practices. However, they are all most likely due to either a failure on my part or a failure I’ve witnessed while attending an event.
I once co-presented with someone who showed up to do a half-day training event and he didn’t bring his own slides, nor handouts, nor any contingencies. I had a copy of his slides, just because I wanted to see them before they were presented. The audience wanted to …well, let’s just say they didn’t feel they got the value they paid for. You don’t want to be that guy. You want to come across as being all in control. Even if on the inside you are quaking with fear.
Contingencies Will Make You Look Super Sauvé
I’m big on having duplicates, backups and just-in-case options. Some people, like the one I live with, think that I overplan for something to go wrong. Having options in place makes me a more confident speaker. I can sleep better the night before. I am more relaxed when I enter the room. So overall even if I never make use of these, it makes me better at what I do. This may seem excessive, but they are all pretty much part of my process and each takes only a minute or two to do. The benefit exceeds the cost by a huge amount.
- Don’t just have a backup; have a backup farm of backups. For every item involved in my presentation (slides, demos, code, databases, data, etc.) I have many copies stashed all over the place. These backups or copies are both at the component level and as an entire package. Here are the likely places I’ve stored these files:
- Dropbox: Dropbox (affiliate link) is a free service that will store your files on the internet *and* on your local machine and magically keep them all in sync. You can purchase more space if you need it, but the free space will hold many presentations and scripts. If you use my affiliate link above, we both get extra free space, too. I have Dropbox installed on my phone, iPad, netbook, laptops and desktops. My files are just always there. Note, your organization may have policies against storing company data on such services, so check first.
- Thumb drive/USB Stick: I make sure that all my materials are also on a USB storage device, too, just in case there is no connectivity in that hotel basement meeting room. This way, if my laptop dies or it won’t cooperate with the data projector, I can borrow someone else’s machine to present with, at least the slides. Did I tell you that I have a Bottle Opener USB drive from SQLSentry? That’s two contingencies in one!
- Phone/iPad: I also put the slides on my Phone or Tablet in case I need to e-mail them to someone to print handouts or to possibly even use as presentation device. My iPad has a dongle so that I can use it to present the slides. That’s another two contingencies in one.
- Server/Desktop: If there is connectivity, I can also remote desktop into a machine back at my office to run demos or to do the presentation completely from the office machine. Since I usually develop my materials on my desktop so no extra work to have it available.
- Email: I sometimes even e-mail myself a copy of all the materials so that they are there in my inbox, just in case.
- Have a plan for when other technology fails you. It’s not just your slides that can wrong.
- Projector: What will you do if the data projector isn’t working? Or the projector is very dim. Or very old and doesn’t work well? What if the person who was supposed to bring it doesn’t show up? This has happened to me a lot over the years, more than is acceptable. So I bring one printout of my slides with me to the presentation. If the projector isn’t there or is not cooperating, I ask the organizers if they want to make copies for handouts. Having a printed copy ready makes that process easier to do. This can also help mitigate missing screens. Having handouts instead of a projector isn’t perfect, but it’s better than nothing at all. Some people go as far as travelling with their own projector.
- Room set up: What would you do if your presentation counted on flip charts or whiteboards and they weren’t there? What if the room you are presenting in is very long and narrow and 3/4 of the audience can’t really see your slides? I arrive at my presentations at least an hour a head of time to check out the room and make plans for what to do if the room set up is not what I expected. This also gives me time to request flip charts or other items. In some extreme cases, I’ve been able to arrange a different room.
- Power problems: What if the outlet is 20 feet from where your laptop is supposed to be and there are no extension cords? Is your laptop fully charged? Will it make it through your whole presentation? I travel with an extension cord but sometimes a hotel doesn’t allow them or has anti-theft plugs to keep people from "stealing power". Have I told you how unhappy this makes me when I see these special plugs in public places? Sure there are designed for applications where you don’t want a plug to be accidentally ripped out, but when the entire conference center has these, you know they are there to protect the electricity, not the device that is plugged in.
- Anything else: There are so many other things that can go wrong with the facilities. Having a generic "what if I had to stand up in front of people and just talk for 90 minutes" plan is going to go a long way in dealing with all kinds of things the universe might throw at you. Sure you might not be able to do demos and your presentation might not be as strong as if everything went perfectly. You can still deliver a ton of value just by interacting with people during that 60-90 minutes. Don’t underestimate the value that you personally add to the presentation.
- Don’t panic. I would guess that every single person in your audience has had something go wrong during a meeting or presentation, so they will have empathy for you and the situation you are in. If you panic, though, you won’t be able to recover well and make a smooth transition into delivering value given the circumstance.
- The audience wants you to win, really. They might not be happy your laptop died or that the projector doesn’t work, but they want you to keep your focus on delivering the knowledge you came to share. Sure, there might be a couple of sadists out there who enjoy it when speakers fail, but even they don’t want to sit through an hour and half of flailing arms and incoherent utterances. So have your contingencies and plans in place. Make that smooth, suave segue into your other plan and keep going.
- Don’t keep apologizing. Yes, you feel bad that things are going to all heck. Yes, you should apologize. But don’t keep saying I’m sorry, I’m so sorry. Gosh, I’m sorry… That’s just focusing on the fact that things aren’t going as planned. Apologize, then move to your Plan B (or C or D) and you’ll look calm, cool and collected. In other words, act like a professional.
- Don’t blame anyone. Later, if you want to conduct a forensic investigation to find out who did it and have them prosecuted, do it. Don’t stand at the front of the room, blaming the hotel, the staff, the volunteers, your mother and your dog. Even if they all did get together and sabotage your event. No one in the audience cares why it happened. They just want you to fix it. By focusing on blame, you haven’t made the audience have any greater respect for you.
- Don’t quit. Whether or not you flew across the globe or just walked down the hallway to make your presentation, the audience carved time in their day to hear what you had to say. Say it. Work really hard to meet the same objectives that you set out to do. Deliver value. I’ve seen speakers cancel their presentation in front of 200 people because they didn’t have a backup of their slides. They had a complete fail instead of a partial win. If you are so dependent on your slides that you can’t deliver any value at all on your own, maybe you should just email your slides to everyone and save everyone a bunch of time.
Finally, I highly recommend you find a copy of Lily Walter’s What to Say When You are Dying on the Platform. Walters goes over a zillion things that could go wrong and how to avoid them…as well as suggesting snarky responses that diffuse the tension and get you moving forward again. This was written in 1995, so it might not cover some of the current types of technology failures, but you’d have the right sort of responses to deal with minor and major issues during your presentation.
I guess this whole post comes down to being prepared and having confidence when something you wanted to go right didn’t. Have lots of backups, have a plan, and don’t panic. That’s all advice I’ve paid for, so you can have it for free.
Break a leg!
A few nights ago I went out to have a look at a logistical marvel. There were 6 very large beer fermentation tanks working their way to a Molson brewery location on the streets in and around Toronto. First, you might not think that this was any big deal except that each tank holds about 1 million bottles of beer and couldn’t be taken through any normal routes. Second, you might ask why I would go out at midnight on a really cold night to see this, but the engineer in me had to see it up close to see just how big these things were and how complicated this was. The planned move and the progress were profiled through many news outlets and it was an interesting story.
What struck me about all of this when I was watching was just how complicated and involved this was from a project planning and logistics perspective. There were also key lessons in project management tat can be gleaned from this:
NOTHING Impossible Ever Is
When someone comes to you and says “we want to do this….can it be done?” The answer should never be a simple no. There may be reasons why it can’t be done, but everything can be done given enough time, effort and money. The key is to figure out how badly they want it done and if they are willing to pay for it. The impossible part of it might be that the cost is too much for what it is, but you won’t necessarily be the judge of that. As Jerry Weinberg says in The Secrets of Consulting, you should always frame it as “I can do that, but this is what it is going to cost”.
With the beer tanks, Molson’s knew they wanted to increase their production and they needed these tanks. The trick was to figure out the manufacturing, logistics and installation. Given the size of the tanks, building them somewhere else and shipping them to the site seemed impossible. But building them on site would have been cost prohibitive so they looked at other options and figured out that they could have the tanks manufactured in Germany and shipped to Toronto.
Find The Right Expertise
You might think that you are the experts and only your company or department can do the project you’re thinking about, but trust me when I say that’s not true. Unless you are on the bleeding edge of some new technology, everything has been done before by someone. Find them and either hire them or glean the information you need from them.
In the case of the beer tanks, Molson Breweries hired Challenger Motor Freight to figure out how to get the tanks from Point A to Point B. Challenger has experience with moving very large freight and could provide the logistics necessary to make it happen.
Think Outside The Box
As I said in the first point above, nothing is impossible. But in order to see the solution sometimes you have to think about the problem differently. You can’t just have a narrow focus and think in terms of how it’s always been done or you’ll never see the answer. The other point here is that if you are just looking at a problem from you’re own little world, or department, you might miss the bigger solution and end up with something that is sub-optimal.
To ship the beer tanks and get them to the brewery they wouldn’t fit on any planes so they had to come on a boat. Then there were all the logistical issues of getting them to the brewery. If you looked at this simply from bringing them to the port in Toronto you would think it’s impossible given the infrastructure and bridges and everything in the way. Instead, the tanks were shipped to Hamilton which is farther from the brewery, but it made it possible for the land portion of the shipping. From Hamilton it became a huge puzzle of taking the right combination of streets to avoid all underpasses and bridges where the tanks wouldn’t fit and dealing with the utilities and infrastructure that was in the way. For example, on the last night of the move, the convoy was on the same street that the brewery was on, but they had to turn off that street and take a number of others just to avoid an underpass before getting back on line to the brewery.
You might have the best plan in the world, but sometimes stuff happens. You have to be ready to adjust your plans and have contingencies in place in case it doesn’t work according to the plan.
The key to project management is being able to see the holes and risks in your plan and be prepared to take action or adjust when it does go off the rails. The best project managers aren’t the ones that never have any problems with their plans, but the ones that adapt and adjust quickly and cohesively when things do happen.
The shipping and installation of the beer tanks was behind schedule. Even before they left Hamilton they were behind. The tanks got to Hamilton in November, but with delays and the holiday season they didn’t leave for Toronto until January 7th. The move itself from Hamilton to Toronto was supposed to take 4 nights. In reality it took 10. The weather played a factor as well as the time involved in moving the electricity, cable and telephone lines. The convoy had to be prepared to stop at different locations and adjust their plans as they went. On the night I watched, there were three sets of wires the tanks had to go over/under in a very short stretch and these all had to be moved out of the way. In some cases the wires were taken down and laid along the ground and in others they were lifted up out of the way.
The Entire Team Has To Work Together
On any project it isn’t just one person that has to do all the work on the problem, there is a team of people. The team can include internal people, contractors, consultants, suppliers, etc. Even in your own companies there may be other departments and people that you must rely on to complete your projects. The point here is that everyone must have the goal in sight and be working together to get there.
For the beer convoy there were trucks, drivers, spotters, supervisors, utility workers, police, etc. all working in concert to get the freight delivered. There were a number of different companies and organizations represented, but everyone knew the goal and what they were contributing to the project. While I watched, I could see the coordination in action and the way everyone was working together to get the trucks through their next obstacle.
There are a lot of things happening in the world around us that we can look at and study to learn about how it applies to our work and what we do. This project was a lot more complicated than most, but when it is broken down it really is just a bunch of steps put together to get a tank another 50 meters down the road. If you do enough of those 50 meter long tasks eventually you get the full 108 kilometers covered. You might be a few days late, but you’ll get there…
Subscribe via E-mail
- September 2016
- August 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- September 2015
- July 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- November 2013
- October 2013
- September 2013
- August 2013
- July 2013
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- September 2010
- August 2010
- July 2010
- February 2009