Software change and release management White paper June 2008 Extending open source tools for more
Page 2 Contents 2 Integrating and complementing open source tools 2 Trends in business shape software development 3 Managing the changes 4 Open source tools gain acceptance 5 Managing the complexities of software delivery 8 Automated process, faster and higher-quality development Integrating and complementing open source tools Software developers and development teams would much rather focus on writing code and building applications. But without solid, shared, repeatable and consistent processes for coordinating work, facilitating team collaboration, testing builds, quickly finding and reporting errors, and maintaining version control, the development process can fall into chaos. The adoption of open source tools is a viable option to address some of these issues. These tools can offer developers lightweight processing requirements and ease of use and they have little or no associated licensing cost but their limited scope means they can t address the broader requirements for application lifecycle management. IBM Rational software provides an integrated and modular software development ecosystem that supports a broad range of open source tools. The ecosystem helps enable timely and efficient software delivery through automation of processes for consistency, efficiency, quality and insight. Rational software enables process automation and traceability to improve visibility and control of the software and systems development lifecycle. Developers can leverage the open source tools that allow them to focus on building software rather than on administration, while effectively managing software delivery. Trends in business shape software development As businesses become increasingly dependent on their software, development teams face increasing pressure to produce faster and deliver measurable value to the business. At the same time, development teams are asked to reduce costs, improve quality and provide auditable governance and compliance.
Page 3 The global nature of development requires dispersed, multisite teams to work on the bit pieces of projects, while staying aligned with overall project objectives. Communication is essential, but so are consistent, reliable and repeatable processes for assigning ownership, managing version control, delivering software and understanding the overall project status. Software change management tools provide organization and documentation of processes. Managing the changes Software change management tools help organize and document the workflow and changes associated with development. They help teams and project leadership to understand: Who owns a specific change request and where it is in the development lifecycle. What artifacts have changed, when and why. Which teams or individuals made those changes. What assets are ready for testing or release. How many high-priority defects need attention, and other project priorities. Software configuration management provides version control and parallel development support. Software configuration management provides version control and parallel development support to help manage and control software assets. Software change management provides defect tracking and automation of software processes across the development lifecycle. Solutions that combine software configuration management and software change management in a single, tightly integrated solution provide visibility into the impact of project changes.
Page 4 Development shops want flexible configuration management tools. Open source tools gain acceptance Development shops want their software configuration management tools to be flexible and nimble. Some developers and development teams are gravitating toward a few open source software tools particularly Subversion and its predecessor CVS for tracking and managing versions of files, directories and metadata. A robust community and support infrastructure has developed for these tools. Tools like Subversion are usually available for free download, so the primary initial costs associated with them are optional support programs. Focusing on a singular task such as just version control can mean the tools are lightweight in terms of use, but they often lack sophisticated features that may be necessary or beneficial to development organizations. Many open source tools perform a single function, requiring teams to deploy a patchwork of solutions. Yet the drawback of open source tools for configuration management or any development activity is that they are typically stand-alone tools. Most do not support diverse environments and do not fully address change tracking, automation and collaboration across the development lifecycle. Using them as part of a broader approach to application lifecycle management requires building and maintaining a patchwork of tools. This patchwork solution can have hidden costs and complexity. And without a formalized support plan for these tools, there can be risk to the applications and by extension the business.
Page 5 IBM Rational software products can complement open source tools. Managing the complexities of software delivery Fortunately, developers and development teams don t face an either/or dilemma when it comes to choosing an approach to software development. IBM Rational software products support an integrated, comprehensive and modular approach to software and systems development all the way to a full application lifecycle management strategy. IBM provides value-added solutions that complement and enhance open source solutions to help development teams be more successful. With the ability to easily integrate open source software with Rational software solutions, development teams can choose specific areas of their software development or delivery lifecycle to enhance and improve upon. And Rational products are also modular, so development teams can implement the features and functionality as needed on their own timelines. IBM Rational software products integrate with Subversion and other open source tools. IBM Rational software products that enhance the Subversion open source tool include: IBM Rational ClearQuest software with the Clearvision (an IBM Business Partner) CQ2SVN software solution supports automated and flexible software change management across the software lifecycle. IBM Rational Build Forge software facilitates reliable, high-performance builds and streamlines software delivery throughout the development lifecycle. IBM Rational Team Concert software supports collaborative development in a portal environment. IBM Rational ClearCase software helps deliver comprehensive software configuration management for virtually any size project.
Page 6 The Clearvision CQ2SVN integration enables developers to work in both Subversion and Rational ClearQuest software. Rational ClearQuest software supports integration with Subversion and other software configuration tools. Clearvision, an IBM Business Partner, offers an integration named CQ2SVN* that allows teams to use both Rational ClearQuest software and Subversion together. The CQ2SVN software records the set of modified files that are stored in Subversion (listing the specific version of each file) and the associated developer comments within a Rational ClearQuest change record. Once a file change is complete in Subversion, the state of the Rational ClearQuest record automatically changes to the next state in the workflow without the user having to use Rational ClearQuest itself. The Clearvision CQ2SVN software provides a bi-directional integration between Rational ClearQuest and Subversion, meaning it also records Rational ClearQuest information within the Subversion version history. Automated change and configuration management By automatically synchronizing source code managed in Subversion with development activities stored in Rational ClearQuest, developers get the lightweight interface they re familiar with while maintaining a single source for comprehensive change tracking information and automated processes and workflows. This integrated solution helps reduce the risk of errors, supports the automation of configuration and change processes for faster time to market and provides visibility for compliance management and improved decision support. Adaptors in Rational Build Forge software enable developers to use CVS, Subversion and Perforce repositories. Integrated build and release management To speed software development and help improve quality, IBM Rational Build Forge software is a process execution framework that manages the assembly of software applications. Designed to automate build and release management across projects, it helps reduce errors that delay downstream testing and deployment activities by enabling developers to quickly build the system after writing code using self-service access to production build processes. Diverse software production tasks are executed automatically so there are no delays due to manual intervention. And nondependent tasks can be run concurrently to accelerate build times. Out-of-the-box source adaptors enable developers to use repositories from CVS, Subversion and Perforce. Rational Build Forge also allows use of existing scripts and tools to help leverage existing investments and for quick startup. *IBM makes no warranties or representations in regard to Clearvision or CQ2SVN software.
Page 7 Rational Team Concert environments allow development teams to use Subversion in realtime. Collaborative development powered by the IBM Rational Jazz platform One of the drawbacks of Subversion is that it does not support native realtime collaboration. Changes to assets are hidden from other users until they are committed back to the repository. A solution to this problem can be found in IBM Rational Team Concert*, a collaborative environment built on the IBM Rational Jazz platform that is designed to improve team productivity by enabling realtime collaboration across the software delivery team. Through integration with Subversion, file changes in Subversion can be linked to Rational Team Concert work items to help teams stay in sync. Enterprise software configuration management IBM Rational ClearCase software offers heterogeneous, cross-platform support, so teams are better able to store and manage their software assets across distributed teams and in diverse environments. Rational ClearCase software provides members of local and enterprise-wide application development teams with controlled access to the development assets they need to create, update, build, deliver, reuse and maintain software. Its functionality directly overlaps with some open source version control tools such as Subversion. Integration allows development teams to choose the solution best suited for their needs. Combining Rational ClearCase with Subversion in the same enterprise can help support the diverse needs of various projects. Development teams can use Subversion and Rational ClearCase to create an enterprise-class software configuration management solution that supports requirements for flexibility, reliability, security and stability. This addresses the unique and varied needs of individual development teams, letting them choose the solution that best fits their requirements while maintaining an enterprise-class software configuration management environment. *Planned availability June 30, 2008
Automated process, faster and higher-quality development While the skills of individual developers and experienced development teams cannot be underestimated, much of the success of effective software delivery depends on the removal of error-prone and time-consuming manual processes, and team communication and collaboration. Successful delivery also requires the establishment of and adherence to processes for managing change throughout the software development and delivery lifecycle. As processes are automated and streamlined, the chances of error can be reduced, software quality improved and costs lowered. Developers and development teams are going to continue to embrace lightweight, open source tools. But those tools don t address the diverse needs of all projects or the full spectrum of development tasks. IBM Rational software can offer the best of both worlds through integration with a broad range of open source tools and plug-ins, while maintaining an overarching platform that manages the entire development lifecycle. With IBM Rational solutions, teams can gain greater project visibility and efficiency with automated processes and workflows, increased team collaboration, and audit trails that help support compliance mandates allowing them to focus their efforts on developing and refining mission-critical software. For more information To find out more about IBM Rational software and the Clearvision CQ2SVN integration, contact your IBM sales representative or IBM Business Partner, or visit: ibm.com/software/rational clearvision-cm.com Copyright IBM Corporation 2008 IBM Corporation Software Group Route 100 Somers, NY 10589 U.S.A. Produced in the United States of America 06-08 All Rights Reserved Build Forge, ClearCase, ClearQuest, IBM, the IBM logo, Jazz and Rational are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. Other company, product and service names may be trademarks or service marks of others. The information contained in this documentation is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this documentation, it is provided as is without warranty of any kind, express or implied. In addition, this information is based on IBM s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this documentation or any other documentation. Nothing contained in this documentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM (or its suppliers or licensors), or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in this publication to IBM products or services do not imply that IBM intends to make them available in all countries in which IBM operates. RAW14016-USEN-00