Use Your Database

  • Database Tables

    I found this blog post by Sean McCown interesting and it's covers something I've encountered many times. How many times have you called into a company, automated system or not, and it seems that the information one person has isn't available to the next? It seems to happen all the time to me, especially when an automated system transfers me to a live person.

    To be fair, sometimes they're asking again as a security measure, though I'm not sure how secure this is. It could be to verify things and not have agents give out information unnecessarily, but for something like a account or phone number, that doesn't make much sense.

    There's something else I think is at play as well. In many retail systems they tend to "push" you towards debit usage of your card by forcing extra steps and time to select credit. Even asking the cashier to press credit is a deterrent for many people who would like to quietly complete their purchase and leave.

    I used to believe that this was designed to remove any sort of float involved with reconciling credit. However these days the money comes from the same account for most of us and it's moved daily or nearly daily in both cases. However you have less recourse and less protections with a debit choice. If there is a mistake, like a double charge (remember computers just make mistakes faster), it's harder to recover money in a debit situation. In a credit charge you can call and refute the charge and the money is withheld from the merchant.

    I think that things could be much better, and I think many companies are slowly working through issues. I know I've used my Denver blockbuster card, which I got in Highlands Ranch, in many other places in the US, including Virginia. However there are many, including doctor's offices, that haven't gotten too far in many ways. I suspect there are some legal barriers, but they could do better.

    I think a lot of the problem comes from developers and DBAs that never really build their systems with the intention of integrating them. We all get asked to build some cool, little application that "I need to make my job easier, which only I'll use." However invariably someone else starts using it and now we have some other application on which the enterprise depends. Often with code handling so much of the business rules and data.

    I don't know for sure, and I'm certainly not an expert, but I think that a lot of this could be avoided by moving to more of an SOA architecture for all applications, even the little ones and exposing the data, with business rules applied, as a service. So if the application needs to grow or be integrated elsewhere, then the service can just be moved to a new application with minimal code refactoring.

  • This is why we have begin designing things using an "SOA" approach. I think it's the natural evolution of things. People realized that code needed to be reused, so libraries were built, and then it went to thinks like RMI, CORBA, COM, Remoting, etc and now people have realized that you can really create more effective solutions be hosting business logic server side and exposing pieces of functionality via web services that can be integrated by front ends to create interesting applications. Of course, you don't have to use web services to be SOA, but in the real world most shops are are multiple platforms and we've found real efficiencies by using web services so that Java and .NET apps can call each other in a single workflow. Of course you have challenges like creating effective message contracts and transactions, but over all hosting business logic in this sort of client agnostic way has some big benefits. It requires a different set of skills and thinking than just using an IDE to expose a class as a service, but it's very helpful. To me it's like the UNIX way were you have tons of applications that do one specific thing well and then you use scripts or programs to integrate those applications to perform a process. Now we have services that host and own one piece of business logic and clients (server side or user side) can call those services to create and act on various business workflows that would have required duplicate code or language/runtime specific code libraries that had to be copied all over the place and kept in sync in previous approaches. SOA is not a cure-all and I hate buzzwords, but it has a significant place in future app design. My company has saved millions just by exposing and re-using existing COBOL programs on the mainframe to .NET and Java front ends via web services. Without that it would have been extremely expensive to re-create those COBOL programs in another language just to get the data to be available online.

  • Credit card fees are usually (always?) higher than debit cards fees.  It helps a company's bottom line to take debit transactions over credit transactions.  If you have to deal with razor thin margins, making it easier to use debit instead of credit is the way to go.

     

  • Talking about updating the database, I used to work for a big Fortunate 500 Printing company back in 2000.  I could never get hold of anyone in HR. 

    I only worked there for 8 months and when I left I took all my 401K money out.  Up until today 6 years later, they still sent me a statement of 401K every quarter and said I had money in 401K.  I think those were company match money which I could not get because I stayed at the company less than 1 year.  But in there HR database I was still their emplyee.  Talk about high tech in big company!!!!!!!

    I wonder if I take the money out, what would happen?

  • Well you should be vested by now, so might be yours

     

    I think when you call banks especially they have such an array of old and new software that can't easily talk to each other and that is why you have to repeat the information (pet peeve of mine too).  Heck even when I called IRS I had to repeat my information when I finally got to talk to a real person (although think this might be hold time was so long the computer forgot about me by that time......).

    My wife works for a major bank doing employemnt verification for house loans.  She routinely has to use 7 different systems to do her jobs, none of which talk to each other.  I had the same experience working for a different major bank at one point.

    One would think that the efficiency gains by making these systems talk, or even better eliminate some of these systems, would be well worth the time and money.  Although I secretly think that over time as banks have merged and sold, some of these systems have source code that is long lost and the IT departments are scared of messing with them!

  • How would you design a database and/or application differently to make it more SOA friendly?

  • I think the problem here is that for most large business software, it is not a free market. There is no competition and thus, no reason to make your software any better. You already have the contract, so there's no reason to go above and beyond the minimum requirements. And large software houses overcharge by millions of dollars for this kind of thing.

    I'm about to make a killing because of this. Once you can get in... well, you're in. However, I'm not going to rip people off... my software costs 100 bucks a year, and it's easily worth a lot more... and it replaces a menagerie of stuff that didn't work together and was wicked expensive for no reason at all. If one person, working in their spare time, for about a year, can come up with something that replaces about $2000 worth of stuff... then the other guy is clearly doing something wrong. They will be out of business within the year unless they have some other products... and I don't care. As far as I care, they should have done it right and priced it right in the first place, and they deserve what they get.

    My application is a client/server thing, and the data is all in SQL Server. It can also export XML. The database and the application are autonomous, but they are obviously more powerful when working together. Any other application that wants to connect to this data can do so very simply either using XML or SQL procs. Since everything is in SQL Server, it's a simple matter to integrate the data with a web site, and the stored procedures ensure that you get consistent results from your queries whether you use the application or a web site. The previous thing couldn't do this easily because it used shared Access files!

    And yeah, if enter a bunch of data into an automated system... I don't want to answer it again for a person. I usually just say "you know that already," to which they usually say "well, it's just for confirmation," and I don't have a good answer for that. Most of the time I feel as if the phone system is only in place to make my call take longer... and I use only a cell phone, so I pay by the minute... stalling your customers with bulls*** like that is bad service, plain and simple. I've worked in CS before, and I actually know that's what it is... they are giving the customer an opportunity to NOT reach a human being, and they are hoping that you will hang up before you do. There is usually a screen in the CS call center which shows you how many people are "in the phone tree" and this gives managers a few minutes to respond to high call volume before it actually hits the reps. If the phone queue empties... they send people home, because they are depending on that delay and they want to be slightly understaffed.

  • Having to 1) enter my account number using my phone keypad 2) repeat the account number to a human rep and then oftentimes 3) repeat it AGAIN to another human rep is also a pet peeve of mine.

    Having worked with computer-telephony software before, it is technically possible for them to never have to ask you to repeat your information. That is supposed to be a major selling point of having the customer enter it themselves in the first place.

    The reality is that not all systems take full advantage of this capability and not all systems talk to each other the way they should. So the 16-digit account number you painstakingly entered is not always even sent to the next system or the next person you are connected to. And as mentioned already by other posters, sometimes it is but it is still asked for again.

    I agree this is bad customer service and does not help engender warm and fuzzy feelings in me as a customer when I have to take time telling them something I already told them. If I have to repeat it two or three times I'd rather just say it rather than take the time to type it in initially.

  • I should mention I also have trouble hearing on the phone to begin with... and if it's a crappy recording or a computer-generated voice... I can't understand it. One funny thing is that whenever I call the phone company... I get a crappy connection every time. They are the phone company for god's sake!

  • In most cases, even waiting for a long time, I finally got someone answering my phone call.  I could barely understand what that person was talking (10 out of 10 times the customer services of most companies outsourced to some countries.)  That person barely understood English.

    One time I tried to cancel a reservation, it took me 2 hours talking to 4 different persons.

    Another time I had to reset my password on my bank website.  I talked to one foreign speaking operator on the phone for 90 minutes, she said it was fixed. I still could not sign on.  I called second time, got another foreign speaking operator, after half an hour, he said it was fixed.  It was not.  The third time, maybe God finally felt sorry for me, I got a English speaking operator, after 5 minutes, my password finally fixed.

    I sent a nasty email to the bank but who cares!!!!!

  • That bad service my bank would no longer have my business.  Simple as that.  Enough people cancel their account, and of course letting the bank know why, they will change it.

    Dell a while back actually pulled their Customer Service for big corporate accounts back to the US because enough companies refused to do more business with them.  Unfortunatly for you and I as individuals it would take a lot before a company cared.

    But I have a list of companies I will not do business with unless they are the only ones that can do what I need.

  • Speaking of bad customer service, Sprint recently send out letters to customers that were making "too many calls" to customer service (*2) stating that they were cancelling their accounts and gave them until the end of the month to transfer their cell number to another provider, without termination fees.

  • I've actually got a guest editorial coming on the Sprint thing. I kind of agreed with them and I understand their point. I guess I'd only complain that they need to better disclose things like this up front.

    Customer Service runs all over the board, good and bad. I've stuck with the same bank for ten years now and I've gotten great service from multiple departments and the banking, loan, and investment divisions can all see my total business and make things easy. I've also tried to stick with the same 4-5 people over the years and that's helped.

    My wife works in the IVR/Telephony areas and it's amazing how often they build something that gets distributed only to a few places instead of throughout the whole customer service change.

    I think my two biggest peeves are having to press anything for English in this country, and not being able to enter digits. I actually have had to use a couple systems that were "voice only". That's annoying.

  • I happen to have Sprint cell service, and since the merger with Nextel the performance has been awful. I wouldn't be surprised if all those support calls were regarding dropped calls and the frequent "searching for service". And I'm not out in the boonies somewhere, I'm less than a mile from the main Phoenix financial district.

    Isn't it ironic that they force you into those oppressive two-year contracts with huge early-termination fees, but THEY can drop you as a customer at their whim.

  • Not that it helps you... but I had a Nextel phone when the merger happened.  Very shortly thereafter the quality of the connection declined, and the number of dropped calls increased.  Also a lot more failed PTTs.

Viewing 15 posts - 1 through 15 (of 23 total)

You must be logged in to reply to this topic. Login to reply