CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jeffrey Palermo [MVP]

Software management consultant and CTO, Headspring Systems

My approach to consulting. . .

. . . 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



Comments

Steve Clements said:

Amen!

# November 3, 2007 12:38 PM

DaRage said:

Ditto. Jeffrey can you explore more on your last paragraph. what exactly are those OO and SOA fundamentels? can you provide a couple of book titles as examples? Thanks

# November 3, 2007 1:06 PM

Sheraz said:

@DaRage

I think he already did

"Separation of concerns, partitioning, testing, "Don't repeat yourself", cohesion, loose coupling, readability".

These might sound like just a few principles but if you use them the right way, they do simplify the solutions and keep maintainability very low.

# November 3, 2007 6:49 PM

Kalpesh said:

Jeffrey,

You are right.

The sad reality of software dev. is tool makers like MS release things so fast, most people can't keep pace with it. The job market runs on buzzwords. One should know all the latest stuff (yet in beta), to get a chance to work on it & one doesn't get a chance, until they have worked on it (catch 22).

It seems everybody is in a race to be upbeat about new release that came out of ms factory.

The idea of sticking to fundamentals is correct.

I would love to see smart people in s/w development to do mentoring for people, helping them scale up & pass their skills on to other people.

I am no anti-MS or pro-MS. However, it makes me think, whether people are sure of what they are making?

I would love to see some of this technology 15 years from now.

I would love to hear what you have to advice me on this.

# November 3, 2007 6:53 PM

Evan said:

I agree and disagree.  The fundamentals will last forever (or at least years and years and years), but I think your company motto is a bit dangerous.

Lowest cost usually has a time factor involved.  Building the lowest cost v1 can many times mean cutting out stuff that will be necessary for v2.  For v1 apps, procedural code is usually the cheapest way to go, but we know where that leaves v2.  It's the example of taking on technical debt knowing that the loan will never get called in.  Driving things on cost can come back and bite you (although it does sound really good in presentations).  The v1, v2 thing was just an silly example.  There are others.

# November 3, 2007 7:15 PM

VB Fan said:

Amen

Thanks for saying it aloud.

# November 4, 2007 7:00 AM

In software consulting, low cost consulting can be real. . . - Jeffrey Palermo [MVP] said:

Pingback from  In software consulting, low cost consulting can be real. . . - Jeffrey Palermo [MVP]

# November 4, 2007 4:19 PM

About Jeffrey Palermo

Jeffrey Palermo is a software management consultant and the CTO of Headspring Systems in Austin, TX. Jeffrey specializes in Agile coaching and helps companies double the productivity of software teams. Jeffrey is an MCSD.Net , Microsoft MVP, Certified Scrummaster, Austin .Net User Group leader, AgileAustin board member, INETA speaker, INETA Membership Mentor, Christian, husband, father, motorcyclist, Eagle Scout, U.S. Army Veteran, and Texas A&M University graduate. Check out Devlicio.us!

This Blog

Syndication