Agile development allows us to deliver software products rapidly and with high quality. Agile project development requires frequent and extensive communication between the development team, stakeholders, and users to capture the real customer needs and objectives.
When the team is in same location, agile methods emphasize face-to-face meetings over written documents to facilitate communication. However, when a team works in different locations, it becomes harder for remote communications to be efficient. When stakeholders are located elsewhere, the most important communications of product requirements can be very difficult. And because agile project management embraces change and iterative development methods, it requires an efficient tool to make design and communication easy and fast.
IBM® Rational® Requirements Composer software facilitates communication between stakeholders and development team about requirement definition and management. It enables stakeholders to collaborate in context to define requirements by using various visual and textual techniques to capture business objectives and elaborate software requirements.
After analyzing the barriers on requirement communications, Rational Requirements Composer provides three key features to support agile development (also see the Rational Requirements Composer on the Jazz.net community site).
- Collaborate to define textual and visual requirements
- Elicit, capture, and refine requirements by using a variety of definition techniques: text, storyboards, use-case diagrams, user interface sketches, and business process diagrams.
- Use the rich client and the Web UI
- Requirements authors can use the Eclipse client to create, refine, and manage requirement artifacts.
- Requirements reviewers can use the lightweight Web UI to review and comment on artifacts, with no software installation required.
Integrate with Rational RequisitePro for traceability
As you know, agile development uses iterative methods in all phases, including defining requirements in the beginning with stakeholders. If you integrate Rational Requirements Composer with IBM® Rational® RequisitePro®, you get complete traceability and can control the full iterative requirements definition process.
Figure 1 illustrates an iterative cycle for requirement definition and design for agile projects. This section elaborates on the iterative requirement definition process in agile development (see the Resources section for a link to the Rational Requirements Center Information Center for more details).
Figure 1. Iterative requirement definition process
Assess the business problem
In the first phase of iterative requirement definition, it is the business analyst's responsibility to collect information about the current business problem so that requirements can be developed successfully in the later phases. There are several ways to collect useful information. First, the business analyst arranges an interview with stakeholders and users of the system. Each stakeholder and user will have an idea of their own expectation or a complaint about the system. Second, the analyst collects documentation or relevant information resources about the current system. This is another way of information collection, especially for legacy systems.
Document the assessment
After assessing the business problem, the business analyst creates documents and other artifacts to describe the current system and the proposed solution. Those artifacts can have different forms, but usually include these items:
- Documentation of the current system
- Solution goals
- Stakeholders' requirements and expectations
- Issues and risks related to the solution
- Business process sketches
- Use case diagrams
The artifacts constitute the sources of project requirements. In Figure 1, you can see that this is the starting point of an iterative cycle, which means that this phase can be repeated iteratively if there is any change or disagreement about the requirements. The project team will also review and update the assessment iteratively to deliver the requirements baseline for the project.
Review the assessment
With assessment documented, the business analyst can ask other team members to conduct a review so that they can add their own comments to the relevant documentation. Then the analyst can discuss the comments with those members and incorporate changes into the related artifacts.
Present to stakeholders and get feedback
The project team then presents drafted artifacts to the stakeholders. These artifacts can include a requirements document, a draft user interface, user stories, and so forth. If the stakeholders think that the specified requirements are incomplete, ambiguous, or even contradictory, they can give their comments so that the project team can adjust accordingly. And that makes the iterative requirement cycle go back to the document assessment phase. You can repeat the document assessment, review assessment and presenting to stakeholders phases iteratively until the project team and stakeholders reach agreement.
Deliver the requirement baseline
When the requirement definition gets confirmation from stakeholders, the project team delivers the requirement baseline and then manages it during the project life cycle.
A step-by-step example: Fantasy Bookstore
In this section, we use an online bookstore application as example to show you how Rational Requirements Composer fits into the iterative requirements definition process.
Fantasy Bookstore is an online bookstore application used to sell books in various categories. It supports several payment methods, remittances, Cash on Delivery (COD), credit cards.
To define the requirements of Fantasy Bookstore, you can follow the process explained previously.
Set up the project
- After installing and configuring Rational Requirements Composer server, you need to connect to a repository that connects you to a Rational Requirements Composer server where your team can create projects and store project artifacts.
- Then you can create a project named
Fantasy Bookstore, using the base project template, which includes the attributes group only.
Figure 2. Connect to the repository
Create and add users to the project
After creating the project, use the administration page to add users to the project and assign member roles. In our bookstore project, we grouped the team into three roles:
- Administrator: Perform administration actions, such as setting up project and folders, manage user access, and so forth
- Author: Compose project artifacts.
- Reviewer: Review project artifacts and provide comments.
Figure 3. Manage user roles in Rational Requirements Composer
1. Assess the problem and upload artifacts
The business analyst interviews the client to gather documents and information for the Fantasy Bookstore. Then the analyst imports the documents into Rational Requirements Composer.
- In the created project, you can create folders to contain various project artifacts.
- For the existing artifacts, such as documents and images, you can use the upload feature or just drag the file from your local folder to the Rational Requirements Composer folder view. In our project, we uploaded the document for the result of the interview with the stakeholder.
Figure 4. Upload the document to the project
2. Document the assessment
The business analyst creates a series of documents and other artifacts to express the current system and the proposed solution.
- Glossaries: The business analyst extracts terms from the results of the interview with the stakeholder to create project glossary entries, such as those for catalog, shopping cart, common user, VIP user, and so forth.
- Use cases: Like other requirement analysis tools, Rational Requirements Composer provides tools and views to create use cases. Before you write use cases, create three types of actors in the bookstore project: administrator, user, VIP user. Then create seven use cases in the Fantasy Bookstore project. In the use case, you can easily add other existing artifacts in the project. The screen capture in Figure 5 shows lists all use cases in Fantasy Bookstore project.
Figure 5. Use cases
- Use case diagram: In Rational Requirements Composer, you can easily compose the use case diagram by using the existing use cases and actors, or you can simply create new ones.
Figure 6. Use case diagram
- Sketches: An important feature in Rational Requirements Composer is that it provides a handy palette and widgets to create a draft of the user interface (called the sketch) that is easy to compose and modify. The sketches help development teams to understand the requirement and present their designs in a convenient way. It is very useful in agile development projects, especially when using iterative design and implementation methods.
Sketches are composed of images, parts, panels, and pages.
- Part: You can create a common part that can be used in multipage pages. In the Fantasy Bookstore project, Victor, the UI designer, creates a header part, which is the common header of all pages, as following the screen captures in Figure 7 shows.
Figure 7. Part
- Panel: Multiple UI controls can compose a panel. Victor groups a text area and a button to create a sign-in panel (see Figure 8).
Figure 8. Panel
- Page: By combining parts and panels, you can create pages. Victor adds the header part and sig- in panel to form the sign-in page. Besides the sign-in page, Victor also creates book search pages and payment pages for other use cases (see the three examples that follow).
Figure 9. Sign-in page
Figure 10. Search page
Figure 11. Payment selection page
- Screen flow: After you have created sketches, you can create screen flow documentation to indicate the flow of pages.
- Storyboard: Storyboards present a whole user story by frames that are composed of sketches. With a storyboard, stakeholders can easily review the whole flow of the user interface and interactions. Based on the sketches, Victor creates the storyboard of a whole book shopping story. The story includes the following use cases: sign in > search a book > view book detail > add book to cart > view cart > pay for the book. The story board is composed of frames in these use cases, as Figure 12 shows. Rational Requirements Composer provides an easy way to create frames from existing sketches or previous frames. Because Fantasy Bookstore supports two payment methods, remittance and Cash on Delivery (COD), Victor creates two storyboards for these two methods.
Figure 12. Storyboard of book shopping
- Define requirements: You can create requirements from existing artifacts. For example, you can open a storyboard, right-click on the component that you want to draft a requirement for, and then select Mark As Requirement to add a requirement in Rational Requirements Composer. You can also open other artifacts, such as a use case document, and highlight text to extract a requirement, as Figure 13 illustrates.
Figure 13. Extract requirement in context
For example, in the sign-in panel, we created three requirements (see Figure 14):
- The password should be invisible.
- Show an error message if the user ID or password is invalid.
- The length of the user ID is from 3 to 20 characters.
Figure 14. Sign-in requirements
Review the assessments
After creating the artifacts and requirements, Victor invites other team members to review the assessment documentation and add comments. He sends a link to the project home page to team members in an e-mail message. He specifies the scope and purpose of the review. Team members log in to the project, navigate from the home page to the review documents and artifacts, and add comments. Comments can be added to any project artifact. Figure 15 shows an example, where Alice asks questions that she adds as comments on the sign-in page. Victor answers her questions by adding his replies as comments. All comments can be tracked easily.
Figure 15. Comments in reviews of the sign-in page assessment
Present to stakeholders and get feedback
There are two ways to present the artifacts to stakeholders:
- Export the artifacts as Microsoft® Word documents. Stakeholders can then view these artifacts locally.
- Present them by using the Web UI. Stakeholders can log into the Rational Requirements Composer server Web UI to review the project artifacts and can also add comments directly, as Figure 16 shows.
Figure 16. Review the assessments view in the Web UI
After reviewing the two payment storyboards, a stakeholder proposed a change: "The bookstore should support payment by credit cards." This is a change to the requirement. Therefore, the artifact author, Victor, modifies the related artifacts to incorporate this change.
- Add a new interview result document for this change.
- Modify glossaries by adding a term, "credit card."
- Modify payment use cases by adding a third payment method.
- Modify the payment sketch by adding the credit card option.
- Add a storyboard for payment by credit card.
- Add a requirement of payment by credit card.
Figures 17, 18, and 19 illustrate the modifications to payment sketches. Because sketches are composed from different parts and panels, it is easy to modify existing sketches for the change requirement.
Figure 17. Add payment method option
Figure 18. Add credit card input
Figure 19. Add credit card information on confirmation page
Steps 5 to 7 can be repeated iteratively until all requirements are clarified and the user interface is confirmed with stakeholders. This can fit into agile development process easily.
Deliver and manage requirement baseline in Rational RequisitePro
With iterations from step 2 to step 4, you can define the requirement baseline of the project. To manage requirements, the business analyst adds the requirements with Rational RequisitePro. Rational Requirements Composer is designed to integrate with Rational RequisitePro to cooperate in requirements management. You can choose to create and manage requirements in a Rational RequisitePro project and then import them into a Rational Requirements Composer project for more definition and elaboration. Similarly, you can define requirements in Rational Requirements Composer and add the requirements to a Rational RequisitePro project.
The goals of agile development include rapid design and customer needs validation, which requires sufficient communication iteratively with stakeholders about requirements, even when they are at different locations. However, it becomes very difficult to communicate remotely, because it can hardly be time effective on visual designs within textual documents and can hardly be traceable or consistent. As a result, agile development will encounter a barrier when stakeholder and development teams need to communicate on requirements remote in each iteration.
This article explains how Rational Requirements Composer helps you overcome this barrier and how it facilitates remote communications about requirements. With Rational Requirements Composer, project teams can create use cases, UI sketches, and storyboards fast, and get stakeholder's feedback iteratively. These textual and visual artifacts enable efficient collaboration in the requirement definition phase. All requirements can easily be transformed to Rational RequisitePro, and then be managed throughout the project life cycle.
- Get more configuration details from Rational Requirements Composer Information Center.
- Learn about Rational Requirements Composer on the Jazz community site.
- Watch this 10-minute demo to learn about the full scope of IBM Rational Requirements Composer and its capabilities.
- Explore the Rational Requirements Composer Information Center.
- Join the discussion in the Rational Requirements Composer forum about all aspects of requirements definition, including both general, tool-independent concepts and tool-specific information.
- Try the free trial of IBM Rational Requirements Composer.
- Learn about other applications in the IBM Rational Software Delivery Platform, including collaboration tools for parallel development and geographically dispersed teams, plus specialized software for architecture management, asset management, change and release management, integrated requirements management, process and portfolio management, and quality management.
- 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 trial versions of IBM Rational software.
- Download these IBM product evaluation versions and get your hands on application development tools and middleware products from DB2®, Lotus®, Tivoli®, and WebSphere®.
Dig deeper into Rational software on developerWorks
Experiment with new directions in software development.
Read and subscribe for the best and latest technical info to help you deal with your development challenges.
Software development in the cloud. Register today and get free private projects through 2014.
Evaluate IBM software and solutions, and transform challenges into opportunities.