
Call for collaborative software development
Collaborative software development is the key to drive innovation in today's software industry and to achieve profitable growth and increased efficiency. The IBM Jazz project opens up software development to a community of designers, partners, and customers to build the next generation of Rational® software and other commercial products.
In the 2004 IBM Global CEO Study, organizations relied on innovation to drive profitable growth. The 2006 IBM CEO study made an even bigger case for innovation: "A persistent, worldwide, sector- and size-spanning push toward a more expansive view of innovation—a greater mix of innovation types, more external involvement, and extensive demands on CEOs to bring it all to fruition." But how do you make innovation happen?
One answer is collaborative software development. Returning to the 2006 study, "CEOs stressed the overwhelming importance of collaborative innovation, particularly beyond company walls." At the same time, "CEOs also admitted that their organizations are not collaborating nearly enough."1
Collaborative software development is becoming particularly important in the practice of software delivery. A high level of collaboration is critical because the software development process remains fundamentally difficult. The difficulty is due, in part, to shifting requirements and other real-time changes. It is also due to the complexity of the products and services being delivered.
Today's teams are often geographically or organizationally distributed, adding the complications of different time zones, corporate policies, and languages to the process. All these factors require development teams to communicate and monitor progress throughout the development lifecycle and to work together to find solutions that deliver effective software shipped on time and on budget.
"How do you break those silos down to where everyone is working for a common purpose instead of being scattered?" said Tony Callan, manager of architecture governance at Blue Cross and Blue Shield of Michigan, when asked about developer collaboration in Computerworld. "You need to have tools that will work together to get the testing, requirements, and design teams visibility into how things are going."1
"You need to have tools that will work together to get the testing, requirements, and design teams visibility into how things are going." – Tony Callan, Manager of Architecture Governance, Blue Cross and Blue Shield of Michigan in Computerworld
IBM recently announced projects and offerings to answer Callan's call. They leverage innovations in collaboration and visibility to help deliver more innovative, higher-value software as well as improve the efficiency and productivity of software development teams.
IBM opens the Jazz jam session
At the IBM Rational Software Development Conference 2007, IBM invited partners, customers, and conference attendees to participate in its Jazz software development project through an online collaborative software development portal and community - Jazz.net. Jazz is a scalable, extensible team collaboration platform for seamlessly integrating tasks across the software lifecycle.
The goal for Jazz is to improve software development team agility and collaborative software development. With Jazz, IBM has integrated collaborative capabilities into the Eclipse development environment, enabling distributed teams of software developers to work together more effectively and productively.
While Eclipse focused more on individual developers, Jazz focuses on helping teams work together. "In my previous work on Eclipse, the focus was on how to make an individual developer more productive," said Erich Gamma, IBM distinguished engineer and one of the leaders of the Jazz project. "With Jazz, we are looking to teams with the goal of making teams and teams of teams more productive."
"With Jazz, we are looking to teams with the goal of making teams and teams of teams more productive." — Erich Gamma, IBM Distinguished Engineer and one of the leaders of the Jazz project
Jazz provides real-time communication delivered in context. Accurate project health information is drawn directly from actual work rather than from time-consuming progress reports. Instant messaging and other types of collaboration are integrated to support communication and presence awareness, and RSS feeds enable everybody to be informed of events. Traceability and auditability is automated by managing all artifacts and their inter-relationships across the lifecycle.
Additionally, Jazz has process features that make it well structured for helping teams of developers. "When teams work together, they follow a particular process," said Gamma. "Jazz is process-aware, and a particular process can advise how the tools behave. As a consequence, the tools built on top of Jazz technology understand how a team works."2
The Jazz platform also supports the scaling of Agile development practices to larger, distributed teams. Agile development is a methodology that focuses on creating self-contained iterations of software and emphasizes real-time communication, preferably face-to-face, over written documents. Agile development works particularly well for smaller, co-located teams. The transparency and visibility that Jazz provides means that the advantages of Agile methods can be extended to larger, distributed teams.
Open commercial software development
Jazz is being developed using a new approach and vision for collaborative software development called open commercial software development. Unlike traditional processes where customers have little visibility into a new product or release until it is shipped, Jazz is being developed openly at Jazz.net. Customers can see the development as it occurs and can download builds as they are available.
One of the benefits of this transparency is that customers and partners are tightly integrated into a feedback loop that spurs improved development efficiency and software quality for Rational. Rational builds commercial products based on Jazz, and we expect other Jazz-based tools and frameworks from third parties.
"Open commercial software development is the next major innovation in collaborative engineering," said Dr. Danny Sabbah, general manager, IBM Rational Software. "IBM is taking software development to a new level, and through participation in the Jazz.net community, customers can influence the products they depend on for software delivery."
"Open commercial software development is the next major innovation in collaborative engineering." – Dr. Danny Sabbah, General Manager, IBM Rational Software
"Jazz is a major investment by IBM to create an innovative, collaborative software development technology base," said Scott Hebner, vice president for marketing and strategy for Rational Software. "It will not only drive the evolution of our product for future years, but it's also going to drive the evolution of many elements of the marketplace."3
IBM Rational Team Concert
The Jazz platform gets its name from the highly skilled collaboration you find in jazz music and among jazz musicians—individual talents working in real-time towards a collective sound. It's the kind of collaborative approach delivered by IBM Rational Team Concert, the first offering developed on the Jazz technology platform.
"It's a real-time, collaborative environment for improving the productivity and innovation of software delivery teams," said Hebner. "Developers using Team Concert can collaborate in real time based on the context of the work they are doing. For example, if a requirement were changed, other developers would automatically be notified of the change."4
IBM provides adapters to connect Rational Team Concert to its change and release management solutions, IBM Rational ClearCase® and IBM Rational ClearQuest®. There are also plans to integrate Rational Team Concert with IBM Rational Build Forge®/software/awdtools/buildforge/, a build and release management solution that increases team efficiency by providing reliable, high-performance builds for Agile development.
In the future, IBM expects to deliver a family of Jazz-based offerings, and like the Jazz core, the new software will be a product of the IBM open commercial software approach.
Innovation now and in the future
Jazz, Rational Team Concert, and other, future products built on Jazz deliver innovation in two important ways. First, they deliver product innovation. The software that results from these collaborative software development efforts promises to revolutionize how development teams work, to help them more effectively manage shifting, real-time changes, and to overcome the obstacles inherent to organizationally and geographically distributed teams.
Second, they represent process innovation. Open commercial development demonstrates a fundamental innovation in the way commercial software is delivered—a more productive and efficient way to align products with user demands by including users in the collaborative software development process.
The key is collaboration. In his paper, The Future of Software Delivery, Danny Sabbah envisions a "fundamental shift from role-first to team-first thinking." He also states that "the future of software delivery looks a lot like the IBM Rational Jazz project, a technology that integrates team tasks across the entire software and systems delivery lifecycle." If Jazz is what the future of software delivery looks like, the future is approaching quickly. It's good news for developers who want to improve collaborative software development and to create better software more efficiently and productively.
Sources
1. IBM aims to 'Jazz' up development with new tool, community, Eclipse follow-on aims to improve collaborative development, Computerworld, Heather Havenstein, June 11, 2007
2. IBM Rational's Erich Gamma on the Jazz project, TheServerSide.com, March 2007
3. Dana Gardner's BriefingsDirect, Take a sneak peek at IBM Rational's Jazz collaborative ALM framework and community, ZDNet, Dana Gardner, May 20, 2007
4. IBM sings Jazz tune for app development. Collaborative platform advances at the Rational Software Development Conference 2007 as IBM looks to become a leader in the development tool space, InfoWorld, Paul Krill, June 10, 2007
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.
