 | Level: Introductory Jeff Smith (lawrenjs@us.ibm.com), Process Engineer, IBM Corporation Dan Popescu (dpopescu@us.ibm.com), Process Engineer, IBM Alfredo Bencomo (bencomo@us.ibm.com), Software Engineer, IBM
12 Dec 2006 There is no shortage of methods for software development. The same goes for tooling. However, there is almost nothing on the subject of the link between process and tools. Simply using a process along with your development tools does not guarantee that one will work with or inform the other. With the IBM Rational Process Advisor, the software development practitioner has a powerful mechanism for linking the two together. This article describes the Process Advisor, as well as useful techniques that you can apply to your tooling and process development environment.
Evolution of capturing the development process
In the not-too-distant past, software development processes were captured in the form of voluminous text descriptions, if they were captured at all. These types of processes were hard to maintain, configure, and follow. In many cases, process descriptions had little or no relevance to the software development practitioner.
This evolved to process knowledge bases, one prominent example of which is the IBM® Rational Unified Process® (RUP®). RUP evolved from a simple knowledge base to an architecture based on process components, along with plug-ins that can be configured and deployed. Initial attempts to link RUP with software development tools took the form of Extended Help, in which parts of the RUP were linked to tools such as IBM® Rational® RequisitePro, IBM® Rational® TestManager, IBM® Rational® Robot, and IBM® Rational® ClearQuest® software. Now, the IBM Rational Process Advisor feature moves this concept forward by enabling the practitioner to associate RUP process guidance with particular contexts within a software development tool.
The context-sensitive relationship between the tool and the process transforms a mere linkage to a tight integration. This type of tool and process integration can help overcome several problems that software developers commonly encounter:
- Process tool disconnect (irrelevance): The process is defined and used without any real reference to using development tools.
- No suitable access to the process: Access to the process and use of the process is not suitable for the developer, and is not a part of the developer's or tester's environment
- Difficulty configuring the process: Developers are unable to use parts of a process that are specifically intended for contexts within their tool environments, such as adapting the process to the roles that the developers play in using sets of tools, because the process is role-centric.
- Lack of viable interface between the process and the tool: The process does not accommodate specific contexts within the practitioner’s environment and does not allow the practitioner to search or browse from the tool to the process.
- Inability to right-size the process for the tools: The developer or tester is unable to resize parts of the process for the particular tool environment (adapt the process to the tools employed within a project), because the process is tool-centric.
To see how the Process Advisor benefits the practitioner by overcoming these problems, let's first review some of the details of the components and the mechanics of the Process Advisor.
Description of the IBM Rational Process Advisor
To understand the Process Advisor and its unique value to the practitioner, we'll begin by describing what the Process Advisor actually is. First, we'll discuss what the elements are, then talk about Rational platform integration, and, finally, describe some of the mechanics of the Process Advisor, such as how it works with the development tool environment.
Process Advisor elements
The Process Advisor is really an integration of four elements:
- The Process Advisor itself
- The IBM® Rational® Process Browser
- The process content
- The Process Preferences page.
Together. these four components enable you to get and search process guidance, browse and manage process views, and manage process preferences from within the IBM® Rational® Software v7 Delivery Platform, as Figure 1 illustrates.
Figure 1. Use case diagram of the Process Advisor
The Process Advisor provides real-time, context-sensitive process guidance when you are working within the IBM Rational Software v7 Delivery Platform. For example, when you start to create a test in IBM® Rational® Performance Tester, the Process Advisor displays process guidance associated with that context, as Figure 2 shows.
Figure 2. The Process Advisor view in the IBM Rational Performance Tester tool
You can then browse deeper into the process configuration within the Rational Software v7 Delivery Platform by selecting specific guidance in the Process Advisor view. The Process Browser view then displays the process guidance and all associated process elements, as shown in Figure 3.
Figure 3. The Process Browser view
Larger image
Another important component is Process Search, which allows you to search a process configuration for specific guidance within the IBM Rational Software v7 Delivery Platform. (See Figure 4.)
Figure 4. The Process Search screen
The Process Preferences page (Figure 5) enables you to customize and create filters for the process guidance that the Process Advisor displays.
Figure 5. The Process Preferences page
Process Advisor integration with Rational products
The Process Advisor is now available in IBM Rational Software v7 Delivery Platform tools for both software construction and tooling:
Software development
- IBM® Rational® Software Architect
- IBM® Rational® Application Developer
- IBM® Rational® Software Modeler
- IBM® Rational® Systems Developer
Software testing
- IBM® Rational® Performance Tester
- IBM® Rational® Functional Tester
- IBM® Rational® Manual Tester
- IBM® Rational® Funtional Tester Extension
The technology for the Process Advisor is all Eclipse-based and runs on these operating systems that Eclipse 3.2.1 supports:
- Microsoft® Windows® XP and 2003
- Red Hat Enterprise Linux® WS, Desktop 3.0 and 4.0
- SUSE Linux® Desktop and Enterprise Server 9.0 and 10.0.
Process Advisor mechanics
The Process Advisor runs from within the particular tool environment. All of the Rational Software v7 Delivery Platform tools can access process guidance through the Process Advisor view.
In Rational Performance Tester, for example, if the tester selects an item in the Project Navigator, this activates a context in the Process Advisor, and the process elements display in the Process Advisor from within the Process Advisor view that you see in Figure 6.
Figure 6. The Process Advisor view for the Test Navigator context in Rational Peformance Tester
Larger image
Value of the Process Advisor
The Process Advisor provides enables your development team to work with a common development process that is configured for a practitioner-specific environment. Thus, the Process Advisor provides unique value to the development team by focusing on the practitioner level. This focus is evident in three areas: process authoring, process access, and process guidance.
Process authoring
The Process Advisor comes with a default process configuration for tools that are part of the IBM Rational Software v7 Delivery Platform. In addition to these default configurations, you can use specific process configurations that you create and publish by using the IBM® Rational® Method Composer, and then point to these configurations with the Process Advisor. (You do this on the Process Preferences page, shown previously in Figure 5.) Therefore, you can simply publish a process configuration in Rational Method Composer, use the Preferences page (Window > Preferences… > Process) to point the Process Advisor to your published process description. The Process Advisor then uses the process that you select from the Process Filter on the Process Preferences page.
The Process Preferences page is accessible from within the IBM Rational Software v7 Delivery Platform (> Windows > Preferences menu). An essential part of the Process Advisor is the ability to filter the process configuration that you point to. You can do this by selecting only roles that interest you, as a practitioner. You can also create filters for the types of topics that you are relevant to your process configuration (for example: tasks, work products, guidance, Tool Mentors, checklists, examples, and so on).
Therefore, the Process Advisor enhances the process authoring capabilities of Rational Method Composer software by creating specific context-sensitive integration between your tools and your process configuration.
Process access
The Process Advisor provides a unique accessibility and deployment mechanism for tooling and process help and consistency. Because the Process Advisor is a view that runs from within the given Eclipse shell of the IBM Rational Software v7 Delivery Platform, you can access process guidance directly, from within the tooling environment. After you select a context in the tool, if the Process Advisor is activated, the Process Advisor view will be populated with process elements that relate to that context. You can go further into the process by simply clicking the given process element in the Process Advisor, which launches the Process Browser (see Figure 7).
Figure 7. Process Browser showing the details of the process element that was selected in the Process Advisor
Larger image
In the foreground of Figure 7, you can see that the Process Advisor was activated when
the practitioner selected the Performance Schedule context in Rational Performance Tester. From the Process Advisor view, selecting the particular process element Tool Mentor that says "Create a Performance Test Using IBM Rational Performance Tester" activates the Process Browser, which then presents the detailed process content for that particular process element. From the Process Browser, you can drill down into even more process detail. This process to tool interface allows you to access context-specific process content directly from within your tooling environment.
Process guidance
Guidance can take many forms with the Process Advisor, depending on your configuration choices on the Process Preferences page. The Process Advisor offers a wide array of different type of process guidance linkage with the Eclipse desktop tool. You can use process elements, such as guidelines, Tool Mentors, examples, checklists, and so forth. With the Process Filter page, you can also display these process elements in a particular order. For instance, in the previous Rational Performance Tester example (Figure 7), there is specific Tool Mentor guidance. With the Process Filter page set to display guidance elements, such as Tool Mentors, you can select a specific context, such as the Performance Test Schedule editor. This gives you context-specific guidance on that particular aspect of Rational Performance Tester.
The practitioner benefits in each area of process: authoring, access, and guidance. In addition, the Process Advisor makes the tool-to-process integration practitioner-focused, more relevant to specific contexts within the tool, and conveniently accessible.
Process Advisor and Process Browser enhancements
Starting with the IBM Rational Software v7 Delivery Platform, several key changes have been introduced for the Process Advisor, including a collaborative use model that integrates the two spaces of process configuration and process consumption into a single process information view. This gives you:
- Better filtering of process guidance for configurations published by Rational
Method Composer
- A process context provider capable of specifying a particular configuration
as the source for the process guidance
- The ability to share a common configuration
- Greater support for the Process Advisor configuration (including a user-friendly
interface for creating new tool and process associations, plus an easier way
to create and maintain the initial associations)
The Process Browser has also been enhanced in three ways:
- Supports configurations published by Rational Method Composer
- Supports configurations packaged in an Eclipse plug-in
- Gives you the ability to to select another configuration without going through the Process
Preferences page
Note: The Process Preferences page has been enhanced with more filtering options and dynamic detection of embedded process configurations.
Acknowledgement
The authors thank Kelvin Low and Shilpa Toraskar for their excellent contributions to the Rational Process Advisor.
Resources Learn
- Visit the product resource pages on developerWorks Rational to find technical documentation, how-to articles, education, downloads, product information, and more.
-
Browse the
technology bookstore for books on these and other technical topics.
Get products and technologies
Discuss
About the authors  | |  | Jeff Smith is a method engineer with IBM. He contributes to the definition of IBM's commercial method development, with a focus on testing and validation. Before joining the IBM Rational Software commercial methods content team, he developed software for medical devices. Jeff holds an MSc in Analysis, Design, and Management of Information Systems from the London School of Economics. |
 | |  | Dan Popescu is a member of the IBM Rational Unified Process (RUP) team in Vancouver, BC, Canada. He has 19 years of software development experience on two continents and holds an MSc in Electrical Engineering. Before joining the IBM Rational Software group, Dan was a member of the 3G/GPRS team in Motorola, Canada, where he served in a variety of roles, including software architect, team lead, and process engineer. |
 | |  | Alfredo Bencomo is a Software Engineer with the IBM Method and IC Engineering Team in the Silicon Valley Lab, California. |
Rate this page
|  |