Browsing articles from "September, 2011"

Sessions a Data Architect Can Love at #SQLSat92 Portland (Including Mine)

Sep 28, 2011   //   by Karen Lopez   //   Blog, Data Modeling, Professional Development, Speaking  //  No Comments

SQLSaturday 92 Logo

I’m speaking at the Portland, OR SQLSaturday on 8 October.  I’ll be giving my Database Design Contentious Issues Presentation, one of my favourites and most popular presentations.

Database Design Contentious Issues

A highly interactive and popular session where attendees evaluate the options and best practices of common and advanced design issues, such as:

* Natural vs. Surrogate keys

* Classwords and other Naming Standards

* Varchar Minimums

*Identity Crisis

* Who Calls the Shots and Who Does What?

…and others. Bring your votes, your debates, and your opinions.

Session Level: Intermediate

I so love giving this presentation because it is driven by audience members.  Not a lecture by me, but a moderated, sometimes referred debate about issues in database design and data modeling.

But I’m betting you data architects are thinking "Why would I attend an event about SQL Server? I’m DBMS-agnostic." I think it’s great that we modelers and designers have skills that cross multiple vendor products.  But I sometimes wonder if some of us pride our agnosticism so much that we have actually become DBMS-illiterates. I know that most of us don’t work hands on with databases as often and DBAs and Developers, but it is important that we understand and have a firm foundation on the platforms upon which our designs will be built.

SQL Saturdays are free events hosted by other data professionals and sponsored by vendors in the data community (that’s what keeps them free).  Sometimes there is a small charge for lunch, but that’s it.  For the Portland event, it appears that even lunch is free.  You must pre-register, but it’s free.  Did I mention it’s free?

So you can come to my session but what about the others?  Here are ones that I’ve picked out the schedule that would be of value to those of us wearing the modeling/design hat on a project:

Database Development: Keep It Agile, Not Fragile

Does your company use agile development? It can deliver more value to customers with lower project risk. However, it can also make the system design change rapidly, and require frequent software rollouts. This session will focus on best practices for DBAs and developers to make design, testing and deployments easier. Keep your systems agile, not fragile!

Session Level: Intermediate

Data Warehousing Best Practises

This session will describe the best practises for designing a data warehouse to get the most out of SQL Server. Doug has worked in data warehousing for 12 years and will blend experience, with best practises and recommendations from Microsoft’s Fast Track program. Each version of SQL Server introduces new features specifically for data warehousing – by applying the correct technique, feature, hint, modelling approach and layout the data warehouse will be faster and more scalable.

Session Level: Advanced

No More Bad Dates: Working With Dates and Times

Dates and times seem simple at first. Kendra Little will show you there’s more to it than you think. She’ll give you five best practices that will help you select the right temporal data type, avoid common issues, and use the most effective techniques to aggregate data. She’ll also explain painful problems with query performance and how to avoid them. Choose wisely: the correct types and high performing data access logic will scale well and save development and administrative time.

Session Level: Intermediate

Want a promotion? It’s up to you!

Self-promotion is often times the best promotion you can get. In this session, we will talk about how to promote yourself, your brand and your career without looking like “That Guy”. We will discuss Social Medias, communities, volunteering and other ways to get your name out… What are the first steps? Come find out.


Bad Indexes

I’m sure you’ve been told seeks are better than scans. I’m sure you’ve been told that a covering index is ideal. I’m sure you’ve been told small arrows are better than thick ones. Get the whole story.

Session Level: Intermediate

Models, Cubes & Marts: how & why to choose

Microsoft offers three distinct platforms for data analysis and a variety of related reporting tools. When should you use BI Semantic Models, PowerPivot, tabular column storage, SSAS cubes or relational data marts? Learn about the right fit for each of these choices and what you need to know to use the next generation of BI reporting tools like Project Crescent, SSRS and SharePoint BI.


Analyze and map spatial data with SQL Server 2008

With the widespread availability of location and spatial data to both consumers and corporations (such as smartphone GPS data), there is a need to manage and analyze all this data as well. SQL Server 2008 introduces new standards-based spatial data types and associated functionality to the relational engine. Spatial data can be stored in the cloud using SQL Azure. And SQL Server 2008 R2 Reporting Services allows spatial data to be visualized as Maps. In this session, we’ll explore both the SQL spatial data types and SSRS maps, using demos to show this functionality in action. We’ll also cover enhancements to spatial functionality in the forthcoming "Denali" version of SQL Server.



