Our clients expect us to help them compete in their markets by providing skills and experience that they lack. Because we (should) possess a more thorough understanding of the problem domain for which we're employed, our relationship with clients usually involves negotiation between what the client thinks they want and what they really need. It takes a perceptive consultant to ask the right questions to get down to the client's real business requirements. That process becomes even more complicated with the injection of fads and buzzwords.
To make this even more confusing, sometimes a buzzword can be a business requirement in itself. If your client is losing sales because they can't answer "yes" to "Do you use technology XYZ?" then an implementation of some at least token form of XYZ has become a business need for them. Never mind if you have a better alternative -- they don't want to have to argue for it against their potential customers.
In other cases, your client may think they need to implement the latest hot technology because otherwise they're missing out on a real competitive advantage. Usually this means that they don't fully understand the technology, and they're suffering from Silver Bullet Syndrome. A good place to start with these clients is to ask them, specifically, what they hope to gain from the technology. Without a clear goal, your client is likely to spend significant resources and achieve little or nothing -- or worse, get themselves in trouble.
When a prospect asks us, "Can you help me with technology XYZ?" we find ourselves under tremendous pressure to respond enthusiastically in the affirmative. After all, the prospect wouldn't have asked if they hadn't already made up their mind to go in that direction, would they? But adding our voices to the hype chorus isn't helping our client -- it only confirms their opinion that they need to jump on the bandwagon as quickly as possible, and helps them justify omitting careful consideration in the name of agility. So I like to respond, "Yes, I can. But why do you want to do that?"
One of the hottest new buzzwords in the industry is "Big Data" -- the collection and analysis of large amounts of information in order to detect trends, personal preferences, or some other competitive advantage. These data sets are so large that their analysis may require a distributed computing grid containing hundreds or thousands of servers, using a distributed framework such as Hadoop.
The attraction of Big Data is that correlating that much information has already proven to yield surprising and useful results. The potential downside is that it may pose a threat to user privacy, which could lead to legal troubles and a damaged reputation. And as with any fad, it could drain more resources from your client than what they gain in return, only to become obsolete when The Next Big Thing arrives. So, take some cautionary steps with your client:
- Calm the hype. Big Data will not magically transform their business. Like any tool, it's how you use it that counts.
- Define the goals. What exactly does the client hope to achieve? How can Big Data help? Or is it even the right solution?
- Respect user privacy. If you do decide to collect lots of data, treat it more ethically than warranted by the widespread apathy towards privacy we're seeing these days. Tell users what data you collect, guard it from leaks into the wild, and provide users an easy and obvious way to opt out of data collection. Treat users as you would want someone to treat you -- which I doubt is like a data mine.
Also read on TechRepublic
Chip Camden has been programming since 1978, and he's still not done. An independent consultant since 1991, Chip specializes in software development tools, languages, and migration to new technology. Besides writing for TechRepublic's IT Consultant blog, he also contributes to [Geeks Are Sexy] Technology News and his two personal blogs, Chip's Quips and Chip's Tips for Developers.