June 2007 - Posts

Gatekeeper or Roadblock? Part 2

Over a year ago I wrote a post entitled Gatekeeper or Roadblock?

At the time I was working as a Production and Development DBA for a small shop. People would show up with requests that sounded legitmate to me. Usually these requests would take 30 minutes of my time and provide data to an individual or team that they could use to continue their work for days or weeks.

But the oddest thing would happen. My boss would happen by and ask what I was working on. When I told my boss what I was working on, my boss would inevitably frown. Then my boss would look cross and say something akin to "You should not be doing that for him / them." You may think I'm exagerrating, but I assure you I am not.

Hence the post.

Fast forward some...

I'm doing some consulting for a large-ish IT team for a large-ish company. Team members can't find things. They cannot connect remotely to work from home or while on vacation or away for training or business trips. A lot of stuff that Just Works at most IT departments simply doesn't work here. And no one can figure out why.

As a result, the IT department morale is dropping faster than the Congressional approval numbers because no one can get away from the office for more than a fraction of a weekend. Talented people have been recruited and paid an excellent salary with excellent benefits (including lots of unused vacation). These folks stick around for six months or so and then leave - often for equal or less pay and benefits.

Word is getting out on this place locally. Recruiting efforts are moving farther and farther away.

Network performance is awesome, but very little is actually able to run on the network due to "security policies" (hence the stellar performance). The network department consists of Bill and his very-high-turnover network engineering staff.

Bill's been with the company for years. If you ask him, he'll tell you he "keeps things running around here" and "doesn't know what those colleges are teaching kids these days - none of 'em are worth a tinker's damn."

A long time ago, Bill cobbled together a solution that exceeded management's expectations. He saved the company hundreds of thousands of dollars in consulting and implementation costs. His network did everything those high-falootin' college brats said there's would do, and it didn't cost the company anything other than what they were going to pay Bill anyway. "Just doin' my job," Bill answered when asked about it by an executive. The executive was so impressed, he basically promised Bill a job for as long as he wanted to work there.

Now.

The system Bill put in place did, in fact, meet the immediate needs of the company. And it didn't cost as much as the consultant-proposed system.

But it also won't scale. At all. Ever.

Bill's learned this. He's tried to make it do more, but the system simply won't.

Bill has a few options.

  • He could go to training, learn about building scalable systems, and implement a better version of his solution. After all, everyone knows you need to spend 25% of your time training in IT just to keep up.
  • He could hire people with more recent experience and work with them to build a better version.
  • He could admit that although he thought his solution was better for the company, it was really just a short-term patch and they should've implemented the consultant's solution instead of his.

Ok, I put that last one in there to see if you were paying attention.

Instead, Bill has locked down the network so every possible wavelength of bandwidth is available for his out-scaled solution. He doesn't need training, he has tenure. A guarantee. He still has an executive's ear - an executive he helped get promoted by saving all that money all those years ago - an executive who both owes him and cannot afford to have the truth come out.

As new people rotate into the department and get close to discovering the issues with Bill's outdated solution that won't scale, they're summarily dismissed. The executive backs his every move. "Bill knows what he's doing. These kids obviously don't."

And so, things do not change.

Except - all things change eventually.

In this case, the company's marketshare dips to an all-time low as productivity remains steady at a 1998 level for Bill's company - while the competition begins gaining marketshare using systems that scale.

When rivals reach the same marketshare, executives muse "they're topped out now!" and wait for the inevitable. After all, if their system won't scale beyond this point, no one's will. Right?

And then the competition's system does continue to scale. And in a few years Bill's company is bought out by their competition and the innovative IT department of the purchasing firm curses Bill's old system as they try to work through the hacks to get at something that resembles business rules.

In the end, I suppose the executive and Bill both parachute out into the business world, seeking another hapless company to victimize. They're richer, no wiser, and have left talent-devastation in their wake as they unceremoniously ended, wrecked, or disillusioned dozens of careers.

What a depressing post! For a good laugh, you have to go here and read the post and comments - very funny.

