Thursday, March 28, 2013

Myths of Innovation

We are all told to be "innovative", that we need an "innovative" solution to a problem.  We are then locked in a room and told that we have fifteen minutes to come up with this innovative solution because in thirty minutes the project is starting up and by the way here are the people working on the project and their skills so the innovative approach has to be able to be done by this group of individuals.

By the third Tuesday of next month.

OK, time to turn the subtlety off and talk about reality.  People don't think of innovative ideas on a scheduled basis.  Particularly not in a meeting room with other people.  Sure, you can brainstorm in a room with other people, but don't necessarily expect innovative ideas to come out of that session.

Too often people are told to come up with innovative solutions to problems to which they have just been introduced. Innovation requires work. Innovation requires a deep understanding of the problem. I am not saying that you will never get an innovative idea with this approach, but the odds of it happening are rather slim.  Getting a group of people together and telling them "We're going to create an innovative solution to problem X in the next 60 minutes or we're all fired", is probably not the way to go about getting a truly innovative solution.  Sure, you may come up with something that satisfies your immediate needs, but is it innovative or just copying something else?

Scott Berkun, author of Myths of Innovation has a summary of the 177 myths of innovation that he has uncovered in his own work and work done by others.  What I notice when reading the myths is that there is no single solution.  Innovation is a bolt of lightning out of the blue.  What works for one industry may not work for another.  What works for one problem may not work for the next even if the identical group of people is trying to solve both.

We also need to step back and realize that an innovative solution may not actually be leading edge technology, it may just be using what you already have in a different way.  The Apple iPod was not the most innovative MP3 player on the market.  It was innovative in how the iPod ecosystem supported all of the pieces and made the experience pleasurable.  It was not the first, but for its time it was the best.

There are so many variables that we best we can do is give people the time, space and opportunity to think.  After all, isn't thinking the start of any innovative idea?

High Performance Teams

What is a "High Performance Team" (HPT)?  At what point does a team become one?  Can a team change?  Do all the members of the team need to be "superstars"?

According to Wikipedia, high performance teams are groups that are "highly focused on their goals and that achieve superior business results.  High-performance teams outperform all other similar teams and they outperform expectations given their composition".  That last part is probably the most important and it is the part that is hardest for organizations to understand.

In a traditional organization staff are known as "resources", hence the term Human Resources for the department that deals with staff.  Within many organizations staff (aka resources) are interchangeable.  If you have an SA3 on your project and they won the lottery you get another SA3 to replace them.  Most project managers think this way as well.  In many respects human resources are thought of as interchangeable Lego pieces.  If, according to the plan, you need a 4x2 full height brick, you look for a 4x2 full height brick.  This makes a single assumption that is at the root of the problem:  people are interchangeable like Lego bricks.

People aren't interchangeable, however.  Lego bricks are, on the other hand, because the manufacturing process has extremely tight tolerances for deviations from the standard. (Up to a 0.02 millimeter variation is allowed)  People?  Well, as they say, no two people are alike.  That individualization is what makes substituting one person for another not as simple as what you might expect.

An HPT needs to fit together like Lego bricks.  If one member of the team leaves, their replacement may not fit properly.  Conversely, if you don't have an HPT and you replace someone on the team you may end up with one in the long run.  Is there a science involved in creating an HPT?  People have tried for years and have been completely unsuccessful.  What they have been successful at doing, however, is identifying when a team has become an HPT.  Once you have such a team you need to do what you can to keep that team together.  Their success as a team can have an impact on the success of the organization. 

This doesn't mean that you let them run wild.  Every team needs guidance, but instead of putting a chain around their neck and leading them where you want them to go, you point in the direction of where you want them to go and work with them so that they not only understand where you want to go and why you want to go there, but the benefits of going there.  An HPT requires more openness than other teams because that is part of why they are as effective as they are:  open and honest communication.

One of the biggest fallacies, however, is the idea that if you break up the team then each member can start their own HPT and you will have even more teams.  It doesn't work that way.  Some of the reasons for the team to be so good at what they do includes the fact that they trust each other, they respect each other and they are all aligned with regard to their work goals.  Putting five people together in a room does not make people trust each other.  It does not make people respect each other.  It does not align their work goals. 

An HPT is an organic process that cannot be predicted nor can it be forced.  It can, however, be nurtured and sustained.  If you want to be successful, just step out of the way and grab on to the coat tails of an HPT because the ride is going to be fast and frightening, but you're going to go places.

Wednesday, March 27, 2013

Fitting in

Have you ever written a complaint letter to an organization?  I have.  Yes, I know that may surprise you, but I have done so on a number of occasions.  I have complained about poor service (and I mean really poor service not just bad).  I have complained about getting a "deal" from the salesperson when that "deal" ended up costing me almost 20% more than the advertised price on the flyer right in front of his face.  I have complained about paying for something but never receiving it.

