When Application Development Teams Collide, Great Things Can Happen
I find myself spending a lot of time lately talking about Enterprise Modernization and helping customers establish a vision and roadmap for deployment of modernization solutions that actually provide value above and beyond their desire to simply “modernize”. After a lot of discussion about what it really means to modernize, I always come back to the same point: to even start, to even claim you are “doing” modernization, you must first modernize the way you “do” development, ensuring that your multiplatform applications are designed, developed and built by teams that come together and collaborate throughout the lifecycle. It generally isn’t difficult to agree on this point, but wanting to do it and actually doing it are two different things.
Rational Team Concert (RTC) was developed with the goal of providing a multiplatform development environment that enables mainframe and distributed teams to work together throughout the software development lifecycle. It provides the modern tooling distributed developers have been using for years, taking advantage of the best practices and patterns of development that have proven invaluable in that environment, while also considering the unique requirements of the mainframe environment that have existed for decades and host the mainframe-based applications that continue to run businesses today.
Now, before you jump to conclusions, the idea is not to make mainframe developers use distributed tooling; that would not work, nor should it be the goal. The idea is to provide a modern development environment that takes the best from both worlds, unifying the teams that do development on multiplatform applications, providing the ability to collaborate easily and consistently, and establishing repeatable patterns that have proven successful in producing and maintaining high quality applications.
A Sample Multiplatform Development Environment Topology
You might be wondering how that is even possible, given the huge disparity in the tooling and processes used today by distributed and mainframe developers. To be sure, it is a challenge, but one with great rewards. I propose a simple initial set up of a software project for multiplatform development in RTC as shown here:
In this simple illustration of a development project topology, mainframe and distributed developers work virtually side-by-side, making changes to software artifacts as part of a multiplatform software project. Isolated changes can be made, built and tested at various levels:
Managing Multiplatform Build Requests
In this multiplatform development environment, developers can initiate personal build requests and team leads can drive the more formal builds, integrations, and ultimately promotion to a formal test environment. All of this can be done seamlessly through RTC build requests:
Based on which repository workspace or stream holds the source to be built, RTC determines where those builds must be performed and handles the complexity of initiating the build requests on behalf of the requestor. In this way, RTC provides a unified, truly multiplatform development environment with an interface that is consistent regardless of whether you are a distributed or mainframe developer.
While the design strategy and considerations outlined here will not be applicable in every environment; they serve as guidelines which you can use to develop an initial RTC set up for your own project team.
For more information click here.
About the author
Amy Silberbauer is currently the Rational Industry Solutions architect lead and a member of the Unleash the Labs team. She specializes in enterprise modernization, service-oriented architecture (SOA), and business process management. She has been with IBM for 24 years, with 22 years in development and six as lead architect of the Rational Asset Analyzer team.