Welcome to this IBM Rational podcast, enhanced. development and delivery efficiency by improving initial

Similar documents
Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist

Welcome to this IBM Rational podcast, Using the. System Architect Migration Toolkit to Migrate Your DoDAF 1.5

Welcome to this IBM Rational Podcast. I'm. Angelique Matheny. Joining me for this podcast, Delivering

Hello, and welcome to another episode of. Getting the Most Out of IBM U2. This is Kenny Brunel, and

Hello, and welcome to a searchsecurity.com. podcast: How Security is Well Suited for Agile Development.

Welcome to this IBM podcast, Object Management. Group's Telco ML, Example of a Mobile Communications API.

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the

Integrate IBM Rational Application Developer and IBM Security AppScan Source Edition

JBuilder 2007 Product Tour November 2006

Welcome to another episode of Getting the Most. Out of IBM U2. I'm Kenny Brunel, and I'm your host for

IBM Rational Application Developer for WebSphere Software, Version 7.0

IBM. Developing with IBM Rational Application Developer for WebSphere Software V6

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World

Workbench and JFace Foundations. Part One, of a two part tutorial series

Packaging for Websphere Development Studio was changed with V6R1.

Enterprise JavaBeans. Layer:01. Overview

Building a New Rational Web Site with Rational Suite

Lab 2: Adding a Rhapsody Model to RMM

EMCO Remote Installer Professional 5. Copyright EMCO. All rights reserved.

Now you can Microsoft Visual Studio 2010 with MSDN

IBM. IBM WebSphere Application Server Migration Toolkit. WebSphere Application Server. Version 9.0 Release

IBM AND THE FUTURE OF SMART IT. February 26, 2008

IBM Decision Server Insights. Installation Guide. Version 8 Release 6

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel.

Ensure Quality in Development

2008 WebSphere System z Podcasts Did you say Mainframe? TITLE: Announcing WebSphere Business Monitor for Linux on System z

Tools to Develop New Linux Applications

xiii A. Hayden Lindsey IBM Distinguished Engineer and Director, Studio Tools Foreword

Blog post on updates yesterday and today:

This slide is relevant to providing either a single three hour training session or explaining how a series of shorter sessions focused on per chapter

Promoting Component Architectures in a Dysfunctional Organization

Skill 1: Multiplying Polynomials

Oliopäivät Modelling Now and in the Future, with Acronyms or without = RSA

2008 WebSphere System z Podcasts - Did you say Mainframe?

ALM. Tutorial. Software Version: Go to HELP CENTER ONLINE

Datacenter Care HEWLETT PACKARD ENTERPRISE. Key drivers of an exceptional NPS score

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5

Leverage Rational Application Developer v8 to develop OSGi application and test with Websphere Application Server v8

Lab 1: Adding a Rhapsody Model to RMM

Rational Application Developer 7 Bootcamp

Towards a Common Java LDAP API

Introduction to IBM Rational Functional Tester 6.1 Mike Kelly

Practical Model-Driven Development with the IBM Software Development Platform

JBuilder 2008 also now has full support for Struts 1.x applications including graphical editing and Web flow development.

2008 WebSphere System z Podcasts Did you say Mainframe?

Express Yourself. What is Eclipse?

Digital Marketing Manager, Marketing Manager, Agency Owner. Bachelors in Marketing, Advertising, Communications, or equivalent experience

In this lab, you will build and execute a simple message flow. A message flow is like a program but is developed using a visual paradigm.

Struts Tools Reference Guide. Version: beta1

J2EE Application Development : Conversion and Beyond Osmond Ng

UML and the Cost of Defects

Lotus Exam IBM Websphere Portal 6.1 Application Development Version: 5.0 [ Total Questions: 150 ]

mismatch between what is maybe possible today and what is going on in many of today's IDEs.

Modular Java Applications with Spring, dm Server and OSGi

Instructor: Craig Duckett. Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables

Hi everyone. I hope everyone had a good Fourth of July. Today we're going to be covering graph search. Now, whenever we bring up graph algorithms, we

Lab 3: Editing a Rhapsody Model in RMM

Autodesk University Automotive component lightweight design by advanced material and Moldflow Insight, Helius and Abaqus Co-Simulation

Moving From Studio to Atelier. Wouter Dupré Sales Engineer