Why these sessions?  I believe that even if we aren’t responsible for finalizing a physical data model prior to implementation, it’s still a responsibility of ours to understand the above concepts so that we can work with models that include these design-time decisions. We may not be responsible for choosing all the indexes, but it’s important that our models have them.  We need to understand the trade-offs around datatype choices, data warehouse architectures and newer DBMS features such as spatial datatypes, XML columns and others.

The line of responsibility between DBA, developer, and DA is constantly moving and may vary based on your project’s environment and culture.  We must understand more about the target environments we are modeling for.

I hope to see you at the Portland SQL Saturday.  The SQL community is great at sharing knowledge and we data architects need to be part of that sharing.  It’s free, there will be prizes, and it’s fun.  Be there.

Career Success in Turbulent Times: Join Me Today 1PM ET for #PASSProfDev VC Webinar

Sep 22, 2011   //   by Karen Lopez   //   Blog, Data, Professional Development, Social Networking, Speaking  //  No Comments

HeadshotTwoGradientThis afternoon I’m presenting at the Professional Association for SQL Server (PASS) Professional Development virtual chapter.  My topic today is about how to ensure that you are doing the right things now to support job and project search efforts when you need them.  Join me at 1PM EDT




A workshop on issues and ideas that today’s data professionals can do to build their careers and networking skills with other data management professionals.

Workshop topics will include:
• Demonstrating your expertise
• Building a portfolio of your success stories
• Getting others to sell your skills and business value
• Building & extending your data management skill set
• 10 Steps to highlighting you and your work

Bring your thoughts, ideas, and experiences.

As a virtual presentation, I’ll be relying heavily on Q&A from the audience, as well as input from Twitter to ensure that this is the most interactive it can be.  Please join us as we talk about how we as a profession can best ensure that we are all working and our projects have the right resources to be successful.

The hashtag to use during this talk is #PASSProfDev

A recording of the presentation should be available on 24 Sept 2011 at .

We had great interaction for a Live Meeting. Great job, everyone.

Scarborough Merry Maids…Are Terrible at Making Mistakes. Are You, Too?

Sep 2, 2011   //   by Karen Lopez   //   Blog, Professional Development  //  2 Comments

This post is a summer repeat of our May, 2009 original post.

I once made such a stupid mistake for a client that it almost cost the client well into the million dollars range.  It was early in my career and I was working for a consulting firm that had a client in litigation.  Their was a large volume of test data that needed to be entered into a database, then about 3,000 graphs needed to be plotted.  It took a long time, but only because there was a great deal of data entry to be done.  Easy as cake!

Except that I didn’t really check my work that carefully, and the graphs all ended up having a duplicate data point at the end.  Every single one of them had an extra data point.  Even those of you without an inner Matlock can see that these graphs weren’t going to work in court.  But I didn’t find the mistake, my boss did.  And he couldn’t find me (this was before cellphones), so he had to track down another programmer from another company to reproduce the graphs based on the data.

So I ponied up the money to pay for the impromptu programmer, swallowed my pride (not that there was any left), apologized, and wrote up a test plan procedure that included external reviews of test data long before the next court date.  When I ran into my former boss years later, I mentioned that I was still embarrassed by that mistake.  Either he was being very kind to me or he was the forgiving type, because he said he didn’t remember it at all.

I’m walking down memory lane because a cleaning service owner is going to show up at our home tonight.  My having to go through the time it takes to tell someone what we require, then training their staff on what we want is just a pain.  But we have to do it because we fired Merry Maids.

I just can’t help thinking how this must be how managers feel when they have to fire an employee that isn’t working out.  He knows he has to do it, but it takes longer to fire someone and hire a new person that it does to keep picking up the slack of the…slacker.  So on and on it goes, with the manager getting more and more frustrated trying to mentor the worker into doing the right thing and the slacker getting worse and worse at his job because he’s being asked to do something he isn’t capable of doing.  I’m betting that for most managers of a poorly performing workers, a person who is bad at making mistakes is the one that will get fired first.

So while I am looking forward to having a cleaning service again, I’m dreading the whole process of finding one that fits, then managing the staff while they are here.  It’s hard for me to clean, though, when I’m on the road so much, so hiring in it is.

