. . . is to focus on solving the business problem at the lowest cost. In other words, drive the highest return for any investment. This is manifested by my whole company.
Yesterday, I had lunch with a client, and I related that some of the best solutions don’t use the “latest and greatest” technology. Take web services, for instance. When SOAP came out, it was all the rage. Xml messages over the wire for system integration. SOA theory was built on message passing. Then cam WSE1, 2, 3, WS Security, WS this and that. Now, REST is becoming all the rage. What is REST? In my opinion, along with being plain Xml over the wire, it’s a partial reaction to the WS* standards that seemed to bloat message passing. REST keeps with the basics.
That’s just one example of the overall theme that good solutions stick with the basics. With all the new technologies, there isn’t much that is changing with software engineering at this point. Language syntax changes, but for some reason, we’re all sticking with object-oriented languages for enterprise applications. I have yet to see folks abandoning OO for these. Not yet. Regardless of language, platform, class libraries, good practices are portable.
Separation of concerns, partitioning, testing, “Don’t repeat yourself”, cohesion, loose coupling, readability. All these apply regardless of the new technologies.
By applying time-tested principles to the current technology, programs don’t look that much different. And when they don’t look that much different, the hype seems to fall off the edges.
Dear reader, I implore you to focus on fundamentals and solid OO and SOA principles when building enterprise applications. Technologies come, and technologies go, but fundamental skills will last forever.
I expand on low-cost consulting here.