Deprecated: __autoload() is deprecated, use spl_autoload_register() instead in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\_core\_class_loader.funcs.php on line 55

Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\_core\_misc.funcs.php on line 5137

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\_core\_misc.funcs.php on line 8521

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\files\model\_file.funcs.php on line 1442

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\files\model\_file.funcs.php on line 1447

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\files\model\_file.funcs.php on line 1453

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\files\model\_file.funcs.php on line 1460

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\files\model\_file.funcs.php on line 1465

Deprecated: define(): Declaration of case-insensitive constants is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\_core\model\db\_db.class.php on line 49

Deprecated: define(): Declaration of case-insensitive constants is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\_core\model\db\_db.class.php on line 50

Deprecated: define(): Declaration of case-insensitive constants is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\_core\model\db\_db.class.php on line 51

Deprecated: Function get_magic_quotes_gpc() is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\_core\_param.funcs.php on line 2112

Deprecated: Function create_function() is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\_core\_url.funcs.php on line 817

Deprecated: Function create_function() is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\_core\_url.funcs.php on line 818

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\plugins\model\_plugins_admin.class.php on line 1466
Excellent Consultants...or Why Technology Kingdoms Rise and Fall
 


Deprecated: Function create_function() is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\_core\_url.funcs.php on line 817

Deprecated: Function create_function() is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\inc\_core\_url.funcs.php on line 818
Excellent Consultants...or Why Technology Kingdoms Rise and Fall


Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\plugins\_auto_p.plugin.php on line 502

Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\plugins\_auto_p.plugin.php on line 500

Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\plugins\_auto_p.plugin.php on line 500

Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\plugins\_texturize.plugin.php on line 116

The experience of a recent Consultants Guild blog reader drives home the key factors that cause projects and engineering organizations to fail. It also is a good reminder of what is necessary in order to be an Excellent Consultant. So indulge me for a moment and let me tell a little story of Excellent Consultants...or Why Technology Kingdoms Rise and Fall.

His experience was being confronted with antagonistic interviewers that didn’t understand a technically superior solution. I had a very similar experience trying to do a Sybase port of the dynamic inline T-SQL aggregation construct that I've used numerous times in SQL Server. I'm first and foremost a SQL Server implementation expert, but very proficient in other database products. We were forced to implement a SQL Server database on Sybase. I used this construct extensively to avoid laborious and expensive CURSORS. Then the unthinkable happened (well not really for Sybase), they released a patch which broke the dynamic inline T-SQL aggregation construct in Sybase. Once we finally tracked down why critical portions of our system were broken, Sybase’s response was first disbelief that this approach even worked. When I proved that it did they responded…“Well, that never should have worked in the first place, so we aren’t going to support it going forward.”

Hmmm. That doesn’t seem too intelligent to me. Am I having a nightmare here? Let me do a reality check. So I asked myself a question…”Mark, I asked…Who is paying Sybase here?”. Yep, the answer is me and the customer that I’m implementing Sybase for.

That lack of disrespect for the basic customer-vendor food chain required about 2 weeks of redesign of some key backend stored procedures and processes. Needless to say, it didn’t serve to improve my perspective of Sybase. The customer spent between $100k-$200k in the original port from Sybase to SQL Server. What value did it add….ZERO. It cost more, took longer and performed poorer. Fast forward...now the customer decided that their strategic direction is to migrate all Sybase applications to Microsoft SQL Server. So, it will cost Sybase millions of dollars from this customer and any customer that I do business with in the future that is willing to listen to my experience.

Nope, it wasn’t a nightmare after all. At least not mine (maybe Sybase’s though). Whew!

Haacked’s experience of interviewers that think they know it all, like my experience, taught me an important lesson. As technicians, we need to continually remind ourselves that fear, pride and ignorance are the greatest barriers to success. There is almost always a more elegant, more simplistic, more cost effective and higher performing way to solve a problem. Furthermore, I have found that fear, pride and ignorance are the hallmarks of project failure. It can have enormous cost implications to us as consultants, to the tool vendors we utilize and ultimately the customers we serve.

For the interviewers that thought they know it all, it cost them a potentially great resource and asset. In my scenario it cost my customer hundreds of thousands of dollars. Ultimately it will cost Sybase millions of dollars.

The lesson I learned is this, technology kingdoms rise and fall primarily due to fear, pride and ignorance. Excellent consultants, at least the ones I am willing to work with, have no room for any of these traits. If you are on a project where fear, pride and ignorance are given free reign, raise the red flag high. Waive the flag with vigor. Get executive sponsorship and root it out. These people are the type that are continually complaining, blaming and failing. An end user cracked me up with describing these type of people like this..."Their cubicles are vortexes where all happy thoughts go to die". Sadly their teams and their organizations are where good projects go to die as well.

What excellent consultants possess, at least the ones that I’m willing to work with, are increasing measures of boldness, confidence and wisdom. Boldness replaces fear, confidence replaces pride and wisdom replaces ignorance. We in the Consultants Guild are passionate about Experience, Integrity and Delivery. They are the mark of Excellent Consultants.

Excellent Consultants are…

Excellent consultants are bold enough to look for new ways to deliver successful solutions better. Whether it’s a technical challenge, a business challenge or a process challenge they always strive for success. They don’t shrink away in fear or let pride or ignorance cause them to fail. Typically they will lean on their wealth of experience and/or the deep pool of experience from other excellent consultants that they’ve been in the trenches with. Boldness is the key to successful delivery when the barriers seem insurmountable.

Excellent consultants are confident in their experience that has led them to success in the past. The proof is in the pudding. A key principle of Agile software development is that “Working software is the primary measure of progress.” Given a reasonable amount of customer trust and freedom, I’m fully confident that I will make them successful. This shouldn’t be confused with pride or arrogance because I’ll readily admit when I need the help of others. Confidence is only developed through experiencing repeated success.

Excellent consultants are wise enough to know what they don’t know. A common misconception about wisdom is that it means knowing everything. It does have to do with knowledge, but its much more than that. Wisdom is when knowledge is applied through the filter of “experience”. I also heard someone once say that “Wisdom is knowing what you don’t know”. Just becaues a ASP.NET application was a perfect solution for one customer, doesn't mean that its the only solution for every customer. We were faced with this challenge on a current project and realized that it was in the best interest of the client to build a .NET Win Forms Smart Client application vs. a traditional .NET Web Form HTML based application. Wisdom grows as we do business with integrity by looking to the mutual best interest of our clients and ourselves.

1 comment

Comment from:
Deprecated: Function create_function() is deprecated in C:\inetpub\wwwroot\com.consultantsguild\blogs\plugins\basic_antispam_plugin\_basic_antispam.plugin.php on line 330
wayne

Great post Mark!

02/21/05 @ 10:49