Notice on Access to Advanced Lists...2 Database Overview...2 Example: Real-life concept of a database... 2

How to Improve Your Campaign Conversion Rates

Using IBM Rational Business Developer wizards to create a Web application

Ruby on Rails Welcome. Using the exercise files

Title: Episode 11 - Walking through the Rapid Business Warehouse at TOMS Shoes (Duration: 18:10)

IBM Workplace Client Technology API Toolkit

Certkiller.P questions

HPE Security Fortify Plugins for Eclipse

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek

Enterprise Architect. User Guide Series. Portals. Author: Sparx Systems. Date: 19/03/2018. Version: 1.0 CREATED WITH

Azon Master Class. By Ryan Stevenson Guidebook #5 WordPress Usage

How Can Testing Teams Play a Key Role in DevOps Adoption?

IBM. User's Guide. IBM Explorer for z/os. Version 3 Release 0 SC

Incremental development A.Y. 2018/2019

Integrating Visual FoxPro and MailChimp

Media-Ready Network Transcript

Business Process Testing

Azon Master Class. By Ryan Stevenson Guidebook #8 Site Construction 1/3

J2EE Application Development with WebSphere Studio

MICROSOFT VISUAL STUDIO 2010 Overview

HP ALM. Software Version: Tutorial

Simplifying Migrations with the WebSphere Application Server Migration Toolkit

Top 4 considerations for choosing a converged infrastructure for private clouds

CaseComplete Roadmap

This Week on developerworks Push for ios, XQuery, Spark, CoffeeScript, top Rational content Episode date:

Windows Intune Trial Guide Getting the most from your Windows Intune trial. Simplify PC management. Amplify productivity.

What's Currently Happening with Continuous Delivery on the z/os stack?

A System z Developer's Journey Through the Application Lifecycle

A review of AIX Container Technology: with perspectives on. Docker Management Operations. Zeyuan Zhu. AIX Development Engineer

JBoss IDE Quick Start Guide

HP ALM. Software Version: Tutorial

In today s video I'm going show you how you can set up your own online business using marketing and affiliate marketing.

Customized Enterprise Installation of IBM Rational ClearCase Using the IBM Rational ClearCase Remote Client plug-in and the Eclipse SDK

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships

Meet our Example Buyer Persona Adele Revella, CEO

So on the survey, someone mentioned they wanted to work on heaps, and someone else mentioned they wanted to work on balanced binary search trees.

BBC Learning English 6 Minute English Work s

Accelerate Your Enterprise Private Cloud Initiative

Actual Agility with SDN: Weaving SDN into Data Center Automation May 6, John Burke Principal Research Analyst & CIO

Magento Enterprise Edition Customer Support Guide

Low fidelity: omits details High fidelity: more like finished product. Breadth: % of features covered. Depth: degree of functionality

Transcription:

IBM Podcast [ MUSIC ] GIST: Welcome to this IBM Rational podcast, enhanced development and delivery efficiency by improving initial core quality. I'm Kimberly Gist with IBM. Catching defects earlier in the development cycle increases efficiency and contributes to lowering the overall project development cost. Well, today Kathy Chan, Rational Application Developer Release Architect, and Bill Smith, Product Manager for Rational Integrated Development Environments both join us to discuss an integrated development environment that provides automated tools which can quickly create high quality code during software implementation. Kathy and Bill, welcome to the Rational Talks to You podcast series. Looking forward to our discussion today. SMITH: CHAN: Thanks, Kim. Pleasure to be here. Thanks, Kimberly. GIST: Absolutely. Why don't we get start and Bill the first question is for you. Bill, why is improving initial code quality such a necessity? -1-

SMITH: Well, Kim, I'd like to answer that from a DevOps perspective. IBM takes a very holistic view of DevOps and its challenges, looking at the lifecycle starting with first business level and then application level planning, then collaborative development and continuous testing, all tightly coordinated with continuous release and deployment. And then, continuous monitoring and optimization; and to close the loop, collection of customer feedback is inputs to the next iteration of planning. Now, we have solutions with help with each of those aspects, but that's a huge animal, isn't it? You're not going to swallow that whole thing at once. So, we articulated DevOps capability maturity model and we provide self-assessment aids to help customers understand at which of those phases their most acute pains or shortcomings manifest. And we map those to various entry points to DevOps improvement. And that points of our end to end solution to help in that phase. And the reason I mention all of that and the point I want to make is that as you assess where you need to focus, you need to be sure that you correctly understand the root cause of any pain or shortcoming that you identify. For example, perhaps you conclude that your biggest bottleneck is in the continuous testing part of the -2-

