Click here to Skip to main content
13,895,994 members
Click here to Skip to main content
Add your own
alternative version

Tagged as



Posted 31 Oct 2013
Licenced CPOL

Searching For Nails: A Hammer's Story

, 31 Oct 2013
Rate this:
Please Sign up or sign in to vote.
When a project starts to feel heavy, don't be afraid to stop and ask the question, "Am I seeing too many nails?"

In the software development industry, solving customer needs can be the most challenging yet rewarding part of a programmer's job. Once a problem has been identified, most programmers jump in like eager warriors ready to attack. They propose a solution and make the necessary programming changes to see the problem to resolution. At a quick glance, this process sounds like a recipe for success. It helps mitigate scope creep, lets developers flex their intellectual muscles, and solves customer problems. Although these are true, is there a greater cost to this approach? If not, why isn't the Internet overflowing with gushing success stories of software development projects? The truth is, the number of struggling projects far outweigh their successful counterparts. Why is this? Because sometimes developers are too smart for their own good.

In problem solving knowledge is power, but it must be harnessed properly. In most circumstances a seasoned developer will provide a more complete solution than a newbie simply on his/her breadth of knowledge. Although the proposed solution may meet the need, it's important to recognize how Pavlovian Conditioning plays a role in decision making. Pavlovian Conditioning is "a process of behavior modification by which a subject comes to respond in a desired manner to a previously neutral stimulus that has been repeatedly presented along with an unconditioned stimulus that elicits the desired response." Simply stated, developers have a predisposition to solving problems through the use of existing paradigms such as making recommendations that use existing software, tools, or programming languages. As Abraham Maslow stated, "If all you have is a hammer, everything looks like a nail."

Unfortunately, this problem solving blindness goes relatively unnoticed in the software industry. In fact, it is quite the opposite. Programmers are commonly encouraged to find technical solutions to problems. Although this can prove to be beneficial it also furthers a programmer's conditioning. The best way to attack Pavlovian Conditioning is not to fight it, but use it to one's advantage. Work to recondition the brain by asking the following questions:

How would this be solved if ...

  • the problem had to be fixed immediately?
  • the necessary time was given to provide a solution?
  • unlimited budget and time were provided?
  • it was too costly to make a programming change?
  • the software wasn't programmed in ...?
  • the solution had to be seamless?

These questions are meant to drive out multiple solutions to a problem. Some of these are intentionally non-technical in nature. Having these in hand, options can be weighed based on their importance, time, and need. Asking these and similar questions will make a positive impact on the decision making process. It can help projects avoid falling behind schedule by seeking easier and/or non-technical solutions to problems. When a project starts to feel heavy, don't be afraid to stop and ask the question, "Am I seeing too many nails?"


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

You may also be interested in...

Comments and Discussions

-- There are no messages in this forum --
Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web06 | 2.8.190306.1 | Last Updated 31 Oct 2013
Article Copyright 2013 by Zac Gery
Everything else Copyright © CodeProject, 1999-2019
Layout: fixed | fluid