I’m pretty sure this is how most business people feel about IT. We should feel their pain a bit more, then work with them to solve their problems.
I wonder what hidden cameras in non-IT meetings would show us about what they think of us, really. If you have time, go dig into the comments on this video, too.
Doug Laney, of Gartner, has penned a real piece of candy humour on his blog at http://blogs.gartner.com/doug-laney/gartner-shares-findings-from-north-pole-inc-big-data-assessment/. In this report on North Pole, Inc, he assesses their current technology environment, their leadership styles and some of their data weaknesses. I chuckled all the way through it.
Analytic Opportunities Beyond Just “Naughty or Nice”
From a business intelligence perspective, Gartner found that NPI is lagging others in the shipping and distribution industry. Its enterprise data warehouse , called “Chimneys”, is really a collection of stovepipe query and reporting systems, some still relying on first-generation BI tools like Red Brick. Gartner recommended evolving to a logical data warehouse architecture for most low-frequency queries to enable more insightful cross-functional, federated analytics.
Some predictive analytics is done to select appropriate toys based on NITS behavior modeling, demographics and prior-year presents. Gartner recommended that this system be enhanced to account for factors such as sibling response, damage/loss propensity, and social content analysis. NPI however is working on mobile-enabling Santa in the field during mall appearances so he can advise on toy availability and alternatives (as necessary) in real-time while a child is on his lap. This system is expected to be in place for the 2013 holiday season. Gartner analysts pointed out that this new capability would also require enhancing its “Tommy” toy order management system to capture full catalog and supply chain information from its suppliers. Today NPI only maintains this tracking data on actual orders.
Grab your candy cane mocha cinnamon double wet latte and read up. Your boss is online shopping for his wife on LastMinuteNotTooExpensiveGifts.com anyway. Read up.
If you work in a large organization, you probably have been through a number of reorganizations. You know how this works: your management chain changes, people get new titles, and maybe, if you are lucky a few people get laid off. A good example are DBAs–they are a regular choice for reorganization, as they are frequently moved from Infrastructure to Applications groups or vice versa.
So how does this happen? It’s usually a several phase process, which starts with a new high level executive (usually the CIO or perhaps in larger organizations a Senior Vice President). He or she brings in a team of overpaid consultants (no, not consultants that fix problems—these tend to be big 5 organizational consultants who haven’t actually worked in IT). And the new CIO, if your karma is really dented, will bring along a new team of direct reports to help him get his quarterly bonuses.
Then, the project gets a really cool, exciting sounding name.
So The Parabola Project usually starts in late summer, just after vacation season. You may notice strange requests for information from your manager, also you may hear undercurrents about the latest hot methodologies (Agile, ITIL, Scrum). Around Thanksgiving, the rumors will really kick into overdrive. “The whole IT org is getting outsourced to Moldovia”, or “The reason why Senior Director X left for BjgReallyCoolNewTech, Inc. is that he was going to lose his job in the reorg”, are some examples of the types of rumors you will hear. Then eventually in early December, just before everyone leaves for Christmas, a new organization will be announced, there will be grumblings, and your IT organization will continue to have the same problems it had before. Only now the problems will be even more complex due to the recent organizational changes and for two months people will be way less productive because they don’t know what they are supposed to be doing.
So why do we do this? Companies lose a ton of productivity and pay consulting firms into the millions of dollars for what amounts to rotating the tires on your car. I feel like it’s a twofold process that relates to poor management.
- Managers/Directors/VPs get bored in their day to day roles and want to make change happen
- The same group of middle managers doesn’t want to address people problems, so they try to solve them using process
- Calling something new (Special Knowledge Efficiency Workgroup will somehow make ineffective people, processes or technologies work better.
- Reorg activity can take the focus of poorly performing projects as well as provide a great project slippage justification
Technology, Process and People
IT is a three-legged stool consist technology, process and people. You can mitigate some technology problems with people, and technology can be used to replace people (computers are more consistent than humans). Where it gets challenging is when companies try to fix people problems with process. Once in a while a reorg can help foster collaboration within an organization. I’ve been through one such reorg where functions were split into a global/regional/local model, which was really effective in fostering process standardization and opening communication channels. However, when people who or can’t do their jobs, changing the reporting structure won’t turn them into superstars. Instead, the constant cycle of reorgs annoys and drives away your good employees. The mediocre employees who are happy just to have jobs, will stay since they have fewer options. So what can you do when the inevitable reorg happens?
- Have a really solid internal network—it will let you know if you are being impacted well ahead of the reorg, which leads to…
- Always have your resume/CV up to date, if the reorg puts you in a less favorable position, it may be time to move
- Having a strong external network is also critical in helping plan your next moves
As long as there are companies there will be reorgs—middle managers need to keep themselves occupied. The best way to deal with this as an employee is to keep yourself extremely employable—keep your skills and network up to date, and you will always have a lot of employment options. If you have career options, you won’t need to sweat a reorg, and if the reorg really sucks, vote with your feet.
We tech professionals usually cringe at Cousin Ed’s "I’m having a problem with my computer…" conversation. It’s not that we don’t want to help; it’s that helping is often difficult to do verbally and impossible to do for people who won’t take our advice.
So when someone asks me to fix their slow or broken computer while they are stuffing themselves with Grandma’s Green Salad Tuna Jell-O mould and oyster stuffing, I first start with my list 5 things they must agree to do before I’ll help. These conditions are mandatory; any hesitation and I point them to their NerdFixSquad at their local retailer. Let retailers make money off bad computing practices. It’s good for the economy.
Knowing how painful the fix and the conditions can be, I also require liquid refreshments to help me along. I thought I’d share my Fix + Pairings advice with you to help you through the holidays.
These are in no particular order; depending on Cousin Ed’s issues, you may want to focus on them based on 1) how messed up his computer is, 2) how thirsty you are or 3) how messed up you already are when he asks.
1. Install a dependable anti-virus/anti-malware application
There are plenty available, some free. Installing is not enough, though. It must be configured to download and run updates automatically. Sure, I don’t apply updates automatically on my work machines, but a a regular non-IT user isn’t going to have the type of background to judge when is the right time. Now is the right time for most.
I often find that the "anti-virus" they have installed is actually some malware they downloaded from a questionable website. Or Norton. Either way, that has to be replaced with something reliable.
When I visit the computer in the future to help again, if the antivirus has been disabled or is out of date, they need book an appointment with their local retailer.
Pairing: Since this is the first course, and we are with the family for a while, I’d normally recommend starting with heroin. Unfortunately the US has oppressive drug laws, so while you are downloading and cleaning, I recommend a very dry Martini to cleanse the palate. In my case, straight from the Grey Goose bottle.
If this step takes more than 5 hours to complete due to multiple infections, I recommend Gran Patrón Burdeos, a $650 bottle of tequila that does not taste like gasoline. By the way, "burdeos" means from Bordeaux. That’s doubly pretentious. This is mostly about the price, but why not feel a comfortably numb and like a high-priced consultant at the same time?
2. Uninstall all the applications they have no idea what they are or when they installed them
It’s likely these applications were installed as "helper" applications to some free and useless photo editing software that was recommend during a late night commercial or came free in a box of Breeze. If I’m lucky, they actually come with a functional uninstaller.
I have a 10 second rule: if Cousin Ed can’t tell me what the application is or when he last used it in 10 seconds, it needs to go. Application Hoarders may be the next TLC program, but not on this machine.
Pairing: This is a slow, painful negotiation and process. It deserves a great drink, but mostly just just needs alcohol. I hope the family is at least on Windows 7, but if they aren’t, this task will likely involve several hours of control panel and registry editing, followed by actual deletion of files. I recommend a German Riesling or a Moscato as the alcohol is low enough that you can drink the whole bottle and still be functional.
If Cousin Ed is still rocking Windows Me, I suggest Arrogant Bastard ale by Stone Breweries. Because that’s how you are going to feel doing this task.
3. Uninstall the multitude of toolbars, plugins and widgets they don’t use
Chances are Cousin Ed’s browsers (and he will have all of them installed, even if he only uses one to surf the Information Super Highway) will have so many toolbars and plugins installed that he only sees a fraction of the web as he surfs on by. These also have to go and I have no 10 second rule here. If he really needs one, he’ll find a way to install it again. Trust me.
Pairings: Since most browsers support just turning these off, this activity works well with Everclear Jell-O shots, one for each toolbar. By now you need a bit of sustenance to maintain your blood sugar and to ward of the pending coma from all the work yet to be done. If things have been going well, a nice session beer in the 3-5% range might work. However, if things are extra rough, I recommend the wonderful 9.5% Péché Mortel as the strong dark espresso flavour will help you feel like you are drinking for work.
If things are really terrible, go with a nice Pinot Noir. Buy it on the family credit card, and go to France to drink it.
4. Install and configure offsite, automatic backups.
The key to this is that the backup service must run with no intervention from the user. Even seasoned IT pros have been burnt by not having proper backups. Sure, they meant to run that script that copied their photos up to a cloud service, but they never did. Or they had it automated, and turned it off for testing something else. Another key is that the backup must be offsite. Yes, that wonderful 4TB NAS they bought at Costco for a real deal is wonderful. But it’s parked right next to their computer. Where a thief or blazing inferno can destroy all those bits in seconds. In one breath. I’m saddened to read on a regular basis about people losing their thesis, all their baby pictures or all their work because they failed to do proper backups.
I use Carbonite and Iron Mountain for these things. There are many such services, some for as little pennies a day. I use these in addition to syncing stuff to a local server and the cloud. And yet I still pay redundant services to store my important stuff someplace else, automatically. I do this because copying is not backing up. Also, I test restores from these services from time to time.
Remember, automatic and offsite are the keys. All the other stuff is nice-to-haves. Another drive or computer in your home is not a backup. Heck, another computer in your city may not be enough.
Pairings: Offsite backups take time, often days. If you make it this far, and one usually doesn’t, it’s time to go big. I suggest a glass of Laphroaig 25 Year Old scotch to be savoured as you watch the blinky lights on the modem count out the number of times you’ve told yourself you’d never ever do this type of family tech support again. At least the scotch will be peaty and pleasant. Cousin Ed’s keyboard will most likely be slightly peaty, too, so this pairing may complement your environmental conditions better.
5. Install Updates
Usually when I get to the machine in question, I find that there are 300+ operating system and application updates waiting to be downloaded and applied. I configure updates to automatically download, but not to automatically install. I’m not that uptight. But I make this a condition of my next visit that if I return and there are more than 10 days old updates to be applied, Eddie will have to head off to BestStapleMax to get his PC fixed.
Pairings: Since updates haven’t been run on this machine since Bill Gates worked at Microsoft, this will take a while. The end is near, though, so it’s time to celebrate — with vintage Champagne. If you are billing by the hour (and who are we kidding, Cousin Ed won’t even bother to thank you when you are done) choose Krug Vintage. If you are only doing this because Mom asked you to, ask her for some of her little helpers and a Milwaukee’s Best . It won’t matter at this point anyway. Oh, and if you are in Washington or Colorado, you might just see if Ed’s slacker kid Eddie Jr. can hook you up with something nice for dessert.
If you’ve made it this far without just walking 7 miles to Wal-Mart (remember, don’t fix+pair and drive) to just buy Cousin Ed a brand new $200 PC, you deserve a major award and another drink. Congratulations. And you might want to get some rest. Dad also needs help with his WiFi Router and the new printer he bought on Black Friday.
Courage and Happy Holidays.
It’s Friday again (we should have more of these) and I’m in the mood for a contest. I have some mystery prizes, more than just swag, to give away. But I’m not saying what it is until the contest is over. Let’s just say it will have data stuff, space stuff, and for certain one of those secret Canadian keychain bottler openers. The value of the prize will be approximately $100… CANADIAN!!!!…which I think now is close to $100 million dollars USD.
How Many TLAs can you fit in a sentence?
Your challenge is to make a grammatically-correct sentence that is dominated with TLAs. What’s a TLA? Why it’s a Three Letter Acronym, of course. But we’re going to be flexible. You can use acronyms or initialisms and you aren’t limited to three letter ones. You can also tack on verb endings and such. So things like RBARing, LOSed and SSDTed are fine. We’ll have a group of prestigious fun judges to evaluate your submissions based on these guidelines:
- Length of sentence
- Length of TLAs
- Higher ratio of TLAs to “real” words – in fact, I want to see very few real words
- Higher weight given to non-product TLAs
- Originality is a real plus
- Higher weight given to a good mix of TLA “domains”. If you can work in textspeak, space, tech, music, literature, arts and crafts, cycling and knitting, then you’re golden.
- The more snark the better.
Your TLAs should be commonly known or easily to lookup. If we can’t figure out what it means, you’ll lose points.
I REd a CRM DB to get the DDL for the CASE tool, FTW.
OK, my C4ISTAR PM FUBBARed* my PLoA due to a SNAFU* with a SME's PEBCAK bug.
NASA SCUBA SMEs are NEEMO FTEs, AFAIK.
Entries accepted from locations where these sorts of contests are legal. Check with local authorities. If you are unable to accept the prize for a corporate or government restriction, just let us know. We’d still love to honour your work. Canadian residents must solve a particularly silly mathematical question. Study up on square roots and factorials. But they won’t be in the question.
Decisions of the judges are final.
You must be 13 years of age or older to enter.
You agree to let us publish your entries, but you get to keep ownership of them. We are nice like that.
Your sentence must be an original creation, by you.
No explicit, illegal or shameful content. Yes, I know some of you are disappointed.
Contest closes on
29 October 2012, 2 November 2012 at midnight my time, wherever I am at that time.
* UPDATE * I’ve just received some new swag from vendors, so I’m extending the deadline for this contest. We will now have 3 prizes to give away. *
Taxes, customs, duties and any other silly mandated stuff that makes it less fun to win are the responsibility of the recipient.
*The TLA example above has alternate, family-friendly definitions. I looked them up. Trust me.
How to Enter
Leave your entry here as a comment. Yes, you can enter more than once…let’s say no more than 4 entries per person. Yes, you’ll have to use a method to post that allows us to contact you to arrange for the major award. You can submit anonymously, but no prize for you.
This week was Canadian Thanksgiving so this post on metadata stuffing is timely.
Today Thomas LaRock (@sqlrockstar | blog ) posted a rant about our Database Design Throwdown topic on naming standards for tables and other database objects. Tom is a fan of what I call “metadata stuffing” in object names. That’s basically shoving as much additional information as one can into object names so that one does not have to go find out that information from its rightful place.
My reason for wanting to use prefixes is simple enough: I want to know if I am looking at a table or a view when reviewing code.
Karen doesn’t believe that anyone should be using object names as a place to store meta data about the objects themselves. I would like to agree with her but then we’d both be wrong.
He even created the nice graphic of my quote I use here. Thanks, Tom.
Object Confusion Abounds
That quote is indeed one I use during our debate. It’s a snarky introduction to what I think the real problem is: our tools aren’t doing enough to help us with this potential confusion of tables and views. When you are writing or looking at a query, the syntax for referencing a table or a view is exactly the same.
When a developer writes:
USE AdventureWorks; GO SELECT Name, ProductNumber, ListPrice AS Price FROM Production.Product ORDER BY Name ASC; GO
He has no idea for certain if Product is a table or a view. The syntax is the same. And if the developer is working in a text editor of some sort, or with some native tools, there’s no tooltip or other help that the he can use to check what type of object they are querying.
Why does this matter? Tom has a great presentation where he shows the impacts of trying to make stuff work and you don’t know what you are looking at. That’s why Tom wants to do this with his objects:
So that the object type is injected into the object name. That seems so innocuous, doesn’t it? What could go wrong?
I’m here to tell you that this is a slippery slope. One of the most egregious examples of this sort of meta data stuffing I’ve run across is one that required all this meta data to be prefixed in front of every table name:
- tbl_ prefix
- Primary Systems that managed the table
- Primary subject area that the table belongs to in the data model
- Classification of the role the table plays in the database (Associative Entity, Domain Entity, Master Data, Reference Data, Log Data, etc.)
- Three letter login of the DBA responsible for administering this table (I KID YOU NOT).
So in this wonderful naming scheme, we’d get:
I have found that once an organization starts thinking of stuffing, their designs become turkeys really fast. It’s ugly. Think about the tools you use, with all those nifty object lists on the left side. To find a table you need to know all that great metadata as you scroll through the list, hoping that PRODUCT Is buried in there, somewhere. And what the heck was the name of that guy that dressed funny who did all that data stuff for the company before he won the lottery?
All that metadata that should have been managed elsewhere, not prefixed in front of the “real” name of the table. In fact, it was. In the data model and in the system catalog. Every time any of that data changed (DBA assignment changes, DBA wins the lottery, whatever), we had to rename the table and change all the code and reports that referenced it. Sure we could have isolated systems by this change by using views and or aliases but that is additional complexity for no performance gain, either. Refactoring might have helped, but eventually we’d still have to change all the code and queries.
Why I Hate Metadata Stuffing
- It’s redundant data. Just like with business data, the reason we want to minimize redundant data is because we then have to worry about updating the data in multiple places. There’s cost and added risk for that.
- It changes. I don’t know about you, but I don’t have the luxury of taking down a production system just to update a change in the name of the DBA’s favourite TV show or whatever lame naming scheme someone thought up. Sure, tables can’t change into views or indexes, but all the other type of stuffings will change.
- It takes up real estate. I get all kinds of flack from developers and DBAs for the length of object names when I want the names to be meaningful. It’s funny how spelling out CUSTOMER is unacceptable, but adding the exact same characters in front of every object of its type is A-OKAY. What’s up with that? Somehow optimizing names for developers is more important than loving your data? Show me where it says that in the Project Charter.
- tbl_ is a tell for bad database design. I don’t know where this particular naming scheme originated, but when I do a database design review and I see this naming scheme, I know that the designer learned design in a one hour webinar “training course” and has not really mastered the complexities of enterprise database design and maintenance. The design will be less than best practice 90% of the time. This naming scheme is prominent in programming books, introduction to database books, presentations by non-database people, and uninformed blog posts, by far. It’s not popular with people who do professional database design. Sure, some products use this, too, but do you really want to take database design best practices from vendors? How many professional data architects do you think they have on staff? I will most likely see a database design that is highly optimized to make development go faster. Not for data integrity or loving data.
- It’s not needed “for consistency”. One of Tom’s points is that if we are going to prefix views, we have to prefix tables to be consistent. Actually, no, we don’t. If we have to bite the bullet and prefix views because our tools let us down, we can choose not to clutter up tables names just to punish those objects, too. I’m assuming that since Tom prefixes tables and views, he prefixes columns, too, right? its just being consistent. < snort>
- It gets in the way of using the data. Tables and Column names are the most user-facing parts of a database design. When we in IT insist on munging up these names with a bunch of systemese, we make it more difficult for business users to get at their data. It shows that we have optimized the database design to help a relatively small number of technical users (developers, DBAs, ETL folks) over the needs of the business. Ultimately, we build databases to manage data. For the business.
What’s the Cost, Benefit and Risk?
One of my Splendid Truths is that all design decisions should assess cost, benefit and risks. In the overall scheme of things, just prefixing “tbl_” in front of a table name isn’t that costly and it isn’t that risky. Tom assesses his designs based only on potential for performance harm according to his post. He “laughs” at my position. I’m happy that my stance on metadata stuffing brings happiness to his day. But performance is only one data point out of many for making a design decision. Usability, clarity, business goal support are other factors that a database architect needs to consider when assigning a name to an object. If we optimize something for a subsystem, we do it as the expense of other subsystems.
Our Tools Should Help Us More
Having said that, I feel the pain of people having to work with sub-standard tools or having to use tools that just refuse to help. Tom showed how SQL Server Management Studio tooltips can help. But all those command line “I don’t need any stinking help” aficionados are left on their own to know what they are looking at.
Oh, and Tom:
ProperNoun_Tom, Pronoun_you Verb_made Pronoun_me Verb_laugh Preposition_with Possessive_your Noun_post.
(See how all this stuffing gets in the way?)
One of my other Splendid Truths about database design is:
Your tools will impact your data models and database designs more than you can imagine.
We shouldn’t sit back and let that happen. Stuffing is great with Tofurky, not with databases.
Subscribe via E-mail
- Karen Lopez on Strutting: We all Know When You are Doing It. So Stop.
- Joey D'Antoni on Strutting: We all Know When You are Doing It. So Stop.
- Karen Lopez on Strutting: We all Know When You are Doing It. So Stop.
- Thomas LaRock on Strutting: We all Know When You are Doing It. So Stop.
- Karen Lopez on Strutting: We all Know When You are Doing It. So Stop.
- May 2013 (5)
- April 2013 (5)
- March 2013 (4)
- February 2013 (7)
- January 2013 (12)
- December 2012 (2)
- November 2012 (3)
- October 2012 (3)
- September 2012 (13)
- August 2012 (5)
- July 2012 (17)
- June 2012 (2)
- May 2012 (4)
- April 2012 (4)
- March 2012 (8)
- February 2012 (11)
- January 2012 (3)
- December 2011 (10)
- November 2011 (8)
- October 2011 (5)
- September 2011 (3)
- August 2011 (9)
- July 2011 (5)
- June 2011 (5)
- May 2011 (5)
- April 2011 (9)
- March 2011 (4)
- February 2011 (9)
- January 2011 (8)
- December 2010 (15)
- November 2010 (27)
- September 2010 (2)
- August 2010 (1)
- July 2010 (4)