On the other side of the coin, however, have you ever sent a letter to an organization complimenting them on their service of product?  Not a lot of people do that.  It may surprise you to know that I have done that a number of times in the past as well.  I have complimented an organization on how the sales person / service desk handled a complaint.  I have complimented an organization on the excellent service I have received from their staff.  I have complimented an organization on how they went out of their way to make me feel important even though, to me at least, the problem was not even worth commenting about.

Most people in this world do not complain, nor do they compliment. Why do I?  Because I want to help make a difference.  I want the organization that I dealt with to be healthier, stronger and more in tune with the needs of customers after I have interacted with them.  For complaints I want them to improve their service so that everyone they deal with feels important.  For compliments I want them to recognize that individual and help foster that same attitude amongst all of the staff.

Too often people feel disinclined to speak up.  They feel that they can have little to no impact on how (insert organization here) does its business.  As a result they behave just like ants, following the scent trail of someone who has gone before them.  They don't deviate from the path unless something prevents them from following that path.

Most people in the world are like sheep.  They go where they are told because it is easier to do that then to carve a new path.  (You can see this in Winter when someone starts a fresh path through the snow.  No matter how crooked the path, people follow it because it is easier to follow than it is to lead.)  This doesn't mean that they can't excel, just that they aren't being asked to excel.  Sure, you can tell people that you want them to think out of the box, but if you subsequently put them in a box what message are you giving them?  As a culture we foster the individuals who "conform" and "fit in" while idolizing those that "think out of the box".

Thinking independently and critically is something that we need to develop, but it requires an organizational shift that most organizations, particularly Public Sector, are not willing to experience.  "Fitting in" is still more highly praised than "standing out" as the phrase "I might get fired" brings with it a lot of fear and makes people walk that crooked line in the snow.

Changing defaults

When you lick the terminals of a brand new 9-volt battery the shock you feel is Nature's way of saying "You really shouldn't be doing this."

When you approach a bonfire and feel the heat coming off in waves and singing your eyebrows it is Nature's way of saying "You really shouldn't be doing this."

When you are timing out when running a report in SQL Server Reporting Services it is Nature's way of saying "You really shouldn't be doing this."

We have received a troubling number of requests recently to expand the timeout of SQL Server or the maximum length of a transaction or enlarge the number of connections in the connection pool.  What people are doing is trying to put "fix" their problem by pretending the problem doesn't exist.  Let's blast through a number of items really quickly.

Increasing the connections in the connection pool.  The error message that people receive is "The timeout period elapsed prior to obtaining a connection from the pool."  This is almost always an application issue as the application has most likely forgotten to clean up SQL Connection objects.  Yes, .NET does automatic garbage collection.  No, it does not clean up everything.  Resources that are managed outside of .NET (for example SQL connections) need to be cleaned up by your code as .NET will not do it for you.  As a result, if you ever receive the error message listed above, look in your code first before looking anywhere else.  In our environment a well running application will only have 5 - 10 connections in use at any one time and, by default, the connection pool has 100 connections available to be used.  We've had applications that have had hundreds of concurrent users with no issues. (In an extreme case we had over 1800 concurrent users and we still stayed within the 100 connection limit of the connection pool.)  If you get the error message there is a problem.  FIX the problem.

Increasing the transaction limit above the default.  The default transaction limit is 10 minutes.  If you are trying to exceed that it means that you have a transaction which is trying to run for more than 10 minutes without a single commit or rollback in that time.  This is way too long.  You should not be running 10 minute transactions.  In reality, if your transaction is longer than 10 seconds you have an issue.  Yes, if you are importing a lot of data you can go for longer than 10 seconds, but the longer you run in a single transaction the slower your application will respond.  Keep the transaction short and meaningful.  If you need to raise the limit above 10 minutes, rethink your architecture as there are some fundamental questions that you have not answered correctly.

Increasing the session state timeout.  This one is alterable by the application team but, in all honesty, should never be altered.  If altered it should be moved down not up.  The Microsoft default of 20 minutes, in the words of many companies, is "too long".  If you are maintaining session state and the user is not doing anything to interact with your system for 20 minutes, then you need to re-evaluate your system.  Twenty minutes is a long time.  Light has circled the earth over 10,000 times. In 2011 an average of over 65 million searches were done on Google properties worldwide in a a 20 minute period.  If your user is doing nothing on your page for 20 minutes, consider them lost.  If, for some obscure reason your clients are on a single page for 20 minutes, you need to redevelop that page as it is not in the least bit effective.

In general, if you feel that you need to alter some default setting then you should be experiencing the same feeling as licking that 9-volt battery.  Stop it and step back.