Preface

Almost everyone has had the need at one point or another to keep a list of things that need to be done. Many people pick up a piece of paper every day and write down the things they want to attempt to accomplish that day. Such lists drive many people’s lives. Some people keep them in their heads, but as we get older, we need to write things down more often so as not to forget what has to be done. When you are keeping track of a list of items for yourself to do, it is pretty easy to know what has been done and what has not. You only have to depend on yourself. Updating the list is easy. Having a list of the important things to be done and reviewing it many times a day might make many people more productive.

There are a few problems with creating a list of items to keep track of. One is that it gets much more complicated when many different people are working on the items. Now you have to coordinate updates to the list from all of those people. This problem becomes harder still when some of the people live in other time zones. Now it is much harder to understand who is doing what, what has been done, and, more important, what has not been done and why. So we typically create some sort of database to keep track of these things. In the simplest form, this database may be a spreadsheet. Some people start creating their own management system from scratch to deal with these lists. These systems tend to grow over time in both complexity and cost of maintenance. Pretty soon, as your needs grow, you may find that the process you created to keep track of the items does not scale, nor does it meet your needs anymore. The management system you created will also have its own list of items that need to be done, and you may find that the cost of maintaining your custom system outweighs the benefits you are receiving from it.

In the world of software and hardware development, lists of items tell us who is doing what, what has been done, what problems are being worked on, and which products are affected by these problems. These lists become the lifeblood for many individuals. Being able to accurately understand your product’s status and exposure can help you make better decisions about what items should be worked on, what items you need to wait to be done, and what items are not as important as others.

The focus of this book is to help you implement solutions for dealing with many types of common patterns that crop up when managing items of work for large teams of people. In this introduction we briefly explain what a work item is and the business and technical environment with which work item management is involved. We will also define and explain many basic terms that are important for you to understand as you apply the techniques provided in this book.

The book’s content is organized to allow selective reading by people who are interested in only specific subjects. We explain for whom the book is intended and how different roles should read the book. Many chapters include practical sections with code examples; guidance is given for you to make the most of the provided assets so that you can reuse them in your applications. The reality is, you need some sort of management system in place to help you use the knowledge that exists in the work items. Therefore, all of the example solutions provided within the book are implemented in IBM Rational ClearQuest (CQ) and/or IBM Rational Team Concert (RTC). There are many reasons for choosing these tools to highlight the solutions we explore. Some of the reasons for using ClearQuest as the tool of choice are that it is a mature product, there are many existing examples of solutions using the tool, and its customization potential is a powerful feature. It is easier to implement the patterns we explore in ClearQuest. Theory can take you only so far; we focus on reality and the details needed to implement solutions within these two tools.

What Is a Work Item?

A work item is an object that controls the process of performing a task. The work item contains the following elements: data, presentation forms, workflow, and possibly other elements and other objects. We call it the work item triangle (see Figure P.1).

Figure P.1. Elements of the work item (the work item triangle): workflow, data, and presentation

Image

The bottom vertices of the triangle are the data that constitutes the work item and the presentation that allows the user to view and modify the data and interact with the system. The top of the triangle is the workflow. The workflow is a series of activities performed by people having the specific roles to produce a desired outcome. In different domains the outcome is different; to achieve the outcome the three elements of the triangle must be customized so that the organization will achieve the outcome in an efficient way, with minimal risk and with the highest quality.

Work items are the fundamental mechanisms for tracking and coordinating tasks within your development organization. They are governed by the workflows within your organization’s process. This book will show you practical strategies for solving typical problems that will arise when you try to implement and deploy a work item management solution based on ClearQuest or Rational Team Concert.

Chapter 1, “Work Items,” discusses work items in more detail and refers to additional materials that will help you deal with managing work items.

The Environment

The main environment to which this book pertains is the software development environment. However, many techniques can be applied to other environments, such as hardware development.

In the software development lifecycle (SDLC) there are several phases and several disciplines, as explained in the Rational Unified Process (RUP) and demonstrated in Figure 2.1 in Chapter 2, “Disciplines: Requirements, Analysis & Design.”

It is possible that different organizational units will have ownership of the process in different phases or in different disciplines. For example, defects defined during testing may have one type of work item and defects found in development or in production may have different work item types. Another example is that the work items for project activities are different from the work items for software defect resolution. So within the software development environment there are subenvironments.

Another environment to which work item management is relevant is the systems development environment. In this environment chip, electronic device, and appliance designers and developers adopt a different development lifecycle and also use different types of work items. In some cases work items to manage software are combined with work items to manage hardware. We discuss this important subject in the book as well.

This book contains a lot of content that deals with work item customization, including detailed examples of how to customize. To meet the specific requirements of each environment it is necessary to customize the three elements of the work item, and we shall explain how to customize the data, the workflow, and the presentation using ClearQuest and Rational Team Concert.

This Book’s Content

The following sections present brief summaries of the chapters of the book.

