You know, if I needed a truck, I’d probably just go buy one. If I needed a truck that nobody built, I’d probably pick a manufacturer and order all the parts I needed and bolt them together. Given the multitude of trucks of various configurations built today, that is a pretty unlikely scenario, but in the software world I have seen this problem in every business I have ever been in. If you need to build a truck, you don't form a committee to pick and engine and another to pick a transmission and all the things you need. Small companies use whatever is cheapest or whatever an employee is most familiar with, and large companies use whatever they are sold on the golf course. We end up with Mom and Pop using manual processes and QuickBooks (Never, EVER use QuickBooks for anything, your data is in there for good and you can’t get it out and can’t integrate it with anything else) and the big companies use literally hundreds of small developed and computer-off-the-shelf (COTS) applications with no idea how they work and a cast of thousands to support them. Even worse, most of them are built for one user and have no security outside of "lock your machine when you leave." Further, some of the COTS applications are amazingly expensive. Moses Cone in Greensboro has spent over $130,000,000 (yes kids, $130 MILLION) to implement Epic Electronic Medical Records (Click here for details) and has little to show for it. I would let them use ours for free. Novant Medical Group is also implementing Epic and has over 600 smaller applications to maintain and secure, built in goodness-only-knows what development languages. This is an impossible task for less than an army of support and administration people. Those people are expensive. That doesn’t count the consultants that they have to hire to integrate these COTS applications and make them communicate with each other, or the productivity lost if they don't integrate and just duplicate effort everywhere. I mean how many times do you have to write your name, address and phone number when you go to the doc/hospital?
There is really only one ‘manufacturer’ of software development tools that vends a complete suite of tools that allows a programmer to build a complete application and that is Microsoft. With SQL Server and Visual Studio you can design and build applications for the web or Windows desktop without having to buy or find any other products. We are even building hybrid applications for mobile devices with minimal Android or iOS code by writing a mobile web application and showing it in a browser control on your phone. Microsoft’s products are a little more expensive, but there is a fairly decent chance that even a junior developer has a familiarity with everything needed to produce an application. If you don’t want to maintain your own servers there are any number of hosting solutions that will take care of all of the server maintenance and patching for you for a fee comparable to a Unix/Linux environment, so it isn’t that much more expensive. Arvixe charges an additional $5/month for Microsoft over LINUX.
Outside the Microsoft world there is a bewildering array of offerings. Of course there is Oracle database engine, but it is even more expensive than SQL Server, Microsoft’s database engine (and Oracle is not offered by Arvixe, consequently). Further, Oracle is difficult to set up, with text files laying all over the network and on client machines, and most Oracle developers use a third part tool called TOAD (I kid you not) to access the database visually. So developers wanting to go down this road usually pick MySQL or PostgreSQL, which are NOT free, contrary to popular belief. These are also difficult to set up and if not set up correctly suffer horrible performance issues. Outside the database issue there is a bewildering array of products to design and build the User Interface: PHP, Perl, Python, SSI, CGI, Ruby on Rails, Flash, and the list is nearly endless.
What does all this mean for someone who commissions new software or buys it off the shelf? That’s a tough question. If you learn everything you need to know to make a truly informed decision, you may as well just write the software yourself. My recommendation is to use a single technology stack probably Oracle/Java/PHP or Microsoft, and simplify the development of everything you do. You only need one knowledge base, one staff and literally one application, unless you can find the off-the-shelf application that does everything your business needs (and you can't). At Sentia we picked the Microsoft stack and designed and implemented a set of standards that allow us to secure our applications and ease development. We were literally copying and pasting old code into a new window and changing the names to produce new code. Then we came up with a way to automate the copying and pasting. Then we came up with a way to generate the database code for create, read, update, delete and search that we had been writing by hand. Then we came up with a way to look for related information in other tables, like students and classes. We can get a list of all the students in a class or all the classes a student is taking without typing any code at all in that example. Microsoft adopted an existing technology a few years ago called Model/View/Controller (MVC) that will generate web forms based on a model , that thing we were copying and pasting above . Yes, that is the Model in MVC. So from a relational database design Sentia (and Microsoft, let’s be fair) can generate about 80% of a new application. This is why we use one technology stack. This is why you should use one technology stack. This is why you should throw rocks at any other consulting firm that tells you anything that you haven’t read right here first, or who tries to sell you expensive COTS software, because after they sell you expensive COTS software they are going to sell you "integration services" which is going to be a bunch of H-1Bs sitting around copying and pasting data from one application to another for $200 per hour.
I've said for years that I could run Bank Of America (yes, I've worked for them) with about 20% of the people they use. They provide a service. The only people the truly need are leaders saying "THIS is the way we do things" and customer service people: tellers. Every other big building you see with BofA on the side of it is worthless,spending money you give them to do things that don't need to be done, unless you are in the business of having meetings, drinking coffee and eating donuts. I hear that's not very profitable. Sure, you need a data center and people to administrate the one application we would build to do what they do, and you have to have traders to make money on the back end. You CAN automate trading, you SHOULD not. Some things need a little bit of intuition that you can't teach a computer. Those people are the 20%. So what does that mean? If they did things the way we propose, they could cut their rates by 80% and make the same amount of money. Your 5% APR Mortgage could be had for 1%. Pretty soon this new way of doing things would put everyone else out of business. Winter is coming, BofA, remember that you heard it here first.
Before you start to feel badly for BofA remember that you are doing things exactly the same way they are, emailing spreadsheets and having little accounting, inventory, Customer Relationship Managers, Point-of-Sale applications et cetera and ad nauseum that don't communicate with each other and aren't secure. Ever hear of anyone ever having a data breach? This is why. Here is a visual of the biggest data breaches since 2004. All these companies are doing things the same way you and BofA are. We know a better way. Keep it simple, sweetie.
Don’t be Novant Health or Bank Of America. Lower your costs by 80% and don't appear as a bubble on someone's list of monumental screw-ups.
Call somebody who literally wrote the book on how to do this stuff.
http://sentiasystems.com
No comments:
Post a Comment