Edmund Reinhardt Discusses the RFE Process

RFE Process

Paul Tuohy: Hi everybody and welcome to another iTalk with Tuohy. So my guest today―actually Edmund, I don't know why it's taken me so long to get around to doing an iTalk with you. I was just thinking this is something we probably should have done about five years ago. But anyway, my guest today Edmund Reinhardt is the chief architect for the development of RDi. Hello, Edmund.

Edmund: Hello, Paul. It's great to finally meet you in person.

Paul: Indeed. So Edmund, when it comes to RDi, I was just saying to you before we decided to start recording that there's too much to talk about. There really, really is. So I'm going to cherry pick, but maybe let's talk about the latest and greatest in RDi. You want to tell us all about refactoring, please.

Edmund: Sure. So yeah, this is a new feature that we delivered in December in our V9.5.1.1 release. Refactoring is actually a powerful tool. There are people whose companies have died because their code kind of just gets old, and crusty, and no longer―it drifts from its original intent, and it's hard to maintain. Then when you need to put in a feature and your business depends on it, you know you aren't able to do that. We've certainly seen that in the i space where we have long-lived applications. If we don't stay on top of it―you know we can talk about migrating to ILE, migrating to free form―but one thing just even keeping the names up to date. I mean some people still have the good old 6-character names from RPG2 heritage, right? And it's really hard to change those names because, you know, search and replace doesn't always do an accurate job, because―there are times where they can in other contexts there's―RPG has some weirdness where, you know, in this key word it is actually literal but in this key word it's a name, in this case it is actually overlapping with a file definition and you've got to be careful. So what we've given is―the first refactor we're allowing is the renaming of variables. We've got a few RFEs―we'll probably talk about those later―where you can―we like to expand to, say, extract procedure or you know, extract a constant―and other things that will help you make your code clearly communicate its intent and stay in touch with the current intent and be structured in a way that is easy to understand, maintain, and really enables your business. And this is critical for business sense. I know people think "oh, you know I don't have time for that," but there are companies―the example of Sword where the company basically lost their market dominance because they weren't able to move to C++ from C because their code was just, you know, had been rushed and never cleaned up.

Paul: Yeah. So would you say refactoring is probably one of the biggest things that you've done in RDi in the last few releases?

Edmund: It is―in recent releases, yes. I mean we've done this massive thing where we put in a live model behind the RPG. That has enabled us to do lots of things so that you know as you type, we maintain not only the outline view but you can hypertext, hover―and there's lots of goodness that we put in there. It's enabling to do other things like formatting and I don't think that's a done deal. We now have indentation, but I can envision richer. Also, this refactoring depends on the same model that kind of understands the entire structure of the program and now allows us to kind of tweak it and change it. Refactoring means, I change it so that it's still doing the same thing; it is just clearer. And now that we have this whole model in our mind, we have the ability to do that. That's one of the powerful things that we've done.

Paul: Yeah. Well I mean to me, one of the most important things of that thing that refactoring brings in, especially is when you now have young people coming in on the platform―that refactoring gives you a means of getting everything into a format that's easier for them. Yeah.

Edmund: You know how cryptic those old you know 6-, or even 8-, or even 10-character names can be, right? You know you try to cram all this meaning―there's no excuse for that anymore. It used to be a typing thing. Well now it's just click, rename, and with confidence, you can make it something meaningful, right? That's how proper coding is done in other platforms and languages.

Paul: Yeah, indeed. So since you had touched on it there, Edmund, the RFE: These are the requests for enhancements. So I should explain, by the way: I'm a member of the COMMON European Advisory Council, and of course one of our jobs is to bring things to the attention of IBM. So I can't tell you how much typing all of these RFEs have saved me over the years, the fact that people can now go and do it directly. So Edmund, I mean do RFEs―are they really a big thing for you guys when you are looking at what's going into a new release and you're saying, "you know what are we going to put in?" I mean, is sort of this RFE side, is the first place you go?

