Friday, September 25, 2015

Know What Ya Got

There are two extremely bad decisions commonly made with enterprise software, and I see both take place every day.

This doesn't work the way we expect.  File a bug.


Over the years, my own experience tells me that two-thirds of bugs filed aren't really bugs.  What we really have is a user who fails to understand how the software works.  And, yes, we can always respond with RTM (or worse), but the stream of bugs that aren't bugs continues to be filed.  Stop for a second and imagine all the software development productivity lost in addressing bugs that aren't bugs.  And we wonder why it takes so long to introduce new releases and features?


This doesn't work the way we expect.  We'll have to customize the software.


We're not talking about extensions or bolt-ons.  We're talking about changing the code delivered out of the box.  Seems like around 75 percent of Oracle enterprise applications customers customize delivered code in one way or another.  SaaS will cut this number way down, but it's still widely prevalent throughout the installed customer base of Oracle enterprise applications.

Why is customization bad?  First, it means a customer must have a team of developers to build and maintain the customization through it's lifecycle.  It's that maintenance part that gets really costly...each new update, each new release, each new expansion require testing and likely some change to the customized code.  And here comes the incredibly crazy part of customization:  I would confidently bet my lungs against yours that over two-thirds of those customizations are unnecessary to accomplish the purposes of the customer.  Because the software out of the box already has the functionality to achieve business goal in mind...but it's likely a new way of doing things, and many folks don't want to change.  Even when the change might be better.  So we customize the code.


What to do?


As a very young man, I spent some time as a Boy Scout.   I was a really lousy Boy Scout.  Nothing that I liked about the entire thing.  Later on, after I grew up, I developed a great appreciation for Scouting as a Scout Master.  Nevertheless, I was a lousy Scout and resented my folks for putting me through it.

My Scout Master was retired military.  Lots of gruffness at a time when I just wasn't ready for that. Only one thing he ever taught us stuck with me:  "when you realize you're lost, take a breath, know what ya got, and figure out how to use what you've got to get yourself unlost."

Years later, I got lost in the woods.  The advice from that Scout Master saved my life.  And it's been a great principle for me ever since, in many situations:  "know what ya got."

Most enterprise customers today don't know what they've got.  That knowledge gap leads to filing bugs that aren't really bugs and building customizations when existing functionality gets the job done.  And telling customers to RTM adds almost now value (heck, even most of the people building the software dread reading those things).  If those of us in the industry want our customers to succeed with our products, we have to help by showing and telling.  Which also means we have to earn the trust of our customers, because showing and telling achieves nothing if the audience fails to engage.

So you want to reduce the bogus bug filings?  Cut back on customizations that slow everyone down? Work with your customers.  Customer success starts there.

1 comment:

Faun deHenry said...

Great post, Floyd! I would add that once you understand what you have, your next step is to understand how your enterprise software integrates with your business processes.