:{> Andy

Technorati Tags: Gatekeeper Roadblock A sad sad tale

Raleigh Code Camp - tomorrow!

I'm looking forward to speaking at the Raleigh Code Camp tomorrow!

I'll be presenting on Team Edition for Database Professionals and Incremental Loads with SSIS. It going to be fun!

If you're atending tomorrow and read this blog, please introduce yourself!

:{> Andy

Technorati Tags:

A Special Day

Today was a special day.

Date: June 22, 2007
Location: Briery Creek Lake, Farmville, VA
Equipment: Cars Fishing Pole (purchased at the Farmville Walmart).
Tackle: Swivel and small hook.
Bait: Worsham Worms

After a trip to Richmond to get my picture taken for the Microsoft Press book followed by lunch with some friends; Stevie Ray and I decided to stop by Worsham Store, pick up some of their famous Worsham Worms, and head on down to Briery Creek Lake for some fishing. Stevie had decided to go with me to Richmond for the day, and we always keep our fishing poles and tackle box in the car (for whenever the mood strikes).

The mood struck today.

Stevie Ray caught his first fish ever! He caught five in fact. He was so excited I was worried about him injuring his ears from all the grinning.

They were all about the size of the one shown but that didn't seem to matter. :)

:{> Andy

Technorati Tags: Family Stevie Ray First Fish

SQL Server 2005 Books Online Update

There's an available.

Major changes include information regarding installation of SQL Server Express SP2 on embedded systems and updates on the WITH ENCRYPTION topic.

:{> Andy

Technorati Tags: SQL Server 2005 Books Online

Prepping for the Upgrade

As I type this I am working out the details of an upgrade for this blog. If all goes as planned, I'll be moving these existing posts over to a snappy new Community Server instance - where my other blog, Applied Business Intelligence, is hosted.

The folks at GoDaddy Tech Support have been great. No, make that awesome! Like every other competitive IT vendor on the planet, they've been making changes to internal structure and support. One of the more recent changes allowed me direct access to databases containing my value-added applications (like Community Server). Prior to this, I couldn't directly access the databases.

To complicate matters, I'd installed an updated instance of Community Server in another directory on my site. So I had two instances of CS running - one of which I could not reach the files and data (that would be the instance containing this blog).

I would ask them about my Community Server instance and they would respond "It's right there - see it?" And I would have to explain to them I couldn't see one of the instances. It took more than a few emails, but they really hung in there with me, were very professional, and worked with me until I got the data I was after. Kudos GoDaddy Tech Support!

:{> Andy

Technorati Tags: GoDaddy Customer Service Tech Support Moving Applied Team System

Back in the Saddle...

Monday, after a five-month hiatus, I return to SSIS training.

I really enjoy training whether I'm attending or leading it. It killed me last week to miss both Tech Ed and the Richmond .Net Users Group June meeting, but a client needed me on-site and I try to never leave a client hanging.

I roll out around 6:00 AM tomorrow to head for the airport, and it's 1:40 AM as I type this - another day when it's good to not need sleep! :)

To the good folks at New Horizons in Edina, MN: I'll see you Monday!

:{> Andy

Technorati Tags: SSIS training Minneapolis MN

The Hidden Cost of Business Enemies

In business, enemies are expensive.

I'm not talking about competition here. I'm talking about enemies. Competition is actually good for you for a number of reasons including:

  • Competition indicates a market exists. Lots of folks think "No one else is in this market - I'll own it!" Unless your idea / service / product is truly innovative, there's a good reason for the lack of competition: there's no money in it. Always ask yourself "Am I the first person to think of this?"
  • Competition keeps you on your toes by pushing you to excellence. If you don't satisfy, someone else will. That's powerful motivation.

An obvious enemy-related expense is lost business. If you tick someone off they will not likely use your service or product again.

But there are hidden costs as well. For instance, bad news travels much faster and farther than good news. Don't take my word for it - check out your local evening news. Very little good news is reported. Do one person / company wrong in a single business transaction, and it will follow the remainder of your career.

This is why I don't get the ethics scandals. Maybe I'm missing something but the risks of these schemes seem to far outweigh the rewards. Each time I hear of a new blatant, intentional ethical violation I wonder aloud "What were they thinking?"

There's also collateral damage to business enemies and sometimes it can turn around and bite the offended - again. How? Whenever you badmouth someone who treated you wrong, you are gambling that the person you're talking about will never do anything positive and meaningful for the person you are talking to - forever. Forever is a long time. Things change, stuff happens. Are you willing to take that risk?

Also, when you badmouth you're demonstrating you're the type of person who will talk trash about someone with whom you disagree. Odds are someone else will disagree with you in the future. Are potential clients willing to take the chance you will be happy enough with the outcome of your dealings to not impugn their reputation? Put another way: Is there anyone else they can hire who won't talk smack about them should things come out less than equitable for all parties?


It comes down to professionalism.

Everyone looks like a professional when the gig goes your way, you get plenty of recognition, paid more and/or earlier than anticipated or agreed upon. It's not hard to shake hands, pat folks on the back, give credit to those who helped, and genuinely thank those involved for the opportunity... when all goes well.

When things fly apart mid-project, when threats begin, when you start ignoring your email and silencing your cell phone without answering; when your subconscience sounds like a black-and-white World War II submarine naval movie in a scene where the sub is about to dive and is sounding the klaxon... that's the darkness where the brightest lights shine the most.

There's another word for these dim times: opportunity.

You have an opporunity to turn the project around. I am a firm believer that all projects-in-peril can be turned around. It is a sheer matter of will to do so.

The momentum gained by a project climbing out of the Pit of Despair can propel a business relationship to a completely new level, and, if you engineer such a turnaround, you will demonstrate your professionalism beyond dispute.

I know, I've seen it happen.

In conclusion, there are hidden costs to making enemies in business, and there is hidden profit in putting potential enemies in the friend column.

:{> Andy

Technorati Tags: Business Enemies Cost

Comparing The SSIS 2008 Script Task to the SSIS 2005 Script Task

A couple differences leap out from the screen shots:

  • The General and Script pages have changed position in the Page List - Script now comes up first. It now takes one less click to get to the actual script window. Good job SSIS Team!
  • The SSIS 2008 uses VSTA instead of the VSA scripting engine. This means you can now write scripts in C#.

The SSIS 2005 Script Task:

The SSIS 2008 Script Task:

I have not stressed this task yet, but that is in the plans. I anticipate performance improvements across the board!

:{> Andy

Technorati Tags: Katmai SQL Server 2008 Script Task C#

Andy's SQL Server 2008 June CTP Risk-Averse Installation

So, you have the and you cannot wait to install them and start tinkering! Spend some time first with the ReadMe files - please.

One thing you will note right away: side-by-side installation is not supported. In fact, I tried uninstalling SQL Server 2005 on a VPC before installing SQL Server 2008 - no dice. Everything but the workstation tools installs, durnit!

I ended up building a new VPC from scratch. You can get for free. You can also get a free 180-day trial edition of . If you're in a hurry and are willing to sacrifice 150 days of trial time, you can get a pre-configured containing a 30-day trial version of Windows Server 2003.

Once you get your virtual server all configured like you like it, make sure you run the Configure Your Server and set it up as an Application Server. Enable ASP.Net, not FrontPage Extensions.

The installation for SQL Server 2008 is remarkably similar to its predecessor. I include the following steps / screenshots as they reflect my experience with the installation:

Unpack the ISO image. Execute the Setup.exe application:

Accept the End User License Agreement:

Click the Install button to install SQL Server 2008 prerequisites:

When the prerequisites installation completes, click the Next button:

The SQL Server Installation Wizard starts:

System Configuration Check executes and reports any errors or warnings. Address any errors reported. It's wise to take a good look at all warnings:

Enter your registration information:

Select the components you wish to install. Click the Advanced button for detailed configuration options:

You may be tempted to make changes to the default locations here. I caution you - this is the first public CTP. Changes to the defaults are risky!

Although I selected all the options under Documentation, Samples, and Sample Databases; the sample databases were not installed (see previous note):

Once options are configured click the Next button:

There's a note in the ReadMe about Named Instances. I consider this a "clue" and make this the Default Instance:

I use the local system account to start services and configure all services to start automatically:

I choose Mixed Mode authentication and supply a good strong password (no need to take any chances here...):

I accept the defaults on collation and click the Next button:

I accept the defaults on Reporting Services configuration:

Note: You will not see this page in the installation wizard if you do not have IIS installed and configured. The best ay to get IIS set up on your Windows Server 2003 is the Configure Your Server Wizard.

Select Error Reporting Options and click the Next button:

I accept the defaults here. C'mon - it's a CTP! Send the feedback for goodness' sake! ;)

The Ready To Install screen displays - click the Install button to start the installation:

Installation was comparable to SQL Server 2005 installation - perhaps a bit quicker:

Click the Finish button to complete the installation:

That's it! SQL Server 2008 (Katmai) June CTP is installed and ready!

:{> Andy

Technorati Tags: Katmai SQL Server 2008 SSIS

Free Diff/Merge Tool

SourceGear has released a snappy new diff / merge tool - and it's free!

More information is available at Eric Sink's blog - it's definitely worth a look!

:{> Andy

Technorati Tags: Free Diff Merge SourceGear Eric Sink

RowCount and Stored Procedures

Recently I thought the SQL Server RowCount functions were lying to me - telling me there was only one row being returned by stored procedures that performed Select statements only - Select statements that I knew returned more than a single row.

I discovered the culprit after some digging: the Return statement at the end of the procedure was, in fact, returning 0 - which is technically one row.

:{> Andy

Technorati Tags:

SQL Server 2008 CTP Available!

The June CTP of SQL Server 2008 (the database server formerly known as Katmai) at !

Registration is required. You must also complete a three-question survey.

:{> Andy

Technorati Tags: SQL Server 2008 Katmai CTP

Notes On Project Success - Part 2, to Stake-Holders

Yesterday, I addressed Technologists regarding Project Success; today I address Stake-holders.

I have participated in projects that have succeeded and in projects that have failed. One thing I noticed about the failed projects: expectations were poorly - or not - managed.

What are examples of project expectations?

  • Functionality - when completed, the application / upgrade / database / server will allow me to perform xyz.
  • Time - how much time one expects to develop the functionality. Can also include a schedule for deliverables and / or milestones.
  • Expense - how much one expects to pay for the functionality.

As a stake-holder you know what you want. And you can probably communicate your expectations - using the three areas above as a guide - effectively. Issues arise when, for whatever reasons, there is a disconnect between your expectations and the those of the IT team tasked with performing the work.

I've witnessed several unsuccessful executive responses to the disconnect scenario:

  • "Ostritch" - ignoring the disconnect in hopes it will disappear with time.
  • "Gambler" - belief that there's a big score (project or technical break-through) just-around-the-corner that will save the day.
  • "Taskmaster" - belief that threatening people is the way to motivate them to work around challenges.
  • "More-Resources" - a firm belief that more resources can solve any problem known to humanity. (I often imagine these folks live in subdivisions and get their neighbors to help mow their lawns. In my mind I see forty push-mowers aligned wheel-to-wheel along one edge of a lawn. On signal, they all puch across the lawn, mowing it from end to end in a single pass...)

I worked for a company that decided to employ Performance-Based Management techniques to a successful team. They actually applied the concept company-wide, regardless of whether the teams were successful or not. In this particular flavor of PBO, 20% of employees were considered outstanding, 60% were satisfactory, and 20% were acceptable losses that the company would be better without. These numbers were set in stone and never changed.

My questions were:

  • Who failed? Did HR fail 80% of the time by hiring mediocre to poor employees? or did our management disillusion and de-motivate these people into their non-excellent state?
  • Are we, in effect, planning to never get better?

Statistical control works on processes, not people - at least not well on people.


So what is the solution?

Communication.

It's that simple. Executives have to either be approachable by the IT team or someone representing them, or you must appoint someone to be approachable in your stead. Leadership dynamics (or just plain scheduling issues) may require you to appoint someone. If so, try to find someone who speaks both business and technology.

Realize that sometimes you do not know what you do not know. I run a couple small corporations and have an appreciation for the amount of work involved in merely administering such an entity. I also know technology changes every day. It's difficult for anyone to keep up - especially if you're minding stock-holders, regulators, and the lot. We may have moved beyond the technology you understand. If we haven't, we will soon.

Either hire people you trust or trust the people you hire. If someone violates the trust, respond accordingly. But do everything within your power to exude trust-worthiness as well as trusting-ness.

For truly innovative people to be free to succeed, they must first be free to fail.

The best tools were once toys. IT professionals are notorious tinkerers. You will be astonished at the return on investment for a weekly-scheduled hour of "play time" for developers.

:{> Andy

Technorati Tags: Software projects Success Failure Technologists

Notes On Project Success - Part 1, to Technologists

There was a very interesting article posted not long ago at SQL Server Central by Janet Wong entitled My Projects Have Never Failed.

In the article, the author explains projects that experienced varying degrees of success for various reasons - but in all cases a disconnect existed between the end-user or customer expectations and the delivered product.

Personally, I consider these projects failures.

Here's why: The stake-holder or executive has this expectation. It may be very unrealistic, but they hold it nonetheless. They may be very educated people or not. They may understand technology or not. None of this impacts the fact that they hold expectations.

Q: Who's in charge of communicating realistic expectations?

A: Technology people.

Or at least a member of the technology team.

A good technology team has several moving parts and people fulfilling different roles.
Note: If you're a one-person-show, this post is not about you.

At least one person on the team needs to be customer-facing. That person needs to be an expert in communicating with business people who hold unrealistic expectations. Make no mistake: this is a talent and an art.

Good communicators are rare in life, rarer in business, and practically extinct in the technology sector. Most good communicators abandoned IT departments decades ago and moved into sales where they could enjoy salaries orders of magnitude beyond what IT departments will pay them. But I digress...

I don't blame my customers when their expectations go unmet - I blame myself. Had I communicated something better - or even differently - the outcome would likely have been better for everyone.


So here are some tips for communicating with project stake-holders / executives:

  • You may understand what you mean when you say "Third-Normal Form Relational Database" at a meeting with executives, but few of them will. It's not their job to understand - that's why they're paying you. Step up. If you cannot translate your conversation into executive-speak, let someone else do the talking. If your point is to embarrass the executives, you'll probably not try that at your next job.
  • Identify someone on your team (or add someone to your team) to serve as a point-of-contact to the executives. If your team has a project manager, they may be the best person to do this. I've also seen horrible project managers who exacerbate the problem with their own inability to communicate (or worse yet, take the side of the stake-holders and hang the development team out to dry).
  • Keep it short.
  • Keep it as simple as possible. Stake-holders and executives do not need to know the history of iterations you went through to arrive at your conclusion. Take it as a sign of confidence in your abilities that they accept your judgment on the matter.
  • Stake-holders and executives have different priorities from you and I technology people - remember that.
  • If you deliver quality late, no one remembers. If you deliver junk on time and under budget, no one forgets.
  • The old consulting axiom ever applies: Under-promise, over-deliver.

This is business. This isn't academia; you do not get to interpret your own results.

It's not a success unless they believe it to be a success.


Me, I've had projects fail. Some of them have been spectacular in the scope of their failure. To date, I've stepped up, admitted the failed status of the project along with my errors, and promptly moved to correct the issues. I've found excuses to be a waste of my and my customer's time.

Having a project fail is bad enough; failing to manage the failure takes it to the next level.

Remember, if you fix it, it will be ok.


Tomorrow, I address Stake-holders.

:{> Andy

Technorati Tags: Software projects Success Failure Technologists

On the Road Again

Like Willie Nelson, I'm on the road again starting this week. I enjoyed my time working remote but look forward to getting back to SSIS training.

A bunch of friends are attending Tech Ed. I'm unable to attend because of work and life scheduling (I can't attend Tech Ed and take enough paternity leave), but it's all good. If, like me, you cannot make the conference, you can check out cool stuff at Virtual Tech Ed.

I'm hoping to get to the conference next year. The only conferences I'll make in 2007 are the PASS Summit and some Code Camps.

:{> Andy

Technorati Tags: Tech Ed 2007 PASS Summit 2007 Code Camp

Snake In The Office!

I have had it with these _______ _______ snakes in this _______ _______ office!

/SamuelJackson

So I'm tooling around downstairs a few days ago while Stevie Ray is at school and Christy and Emma are napping, and I hear this sort-of metallic thwacking sound. I wasn't sure where it came from, but it was in a room different from the room I was in - and I was downstairs in the living room.

It sounded a lot like one of the mouse-traps going off. We haven't had mice since winter, so I checked the trap in the kitchen - no mouse. The other traps are upstairs in the walk-in part of the attic (we live in a cape, so the back quarter of the house upstairs is a storage area - kinda nice). My office is the only room used upstairs, and it has the door to the attic in the back corner.

As soon as I entered the office, I saw a two-foot black snake curled up on my window's screen insert. The screen insert had been propped against the wall by the window, but the snake had climbed it and tipped it over against a bookshelf. That was the metallic "thwack" I'd mistaken for a mouse-trap.

I went back downstairs and grabbed some work gloves before returning to catch the snake. I brought him downstairs as quietly as possible (how much fun would it be to bump into a 7-months-pregnant redhead who just woke up from a nap with a 2-foot black snake writhing around my right arm? I didn't want to find out so I was quiet...).

Black snakes are good to have around out in the country. They eat mice and moles and generally keep to themselves. They're not usually poisonous, although there are rural legends (the country version of urban legends) that they have been known to cross-breed with poisonous varieties to produce poisonous black snakes.

(I wasn't in the mood to find out with him wriggling around my arm...)

I have a pretty simple rule about wildlife: Live and let live. If you kill it, you better be planning on skinning it and eating it... unless it is threatening you. We don't hunt for sport on Leonard land. And when we fish, we either eat them or catch and release. We're not animal rights folks - we're just responsible participants in nature's food chain.

That said, showing up inside the house when Christy is pregnant, with our two current children residing here outside the womb and another about to make the transition in a couple months, the snake is a threat. Or rather, was a threat.

My neighbor said he caught one about the same size in his house last week. He caught him and released him in the woods behind both our houses. I'll bet real money it was the same snake.

:{> Andy

Technorati Tags: Office Snake Samuel L. Jackson