Our last cleaners, Merry Maids of Scarborough, started out nice enough, but it went down hill from there, fast.  We gave both the owner of the franchise and her staff written instructions.  Included in the instructions were large print, bolded warnings about how our flooring would be damaged by contact with any water.  (Previous owners installed the maintenance nightmare, not us). So the first team we had kept water away from the sensitive item.  However, just like an outsourced development team, turnover on the cleaning team was high.  Not long into our contract, staff started changing on a weekly basis, so I had to jump in to do training…then I had to keep an eye on the team because I found that they were leaving water all over the floor.  I had a short meeting “No water, at all on this.  Do not put any water on this.  If you accidentally put water on it, dry it up immediately.  Carry a towel so that you can.”  Nods of agreement, and on with the work.

But the next week the team was new again, and I had to repeat my dire warnings. And yet a newer team the following week.  I felt as if I was stuck in a wash, rinse, repeat cycle.  I called the owner to tell her that she was letting her staff damage our items.  I had noticed that in addition to the water issue, their use of a specialized device was leaving large chunks of paint and drywall out of our walls.  Large, one inch dents and chunks in our walls.    All at exactly the height of this device, which just happened to have square corners, right at the same level of the chunks missing from our walls.

In addition, I found that the cleaning agent used on our furniture was removing the finish on our furniture and then being transferred to all of our mirrors as new, under-trained staff was mixing rag use on all kinds of surfaces.

So I’d had enough and called the owner of Scarborough Merry Maids.  Her husband took the call and I shared my frustrations.  He was very understanding and knew exactly what caused the perfect triangle shaped holes in our walls, what cleaning agent the staff were using incorrectly, and what was causing furniture finish to end up on our mirrors and windows.  He arranged to come visit to take photos for his insurance company…and I was happy.

Well, I thought I was happy.  Mr. Merry Maid did not come out — he sent one of the same cleaning staff people who had damaged the home.  After the staff person looked at the perfectly shaped triangles spotting our walls, the perfectly concentric circles of water damage from a wet bucket left for hours where it shouldn’t have been, splashes of water left too long on our flooring, and the hardened swirls of cleaning agent and furniture finishing on our expensive mirrors, she declared that all was damage from… our cat.


If our cat could may perfectly circular, concentric circles in a wooden finish, I’d be putting her on show.  If she could punch perfectly triangular holes in our walls, I’d rent her out for art shows.  If she could some how work with furniture finish, I’d work her day and night refinishing our floors.

Yes, it turns out that the teams of untrained staff at Merry Maids Scarborough were incapable of doing any of this damage, but some how, our cat was.

So we fired Merry Maids.  Not because they damaged our walls, our furniture, our mirrors, our floors, but because they didn’t know how to deal with their making a mistake — they weren’t good at making mistakes.

Sure, we all make them…me, I’ve made some real doozies.  Some of them were even pretty darn stupid mistakes.  Some where unforgivable.  Some make for a good story and not much else.

When my team members make a mistake, I want them to do it well.  I want them to:

  • Find out that they made a mistake long before I do
  • Figure out how to fix it
  • Fix it, even if it means staying late, missing dinner, or missing a movie
  • Make a checklist, tool, or process that will keep them from making the same or similar mistakes in the future.
  • Ask others how to keep from making the same mistake again
  • Say they are sorry they made a mistake (not “I’m sorry you are mad” or “I’m sorry that guy told you about my mistake” or “Your cat did it, not me”.)

How could I trust a company like Scarborough Merry Maids to send staff to my home if they had no clue what caused the damage and had no interest in fixing it, and then wanted to blame it on the cat?  And just how stupid did they think I was when they said my cat had all these wonderful talents?  How could they let their staff tell me that “I don’t have to follow any thing you put in writing”.?  How could they send the person who caused the damage to assess whether they did the damage?  Trust them? They don’t know for trust.

And not only did I not trust them any longer, now perhaps you don’t, either. I’ve worked with lots of bad service firms over the years, and the only ones I can remember the names of where people who didn’t know how to fully fix their mistakes.  Maybe you’ll remember that Merry Maids of Scarborough thinks our cat is a wizard of some sort, but probably you’ll remember that they didn’t want to fix their mistakes.

If you’ve made a mistake, the first things you must do it admit it, fix it, keep it from happening again, and say you are sorry.  If you do that, nearly everyone you work with will either forget that the mistake happened at all or who did it.  And some time a few years in the future, you’ll be sitting around in a pub, telling others about this great story and how well it ended.

Trust me.

Subscribe via E-mail

Use the link below to receive posts via e-mail. Unsubscribe at any time. Subscribe to by Email