In a previous blog post for Rational Application Developer v9.5 Beta (Feb), we covered how to use Software Analyzer Team Advisor to improve code quality by allowing RTC administrators to set code delivery preconditions, forcing developers to adhere to certain static code analysis rules when they deliver their code. In RAD 95 Beta (June), we are adding a new feature so that Software Analyzer can be run as part of Rational Team Concert builds and the results of running both Java Code Review rules and Java Software Metrics can be viewed as part of the general build results.
Software Analyzer Build Integration requires a new offering called Rational Code Quality Extension for Continuous Integration to be installed into IBM Rational Team Concert Build System Toolkit 4.x, 5.x or 6.0 on the build machine. The Software Analyzer package under Code quality tools for Rational Team Concert Build System Toolkit must be selected during install. IBM Rational Team Concert client 4.x, 5.x or 6.0 must be installed on the RAD client workbench. Use the -clean option when starting the build engine.
On your client workbench IDE, create a build definition using the provided wizard. Select the Software Analyzer - Jazz Build Engine - Ant template on the General Information page, and make sure Software Analyzer is selected on the Post-build page. The build definition editor will open up automatically after completing the wizard.
Fill out the appropriate fields relating to Supporting Build Engines, Jazz Source Control and Ant. Select the new Software Analyzer tab and fill in the Software Analyzer TargetResource directory field. This is the main folder where the Eclipse projects for analysis reside and will be the same load destination directory that is specified in the Jazz Source Control page.
In the Software Analyzer page Rule Selection section, select one of the two following options:
Use an existing .dat file: A rule file that has been previously exported can be specified to be used during the build.
Make a rule selection: Select one or more rules to use during software analysis.
The Software Analyzer page Report Options section offers options for generating html and xml reports as well as affecting general build results so that if any rules marked as severe are violated the build fails
When Software Analyzer is specified as a post-build participant, a new Software Analyzer Results tab appears in the build results. This tab contains a summary of the Software Analyzer results, including up to 100 of the most serious results for Java Code Review and/or Java Software Metrics. If HTML or XML reports were selected to be generated in the build definition they will be available in the Downloads tab of the build results.
Software Analyzer RTC Build Integration in RAD v95 Beta (June) allows users to run static code analysis rules as part of an RTC build and see the results as part of the RTC general build results.
For more information about Software Analyzer integration with Rational Team Concert builds, visit our Knowledge Center.
* To find out more about Rational Application Developer V9.5 Beta, visit our Early Program site. * To join a discussion or ask questions about Rational Application Developer V9.5 Beta, visit our Beta Forum. * To learn more about IBM Rational Application Developer, visit our Product Wiki.
I have seen protracted discussion on the subject of metrics and measurements in
software development, both at clients and “around the water cooler” at Rational
and IBM.By this I mean developing,
viewing and leveraging measurements that inform us how well a software
development team or organization is doing their job, and how they might do that
job better.All too often, I observe at
my clients that they are taking few or no measurements to inform them how
they’re doing, or how they might improve.Many in our industry have taken to calling this situation as “operating
open loop”.Of course, this refers to an
objective feedback loop that informs the organization how they’re doing.
do you measure your effectiveness?How
do you improve?What follows is some
notes on doing so, particularly relating to quality … what works, what helps,
what doesn’t work, etc.
1.Software quality is difficult to measure precisely ... but
that's ok, we simply must do our best, and our best turns out to be good
enough.What is not good enough is not
measuring ... and that's what most of our clients do.
2.Organizational resistance to measurements (any measurements)
is often quite strong.If someone has
not been getting measured, and s/he's comfortable, measurements are usually
seen as a threat.The perception is that
all they can do is demonstrate that the person is not doing as well as
3.Also, of course, it's easy to misuse measurements and
thus generate undesired behaviors.It is
critical that the organization convey to the staff why the measurements
are being implemented.The goal of
measures must be to help the organization better understand their business and
their progress toward objectives.
4.Douglas Hubbard has at least two useful books on the topic of
measurement in general, both of which we've found useful:
·How to Measure Anything,
which basically says you canmeasure
it, whatever it is, and
·The Failure of Risk
Management, which includes the following
interesting and powerful assertion: Everybody, everywhere, is focusing on
the least valuable measurements at the expense of the most valuable
5.It can be difficult to decide on the definition of quality
that is most important to leverage under whatever circumstances you have.There are at least 6 (!!) definitions of
quality we see commonly used.
·Areté- fundamental excellence (see wikipedia, first
few paragraphs (or more if you're interested):
requirements match real need (which doesn't necessarily mean that the
requirements, even though they're "right", are properly implemented)
requirements (e.g. performance) match real need (usually used in conjunction
with the previous bullet)
·The requirements are
complete (match allthe real
·The requirements and/or
implementation are not gold plated (nothing extra beyond all real need)
·We have fewer, or zero,
defects (defectis also difficult
to define!Does defect mean
"doesn't meet requirements"?Does it mean "doesn't meet real need?"(not the same in general)If you fail to meet a requirement that turns
out to be gold plating, is that a defect?All that ...)This is the
definition I see most often used.
6.Discussing what to measure is a good first step, and this note
stops there, for now, and does not discuss subsequent steps.Once you have decided what to measure, there
is still much more work to do, even if substantial automation (such as a tool
like Rational Team Concert or HP Quality Center) is already at your disposal
and/or already in use
7.Therefore, as you might expect, build a plan, and then
execute the plan, and then plan to replan, and repeat and be iterative (another
full topic: iteration).Just like
The developerWorks Rational team is happy to announce the launch of our site redesign. With this fresh, new look, we set out to organize technical articles, downloads, and events in ways that relate to your role and business needs. This design also improves the mobile device experience for those of you who visit us while on-the-go.
So, why in the world do honey badgers care? Because in a small tribute to our team mascot, we hid an image of one somewhere on the home page. Can you find it?
Do you like what you see? Or did something you love from our old design go away? Our team wants to hear from you as we iteratively refine this experience. Let us know what you think in the comments of this post.
This week, our feature article series about Rational Method Composer and Jazz continued with Ricardo Balduino, Senior Software Engineer, explaining how to automate your already established processes in Rational Team Concert. We called on him to explain what makes him so passionate about creating solutions that make others' lives easier.
Who is your hero?
There are many people I admire, throughout human history, and they are typically people who persevered in their field, or went an extra mile -and sometimes paid a high price- in the name of their beliefs. To mention one: this Brazilian racing car driver, Airton Senna, who competed on Formula One, was an inspiration. He trained non-stop to get better at what he did. During practice when started raining, other drivers would take their cars to the pit stop. Not him - he would drive his racing car under pouring rain, just to finesse his driving ability and improve his focus. As a professional, he won many championships in the early 90s, until a fatal car accident during a race (due to car failure, not his) took his life. That's proof that if you do what you like and try your best to get better every day, you can win, despite of life's inherent risks that can happen to anyone.
If you could win a meetup with any celebrity or public figure in the world, who would it be, and what would you talk about?
Interesting question. I'll take a different spin on this one. IF there was a time machine, I'd like to go back in time and meet some of the famous inventors of past centuries, such as Ben Franklin, Thomas A. Edison, or Alexander G. Bell. I would ask them what drove them to invent so many different things (although I have a hint that it was the purpose of making people's lives better). I would ask if there were any ideas that they weren't able to bring to fruition because of lack of resources at the time. And after telling them what the 21st century looks like, I'd ask if they had any ideas to improve our lives today.
How do you handle obstacles and roadblocks?
I always try to finish what I started. I may postpone starting something until I have a reasonable plan in mind (to figure out what possible obstacles I'd face), but when I start, I like to finish it. That said, If I don't know how to do something, I'll go find ways to learn it or find people who can help me get started (help me see the roadblocks and remove them). I try to rely on people's knowledge and experience, either informally or formally (by attending a training session or shadowing some one) so I can learn new skills.
Which future standards do you see as important?
I think as the world becomes more inter-connected, and services become more automated, there will be an increasing demand for standardization. For example, electronic medical records require standardization to guarantee that, for example, notes taken by a physician at a local office can feed a - or any - hospital's system where the patient will go through surgery, and back in the local pharmacy system where the patient will have his/her prescriptions filled. Another example: energy companies need standards to guarantee that data is effectively and efficiently communicated from each meter installed in each house to the power grid, for example to provide the right energy amount and type from low- to high-demand periods during the day, and also to prevent issues on the grid that might otherwise interrupt services and create loss for the companies and their consumers.
What interests you outside of your job?
I like music: listening to it, playing it (well, I'm trying to get better at playing my guitar anyway), setting up sound system for music events, and even experimenting with recording music. Did I say I like music? I also like to be in contact with nature: walking, biking, and kayaking. And work around the house plus family activities tend to keep me busy otherwise.
Born and raised in Brazil, he first joined IBM through the Rational software acquisition. He has spoken in conferences in Brazil, Costa Rica, and U.S.
To be successful with a migration from your existing SCM and build tools to Rational Team Concert, it helps to understand how promotion and deployment work and the repercussions of how each is used. Once you understand this, you can examine your current flow from development to production, and decide if you want to keep it after migration.
Robin Yehle, a member of our Jazz Jumpstart Team, explains this and more in her post about Promotion vs Deployment. You can also learn more about getting started on the Jazz platform through her "blog on all things Jazz," ymmv.
Certificate presentation during the opening reception. June 3, 6 PM, Livestream stage (Exhibit hall)
Acknowledgement in the opening keynote. June 4, 8 AM, Main Tent.
Executive meet & greet in the Client Connections Lounge. June 4, 4 PM, Europe 2
Awards and presentations are great, but true to reasons for being named "champions", they love to show off what they know about Rational software and solutions. 13 of them will be at Innovate, while 5 more will be attending Innovate and user group events in their regions later this year. Learn more from their community bio page about where you can meet champions and how to connect with them throughout the year.
All of their exhibit booth numbers and session numbers are in that page. Use the agenda builder to add them to your schedule. You can also keep track of your schedule through the mobile app: Search "IBM Innovate 2012" in the App Store (iOS), Google Play (Android), or AppWorld (Blackberry). Bonus!!
Hi, I'm Gabi Zodik and I'm a Manager of Software and Services at IBM Research in Haifa, Israel.
My passion is systems. Systems such as planes, cars, or air traffic control are becoming more and more complex. Although they now provide us with functionality, efficiency, and productivity never before imagined, they are also introducing new engineering challenges. This is especially true in the design and development of engineering systems where the integration of different disciplines — software, hardware – is required.
For example, 10 years ago cars had one or two processors, whereas today a single car may have more than 100 processors running anything from Bluetooth connectivity to proximity sensors. We are developing new methods and tools to help designers cope with the complexity of making all of these things work together, by automating and streamlining the design and development phases.
Streamlining design for systems and software One of two system complexity problems we're tackling is system design. Even the best engineers need to spend days or weeks testing possible design options to find the best ones. Looking at the car again, when designing a car, an engineer has to choose which kind of exhaust system is best, while taking into account engine performance, exhaust pressure, temperature, vibrations, and more.
Our new design space exploration tool helps ease this challenge by automatically exploring different design options, while taking into account the different parameters and constraints involved. The system engineers get a reduced collection of the optimal and practical solutions to choose from based on their experience – all in minutes.
Although optimization solutions of this type are already used to solve work shift scheduling, transportation or finance problems, this is the first time they're being used in the world of systems engineering to automate the design process. IBM expects the market opportunity for embedded systems to reach billions of dollars per year.
A fusion of development and operations efforts We also developed a tool, called Weaver, that eases the hand-off between application developers and system administrators. A developer may not know how the software will be used, the hardware it will run or, or the operating environment. And an administrator may not have the expertise to debug the software or maintain it. As a result, deployment can mean serious overhead cost associated with testing, planning the deployment, finding workarounds for issues, and encountering bugs for the first time.
Weaver brings together two formerly separate processes. This new approach combines software development with a programming and modeling environment to develop the infrastructure on which the software will be deployed. Created in parallel to the software itself, this environment defines all the deployment platform characteristics such as IO, memory requirements, disk size, and anything else needed for the operating environment or virtual environment. By doing all of this in parallel, everything from diagnostics to testing the deployment process becomes much more efficient.
In short, we're creating more automation and more efficiency in the design and development of complex systems.
If you've registered for Innovate 2012, these trends are just a few of the topics being presented at the Imagine track at Innovate 2012, June 3-7 in Orlando, Florida. If you have any questions about these topics, leave a comment for me here.
We're calling on Arti Saagar, a test engineer with IBM Rational software and an author for developerWorks Rational. We want to know what she thought of her publishing experience:
Did you learn anything from writing your article? Yes, writing articles is fun! The things that you know well make more sense when you can share them with a larger community.
What inspired you to write an article about integrating Rational DOORS with Rational Rose? Rational DOORS is a leading requirements management tool worldwide. I think knowing how it can be integrated with [a popular] modeling tool like Rational Rose would be helpful to many.
Which standards do you see as important for the future? I think going forward, the OSLC standard is important one. This specification allows two tools from different vendors to integrate seamlessly without anyone explicitly owning the integration. Today, many of the Jazz-based Rational applications integrate by using the OSLC specification.
This week on developerWorks Rational, our authors are offering their advice about the "how" and "what" of applying enterprise architecture, plus tips for migrating Configuration Management Version Control (CMVC) to Rational Team Concert.
Use enterprise architecture for investment decisions to guide IT deployment By: Karthikeyan Subramanian Use enterprise architecture in Rational System Architect to guide investment decisions. Then import data into Rational Software Architect to plan deployment based on business priorities. Make "what" decisions in Rational System Architect, and "how" in Rational Software Architect, says the author. Products: Rational System Architect, Rational Software Architect
Migrate CMVC to Rational Team Concert, Part 1 of 2 By: Murali Dhandapani This two-part article explains migration of Configuration Management Version Control (CMVC) to IBM Rational Team Concert. Part 1 covers Rational Team Concert server configurations and installation of CMVC Connector on the Rational Team Concert Eclipse client that is required for the migration.
Migrate CMVC to Rational Team Concert, Part 2 of 2 By: Murali Dhandapani, Atul Kumar, and Sanjay Chanlya This two-part article explains migration of Configuration Management Version Control (CMVC) to IBM Rational Team Concert. Part 2 shows how to customize Rational Team Concert to work with CMVC defects and features field values and how to import CMVC source code into Rational Team Concert.
Also check out the following trials, including specific exercises that you can try in either the Rational System Architect or Software Architect sandboxes.
Rational System Architect SOA sandbox guided trial https://www14.software.ibm.com/webapp/iwm/web/reg/pick.do?source=dw-soa-tewtx&SPKG=TELE&SCMP=SANDBOX&lang=en_US
Rational System Architect online trial http://www.ibm.com/developerworks/downloads/r/systemarchitect/learn.html
Rational community roll call...that has a nice ring to it. Let's do it!
So, the first person we're calling on is Steve Arnold, an IT Specialist for Rational software and the author of this week's featured article. He lives in Twickenham, London with his wife and 5-year-old daughter. Besides time spent with his family, he has studied, practiced and taught Tai Chi for more than 14 years.
Our first questions was: "What are you up to?" Steve's enthusiasm for his work captured us instantly:
I've just finished delivering enablement to my European colleagues on Rational Design Manager, and the new features coming later this year, and I'm really looking forward to sharing some of the new capabilities with customers in the coming months. I'm also really excited by the sudden increase in interest around DevOps and continuous deployment -- and pleased that one of Rational's 'hidden gems' has a chance for bit of limelight.
With that kind of excitement, we crumpled our original draft of questions into a ragged paper ball and followed his lead:
2) What do you mean by "hidden gems"? I just mean that not many people know about our capabilities in this space, yet it can potentially have huge value, and help solve some big customer problems.
3) Did you learn anything from writing your article and, if so, what was it? It really helped me to formalise and mature my thoughts on the big benefits this kind of approach can bring to an organization.
4) What books have influenced your ideas and thoughts the most? Ivar Jacobson's "Object Oriented Software Engineering" as it set me along my current career path (nearly 20 years ago). I'm currently reading "Bounce" by Matthew Syed, which is pretty inspiring for helping to understand the power of practise.
5) Who is your hero? My father, who died a few years ago, for his hard work, love and practical approach that shaped my attitudes to life.
Innovate team wants to get the most compelling stories and best practices, so
they've extended the call for papers deadline to January 16! The Innovate agenda will feature over 400 technical sessions in 24 tracks.Review this year's streams, tracks, and suggested speaker topics, and see how you might contribute your expertise!
At Innovate 2012, you can share stories and best practices, and tell your peers how Rational software solutions have helped you innovate, transform, and produce better business outcomes.
Improve your chances of getting your paper accepted by following these 5 tips:
Show measurable results: There is a big difference between saying “This worked for us” and “We achieved a 35% Return on Investment”. Measurable results are a great way to prove the effectiveness of your strategies to your audience.
Use real-life examples: There is no substitute for experience. Audiences love to hear directly from people who have implemented winning strategies. If you’re an IBMer or an IBM Business Partner, team up with a client to bring your story to life. If you’re a client, dedicate some of your time to letting your audience know how things really worked, or didn’t!
Avoid sales pitches: Infomercials are not welcome. Audiences want to learn how to be successful; if that includes a mention of a specific product or service, then great. If that focuses solely on a given product or service, then audiences will tune out. If you came to advertise, you should participate in our solution center.
Explain the big picture - how your organization collaborated: Software delivery is a team sport. And while your presentation may focus on a specific aspect of software delivery, it likely has impacts on other areas of, or individuals within, your organization. Don’t forget about those impacts, tell us how you integrated and collaborated with other tools, areas or individuals. We want to understand the full impact of your strategies.
Speak to your industry: Sometimes your successful strategies will be dependent on circumstances unique to your organization. Consider generalizing your guidance so that it will apply to others in similar industries or more generic situations.
These are great guidelines not only for Innovate, but any conference you apply to speak at.
The submission deadline is January 9, 2012. Review the streams, tracks and suggested topics on the Innovate website.
Are you thinking about submitting a paper? Consider collaborating with fellow community members. Browse the members list for someone who shares your expertise, or ask for help on our message board.
It's a short work week here in the US for Thanksgiving. In the spirit of all things software development and giving thanks, check out this article from Neil McAllister at InfoWorld, "What I'm thankful for as a developer"
Do you agree with his list? What improvements in software development are you still waiting for?
We'll be back next week with our regular update of newly published articles, downloads, and featured authors.
The IBM Rational community aggregates the latest developerWorks
articles, blogs, videos, and discussions about Rational software from multiple
communities. Start here, and you’ll find it easier and faster to find the help
or information that you need.
The community offers several ways to share your expertise globally with other software developers (and maybe even become recognized as a thought leader
Write a blog post to
showcase your thoughts on tools and business processes.
Share bookmarks and feeds that might be useful to other community members.
Compose a living document in the wiki, where others can help you fine-tune it (great for explaining task-based procedures).
Find community members who share
the same interests that you do.
After you've shared your thoughts, you can easily broadcast a link to them on social networks, such as Twitter and LinkedIn. You might even get recognized as a software development thought leader. Globally, no less!
Join the Rational community today, and learn more about how you can contribute content and benefit from others’.
With Enterprise PL/I for z/OS you can leverage more than 30 years of IBM experience in application development to facilitate your new On Demand Business endeavors, helping integrate PL/I and web-based business processes in web services, XML, Java, and PL/I applications. This compiler’s interoperability lets you capitalize on existing IT investment while smoothly incorporating new, web-based applications as part of your organizations infrastructure.
Enterprise PL/I for z/OS is an integral part of the comprehensive application development environment delivered with IBM Rational Developer for IBM System z® software—providing a robust, integrated development environment (IDE) for PL/I and connecting web services; Java Platform, Enterprise Edition (Java EE) applications; and traditional business processes.
All social media, videos, and photos can be found through the conference page; But here are a few direct links:
To see the videos that were done from the Livestream stage at Innovate, follow Scott Laningham's blog. If Bran and Christian interviewed you off-stage, then check out the Innovate play list from the developerWorks YouTube channel.
Our IBMRational channel on YouTube is being updated throughout the day with coverage from the conference. Note: The upload order should correct itself over the course of the week. If you don't see current videos in the "Date added" column (on the right), scroll down to the 6th or 7th video in the list.
You can promote any entry about Rational software from a developerWorks blog to the Rational community. Simply tag the entry as "rational", and you're done. Your entry will feed to the main section of our home page right alongside publications from the developerWorks and jazz.net libraries.
This is the perfect way to promote your knowledge and share innovative uses of Rational tools with peers and IBMers.
Also, a note of thanks! The announcement about the Rational community during this morning's keynote was very exciting for us. To those of you who have already stopped Sera, Marcel, or I at Innovate with your feedback, thank you! Like all things social, this community will evolve to make it useful for you.
We created this community to help you learn about best practices and uses of our products; to let you visually experience Rational software in action; and share knowledge with others. Learn. Experience. Share. Pretty simple, right?
A colleague recently asked me what my general expectation is for communities. My hunch is this: When we don't know something, we throw our question to the Internet and see what comes back. But when we want specific knowledge, we seek out specific bodies to pose our questions to. Hence, communities.
It's no secret that for communities to be successful, you have to give a little to get what you want out of it. The more you give, the more you get.
For our Rational community, we're attempting the inverse of that. We want to make sure that you get something new each time you visit. That is why we gather information about Rational products and display it in real time on our community home page. You'll get the latest news from sources such as developerWorks, jazz.net, IBM communities and support. And we still have sources to add!
How can you give? Easy. If you see information that you like on the home page, follow the link to add comments or join in the discussion; or pass the information along to colleagues. Do you have a blog on developerWorks? Tag appropriate posts with "rational" to promote them to our home page. Share new thoughts through our message board or wiki.
We are excited to share as much as we can about Rational software through this community. If you have feedback for us, post it to our community message board.
Looking forward to hearing from you, Susan Peich developerWorks Rational communities