lifecycle or maybe you conclude it's in the continuous release and deployment phase. But if you think of testing, at least part of the root cause might be that your test resources are experiencing way too much churn and repetition of effort due to low initial quality of the code they're given to test. Or similarly, if you think the problem is with release and deployment, maybe your operations resources are experiencing way too much rework and repetition of effort. Again, due to low quality of what they receive on the first one or two or maybe even first 10 attempts to deliver a new application or version thereof. All of which is waste, which is the antithesis of being lean. And really, whether you view things through a lean IT lens or a DevOps lens, the things you're really striving for are the same: speed, business agility and reduction of waste -- or, in other words, leanness. And we also know this, based on many studies and real world outcomes starting at least 15 years ago or more. For example, the work of Barry Boehm and Victor Basili and their software defect reduction Top 10 list that it costs 100 times more to address a defect in production than it does to find and fix it during requirements. And it still costs at least 10 times more once a bug is in production -3-

than if you caught it during implementation. And every defect is pure waste to start with, so what you really want to do is prevent. Any time that you're wasting is time that you're not investing in innovating, in besting your competition and in better serving your customers. So, let me just state all of that much more simply: money is the reason that improving initial code quality is such a necessity. GIST: Well, great points, Bill, and it just really highlights the fact that this conversation really takes into account how to achieve speed, business agility and to eliminate that waste. So, Kathy, what would you say are the tools included with Rational Application Developer that help with improving initial code quality, then? CHAN: Well, there are a large number of well integrated tools that are included with Rational Application Developer that help with improving initial code quality. Let's look at the development cycle from the beginning. When developers first develop their application using RAD, the fact that RAD support a wide variety of wizards for different programming models, such as OSGI, web services and SCA, means that the tools will automatically generate the needed code for you, according to the programming model. -4-

This is much less error prone than writing your own code. These tools also provide content assist editor and quick fixes which automatically suggests ways to fix up problems and guide users in writing code that meets the requirement. The smart editor of various artifacts, such as the deployment description editor, the web services editor, make it even easier to generate code correctly initially rather than having to manually create or edit the resulting descriptors. So, once the initial code is written and before the code is checked in, developers can then take advantage of the software analyzer function to run static analysis on the code. User can hand select a set of predefined rules such as certain defined patterns, security, J2EE or J2SE best practices, or even write their own custom rules according to corporate guidelines. This result of the static analysis can be easily navigated. Double clicking on the specific entry will bring up the editor for the effected file and quick fixes will guide the user on how to fix up the code. After that, different report can also be generated from the analysis result. Once the user is done with statically analyzing the code, they can then automatically generate unit tests to test the -5-

application using the J unit framework. For code testing, one thing often being asked is whether the test coverage is adequate enough or not. The Java code coverage tools in red enable users to collect code coverage information while running a Java application or a J unit test case. Code coverage results are shown in the enterprise explorer view and can be shown in a report which gives aggregated result in package, file or method level. The code coverage results are also fully integrated in the Java editor. Color bars within the editor is used to clearly show where a particular line is covered by the test or not. In addition of being used as a standalone development tool, Rational Application Developer can also be installed in the same program group as Rational Team Concert. With this set up, RTC project administrators can set different delivery criteria before code being developed using RAD can be checked in. This is set criteria such as requiring code review or requiring adequate code coverage. Once these criteria are set, code that does not meet these criteria would not be allowed to be checked into RTC. This ensures that initial code quality is met even before checked -6-

in. RAD also has a code coverage extension to the RTC build system tool kit that enables user to collect code coverage statistics while running build verification test. Code coverage results from the build can then be easily downloaded to the workspace and be viewed in the source editor. As many of you know, having defects in the code is often unavoidable. If you can't always avoid them, then find and fix them as quickly as possible and sometimes that requires collaboration. When doing debugging, it's often helpful to share debugging info with another developer who is more familiar with a certain area of code. By using the team debug feature, the first developer can park a debugging session on an RTC server, right in the middle of debugging. Then another developer who have access to the RTC server, can download that debugging session and continue with debugging with full access to the breakpoints and variables the first developer had set. This team debugging feature enables developers with different expertise and different area of code to collaborate on problem determination seamlessly. Also, when running an application, users may run into a performance problem. They can then use the Java profiling tools to profile the application, to collect information such as -7-