Edmund: It is funny you ask that, Paul, because we're at that point of the cycle, the product cycle right now and we're looking at the RFEs. We spent the last weeks kind of scrubbing and prioritizing. And I had to open a RFE on the RFE process because when they show the top-voted things, they don't―they still show the ones I've delivered. The problem is I've delivered 21 out of the 25 top ones, so it's hard for me to find the top voted things. So we absolutely take this seriously. If we didn't have those votes―there's some things, you know, that are big and scary. Like I said, this model was a huge deal when, you know, Jon Paris was pushing and it was voted but because the customers spoke, we spent a couple of releases to move to this and I'm so glad we did. So we absolutely do this, and there's stuff we would never had done if customers hadn't shown that it was that important to them.

Edmund: I've made a―

Paul: Sorry, Edmund.

Edmund: Sorry. I just want to say I made a snipped URL to make it really short: So you know, within ten characters there, you can start telling me―running my life. So go for it.

Paul: [Laughs] Excellent. So something else that you touched on there as well with some of these enhancements as well so again if people aren't aware of this over I think it was―was it early last year or even just maybe the year before―where there was suddenly one of these great power changes within IBM. So originally, where you and your team would have reported in to the Rational group, suddenly you were now reporting back to the good old software development on IBM i group with that. Has that―I mean, this is something that from the outside would appear to have made a big difference to us. So for example since you mentioned Jon Paris, it clicked in my mind there. I would have been a champion of this as well―and by the way, I want to thank you, Edmund, for the Mac version of RDi. I cannot tell you how much and how big a difference that has made to me in just my day-to-day work. So―but was that a big change for you guys or was it kind of "oh well, like work is the same but we're just reporting like up a different chain now?” Edmund: Well you know, IBM to some people that's an acronym that stands for I've Been Moved [laughs] but―so we've had a few reorgs over the years. In the previous Rational organization, the advantage was that we were aligned with other develop―like say debuggers that worked across platforms and other IDs and we could share code. The nice thing is we still have those relationships and we're still taking advantage of our relations with debugger to deliver, say, code coverage, which is another cool thing we are doing―but the problem was that, you know, the elephant in the room would be say, the z folks that, you know, have a much bigger market and so i's priorities were not―we weren't seen as important. It was getting to a point of concern, and so I mentioned it to our friends in Rochester that you know perhaps it would be something they needed to look at. They absolutely wanted―they believe in RDi, it's kind of the modern foot in the door for developing new products, and so they made the effort to say "no, we treasure RDI. We want to invest in it. Application development tools are important to us." And so they pushed to bring RDi underneath Rochester. It's really nice that now we have upper management that cares about our product―

Paul: Yeah.

Edmund: They care about it and passionate about it. Things are aligned and I would say it's a good thing.

Paul: Well it definitely appears that way from over here, well from this side of the fence anyway, Edmund. It has all been goodness.

Edmund: Yes. Well for example―

Paul: So go on. Share what your son said to you―because you had been there before.

Edmund: That's right. I was there about 2001, about 15 years earlier, and so my son told me that he thought I was crazy for not going back and meeting these amazing warm loving people and wasting all that time. He thought he was going to be back in six months and he thought his dad was a fool. I mean most 18-year-olds do, but that his one concrete example.
Paul: Isn't great for all that we achieve in our lives, Edmund, that when we turn onto our family our kids always look at us and in some way will think we're fools?

Edmund: Well they tell me it's temporary. They tell me that later on in life he will look around and think, "well my dad actually was wise after all." I'm thinking and hoping, and praying that day will come, but right now we're in that low point. [Laughs]

Paul: Well they may think it but I don't think they'll ever admit it to us, Edmund.  So I think that's a good note to leave it on, Edmund. Thank you so much for taking the time to talk to me and Edmund, I'm going to make sure that it won't be this long again before we talk because you and your team with RDi, it's one of the products that changes most and I think you're going to have lots to be telling me about in the future as well. So thank you, Edmund.
Edmund: Right. Looking forward to it Paul. Have a great day.

Paul: Okay everybody, that's it for this iTalk. Tune in again in a couple of weeks for the next one. Bye for now.

Paul Tuohy has specialized in application development and training on IBM midrange systems for more than 20 years.

Like what you just read? To receive technical tips and articles directly in your inbox twice per month, sign up for the EXTRA e-newsletter here.



2017 Solutions Edition

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


Paul Tuohy on IBM i Highlights of 2016


Aaron Bartell on RubyOnRails, Node.js and Litmis

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