Chapter 1: Work Items

A work item is an object that contains the following elements: data, presentation forms, workflow, and possibly other elements and other objects.

Work items can be classified as changes (defects, enhancement requests, and features), tasks, activities, test plans, test cases, risks, builds, promotion, and others.

The chapter explains each of the elements, how they differ in types of changes, and the best practices for design and implementation (for example, when to combine defect and enhancement requests into a single element such as an issue; how to deal with both hardware and software defects).

Chapter 2: Disciplines: Requirements, Analysis & Design

This chapter is about the best practices used to develop ClearQuest and Rational Team Concert applications. We use the parts of the RUP methodology that are suitable to these types of applications. The following disciplines are discussed:

Requirements: Gather requirements from customers and stakeholders, organize, prioritize, solve conflicts, and get agreement.

Analysis & Design: Define types of ClearQuest clients, define the system architecture (server configuration, network topology, and firewall), databases, schema high-level design, and user interface. We have also included a section on design patterns.

This topic is continued in Chapter 7, “Disciplines, Part 2,” where we discuss four additional disciplines.

Chapter 3: The Workflow

In this chapter we discuss various methods of describing the workflow and propose some patterns for designing it. In addition, ClearQuest is known to have a static state machine. In this chapter you will learn an advanced technique for creating a dynamic workflow in ClearQuest. Some implementation benefits and examples are provided.

Chapter 4: The Data

The data of work items is stored in fields of various types. For each type of work item a set of fields is required to meet the business requirements. We shall discuss what data is required for each work item and when it is required (which state in the lifecycle). We discuss classification methods, include recommendations, and give many examples. We also discuss data grouping: necessity and techniques.

The second part of the chapter explains how to make the most of the different types of fields, such as Reference, Reference_List, Date_Time, and others.

Performance considerations with certain types of ClearQuest hooks are explained.

Chapter 5: Roles

A role is a key concept in RUP; we explain how to incorporate roles into your ClearQuest schema. Three techniques are explained, each one with different complexity levels and schema structures, to meet various organizational needs.

In addition, we explain how to take advantage of roles, such as how to auto-assign owners based on roles, how to populate choice lists based on roles, and how to notify people of events based on their roles.

The last section of the chapter explains roles in Jazz and in the ClearQuest Application Lifecycle Management (CQ-ALM) schema.

Chapter 6: Integrations

The chapter starts with a brief introduction to integration types and the value of integrating applications. It is divided between ClearQuest integrations and Jazz integrations. In the ClearQuest integrations section we describe the built-in packaged integrations, that is, ClearCase, RequisitePro, Visual SourceSafe, Microsoft Project, Build Forge, Portfolio Manager, and PurifyPlus. We continue with building new integrations, explain the methods of integrating applications with ClearQuest (e-mail, import/export, API), and give some examples: expert systems, help desk, and others.

The second part of the chapter is about Jazz integrations. We describe the Jazz platform integration technology and continue with Rational Quality Manager and Rational Team Concert integrations with ClearQuest and other products.

Chapter 7: Disciplines, Part 2

This chapter is about the best practices used to develop ClearQuest and Jazz applications. We use part of the RUP methodology to meet the needs of these types of applications. In this chapter we discuss the following disciplines:

Implementing: schema development, parallel implementation

Testing: building the test environment, testing methods

Deployment: managing multiple environments, enabling end users in the solution

Maintenance: managing change to the solution by using the solution

Chapter 8: Development

Although developing a ClearQuest schema is in many aspects similar to code development, there are significant differences due to the special environment. In this chapter we explain the special development considerations. Some of the subjects discussed are

• Schema development tips

• Common schema

• Pattern implementation in CQ and Jazz

• Packages

• Parallel development (and multiple schemas, multiple databases)

• Versioning content

• Releasing a version to production

• Globally Distributed Development (GDD) considerations and ClearQuest MultiSite

• Preparing for future product releases

Chapter 9: Metrics and Governance

The first part of the chapter is about metrics. We explain some quality metrics (such as defect density); performance metrics (how fast and efficient our process is); and how to collect, measure, and present the data. We explain the tools available to create these metrics.

The second part of the chapter is about governance. There are various aspects of governance. In this chapter we discuss the following: controls such as electronic signature, setting service level agreements (SLAs), and managing audit logs.

Another important issue that we explain is the security setting with the Security Context record and additional security measures.

Chapter 10: Test Management and Work items

In this chapter we discuss work items used in the testing process. Test management requires different considerations from change management. We review the Rational Quality Manager work items and how the different types are used. Other subjects included in this chapter are the customization of work items and the customization of other test elements.

Chapter 11: Managing Agile Projects

With the emerging popularity of Agile programming methods, organizations need to adapt their workflows and automation techniques. In this chapter we briefly describe some Agile methods and how ClearQuest can be used to create a workflow for those techniques. We dive into the Scrum processes and explain how to mange backlogs and sprints with ClearQuest. A ClearQuest schema is provided for the Scrum Agile method.

