Methodologist or Gunslinger
I came across an interesting posting on midrange.com a couple of months ago, and I’ve been thinking about it ever since. For those of you who don’t know, midrange.com is a website containing e-mail forums where IBM i professionals can ask and answer questions, research problems and generally share in the i community. This marvelous resource is owned and maintained by David Gibbs.
The midrange.com posting referred to a blog posting that the reader thought was important and felt others would also find interesting. So I took a break while a program was compiling and visited the recommended Joel on Software site. The entry was entitled, “The Joel Test: 12 Steps to Better Code,” written by Joel Spolsky, a software developer/blogger. Go ahead and read the article. I’ll wait.
I believe the IBM i community should read and examine this interesting and valuable article, and consider the acting vs. reacting concepts. Before I go any further, I want to recognize that many i development shops follow good standards and can identify their good habits in the Joel Test. But many other i shops are much more in a “gunslinger” role and that may be detrimental to developing high-quality code.
A Short Break in the Action
Let me share a story about an event that occurred when I was teaching an RPG and ILE class at a client site several years ago. The company is now out of business (no, it wasn’t because of my teaching), so I don’t think I’ll get in trouble sharing.
I was leading the class through an exercise when the classroom door opened and a person came in and said words to the effect of “the production line is down.” The group of programmers I was teaching immediately turned to their terminals and started to debug the problem. These things happen, and I realize that the most important thing is to keep the company going.
They started manually editing data files and changing programs on the fly. Compiles were flying. Code was being put into production left and right. I thought the emergency was certainly a change in the method they normally used to create programs. But when I asked, they told me that that’s how they always developed code. They edited source code, did minimal testing and placed programs into production.
The Joel Test Steps
Back to Joel, who shares the following steps in the article:
Do you use source control?
Can you make a build in one step?
Do you make daily builds?
Do you have a bug database?
Do you fix bugs before writing new code?
Do you have an up-to-date schedule?
Do you have a spec?
Do programmers have quiet working conditions?
Do you use the best tools money can buy?
Do you have testers?
Do new candidates write code during their interview?
Do you do hallway usability testing?