Rational Software Development Conference 2006 June 6 keynotes Segue from Erich Gamma and John Wiegand to Lee Nackman (VP of Development and Customer Support, IBM Rational Software) and Martin Nally (CTO, IBM Rational Software) Part 1 of 2 ERICH GAMMA: Actually, I guess this was kind of our story on how we evolved from closed to be open and of course we hope this will go on, right. As we learn to be more open we want to apply this to more and more things. So now we'd like to bring on two leaders who are directing the development of our commercial products on stage to show how Open Source strategies we just talked about are being leveraged in Rational's strategy and product roadmap, and join me in welcoming Lee Nackman and Martin Nally. LEE NACKMAN: Good morning. I'm Lee. MARTIN NALLY: And I'm Martin. So Lee and I want to carry on from where John and Eric left off and give you a brief overall of the Rational strategy and road map and relate it back to some of the themes that John and Erich described. LEE NACKMAN: So we're going to talk first about innovation and processes and their governance. We're going to try to talk to you about how we've tried to take some of the lessons that we've learned from the Eclipse experience together with some of the important business drivers that are happening and how that's affecting Rational and the direction that we're taking. Then we're going to talk about what we've been doing in version seven, the enhancements we've made in the Rational products to better support governance and to take advantage of some of these lessons. And then finally we'll move to looking into the future. We'll talk a little bit about where we're going in version eight, and we'll talk about some new platform work that we're doing. LEE NACKMAN: So I think that if you look at Open Source in general as a whole there's certainly fabulous technologies coming out of Open Source but I think the great lesson of Open Source as a whole, the genius of Open Source, is really this innovation and process and in governance. And some of the processes in Open Source are a natural evolution of things that we've seen in the past -- the spiral method, the unified process, agile methods. The thing that to me really has made a sea change is this idea of transparency of publishing the whole development infrastructure on the Internet and exposing this to a much larger community and, in fact, blurring the distinction between the user community and the development community. And in reaction to this the Open Source communities have been put in place, or the best Open Source communities, have put in place significant innovations in governance and process to manage these new communities. LEE NACKMAN: So you hear this governance word a lot, and this is the formal definition of governance that we use. You might have seen this in some of the other presentations that you've attended during the sessions yesterday and Sunday. I think there are two very important words in these definitions and those are ‘empower’ and ‘enable,’ because governance is really about empowering people and enabling people to do their work in a better way. It's not about the pointy haired manager counting your key strokes or anything like that. In fact, if you look at the way that Open Source really works, Open Source is not a free for all. The successful Open Source efforts have a very strong governance model. And so I've listed here some of the governance techniques from Apache. Erich and John talked about committers. This is control about who has the right to access, to modify the code. And how the committers come together to make decisions about projects. It's policies like ‘how are we going to do licensing for the Open Source projects?’ That's a governance issue. It's issues about ‘how are we going to make decisions with the consensus based process rather than a very hierarchical process?’ So the point is that the successful Open Source efforts have strong governance models and they enable the developers, they enable the people who are using the governance mechanisms to make good decisions by a specified set of processes. MARTIN NALLY: And so good governance and process has to cover a range of things. Erich and John focused I think mostly on how development and test works in a community. But there are a number of other higher-order kind of issues that have to be addressed. And one example is how are projects started and stopped, who has the authority to do that kind of thing, and how do you achieve architectural consistency if you're managing a group of projects together and perhaps have a common release date? And then how do you achieve that kind of architectural integrity? And how do you planning especially if planning has to cover a number of related projects or components that contribute into the same project? And how do you manage an overall requirement's process again, particularly if you have a suite of projects? And Eclipse has a set of innovations in its structures and its processes and its governance over and above the Apache model to cover some of this. LEE NACKMAN: So have you ever been part of a project that's gone through an audit? Was it a good experience or not? Or were you feeling like Charlie Chaplin here, kind of like a cog in the audit machine, if you will. We think that effective governance has to be done in a way that provides value for your day to day activities. The keys are that it's part of the process. It's not something that's outside of your development process. Another key is that much of the governance can be automated. Information that supports decision-making is captured as part of what you do as a developer or as an analyst. It's part of your day to day kind of role. And you have appropriate mechanisms that give you feedback that help you make the right sorts of decisions. So effective governance is not about, you know, an onerous process. It's about being more effective in your day to day activities so that when you do have audits it's a smooth thing, that your projects are successful. As John and Erich talked about, the thing that makes developers happy is shipping, and good governance is all about being part of projects that ship and ship reliably. MARTIN NALLY: So the visible successes of Open Source, in particularly of Eclipse as John and Erich described, are great motivators for taking a look at process and governance. And also I would point out that you have to believe that this is an enjoyable experience for many people in Open Source since for many of them this is not their day jobs. For many of them this is their passion. And in addition to those motivations, we see other business drivers that are motivating people to put more emphasis on process and governance. One of them is this issue of strategic alignment -- how in an enterprise, how can I show that my investments in IT are bringing real value to my business? And in fact one of the interesting differences between Open Source development and commercial sort of enterprise-level development is the notion of financial measures and financial accountability, and we don't just leave it to volunteers voting with their time and we actually do resource allocation. Another major driver, Danny referred to this in his keynote speech yesterday -- geographical distribution is an important thing, and this takes several forms in the form of offshoring, in the form of outsourcing, or in the form of companies around the globe integrating their value chains and supply chains. And Danny also talked about compliance. Compliance is a reality in almost all industries and, in fact, most industries have to comply with many regulations simultaneously. This notion of flexibility is very important. Danny challenged us to raise the rate at which we can evolve software and improve software, and businesses are looking to be able to evolve their IT systems and to be able to keep up with their need to change in business. One of the things that people are looking at for this kind of flexibility is service oriented architectures, and service orientation -- that would be a whole talk unto itself. But one of the interesting things about services is that services are shared property. And whenever you have shared property, like our road systems or the Internet, you need good mechanisms for managing that, governing that. LEE NACKMAN: So this is really what we're after, enabling organizations to govern the business process of software and systems development. You've probably heard Roger say that phrase a number of times during the course of the conference. But I think there's some very important words here. I want to start at the end of the phrase, with software and systems development. So Rational is about helping to develop to develop software, helping organizations to develop software and also to help organizations to develop systems that incorporate software. Many, many of the products that you all produce are not just software. They are systems that incorporate software, and that's a very important part of what Rational wants to help you do. Another key phrase here is the business process of software and systems and development. Danny talked about the creation of supply chains and software development, systems development, they are essential business processes just like any other business process that an organization has, and like any process, one of the things that you want to do is to improve that process over time. You want to take feedback and you want to do better and better over time. So Rational is about helping organizations apply governance in the positive sense of the word governance to improving the business process that they use for developing their software and developing systems that incorporate software. MARTIN NALLY: So Rational has long recognized the importance of process. In fact the Rational Unified Process is one of the things that Rational is known for and famous for. We're also extremely interested in taking the newer lessons from Open Source and making those available, applying them, learning how to use those in our product suites and bring that value to our customers. One way that we're bringing both of these thoughts together is with the Eclipse process framework and we've donated some process technology to the community and we're working within the Eclipse community to evolve both the content and the tools for that process. So recognizing the value of what John and Erich described in terms of best practice processes, and governance and transparency, is an extremely important step. But taking those lessons and applying them even to one project and, more difficult still, across multiple projects is truly an organizational transformation. And that's very, very difficult thing to achieve and very illusive thing to achieve. And Rational is trying to help bring in support to people who are doing this within their organizations by continuing to provide documentation of best practices and continuing to provide the kinds of tools that allow people to take those best practices processes and to tailor them to their environments; as we saw even with Open Source there are differences, there are cultural differences and historical differences within organizations that require you to tailor those kinds of things. And we continue to integrate process guidance and process support more tightly within our tools. And, of course, we have a strong services organization. So you know we don't just have John and Erich here; we have a world famous services organization, and this specializes in bringing support to organizations to make these kind of process transformations. LEE NACKMAN: Another important aspect of doing governance in the enterprise is looking at the bigger picture, looking at a whole portfolio of projects and how do you align the projects that you're choosing to work on with your business strategy? Because, after all, what you're really trying to do is to deliver value to your business. So there's the whole question of what kind of information do you use to make decisions about starting and stopping projects? It's a combination of what kind of return do you expect from these projects? what kind of risks are associated with the project? because there's a balancing that you have to do between return and risk. How do you allocate your finite resources? You have a finite amount of money you can spend. You have a finite number of people with the right skills. How do you make those allocations? How do you understand what kind of business return you're getting on your investment and how you look at the health of the project as a way of feeding into your understanding of risk. So a very important part of what Rational is doing is tools like the Rational Portfolio Manager to help you make these higher-level balancing and trade off decisions that you need to do in the enterprise. MARTIN NALLY: So the way that Rational brings value or the way IBM brings value to our customers is through the products that we sell and the services that we sell. And the products that we sell are around the software development platform. So if we look at what are the desirable characteristics of the software development platform in order to deliver value in this way, and so certainly having a broad set of tools that cover the roles across the whole software development lifecycle is a very important thing. But the way that we tie those tools together and enable team collaboration process and governance is really the key to providing value above these point tools. The key parts of that integration include tools to support process automation. So automation of manual processes is an extremely important part of how you achieve that collaboration and how you achieve the governance and the auditability surrounding that. Another key area is the data artifacts themselves. When you go through software development, you build up a very rich set of data, and there's a very rich set of linkages between those data. And you want to be able to carry that all the way from business policies and goals and requirements through the architecture and coding phases all the way to test and deployment. And you want to be able to link those things, so I know which tests test which requirements, which test cases were run producing which test results on which test cycles, those kind of things. And finally transparency rests on being able to mine real information out of the data. So having good query and analytics capabilities and good reporting on that rich data set is part of the way that you achieve this transparency as well as part of the way that you support collaboration. LEE NACKMAN: So what we'd like to do now is to talk to you about the enhancements that we've made in Version 7 of IBM Rational's governance platform, basically to improve the ability of the products to support the kind of governance that we've been talking about. So the challenge really is this historical challenge that development organizations and build organizations and deployment organizations and testing organizations historically they've been separated and they have walls between them. Virtual walls between them. And people use very manual processes to go from one organization across the wall to the other organization. Those manual processes are labor intensive and they're also error prone. So a big goal that we had for Version 7 was to start to punch through those walls, knock those walls down and automate the transfer across those different roles in the development organization. So if you look in a little bit more detail you see different people in different roles working with source code, working with build scripts, working with test environments. And in the typical kind of development cycle, you see these kinds of problems. Why am I the last one to know that the build broke? Why don't I automatically get that information? How am I going to get some testing done if you guys in the build team can't get the builds to work? So these are the kinds of problems that people deal with that our products can help overcome. MARTIN NALLY: So what would the solution to this problem look like, what would be the desirable characteristics? The first thing is you would like the overall process to be transparent and well-documented. You don't want it to be captured in a bunch of arcane scripts. You want to be able to see clearly what's going on. And you want to have support for each one of the roles in that process, and good handoffs, automated handoffs, of the communication and the data between them. The other thing that you want going back to our platform here is you want the information, you want the activities to produce the results to have those results recorded to be able to record the history of those and to be able to record the linkages between the different artifacts that are produced in this process. LEE NACKMAN: So in Version 7 we've taken a number of big steps forward. First of all, one of the capabilities that we were missing across this whole spectrum was the ability to manage builds, manage and automate builds, get feedback from the builds. And as you may know we acquired BuildForge in May, and BuildForge is now part of the Rational Software Development Platform and it's a key part to the whole end to end lifecycle. Another major step forward in this release is the introduction of build tecords. So information about builds, into ClearQuest, and the ability to connect together those build records with information about deployment. So we have deployment records also introduced into ClearQuest, and these are linked together. An additional capability is test management integrated into ClearQuest. So you have information about test cases, test scripts, the results of running test cases, put together into ClearQuest. All of these things are linked together within ClearQuest. And optionally you can feed the deployment information that you build up in ClearQuest into the IBM Tivoli Provisioning Manager and that can take your code, your builds, rather, and provision those builds onto various kinds of servers that you can use either in test environments or in preproduction or production. Now, another important aspect of this that we've been talking about is compliance with various regulations. A key part of compliance tends to be capturing approval. Who decided that this code was ready to be deployed into the production server? Well, since all of this is managed by ClearQuest you can take advantage of the electronic signature capability of ClearQuest to capture an audit trail for essentially no work just by capturing the electronic signature of whoever does the approval. So what we've done in Version 7 is we've brought together within ClearQuest a linkage between the artifacts that you manage across the whole lifecycle. MARTIN NALLY: And so another challenge that we've improved our support for in Version 7 is that of geographic distribution. So key challenges in this area are performance over wide area network, tools deployment costs and manageability remote manageability of tools, and language support, both support for people in other geographies, but also how you coordinate the language issues and when you have people working in different, in geographies that have different languages. And then the whole business of team communication and visibility. Visibility of the information and artifacts. LEE NACKMAN: So part of the solution to the challenges of the geographic distribution are improvements that we've made in the various clients. So we've improved the scalability and the functionality of the Rational ClearQuest remote client. We've improved the performance, scalability of ClearCase Web as well as enhance the functionality of ClearQuest Web. And the same thing with RequisitePro Web. So in general we've made significant improvements to our remote capabilities with both the remote client for ClearCase and the Web clients for ClearQuest and RequisitePro. MARTIN NALLY: So another area we've made improvements is around the support for language. ClearQuest now has parity with ClearCase, supporting all the group one languages sort of the nine sort of major languages. And ClearQuest is also better positioned to support teams that work with mixed locales. And so you can now set up teams using their own locales. Collaborative teams that are collaborating together, where each one has a different locale. In this release you'll pick a particular code page for the database. And so, for example, if you had a Sino American team you might pick Latin one as being the common code page for the database that allows people to share data. In a future release we'll allow you to support Unicode, thereby allowing the Chinese team to put information in there that the American team can read thereby improving collaboration and cooperation. New translations are available. The Rational ClearCase client is available in simplified Chinese. And the Rational ClearCase for Microsoft Studio the as well as all the Eclipse based Rational, Rational ClearCase clients are supporting the Group One languages, the nine Group One languages. LEE NACKMAN: A very important part of what we've done here is we've started to unify the process infrastructure. The traceability across the lifecycle is now based on ClearQuest. So the whole lifecycle work flow is tied together across the multiple roles using ClearQuest. What this does is it gives us a number of benefits. We take advantage of the ClearQuest multi site capability for global support. We get the globalization that Martin was just talking about. It scales to large teams. And you have fewer repositories, you have a single repository where you capture all of these linkages. MARTIN NALLY: And so one thing that John and Erich talked about was their own internal deployments. And so we also, we are one of the heaviest users. We have heavy internal usage of both ClearCase and ClearQuest around the globe. And we've been using our own internal betas and release candidates for several months now in an attempt not only to harden our own stuff and to improve the quality that we deliver finally to our customers. LEE NACKMAN: There will be additional enhancements to the Version 7 products coming in the fourth quarter focused on design and construction and software quality. We will move up to Eclipse 3.2 and JDK5 support, the latest WebSphere versions. We will be changing our componentization, we'll be improving our componentization as Danny talked about getting a finer granularity in the products. And we'll be able to take advantage of that in providing a much more flexible install capability that will allow you to choose from amongst some of the finer grain components what you install. This will help address some of the footprint issues that people have talked to us about. There will be further improvements in your ability to deploy the products to your practitioner's desktops. You'll be able to make choices about which components get deployed to people in different roles. We'll also be making further enhancements in our model driven development model driven architecture and support and introducing SAP support in the Rational Functional Tester. There's lots of information available about Version 7. You can see it in action in various places throughout the conference, there was a lot of it yesterday and more available in the solution workshop and technical workshops, there's a lot of partner solutions available on Version 7. So we encourage you to take advantage of the solution center demos, the Birds of Feather session, et cetera. MARTIN NALLY: So we'd like to change gears a little bit at this point and talk a little bit about longer term futures. So we want to talk about beyond Version 7 and what are we planning for the rest of 2006 and 2007, and even beyond. An important thing here is, like most successful innovative companies, Rational invests on multiple time horizons. And the bulk of our development resources go to this sort of continued improvement and enhancements of the technologies that we have. But we also have significant investment in innovative new technologies that we believe may form the core of our products in a longer term horizon, perhaps the two to five year horizon. So we'll talk a little bit about both of those. Starting first with Version 8 which is our evolution, how we take our current product suite and improve and evolve it. We're not here today to talk about features that we're going to deliver. But we can talk to you about some of the major themes that we think will form the basis for defining those features. One of them is further improvements of the lifecycle management. So this is better integrations between the products as well as widening the scope of the products, continuing to work more with our Tivoli organization to extend into deployment. And another one is continuing to improve our support for global development, including improving WAN performance and bringing all the Web based clients up to full functional parody with the native clients. And also bringing the Eclipse plug in, the RCP, both RCP and Eclipse plug in clients up to parity with their native counterparts. And generally improving Web infrastructure. The motivations for improving Web infrastructure are multiple. One of them relates to security and better support for LDAP, et cetera. And a more consistent approach to Web infrastructure and security across our team based products. Consumability remains a huge focus. Consumability has a number of aspects, goes from everything ease of use, installation, administration, performance, these are all aspects of consumability. And finally total cost of ownership is something that we continue to hear from you as a priority and that we continue to invest in. [END OF PART 1]