We discuss in detail how Scrum is realized using Rational Team Concert. We also discuss how to implement the Agile process with the CQ-ALM schema.

Chapter 12: Sample Applications and Solutions

In this chapter we explain some special applications and solutions that extend existing applications.

We start with a description of a Collaborative Application Lifecycle Management integrated solution with Jazz-based products: Rational Team Concert (RTC), Rational Quality Manager (RQM), and Rational Requirements Composer (RRC).

We describe a solution to extend a ClearQuest schema with project-defined fields and an example of an SLA with ClearQuest.

The Application Lifecycle Management (ALM) solution is a good basis for many applications, and we provide some examples and techniques for how to map your solution needs to the ALM packages that come with ClearQuest. We describe an integrated solution with ClearCase, ClearQuest, and Build Forge.

Finally, we describe a solution to managing release promotion in a heterogeneous environment using ClearQuest.

Audience for the Book

The book will appeal to many roles and to users with a wide range of interests. This book is for everyone who is interested in software change management.

The large community of ClearQuest users will find this book valuable. This includes all users involved in ClearQuest administration, all who are interested in developing new applications with ClearQuest, and those who want to integrate ClearQuest with other applications.

The growing community of Jazz customers will also find this book interesting. In addition to the theoretical parts, we provide examples of work item management within Rational Team Concert and Rational Quality Manager, and we have dedicated Chapter 10 to test management and a focus on Rational Quality Manager.

These roles within your organization will find value in this book:

Project managers: This role will learn how to use work items to help manage their project’s health: what metrics are important, how to triage effectively, and obtaining visibility into potentially desired workflows that meet the organization’s needs. Project managers can also learn how to use ClearQuest to manage Agile projects.

Technical leaders: This role will be exposed to solutions to various problems that may shed some light on a particular issue that affects the organization’s current challenges, for example, how to model and track activities related to a project’s development patterns using the ClearQuest ALM workflow framework.

SCM administrators: This role will be exposed to strategies for implementing solutions to problems that should benefit from a complete change management solution, for example, how the ClearQuest ALM workflows integrate with ClearCase UCM stream strategies.

Tools engineers: This role will be exposed to best practices and techniques for implementing solutions to common patterns that may be important to the organization’s needs.

Test managers: This role will find Chapter 10 of interest, especially if adopting the Jazz platform is being considered. Test managers will also be interested in various defect-tracking techniques as well as in Chapter 9.

QA managers: This role can find value in Chapter 9 as well as Chapter 10, especially if adopting the Jazz platform is under consideration.

Process analysts: Process control is discussed in several chapters, in the discipline chapters and in Chapters 3 and 9. Also, the examples of using ClearQuest ALM to model the development process should be of importance.

Experienced ClearQuest users: These users can deepen their knowledge of change management, learn new techniques, get new ideas for improving the system they work with, and learn how to implement ideas they have.

Experienced RTC and RQM users: These users can learn how to customize the Jazz work items and how to create new work item types.

How to Read This Book

This book attempts to close the gap in the existing materials on work item management. There aren’t many books or articles that discuss this subject. The book is organized in a way that will allow many users to take advantage of its contents. In each chapter we discuss the theory of the subject with examples from the industry. After discussing the theory, we dive into the practical elements of the discipline and provide implementation examples using ClearQuest, Rational Quality Manager, or Rational Team Concert. In many cases there are several solutions to the specific requirements, and we have provided proposed solutions from a lighter-weight approach to an increasingly more complex implementation.

So, how to read this book? It depends on your role and your interests.

One way is to read the book from start to finish. It is organized in a way that will make such an approach easy. For example, we have split the disciplines between two chapters in order to make sequential reading more coherent.

Another way is to first read the two chapters about disciplines: Chapter 2 and Chapter 7. They complement each other, and we have split them so that the disciplines described in each chapter are followed with the right content. If you are interested only in the theoretical part of work item management, it makes sense to read those two chapters in sequence. They include references to practical materials in other chapters so that you can learn how the discussed disciplines are implemented with the tools.

The other chapters discuss specific areas of work item management. For example, Chapter 5 discusses roles and includes implementation examples and ClearQuest scripts. If you want to improve your process governance and lifecycle efficiency, go directly to this chapter.

Another example is Chapter 11 on Agile projects. This chapter includes a theoretical part and implementation examples in ClearQuest and Rational Team Concert. If your organization is using ClearQuest and is thinking about adopting Agile practices, you must read this chapter.

You can also use it as a cookbook. If you need to resolve an issue, search in the table of contents or the index for the relevant content. You may find implementation descriptions with code examples and references to additional materials.


A Note on the Code Examples

Because of page width limitations we sometimes break command lines into two or more lines and use the backslash character () as the break character. Also in code examples you may see some unnatural indentations for the same reason.


..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.135.200.233