You are currently on IBM Systems Media’s archival website. Click here to view our new website.

IBM i > DEVELOPER > GENERAL

Methodologist or Gunslinger

Methodologist or Gunslinger—The Joel Test

Step 7: Do you have a spec?

Do you have a project specification? Is it a written document that’s actually used? Has it been developed based on input from the user community? Is it agreed upon by the users, developers and any other interested parties? Silly questions? I think not. Many projects, even large projects with many people and a lot of money, are developed without good written specifications that are really used. This is just an invitation for project creep, misstated expectations and deliverables, and over-budget and over-run projects. Do you use written specifications? What process or steps do you use to create the specification?

Step 8: Do programmers have quiet working conditions?

This is my biggest pet peeve. I find that noise distracts me when I’m concentrating on a problem. It’s not the casual conversation noise; it’s the loud, piercing noises. This can be people noise, such as conversations with users about the latest issue. It can be phones or paging systems. I think developers need to focus. It seems that the noise can hit its peak when I’m about five layers deep in a problem and almost to the answer. I then have to stop, refocus and get back in the mindset I was in before the distraction. I’m sure I’m as much as an offender as anyone else—doesn’t it seem that other people talking about last night’s game is more intrusive than when you’re talking about the game? What’s the working environment for your developers? Office or cube? Noisy or quiet?

Step 9: Do you use the best tools money can buy?

What tools do you use for development? Tools can be critical for a developer’s productivity. An interesting concept to me is that many developers in the i community don’t know what’s available for development, and that makes it difficult for them to identify where the tools they use could be lacking. Do you use a line-oriented editor such as Source Entry Utility (SEU)? Do you use IBM’s Rational tools, such as WebSphere Development Studio Client (WDSc) or Rational Application Designer (RAD)? And let me take this moment to ask a couple of questions. Do you know the differences and versions of these tools? Do you understand the cost structure? This seems to me to be a problem in the i community—the tools can be difficult to acquire and cost justify. What tools do you use for development? How did you justify the costs to management?

Step 10: Do you have testers?

Testing is an absolutely critical consideration. Programmers tend to test for the things they expect to encounter—exceptions such as end of file or errors such as entering bad data. Programmers tend not to test for things for which they haven’t written a solution. That’s why we need testers—they exercise (or attack) the system with no regard to what “should” happen; they’re looking for “what” happens. The test results should be made available to the development team to identify bugs or problems, and these bugs or problems should be addressed immediately—and tested again. Do you have testers, whether they’re in the IT group or not, who tests the systems as they’re being developed? Do you use test scripts, especially for regression testing?

Step 11: Do new candidates write code during their interview?

Of course, this makes the assumption that companies are hiring new developers. But if that is the case (and hopefully it is), having a potential employee write some code during their interview could be very helpful in determining if he or she is a good fit for the position. However, in many cases we engage in flattery by copying old code for a new problem. In fact, I’ve heard that a developer only writes one program in their career—the first one. Every program after that is just a copy. Do you have potential candidates write a code sample during an interview?

Step 12: Do you do hallway usability testing?

Great concept here: Grab someone in the hallway (nicely of course) and force them to use the software you’ve developed. Learn from their frustrations and feedback, and develop better software. I like the idea; I’m not sure how well it would work in most development environments. What are your thoughts on hallway usability testing?

Michael Ryan is a technical editor with IBM Systems Magazine. Michael can be reached at michael@ryantechnology.com.



Advertisement

Advertisement

2019 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

Are You Multilingual?

Rational enables development in multiplatform environments

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
IBMi News Sign Up Today! Past News Letters