I've read a few blog posts recently bashing SQL Server Integration Services (SSIS). Some take issue with functionality, others with form.
Mostly I disagree. By "mostly" I mean a gracious 85%. And by "gracious" I mean I actually disagree with about 95% of the claims made in these posts and the ensuing comments.
Why? I'm glad you asked.
Starting with the obvious: SSIS 2005 is not DTS 2.0. It's a brand new enterprise data management and ETL development tool. SSIS is new. SSIS is different. As with all new and different enterprise server platforms, there is a learning curve.
If the glass is half-empty, this learning curve is an obstacle. I'm a glass-half-full person, and in this case I think the glass is about 85% (really 95%) full.
In my mind at least, there is a vast distance between things that I do not like and things that are wrong. The former is about my preference; the latter, bugs.
Does SSIS have bugs? Yep. You can find a list of them . Oddly, very little of the items listed are the things folks are complaining about. Instead there's the drone of incessant whining, such as "I made this one little change and the package stopped executing!" Filed under "Well duh". When you make changes, things well, change. You sort of intended that when you made the change, didn't you? So the root issue isn't really the unexpected results, it's that you didn't know what to expect.
Fortunately there is a cure. It's a relatively new and somewhat obscure and untested methodology. It's called Experience. For you methodology junkies out there ("I'm Andy and I'm a Methodology junkie." "Hi Andy - we love you."), you may want to take a look at Experience. Here's how it works:
- You try something.
- It doesn't work.
- You make a change.
- If it works, restart the cycle. If not, return to step 3.
- You learn something.
Freaky, I know. I have heard from literally hundreds of SSIS developers working with Experience. They all assure me Experience rocks and I agree. Are those hundreds all wrong? Or is it (and this sounds crazy even as I type it so forgive me for even bothering to continue) perhaps, possibly, something you're doing? Is it remotely possible that there's another way to accomplish the task at hand? A different approach? Even a workaround?
Continuing this line of reasoning: Is it possible someone else has encountered a similar problem before and bothered to post a question in the which has been answered by some of the aforementioned practitioners of Experience? ...again, crazy talk...
Some software contains bugs. Research has shown that Microsoft, in fact, produces software. The extrapolation isn't that hard. If you actually encounter a bug, have you considered seeing if someone has or yourself?
To those who wish to complain I have some simple requests:
If you have a question, please ask it. I've learned new stuff about SSIS this week - I think I've learned new things about this amazing platform every time I've developed an enterprise ETL or data management solution with the product. I have the honor of working with some pretty smart people who also know quite a bit about SSIS. When I learn something, I share it - usually with them and in a post to a blog somewhere. You know what? Most of the time they haven't heard of what I learned.
Don't confuse the things you don't prefer with software bugs. Just because you don't like it doesn't make it wrong. SSIS has non-intuitive functions which you will learn about as you use the product. The previous statement can be made for nearly all software. It's a fundamental rule of software that complexity rises with flexibility.
Don't confuse an application with a platform. Platforms are an order of magnitude (at least) more complex than an application. SSIS is a platform. You can build applications in SSIS, you can also build frameworks and apply principles of design patterns. There's also more than one way to accomplish things in a platform - one of them is usually better in a given situation than others. There's nothing wrong with the platform if I choose a poorer-performing way to accomplish a task. I know because I've picked worse ways of accomplishing things in SSIS and learned from my - not SSIS's - mistakes.
Lastly, you can choose to help or continue to whine - it's up to you. Having personally trained hundreds of people on SSIS, I can assure you the vast majority of them are dismissing your comments as inexperience and / or a lack of training.
:{> Andy
Technorati Tags: SSIS bugs issues complaints