Monthly Archives: December 2011

Finally, I feel vindicated, sort-of…

Have a safe and wonderful holiday season

Happy Holidays

As many of you know that have viewed and consumed my writings over the years, I have some very specific ideas about software development and delivery.  If you watched my latest blog on The Great Methodology Paradox, you know that I’m not a huge fan of the agile approach or the Lean-Agile approach as the beat-all, end-all, of project methodologies.  At the end of the day, people are what make projects succeed; the process is only an overlay, in my opinion.

However, I know all of us have talked to that one developer that states something like:

Me:  So what does the Application do?

Developer:  Well we are using the latest in database technology with a backend that is supported by Oracle using the most current release and we are fronting that database with Cassandra because we needed “big-data” and we will need well over 1,000,000 writes per-second.  Heck, we helped Apache debug the product because we needed to work.  Then we have it tied together with the latest Spring server using the latest JDK 7 and we even support the new Java project Coin because we needed the enhanced Exception handling process, and using the latest in both whitebox and blackbox testing methodologies for zero regressions.  Plus, as you can imagine we are using the latest in browser technology for the front-end, because we believe in HTML 5 and we are so cutting edge.  Of course this is using the latest Jira for issue management, and we are using the latest in UML for internal documentation and explanation to management, it is the bomb!

Me:  Again, what does the application do?

Developer:  It calculates interest on used car prices on a general loan as an estimator.

Me:  How many calculations can it do?

Developer:  Well, right now it is not working…

Me: Ohhhh!

As most of you know the only thing in my book that matters when it comes to software is that it works!  Period!  That is it, nothing else, if it doesn’t work, it is useless.

When training new developers I will ask that question; “what is the most important thing the software you are writing must do or have?”

The answers are staggering; good comments, great requirements, good architecture, clean code, object-oriented, java, Delphi, x-language(s), must have unit testing, must have audits, metrics, must be optimized, and the list goes on and on and on.

Nobody ever says:  It has to work!  Actually they usually say everything but that, so I was overjoyed today to read in my latest IEEE Software magazine (Jan/Feb 2012) issue that one of the people I have followed in my career stated the same thing.  The great article is “The Professional Architect” written by Grady Booch, where he states in context:

“This may sound like heresy, but for each of these [medical] systems, the raw, running, naked code is the most important artifact.  Everything else – models, requirements documents, test cases, you name it – is secondary or even tertiary.”

He does go on to say that those extra things help manage the project and can help the developers develop better code, but the most important thing is that the code that we produce, works.

On one hand I’m glad to have a “heavy hitter” like Grady coming to the same conclusion I came to many years back, but I’m sad at the way he had to come to realize it.  You will need to find that article and read it, but it may have taken death to stare him in the face before he realized the ultimate truth of what we do when creating software and what the ultimate need really is.

That software must work!

I’m sure we have all met this developer:

Me:  Whatcha doing?

Developer:  I hacked together this quick Apache module that calculates the interest on used car prices for a general loan estimator.

Me:  How does it work?

Developer:  It’s working.  Our site is being hit by about 10,000 hits per minute and it seems to be holding up.  Maybe in the next release we will give the option to do different types of loans, but we will see, users seem happy with it.

Me:  Cool.


More to come…


Posted by on December 22, 2011 in Opinion


What’s next?

That of course is an interesting question, especially right now.

Next up on the Blog horizon, is my History of Programming, which is a 7 part series and that is coming in the next couple of days… then the infamous 2012 Predictions.

Plus, I’m toying with the idea of the 12 Metrics of Christmas, where I breakdown 1 metric per day and try to show you how to use it.

I would love some feedback on the 12 Metrics of Christmas because I would love to know what Metrics you would like to see with regards to Programming.

We will be talking soon,


More to come…

Leave a comment

Posted by on December 8, 2011 in Opinion, Uncategorized



The Great Methodology Paradox

Hello All,

It has been a busy couple of weeks and I have not got to post things as fast as I would have liked.  This new presentation is on one of my favorite subjects… Methodologies.  More specifically… Agile.

I’m not sure how this opinion will be treated or recieved, but I’m very excited to here from all of you about my thinking on the subject.

This video is a little longer than some… around 38 minutes, so set some time aside and enjoy!  I did have to break the video up into 3 parts.

Part 1:


Part 2:


Part 3:


More to come…



Posted by on December 7, 2011 in Opinion


Tags: , , , ,