Monday, September 22, 2014

Do Something Wrong and Fix It

I am reviewing discrete math videos. Because yes I am that nerdy.

The instructor made an interesting comment at one point.

Do something wrong and then fix it. 

This got me thinking about work and life. I get frustrated at times with limited thinking. Oh we can't do this. No we can't do that. People, let's do something. Let's at least try something new and see what happens.

Making mistakes helps us learn. But only if we learn from our mistakes. By taking a chance and trying something we at least learn what doesn't work which is better than learning nothing at all. Thomas Edison didn't come up with the light bulb on his first attempt. He tried many materials to find out which ones didn't work before he found out which one did.

Studies show how mistakes help us learn:

And how correct analysis of mistakes help us learn faster:

I have learned for myself over time, that sometimes rereading the first page of a complex topic I'm not getting over and over doesn't help. It helps to go quickly through the whole book, scanning the information to get the big picture. Then I review the material again for the fine grained details. I don't get hung up on every minute piece of information along the way. I want to get to what matters. I don't sit there stuck on page one I just keep going.

This reminds me of people who stall meetings arguing about semantics and the meaning of words and trivial details. They distract from the bigger problem you are trying to solve. In fact I am surprised how many meetings I attend with general discussion topics and circular conversation that have no real purpose or agenda. A meeting should have a problem to solve, a plan to get there, and a deliverable. There is a problem which has to be clearly stated at the start of the meeting - and it has to be the right problem. Instead of talking about all the problems and being afraid of making mistakes or wasting time on distracting tangents, stay focused on the real problem. Make a plan of actions to take to solve the problem. Then do it.

If the actions turn out to be wrong, so what. Cross them off the list and consider the accomplishment as having discovered and eliminated particular actions that did not solve the problem. Think about why they did not solve the problem and then try something else.

Thinking is key to this whole process. I don't want to sound like you should just flail around doing things for the sake of doing them. But taking some action is better than nothing. While working on something and after it fails, think about why and fix it.

I remember performance testing a complex new system and when it took over a day to run, a guy on my team turned to me (somewhat triumphantly as if he wanted to prove it wouldn't work) and said "Well now we are screwed." And I said, "No, now we fix it." Turns out they were running the app and database it two different data centers. Duh. Latency going over that network caused the problem. There was nothing wrong with the application.

This next article talks about the trade off of speed and accuracy. It seems that taking our time solving problems can help us improve the accuracy of our results. However the end of the article considers the cost of not taking fast action in the case of turning off a nuclear reactor:

This brings me to my last point. You have to think about what is really going to work. This can be based on research as opposed to pulling something out of thin air with no real basis for the decision. However there is a cost associated with thinking too long. In the case of a business loss of innovation might mean loss of market share -- and creative staff that can drive game changing products to market. The cost of rushing and bypassing security might lead to a Target or Home Depot scenario. But the cost of not taking any risks may put you out of business as the competition passes you by if you are paralyzed with fear of all the potential consequences.

It's a trade off. It brings me back to discrete math and algorithms. You don't want to sit around staring at a problem, thinking, talking and doing nothing. 

Unleash the potential of people to solve problems. Let them try things. If you can think ahead about how to do things faster using a reasonable algorithm that should give you accurate results, use it. If you want things to be faster but not sure what to do, try something that poses minimal risk. It the risk of doing or not doing something puts you out of business, consider of the potential loss is worth it and slow down a bit and think it through. But don't just do nothing.

If you are blocked, stuck or not sure what to do, do something wrong that moves you towards a final solution, and then fix it.