Bake Multiplatform Development Best Practices into Your Software Entrees
Wes Simonds 120000EFD6 firstname.lastname@example.org | | Tags:  software for management ibm application capability wes z version rational system 8.5 mainframe development s. szulewski simonds enterprise richard lifecycle capabilities product-innovation developer modernization
0 Comments | 9,575 Visits
Here's a straightforward proposition: Software is more and more critical to the success of business strategies. So it's getting more and more critical to develop that software properly in the first place. Sounds simple enough, right? Just hire good engineers who don't write spaghetti code and who play well with others. Problem solved.
Well, okay, that actually works pretty well for a software startup. At a tiny, new-to-the-world organization, you've got a brand new kitchen to cook in and a very small number of cooks. Project management almost takes care of itself -- the two-topping pizzas zip out of the oven on time and under budget. They taste pretty good, too.
At the enterprise level, however, software engineering can easily go a bit wonky. Ponder if you will the following variables:
Scale these variables up far enough and you may find you've gone from a simple pizza, perfectly executed, to something else: a monstrous, 50-course, semi-French cataclysm of a meal that nobody ordered, that smells funky and that, if put in front of diners, will be hurled violently back into the kitchen and cost the restaurant its cherished good name.
Well, I can see I've worked my cooking analogy far past its reasonable life expectancy. However, having made my point, I can get to the heart of the matter, which is this:
For the largest organizations and software engineering projects, today's integrated development environments (IDE) are much more than just tools. The IDE is the individual practitioner’s working environment, which is seamlessly integrated to the team wide capabilities. IDEs are collaborative partners -- mentors, even -- that help guide development teams, projects, applications, services and codebases down the road to successful application lifecycle management and enterprise modernization.
Given a robust, thoughtfully designed IDE, the best practices almost implement themselves
What with Rational Developer for System z version 8.5 < http://www-01.ibm.com/software/rational/products/developer/systemz/ > hitting the streets this week, now seemed like a good time to discuss these and related issues with an expert.
That expert was Richard S. Szulewski, IBM Product Manager for that very offering. Szulewski put matters on an etymological footing that wouldn't have occurred to me.
‘Just look at the term IDE,’ he said. ‘IDE: Integrated (that is, you have seamless access to all the facilities you need to do your job), Development (development is far more than just changing the code), Environment (a place from which to not just do your job, but do it effectively and efficiently). That is a lot more than just a pretty editor. That is what Rational Developer for System z offers.’
And in Version 8.5, it offers a more complete and well-rounded rendition of that concept than ever before. The new solution has been designed specifically to help organizations not just get more value from the mainframe, and from their developers, but also get it at a higher level of abstraction -- from development projects themselves.
Consider, for instance, how it addresses the common concern of scalability -- not of the software being developed, but of the project of developing that software. To optimize large-scale project management, as everyone knows, best practices are required, but not everyone actually implements them. A really mature, thoughtfully developed IDE should make that implementation a lot easier.
Szulewski agrees. ‘Rational Developer for System z V8.5 includes enhancements that ease potential large-team effects as the number of people on development teams using it goes up. The idea is that any given user can access the host as if he or she were the only one using it.’
For instance, consider the way the solution now automatically keeps programmer workstations up to date. Admins can simply upload new configuration files to the System z; once a programmer logs in, if the new file is needed, it'll be downloaded immediately.
That means more cross-team consistency with less effort -- a best practice by anybody's definition. It also means each programmer can spend more time on coding challenges and less on environment maintenance, which in turn leads to more productivity.
Another example of scalability, this one addressing codebase size: programmers can now more easily search for, zero in on and open the specific code modules they want.
In much the same way a Google search provides a preview of the text at a given link, so that you can decide whether to click it, the new Rational Developer for System z generates a code preview. Just mouse over a module, and you can see the first few lines of its code -- it's as simple as that.
Write, visualize and test code quickly, easily... and in a way that isn't at all like French cuisine
Enhanced productivity, especially via editor refinements, is another major design strength of Rational Developer for System z V8.5. In the world of software development, editors are holy ground -- such deep investments, in fact, that they compare with religion and politics as reliable argument starters.
Well, the new Rational offering actually includes three different editors, for LPEX, COBOL and PL/l. And strengths that had been limited to the COBOL editor in the past have now been stirred into the LPEX and PL/l editors, bringing them up to par.
While they differ in specific features, what the new editors have in common is the strategic goal of helping developers visually and intuitively understand and navigate the flow of code much more easily. By increasing the time developers stay in editing context, instead of having to wander elsewhere to do various tasks, the new editors also increase the developer's focus on the job at hand.
And the way the three editors have been brought into rough equivalence turns out to be an instance of a larger theme in the new release. ‘Rational Developer for System z V8.5,’ said Szulewski, ‘includes a conscious effort to get to better language equity in terms of the PL/I and COBOL languages.’
New integrations are another strength. Since organizations often already have fairly well-developed, specific solutions and information repositories that address particular areas, such integration is a great way to leverage those resources more easily and fully -- eliminating the need to reinvent the wheel.
Organizations that already have Endevor, for instance -- a mainframe code management tool -- will find that the new Rational offering can directly display Endevor elements or packages in a tidy, sortable, customizable table.
Code coverage, too, has been improved, making it a much more straightforward matter to visualize how complete (or incomplete) software testing has been at any given point. Straight from the coverage report, it's now possible to launch a view of the source code to see colored annotations that reflect specific testing.
Code review rules have also gotten a tweak for the better, thanks to additional COBOL and PL/l rules and templates in Rational Developer V8.5; you can even now create custom rules using an easy, wizard-driven process. It all illustrates just how serious IBM is about helping organizations pursue best practices through the new IDE.
‘Creating an objective means for confirming best practice adherence -- that is what the new code review capability is about,’ said Szulewski. ‘We've made it easier and faster to define what the 'coding practices' you want should look like, and provided an objective way for the individual developer and whole development teams to compare their work against those practices.’
And if unit testing is your particular cup of tea, you'll probably be glad to hear that in Version 8.5, Rational Developer for System z provides an automated unit testing framework, zUnit, which is similar in nature and concept to JUnit for Java and provides similar benefits. Here, too, smart wizards are available to generate COBOL and/or PL/l test cases.
After these test cases are built and run, the execution results can easily be displayed along with traceback information needed to isolate specific issues -- ultimately, helping to bring the software that much closer to a release version that won't remind anybody of French cooking gone horrifyingly wrong.
Discover the benefits of Enterprise Modernization
See what IBM offers for Application Lifecycle Management
Get up to speed on IBM Rational Developer Version 8.5
Watch videos about the features of Rational Developer for System z
Try first-hand the new IBM Enterprise Modernization Sandbox, with no install
Get more education with IBM COBOL and Rational Developer for System z - Distance Learning
Visit the video library of IBM Enterprise Modernization Solutions for System z
About the author
Guest blogger Wes Simonds worked in IT for seven years before becoming a technology writer on topics including virtualization, cloud computing and service management. He lives in sunny Austin, Texas and believes Mexican food should always be served with queso.