A lot of us in the software field have a 4 year degree where we focused on the “hard” facts of “hard” sciences. Personally, I have a BS in electrical engineering. I took fun classes like differential equations, fields & waves, analog filter design. My afternoons and evenings were filled with donig derivations and proofs, as well as a lot of math.
When I graduated and went to work at Caterpillar, I still focused a lot on facts. For example, “How do I encrypt this data? How do I limit this log file to 10MB?” It was easy to be that way, we were producing software to help that big, yellow equipment run.
But then something strange happend, I went to a much smaller company where I was the sole Windows developer. My task was a to rewrite an existing application. The applicaiton still had traces of engineering, as it involved physical calculations etc.
When we released the software there were some bugs. I worked through the bugs and kept focusing on getting our (internal) adoption to be higher. I met with our customers, sat with them for a few days, asked them what was keeping them from using the new system. Every once in a while they would identify some problem. For example, they might say “When I do a quote for 2 conductor 8-Bar with 300A collectors, it gives me the bill of materials for for a 3 conductor system.”
Normally I would write down the exact parameters and then spend soem time figuring out why it was broken and how to fix it. This process would repeat several times, and each time I kept thinking “NOW adoption will be higher”, but it never was.
I didn’t realize it at the time, but I was falling in to the “rational trap” of software development. What is the rational trap? Perhaps Zig Ziglar, the salesman & motivational speaker , summarizes it best when he states that “people buy on emotion, then justify it with logic.” I first heard this when I was in high school and my dad was listening to Ziglar on car drives.
Think about your phone, particularly if you have a smartphone. Is it an iPhone, Droid, Blackberry, WP8? I have a Galaxy Nexus. One reason I wanted that phone was the idea of being easily rootable was appealing to me. I don’t have a reason to root my phone other than I can. There was no logic behind that decision. Instead, it was emotional. I shold have the right to do what I want with my phone.
Software is like that as well. Particluarly my QuickQuote application I mentioned above. My users had all become proficient with the previous version. This one had a UI redesign and did some things in a different way. I’m not sure if the new way was better or worse, just different. By and large, the difference between my version and the previous version wasn’t capability or even accuracy. Instead, they wereemotionally attached to the previous version. It was a known quantity.
It’s very easy to approach the software development process and think “If I can add one more feature, then I’ll get more users.” Or “If I have a more oopen approach to data, more people will use my platform.” You might pick up some users that way, but if you could find a way to engage your users emotionally, you’ll have an even greater adoption.