execution analysis, memory analysis or threat analysis data in order to find and fix these performance problems. In addition to collecting profiling information on a standalone Java or Eclipse application, users can also collect profiling information or code coverage statistics on a web application running on different versions of WebSphere application servers, including the liberty profile. As you can see, all these tools in the Rational Application Developer work together to help improve the quality of the code throughout the development, testing and debugging phase of a development project. GIST: Thank you, great summary and illustration, Kathy. So Bill, my last question is for you, then. How would you say these tools and solutions are different from other tools available now in the marketplace? SMITH: Well, you know, in all honesty, each of those tools that Kathy mentioned on its own might not be all that different from other things that are available in the marketplace, although when you get down into the low level details, I'm confident that we do have a number of capabilities that are unique, but those aren't really things that we should try to get into in a 15-minute or less podcast. -8-

So, at a higher level, what really is different, I think, is the way that we've integrated all of them. For example, the way that you see code coverage information or performance hotspot information as decorations on your programming editor or your outline view or other views in the IDE and the way that we've integrated with Rational Team Concert, as Kathy described. Then, also the way that we package them. You buy one tool and you get everything you need. One thing to install and configure as opposed to, for instance, caching together your own tool stack using Eclipse and variety of third party plug ins that you integrate yourself or maybe using a commercial IDE together with separate coverage or profiling tools that maybe aren't integrated into the IDE experience at all. And you're tabbing all day long. And then on a related note, that also, that packaging, the way we do this gives you a single source of vendor support. In fact, that really is a general value proposition of Rational Application Developer that tends to be a little bit overlooked. Even from IBM, there are development tools approaches that you could take that wouldn't have that benefit. For example, for a couple of years now we've had this -9-

offering called WebSphere Development Tools for Eclipse, or WDT. It's free and its IBM supported, sort of, and I'll come back to that in a second. But what does it consist of? First of all, it doesn't contain any of the static analysis or the code coverage or profiling or team concert integration capabilities that you get with RAD that we just heard about from Kathy. Nor does it have all the same wizardry and so on that RAD provides. But moreover -- coming back to what I alluded to a second ago -- DWT is delivered as a set of plug ins in the form of a P2 update site that you apply to your own separately provisioned Eclipse. So, none of that underlying Eclipse foundation including the very crucial web tools platform is IBM supported in that configuration. Only the bits that come in the WDT update site itself are IBM supported. With RAD on the other hand, we include the complete IBM Eclipse SDK or what we call IES which is an Eclipse configuration that IBM tests, performs legal scans on and validation, we do security scans on it, we bring it up to various of our own corporate accessibility standards, our globalization standards and so on. And when the value add bits of RAD sit on top of IES, as opposed to, you know, an independently provisioned Eclipse instance, then that entire tool stack is IBM supported. -10-

Likewise, the WAS test environments that we include with RAD, those are supported under the RAD umbrella whereas if you get them separate in the form of WAS developer edition, they're unsupported unless you buy a separate support subscription for them. So, to recap and conclude, our solution with RAD is different from others based on a combination of some unique capabilities, a unique level of tools integration, a unique level of convenience and the value of single vendor support for the entire stack. GIST: Well, thank you, Kathy and Bill. A great review of our RAD solution and how IBM is making some key advances in the integrated development environment or IDE space. We sincerely appreciate you taking the time to join us and share expertise today. SMITH: CHAN: Well, Kim, thank you, it's been our pleasure. Thanks, Kim. GIST: That was Kathy Chan, Rational Application Developer Release Architect, and Bill Smith, product manager for Rational Integrated Development Environment with some key points and great summaries for today's podcast topic, enhanced development and delivery efficiency by improving initial code quality. -11-

To hear this specific podcast or to browse additional topics, check out our Rational Talks to You podcast page at www.ibm.com/rational/podcast. This has been an IBM podcast. I'm your moderator Kimberly Gist. Thank you for listening and we hope that you will choose to keep tuning in as Rational Talks to You. IBM Podcast [ MUSIC ] [END OF SEGMENT] -12-