This first article in a series about the use of IBM® Rational® Team Concert for System z® in the enterprise focuses on the benefits of using this software. The goal of this article is to help your organization get started in collaborative development. Follow-on articles will delve into these topics:
- How to configure Rational Team Concert for System z to control your existing software configuration management system
- Setting up Rational Team Concert for System z for your host-based development processes
- Using Rational Team Concert for System z and Rational Build Forge to get started with agile development for host projects
- Using Rational Developer for System z with Rational Team Concert for System z for increased value
- Setting up components and streams in Rational Team Concert for System z optimized for cross-system development
Software development challenges
Development organizations are facing many new dilemmas and expectations, including these difficulties:
- Company acquisitions and outsourcing that result in geographically dispersed developers
- Maintaining and leveraging existing code with fewer people
- Shorter development cycles
Companies will continue to expand by acquiring other companies that are in related businesses, either with companion or competitive products, and many times both. With each new acquisition comes a new set of processes, software packages, and applications developed in-house. This leaves the companies with additional development organizations in different locations, each using their own tools and processes.
Many companies now work with outsourced development shops that are located in other parts of the world, such as India and China. This outsourcing often splits the architecture and development responsibilities between the outsourcer and the outsourced company. Both of these activities create greater distance between development teams and increase the need for collaboration and governance.
The second challenge, maintaining and leveraging existing code, is complicated by the fact that that the code has often been developed over many years, and the original authors may no longer be available for updates. This existing code can be in many different forms and programming languages. The code may also be spread across a variety of software configuration repositories that are maintained by using a variety of tools. Many of these tools do not interact with each other, so this creates development "silos."
In today's environment, your organization needs to find new, creative ways to provide new business value by combining existing assets. When enhancements are required across the variety of the existing code, with separate tools and processes, it is difficult to provide the collaboration and staff necessary to complete the project together. Not having common processes and a collaborative development environment across teams decreases the effectiveness and speed of these projects.
The last of the challenges described in this article is the need to deal with increasing pressures to provide solutions with decreased time to market, while working with fewer resources. This problem is aggravated by the previously described problems of geographically dispersed development and maintenance of existing code.
Existing development environments
Another perspective on these development challenges comes from the development processes and tooling currently in place. Each group within a company has typically developed its own development processes and standards and the tooling to support them. With acquisitions or dispersed development organizations, this leads to many different processes, which are supported by different combinations of in-house and vendor-provided software configuration, project planning, and development systems.
Multiple tool sets and processes also exist because of the different "silos" within the development organization. Silos exist, for example, when the IBM® z/OS® team uses one source code repository and tool set, while the Microsoft® .NET development teams use a totally different set. These development tool sets are rarely integrated or are even impossible to integrate. Therefore, when developing software across teams, there is not one common process nor tool set that can be used. This can mean that the pieces of the project cannot really be brought together until the final phases of testing.
These various tool sets and source control systems also lead to an increased number of servers and applications that must be supported in addition to everything else already described. This continues to exasperate the problem of too many servers and systems to maintain.
Collaborative tooling benefits
Using software designed for collaboration among geographically dispersed individuals and teams can help your team cope better with the outsourced, downsized, dispersed development in several ways.
Team collaboration requires these specific capabilities, among others:
- Shared understanding of the work to be done
- Ongoing discussion of these items among team members
- Clear definition of the iteration plans
- Defined structure for the team actions and processes
Rational Team Concert for System z supports this team collaboration with integrated work items and planning. By using the customizable dashboard views and reports, your team members can easily check the project status, gather information on who's working on which components, and see what changes are planned and in progress. By using the work items, each member can easily collaborate on assignments, see what is being done, and comment directly on work items. Rational Team Concert for System z automatically notifies stakeholders and others interested in particular work items when they are updated or someone adds comments.
To be productive, teams need automated tracking of the progress of work, based on defined processes and project rules. Rational Team Concert for System z provides this capability with the iteration plans and work item status tracking. This simplifies assignment of work to those with available time and aids coordination across teams because everyone understands when particular parts of the project should be finished. Throughout the workflow, appropriate reviews and approvals will be automatically enforced by the process definition. As the work is completed, comments are captured along with who, what, when, and why information to provide historical tracking and auditing.
By keeping their work items and progress up to date, they no longer have to provide periodic status reports for the project you can easily see the status in the customizable dashboards, based on a customizable set of reports in Rational Team Concert for System z. The dashboards show the current status, without the delays caused by asking for and creating status reports and then collecting and consolidating the information.
This ability to continually monitor project status also makes it easier to identify problems earlier in the development process and take the appropriate corrective actions before the problems become significant. With an understanding of the progress at everyone's fingertips, not only can the project managers ensure that the project is on track, but the management team, up to senior-level managers, can easily check the status of the projects.
There are certain principles and characteristics that show up over and over again in high- performance software teams, such as shorter iteration cycles and frequent stakeholder involvement during the entire development lifecycle. Process models based on these principles and characteristics can help your team operate more effectively.
Rational Team Concert for System z includes a set of these process models that you can use or customize to fit your existing processes. Adopting or adapting these processes and the process guidance provided automate the implementation of any software development process. You can use them regardless of your team's preferred process, whether you have adopted agile development or not, and you can choose to enforce just enough of the process to shorten your development cycle yet not let process constraints get in the way of getting the job done.
Source management and efficient software builds
Rational Team Concert for System z also provides built-in source and workspace management, version control, parallel development support for individuals and teams, and automated build tools. These capabilities give you several advantages:
- Source management provides an extra level of flexibility, because it enables developers to make changes locally, on their machines, and then check them into their personal workspace repositories for review, backup, and so forth before actually delivering them to the rest of the team.
- Automated build processes help reduce costs by reducing build breaks and by helping you find problems that cause build breaks faster. The integrated environment instantly notifies the team when a build is finished and gives them quick access to the build artifacts. When a build break occurs, the changes included in the build (through change sets) are identified. With this information, you can easily review all related work items to resolve the issues quickly. By using the automated build capabilities, you can set up the environment to provide continuous or timed builds for agile development processes.
- This integrated working environment also enables developers to easily connect work items and tasks to source artifacts, build activities, and discussions, which enables true collaboration in the context of a particular project.
Rational Team Concert for System z is based on a team server component that provides all of these advantages:
- Collaboration and process capabilities
- A repository to store the data, including any related assets
- A rich Eclipse-based client for developers
- A Web-based client for project status-checking and occasional users
The team server and repository components provide support for running on IBM® z/OS, as well as Linux® for System z. By supporting these platforms, Rational Team Concert for System z supports the server consolidation initiatives that result in systems moving to Linux for System z. Because it runs on z/OS, the repository is hosted on IBM® DB2 for z/OS, which means that the repository can participate in all of the backup and recovery processes already in place for z/OS systems.
Bringing it all together: customer use cases
The following sections describe customer use cases.
JK Enterprises is a company that has several existing customer processing applications. Today, much of the customer data is stored and processed on z/OS; however, some of the information resides on distributed systems. JK Enterprises acquired a new company that provides some companion capabilities, but their customer information is processed using a set of different systems. They analyze the environment, and JK enterprises realizes that they now have developers located in time zones across the world, using three different source code repositories with build procedures, and at least three different development processes. JK Enterprises needs to consolidate their customer information across the new acquisition to be able to properly cross-sell their products and services.
This customer example clearly demonstrates the development challenges described previously. It is apparent that there is a need to bring diverse teams that use different tool sets together to collaborate on development projects. The first step in getting these teams together is through common processes and planning. By providing a single governance process over the development of the disparate people and teams, your organization can gain information that will help you understand how your teams can collaborate together to work as a unit.
Rational Team Concert for System z provides numerous capabilities for collaborative development. For current z/OS projects that have existing SCM and build functions, Rational Team Concert for System z provides the collaboration and planning capabilities that are lacking from those existing tools. By combining these capabilities with existing tooling, your developers can quickly take advantage of the coordination and better project understanding, while continuing to use their existing development tools.
This also allows teams that cross the traditional silos of development, for example z/OS teams and Web developers, to work together in a single project and work item tool set so that projects spanning these silos can properly coordinate.
You can take this integration a step further, with the development of exits within the existing SCM to call Rational Team Concert for System z through a simple interface to gather the status of work items in progress. This allows Rational Team Concert for System z and the defined workflow to control the check-in process for development.
Consider an example for clarity: JK enterprises has decided that the workflow requires a work item to be in Approved status before a developer can check in their changes. After the developer has completed the code, if she tries to check it in, the check-in process would fail (due to the verification of the work item's status). The developer would have to ensure approval of the work item first, and then they would be allowed to check in the changes. You could use a similar technique to control check out if desired.
As a second example, JK Enterprises has a set of existing build processes and tooling that they want better control over. They modify the Rational Team Concert for System z processes to add additional processing and approvals to the work items. When a work item reaches a specific state, then an automated action calls the host SCM to create the package based on the work item. Also, when a work item reaches a different status, the host SCM is called to automate the promotion of the code to the test or quality assurance level.
Moving to agile software development
JK Enterprises is also undertaking a new Web frontend for a variety of existing functions. They have been using agile for some of their distributed development projects. The z/OS teams have considered using agile, but they have a set of existing processes that ensure the quality of service expected for z/OS projects. They want to move to agile after they are comfortable that they have a set of processes and tooling that can interlock into their existing SCM and build processes.
Rational Team Concert for System z provides this ability to have the process and tooling support for agile, helping the teams to make this transition. By using the predefined agile process workflows, z/OS teams can begin using an agile process, doing the collaborative development and supporting the control of the process as described above.
Project planning and process are just part of the move to agile. Using Rational Team Concert for System z along with IBM® Rational® Build Forge® helps facilitate the automation of the builds for regular build processes. This will be discussed more in a later article in this series.
Learn
- Learn more about IBM Rational Team Concert for System z and the Jazz platform.
- Read the white paper titledIn tune with IBM Jazz and IBM Rational Team Concert enterprise development tools (Adobe® PDF format).
- Visit the Rational software area on developerWorks for technical resources and best practices for Rational Software Delivery Platform products.
- Explore Rational computer-based, Web-based, and instructor-led online courses. Hone your skills and learn more about Rational tools with these courses, which range from introductory to advanced. The courses on this catalog are available for purchase through computer-based training or Web-based training. Additionally, some "Getting Started" courses are available free of charge.
- Subscribe to the Rational Edge newsletter for articles on the concepts behind effective software development.
- Subscribe to the IBM developerWorks newsletter, a weekly update on the best of developerWorks tutorials, articles, downloads, community activities, webcasts and events.
- Browse the technology bookstore for books on these and other technical topics.
Get products and technologies
- Download Rational Team Concert for System z.
- Download these IBM product evaluation versions and get your hands on application development tools and middleware products from DB2®, Lotus®, Tivoli®, and WebSphere®.
Discuss
- Check out developerWorks blogs and get involved in the developerWorks community.
Comments (Undergoing maintenance)






