Ravenbrook / Projects / Perforce Defect Tracking Integration


Perforce Defect Tracking Integration Project

Perforce Defect Tracking Integration Project Requirements

Gareth Rees, Ravenbrook Limited, 2000-05-24

1. Introduction

This document defines the requirements of the Perforce Defect Tracking Integration Project. The purpose of the document is to record and maintain our current best idea of what the customers want (the "holy grail" of the project, see [RB 1999-05-20]), so that we can justify project decisions in terms of those requirements, review project decisions, and achieve quality by meeting those requirements.

This document does not record our opinion of what we actually intend to do at any particular time: that information is in the project plan [RB 2000-08-10]. It does not record our opinion of what is feasible or possible. What the customer wants is what the customer wants, and we strive to approach it even if we can never satisfy it [RB 1999-05-20, 4].

The requirements are, as far as we can make them, an objective measure of what the users want, and what would best contribute to the projects goals [RB 2000-05-24]. They aren't a to-do list for the project. Meeting some of them may not be feasible, but we should still use them to measure the quality of our solutions.

This document is updated as the requirements change.

The intended readership of this document is anyone interested in the project.

This document is not confidential.

The unanswered questions in [RB 2000-05-05, 14] do not appear in this document. Their answers will be incorporated when known.

2. Summary

There are a great many requirements in this document. This section summarises those which have been most important to the project. Note that this section is written and maintained with hindsight. It would not have been possible to say which requirements were most important when we first framed them.

Requirements 1 to 5 are the key critical high level requirements for the project.

  1. Defect tracker state is consistent with the state of the product sources.
  2. The defect tracking integration makes the jobs of the developers and managers easier (i.e. make it easier for them to produce a quality product etc.).
  3. It is easy to discover why the product sources are the way they are, and why they have changed, in terms of the customer requirements.
  4. The interface that allows Perforce to be integrated with defect tracking systems is public, documented, and maintained.
  5. The integration provides the ability to ask questions involving both the defect tracking system and the SCM system.

The most influential functional requirement is that users must be able to carry out routine tasks using either the Perforce's interface [requirement 41]. That is, users must not have to switch interfaces to carry out routine development or defect resolution tasks. Meeting this requirement makes it much easier for developers to keep defect tracking data up to date, and so gives managers a more accurate view of the quality of the software their teams are developing: information vital for planning, amongst other things.

Perhaps the second most influential requirement is that the project must deliver a kit that makes it possible for anyone to integrate Perforce with the defect tracking system that they use [requirement 20]. This demands that the software be in an open source form (requirement 23), using readily available tools (requirement 24), is cheap to modify (requirement 25) and extend (requirement 26).

The requirements to integrate with TeamTrack (requirement 6) and Bugzilla (requirement 18) were quite important, but that choice was mostly made by analysing the prospective defect trackers against the projects goals [RB 2000-07-04].

Installation time (requirement 63) and likeability (requirement 75) have had a big influence on the project, causing quite a major change of design after the alpha programme.

3. Document conventions

We give the requirements unique IDs so that we can refer to them in our justifications. The IDs are simply sequential numbers, and we refer to requirements as simply "requirement N".

The requirements are never modified in such a way as to make references to requirements invalid. This is vitally important as many project activities are justified in terms of requirements. References to requirements are even written into the source code.

We record the sources of the requirements, so that they are justified in terms of what customers have actually said. This means that we can understand the importance of each requirement, and can cope with change.

The words "task", "integration" and "kit" have specific meanings in the context of this project, as defined in [RB 2000-05-05, 2.3].

The requirements are presented in a table whose columns are:

For functional requirements, the measure is just a statement which is true or not. For attribute requirements it's typically a scale of some sort and a unit.

The terms "critical", "essential", "optional" and "nice" have fairly precise meanings (originally defined in [RB 2000-05-05, 2.2]):

critical
The project would fail if the requirement were not met at this level. Failing to meet any critical requirement will cause the project to fail to meet its goals.
essential
The project should meet the requirement at this level, but the project could still meet its goals without meeting it, possible after renegotiation with the customer. Most requirements we document fall into this category.
optional
The project wouldn't fail to meet its goals if the requirement weren't met at this level. The project will try to meet this level, but may elect not to in order to deliver or because of constraints on resources.
nice
Meeting the requirement at this level would help it along, but in general this level should only be met if it can be done cheaply, for example, as a side-effect of meeting higher levels of other requirements. These requirements can contribute a great deal to customer satisfaction and goodwill. Also known as "extra credit".

The entry in each cell is a level for the measure; either a minimum level (for measures like likeability where higher levels are better) or a maximum level (for measures like cost where lower levels are better). The entries for an attribute requirement look like this:

Measure Critical Essential Optional Nice
Cost of the product, in dollars. < 1,000 < 500 < 100 < 50

The above entries mean that it is critical that the cost of the product be less than $1,000, it is essential that the cost be less than $500, it is optional that the cost be less than $100 and it would be nice if the cost were less than $50.

The entries for a functional requirement look like this:

Measure Critical Essential Optional Nice
Product is blue. Maybe Yes Yes Yes

The above entries mean that it is essential that the product be blue (and therefore it is also optional and nice that it be blue) but it is not critical that it is blue (or that it is not blue).

The method used here is similar to the attribute specification method in [Gilb 1988, 9]. Our "critical" level roughly corresponds to Gilb's "worst limit", our "essential" level roughly corresponds to Gilb's "planned" and our "optional" and "nice" levels roughly correspond to Gilb's "best limit". Gilb's attribute specification tables also have a "now" column which we express in our project plan and quality reports.

4. Requirements

Id Measure Critical Essential Optional Nice Sources
1 Defect tracker state is consistent with the state of the product sources. Yes Yes Yes Yes [RB 2000-04-11, 3.1]
[RB 2000-05-05, 3.1]
2 The defect tracking integration makes the jobs of the developers and managers easier (i.e. make it easier for them to produce a quality product etc.). Yes Yes Yes Yes [RB 2000-04-11, 3.2]
[RB 2000-05-05, 3.2]
3 It is easy to discover why the product sources are the way they are, and why they have changed, in terms of the customer requirements. Yes Yes Yes Yes [RB 2000-04-11, 3.3]
[RB 2000-05-05, 3.3]
4 The interface that allows Perforce to be integrated with defect tracking systems is public, documented, and maintained. Yes Yes Yes Yes [RB 2000-04-11, 3.4]
[RB 2000-05-05, 3.4]
5 The integration provides the ability to ask questions involving both the defect tracking system and the SCM system. Yes Yes Yes Yes [RB 2000-04-11, 3.5]
[RB 2000-05-05, 3.5]
6 Perforce is integrated with tTrack by TeamShare. Obsolete requirement. The TeamTrack integration is now developed, maintained, and supported by TeamShare [ref?]. [RB 2000-05-05, 4.1.1]
7 The integration supports all of the operations currently available in the tTrack integration with other SCM systems. Obsolete requirement. The TeamTrack integration is now developed, maintained, and supported by TeamShare [ref?]. [RB 2000-05-05, 4.1.1]
8 The integration uses the TeamShare C++ interface to the tTrack database. Obsolete requirement. The TeamTrack integration is now developed, maintained, and supported by TeamShare [ref?]. [RB 2000-05-05, 4.1.1]
9 Perforce is integrated with DevTrack by TechExcel. Obsolete requirement. TechExcel now produce their own integration. [RB 2000-05-05, 4.1.2]
10 The integration uses the DevTrack COM interface to the DevTrack database. Obsolete requirement. TechExcel now produce their own integration. [RB 2000-05-05, 4.1.2]
11 The integration supports all the operations currently available in the DevTrack integration with Visual SourceSafe (Attach, Detach, Check In, Check Out, Undo Check Out, Get, View Detail, Label, Directory). Obsolete requirement. TechExcel now produce their own integration. [RB 2000-05-05, 4.1.2]
[RB 2000-11-04, 5.1]
12 The integration supports versioning of documents in DevTrack's document management interface. Obsolete requirement. TechExcel now produce their own integration. [RB 2000-05-05, 4.1.2]
13 Perforce is integrated with Remedy ARS by Remedy. Maybe Maybe Yes Yes [RB 2000-05-05, 4.1.3]
14 The integration uses the Remedy API. Maybe Yes Yes Yes [RB 2000-05-05, 4.1.3]
15 Perforce is integrated with TRACKWeb Defects by Soffront. Maybe Maybe Maybe Yes [RB 2000-05-05, 4.1.4]
16 The integration supports all of the operations currently available in the TRACKWeb Defects integration with other SCM systems. Maybe Yes Yes Yes [RB 2000-05-05, 4.1.4]
17 The integration uses the COM interface to the TRACKWeb Defects database. Maybe Yes Yes Yes [RB 2000-05-05, 4.1.4]
18 Perforce is integrated with Bugzilla. Maybe Maybe Yes Yes [RB 2000-05-05, 4.1.5]
19 Perforce is integrated with Peregrine Systems' forthcoming defect tracking system. Maybe Maybe Maybe Yes [RB 2000-05-05, 4.1.6]
20 Non-Perforce people are able to integrate Perforce SCM with defect tracking systems. Yes Yes Yes Yes [RB 2000-05-05, 5]
21 The amount of effort required to extend the integration to work with a new defect tracking system, in person-weeks. < 24 < 8 < 2 < 1 [RB 2000-05-05, 5.1]
22 The integration design is documented. Yes Yes Yes Yes [RB 2000-05-05, 5.1]
23 The integration is open. Yes Yes Yes Yes [RB 2000-05-05, 5.1]
24 The integration is implemented using readily available tools. Yes Yes Yes Yes [RB 2000-05-05, 5.1]
25 The integration design is modifiable at reasonable cost. Yes Yes Yes Yes [RB 2000-05-05, 5.1]
26 The amount of effort required to port the integration to a new operating system, in person-week, provided the tools on which the integration is based are available and stable on that operating system. < 24 < 8 < 2 < 1 [RB 2000-05-05, 5.2]
27 The integration is stable. Yes Yes Yes Yes [RB 2000-05-05, 5.3]
28 Perforce avoids making changes to Perforce SCM which break integrations based on this project's products. Maybe Yes Yes Yes [RB 2000-05-05, 5.3]
29 Perforce keeps the cost of changes to the integration small for others that have made integrations based on this project's products. Yes Yes Yes Yes [RB 2000-05-05, 5.3]
30 The integration is maintained: it is modified so that it continues to work as other software changes around it. Yes Yes Yes Yes [RB 2000-05-05, 5.4]
31 Perforce changes the integration so that it continues to work with new releases of other Perforce software. Maybe Yes Yes Yes [RB 2000-05-05, 5.4]
32 Perforce changes the integration so that it continues to work with new releases of supported defect tracking systems. Maybe Yes Yes Yes [RB 2000-05-05, 5.4]
33 The integration is supported: customers are able to get help with using the software and resolving or working around defects in it. Yes Yes Yes Yes [RB 2000-05-05, 5.5]
34 Perforce support are able to answer questions about integrating Perforce with defect tracking systems. Maybe Yes Yes Yes [RB 2000-05-05, 5.5]
35 The integration is supportable at reasonable cost. Maybe Yes Yes Yes [RB 2000-05-05, 5.5]
36 The integration project delivers the ability to drive Perforce from the defect tracking system early. Obsolete requirement. The time at which this could have been met has passed. [RB 2000-05-05, 5.6]
37 The integration allows routine defect resolution tasks from the defect tracking system alone without the converse requirement. Obsolete redundant requirement. See requirement 38. [RB 2000-05-05, 5.6]
38 Developers are able to carry out routine defect resolution tasks using only the defect tracker's interface. Maybe Maybe Yes Yes [GDR 2000-05-03, 5.1]
[RB 2000-05-05, 6.1]
[RB 2000-11-04, 5.1]
39 Developers are able to get copies of, check out, etc. files associated with a task using the defect tracker's interface. Maybe Maybe Yes Yes [GDR 2000-05-03, 6.3]
[RB 2000-05-05, 6.1]
[RB 2000-11-04, 5.1]
40 The defect tracker displays the list of files associated with a task and allow actions on (groups of) those files. Maybe Maybe Yes Yes [RB 2000-05-05, 6.1]
[RB 2000-11-04, 5.1]
41 Developers are able to carry out routine defect resolution tasks using only the Perforce interface. Maybe Yes Yes Yes [GDR 2000-05-03, 5.1]
[RB 2000-05-05, 6.2]
42 Developers are able to see the tasks assigned to them through the Perforce interface. Maybe Yes Yes Yes [RB 2000-05-05, 6.2]
43 Developers are able to check out the files associated with a task easily using the Perforce interface. Maybe Maybe Yes Yes [GDR 2000-05-03, 6.3]
[RB 2000-05-05, 6.2]
44 Developers are able to associate the changes they made in order to complete a task with that task. Maybe Yes Yes Yes [GDR 2000-05-03, 6.5]
[GDR 2000-05-03, 6.6]
[RB 2000-05-05, 6.3.1]
45 The integration allows association of changes with tasks at submit time. Maybe Yes Yes Yes [GDR 2000-05-03, 6.8]
[RB 2000-05-05, 6.3.1]
46 The integration allows association of changes with tasks after submit time. Maybe Yes Yes Yes [GDR 2000-05-03, 6.7]
[RB 2000-05-05, 6.3.1]
47 The integration allows changes to be associated with more than one task. Maybe Yes Yes Yes [RB 2000-05-05, 6.3.1]
48 The integration allows tasks to be associated with more than one change. Maybe Yes Yes Yes [RB 2000-05-05, 6.3.1]
49 The integration allows recording of the impact of the change on the task (e.g. whether it "fixes" it or what). A changelist might only be an analysis, or a back out, or some other thing which doesn't resolve the issue. Maybe Maybe Yes Yes [GDR 2000-05-05, 2.2]
[RB 2000-05-05, 6.3.1]
50 Developers are able to identify the tasks that they are working on. Maybe Yes Yes Yes [GDR 2000-05-03, 6.9]
[RB 2000-05-05, 6.3.2]
51 Developers are able to find out why (in terms of tasks) they have files checked out. Maybe Maybe Yes Yes [GDR 2000-05-03, 6.9]
[RB 2000-05-05, 6.3.2]
52 Developers are able to find out where the partially completed work on a task is. Maybe Maybe Yes Yes [GDR 2000-05-03, 6.10]
[RB 2000-05-05, 6.3.2]
53 Developers are able to branch and merge the files associated with a task. Maybe Maybe Maybe Yes [GDR 2000-05-03, 6.4]
[RB 2000-05-05, 6.3.3]
54 The analyst is able to associate (groups of) files with the task. Maybe Maybe Yes Yes [GDR 2000-05-03, 6.2]
[RB 2000-05-05, 7.1]
[RB 2000-11-04, 5.1]
55 The analyst is able to record the nature of the association. Maybe Maybe Maybe Yes [RB 2000-05-05, 7.1]
56 The manager is able to prevent unapproved changes to (groups of) files. Maybe Yes Yes Yes [RB 2000-05-05, 8.1]
[RB 2000-11-04, 5.1]
57 The manager is able to limit users' ability to change files to those associated with issues assigned to them. Maybe Yes Yes Yes [RB 2000-05-05, 8.1]
[RB 2000-11-04, 5.1]
58 The manager is able to limit users' ability to merge changes into a codeline until the change is approved. Maybe Maybe Yes Yes [RB 2000-05-05, 8.1]
59 The manager is able to limit users' ability to access (at all) files to those associated with issues assigned to them. Maybe Maybe Maybe Yes [RB 2000-05-05, 8.1]
60 The SQA group are able to produce (often for the customer) a report showing that the defect tracker's idea of the status of issues affecting a release matches Perforce's idea of the changes that have been made for that release, highlighting any discrepancy. Maybe Yes Yes Yes [GDR 2000-05-03, 6.12]
[RB 2000-05-05, 10.1]
61 Experience required of administrators of the integrated system. Split into requirement 114 and requirement 115. [RB 2000-05-05, 11.1]
62 The integration is installable by the administrator. Obsolete redundant requirement. See requirement 63. [RB 2000-05-05, 11.2]
63 Time taken for the administrator to install the integration for a supported defect tracking system, in person-hours. < 40 < 16 < 8 < 3 [RB 2000-05-05, 11.2]
64 Time taken for the administrator to remove the integration from a supported defect tracking system, in person-hours. < 40 < 16 < 8 < 3 [RB 2000-05-05, 11.2]
65 The integration only makes additions to the Perforce state and the defect tracker state (i.e. it should not delete information). Obsolete requirement. Redundantly specified a solution to requirement 64. [RB 2000-05-05, 11.2]
66 The changes that are made by installing the integration are clearly documented. Obsolete requirement. Redundantly specified a solution to requirement 64. [RB 2000-05-05, 11.3]
67 The integration logs changes that it makes so that they can be undone in an emergency. Yes Yes Yes Yes [RB 2000-05-05, 11.3]
68 Administrators are able to develop new queries of the defect tracker's database and the relationship between issues, tasks, changelists, revisions, and files. Maybe Yes Yes Yes [RB 2000-05-05, 11.4]
69 Competence required of users of the defect tracker's interface to Perforce. < reasonable Perforce competence. < knowledge of Perforce basics. < basic familiarity with SCM concepts (e.g. a VSS user). < no previous SCM experience. [RB 2000-05-05, 12.1]
70 Competence required of users of the Perforce interface to the defect tracker. < reasonable competence with jobs. < reasonable competence with Perforce. < knowledge of Perforce basics. < no previous SCM experience. [RB 2000-05-05, 12.1]
71 Users are able to find out which tasks have affected a file's or group of files' development using either the defect tracker's interface or the Perforce interface. Split into requirement 108 an requirement 109. [GDR 2000-05-03, 6.11]
[RB 2000-05-05, 12.2]
72 Users are able to find out why a changelist was made in terms of tasks from either the defect tracker's interface or the Perforce interface. Split into requirement 110 and requirement 111. [GDR 2000-05-03, 6.13]
[RB 2000-05-05, 12.2]
73 Users are able to find out which changelists were made for a task from either the defect tracker's interface or the Perforce interface. Split into requirement 112 and requirement 113. [GDR 2000-05-03, 6.16]
[RB 2000-05-05, 12.2]
74 Users are able to find out which files are associated with an issue from either the defect tracker's interface or the Perforce interface. Split into requirement 103 (from DT interface) and requirement 104 (from Perforce interface). [GDR 2000-05-03, 6.14]
[RB 2000-05-05, 12.2]
75 Extent to which users like the integration. > a slap round the face with a wet fish. > the defect tracking system. > Perforce. > a cup of really good coffee. [RB 2000-05-05, 12.3]
76 Effort required of Christopher Seiwald, in weeks. < 6 < 4 < 2 < 1 [RB 2000-05-05, 13.2.1]
77 Proportion of time required of Gareth Rees. < 90% < 75% < 50% < 0% [RB 2000-05-05, 13.2.2]
78 Proportion of time required of Richard Brooksby. < 60% < 30% < 25% < 10% [RB 2000-05-05, 13.2.2]
79 Cost of the project. < some amount to be decided by Perforce. < $300k < $150k < $100k [RB 2000-05-05, 13.3]
80 The integration project uses Perforce as its SCM tool. Maybe Yes Yes Yes [RB 2000-05-05, 13.4]
81 The integration project uses open languages and tools. For example, we shouldn't require people to buy Visual Basic in order to integrate, but we might ask them to have Python or something similar. Obsolete requirement. Redundantly specified a solution to requirement 24. [RB 2000-05-05, 13.4]
82 The integration project uses Python as its implementation language. This appears to be a generally favoured language of Perforce customers. I gather this from Perforce's own use of Python and discussions at the Perforce User Conference 1999. Obsolete requirement. Reduntantly specified a solution to requirement 63, requirement 21, and requirement 75. [RB 2000-05-05, 13.4]
83 The integration project uses Perl as its implementation language. It's less favoured than Python. Obsolete requirement. Reduntantly specified a solution to requirement 63, requirement 21, and requirement 75. [RB 2000-05-05, 13.4]
84 The project increases goodwill toward Perforce from their customers. Yes Yes Yes Yes [RB 2000-02-02, section 3, goal 2]
[RB 2000-05-05, 13.5]
85 The project progress and status are open to Perforce customers. Maybe Yes Yes Yes [RB 2000-05-05, 13.5]
86 The project is responsive to customer queries. Maybe Yes Yes Yes [RB 2000-05-05, 13.5]
87 The project supports customers trying to integrate with supported defect trackers. Yes Yes Yes Yes [RB 2000-05-05, 13.5]
88 The project supports customers trying to integrate with other defect trackers using the kit. Maybe Yes Yes Yes [RB 2000-05-05, 13.5]
89 The project develops goodwill from defect tracking vendors toward Perforce. Maybe Yes Yes Yes [RB 2000-05-05, 13.5]
90 The project develops goodwill from supported defect tracking system vendors. Maybe Yes Yes Yes [RB 2000-05-05, 13.5]
91 The project develops goodwill from other defect tracking vendors. Maybe Maybe Yes Yes [RB 2000-05-05, 13.5]
92 Testers are able to find out what exactly has changed for a release or because of an issue for white box testing. Maybe Yes Yes Yes [RB 2000-05-05, 14.3]
93 Testers are able to manage test suite stuff and changes to that. Maybe Yes Yes Yes [RB 2000-05-05, 14.3]
94 Testers are able to associate regression test sources and stuff with issues. Maybe Yes Yes Yes [RB 2000-05-05, 14.3]
95 Customers are able to migrate from their existing defect tracking systems (not Perforce jobs) to a Perforce integrated defect tracker. Maybe Maybe Yes Yes [RB 2000-05-05, 14.4]
96 The integration copes with multiple Perforce servers. (This means that the integration should cope with organizations where a defect tracking system track defects for projects whose configurations are managed on multiple Perforce servers.) Maybe Yes Yes Yes [RB 2000-06-20, 4]
97 The integration copes with multiple defect tracking systems. (This means that the integration should cope with organizations where a Perforce server manages configurations for projects whose defects are tracked on multiple defect tracking systems.) Maybe Maybe Yes Yes [RB 2000-06-20, 4]
98 The integration copes with organizations that have a many-to-many relationship between their Perforce servers and defect tracking systems. Maybe Maybe Maybe Yes [RB 2000-06-20, 4]
99 Set of Perforce server platforms supported by the integration. >= { Windows NT } >= { Windows NT, Solaris } >= { Windows NT, Solaris, Linux } >= all server platforms supported by Perforce. [RB 2000-06-20, 4]
100 Set of defect tracking system platforms supported by the integration. >= { Windows NT } >= { Windows NT, Solaris } >= { Windows NT, Solaris, Linux } >= { Windows NT, Solaris, Linux, Windows 2000, AIX, HP-UX } [RB 2000-06-20, 4]
[GDR 2000-06-08]
101 Set of defect tracking database platforms supported by the integration. >= { Windows NT } >= { Windows NT, Solaris } >= { Windows NT, Solaris, Linux } >= { Windows NT, Solaris, Linux } [RB 2000-06-20, 4]
102 Set of defect tracking databases supported by the integration. >= { Microsoft SQL Server, Oracle } >= { Microsoft SQL Server, Oracle } >= { Microsoft SQL Server, Oracle, MySQL } >= { Microsoft SQL Server, Oracle, MySQL, Microsoft Access, Sybase, Informix, DB2, dBase IV } [RB 2000-06-20, 4]
[GDR 2000-06-08]
103 Users are able to find out which files are associated with an issue from the defect tracker's interface. Maybe Maybe Yes Yes [GDR 2000-05-03, 6.14]
[RB 2000-05-05, 12.2]
[RB 2000-11-04, 5.1]
104 Users are able to find out which files are associated with an issue from the Perforce interface. Maybe Maybe Yes Yes [GDR 2000-05-03, 6.14]
[RB 2000-05-05, 12.2]
[RB 2000-11-04, 5.1]
105 Details of changelist made for a task that the user can see from the defect tracker's interface. description, user, client, time as critical plus file revisions as essential plus edits made (diffs) all Perforce information [RB 2000-11-04, 5.1]
106 The procedures, policies, and workflow enforced by the defect tracker are also imposed on users of Perforce by the integration. Maybe Yes Yes Yes [RB 2000-11-04, 5.1]
[Goffin 2000-10-26]
107 Versions of Perforce which work with the integration. >2000.2 >2000.2 >2000.2 >2000.1 [GDR 2000-09-16]
108 Users are able to find out which tasks have affected a file's or group of files' development using the defect tracker's interface. Maybe Yes Yes Yes [GDR 2000-05-03, 6.11]
[RB 2000-05-05, 12.2]
109 Users are able to find out which tasks have affected a file's or group of files' development using the Perforce interface. Maybe Yes Yes Yes [GDR 2000-05-03, 6.11]
[RB 2000-05-05, 12.2]
110 Users are able to find out why a changelist was made in terms of tasks from the defect tracker's interface. Maybe Yes Yes Yes [GDR 2000-05-03, 6.13]
[RB 2000-05-05, 12.2]
111 Users are able to find out why a changelist was made in terms of tasks from the Perforce interface. Maybe Yes Yes Yes [GDR 2000-05-03, 6.13]
[RB 2000-05-05, 12.2]
112 Users are able to find out which changelists were made for a task from the defect tracker's interface. Maybe Yes Yes Yes [GDR 2000-05-03, 6.16]
[RB 2000-05-05, 12.2]
113 Users are able to find out which changelists were made for a task from the Perforce interface. Maybe Yes Yes Yes [GDR 2000-05-03, 6.16]
[RB 2000-05-05, 12.2]
114 Perl or Python hacking experience required of administrators of the integrated system, in weeks. < 50 0 0 0 [RB 2000-05-05, 11.1]
115 Perforce administration experience required of administrators of the integrated system, in weeks. < 100 < 50 < 25 < 1 [RB 2000-05-05, 11.1]
116 Capacity of the integrated system (maximum number of recorded defects that can be handled). 10,000 100,000 1,000,000 Not limited by the replicator [GDR 2001-06-30, 3]
117 Performance of the integrated system (rate of handling activity during interactive operation). 1,000 events per day 10,000 events per day 100,000 events per day Not limited by the replicator (able to handle all activity of the defect tracker and Perforce) [GDR 2001-06-30, 4]
118 Performance of the integrated system (rate of handling data during batch operation). 166 defects per hour 1666 defects per hour 83333 defects per hour 83333 defects per hour [GDR 2001-06-30, 4]
119 Responsiveness of the integrated system (elapsed time before changes made in one system are available in the other), in seconds. 300 60 30 10 [GDR 2001-06-30, 5]
120 Customers are able to migrate from using Perforce jobs to a Perforce integrated defect tracker. Maybe Maybe Yes Yes [RB 2000-05-05, 14.4]
121 Developers are able to create issues from the Perforce interface. Maybe Maybe Yes Yes [GDR 2000-05-03, 5.1]
[RB 2000-05-05, 6.2]
122 Administrators are able to use their existing Perforce jobspec with the P4DTI. No Yes, with some additional jobspec fields and advanced configuration work (some Python scripting). Yes, with a few additional jobspec fields but no advanced configuration. Yes, with no jobspec changes and no advanced configuration. [NB 2002-12-17, 4.8] [NB 2003-02-13, 4.3]

A. References

[RB 2000-08-10] "Perforce Defect Tracking Integration Project Plan"; Richard Brooksby; Ravenbrook Limited; 2000-08-10.
[GDR 2000-05-03] "Requirements and use cases for Perforce/defect tracking integration"; Gareth Rees; Ravenbrook Limited; 2000-05-03.
[GDR 2000-05-05] "Meeting with Pixo, 2000-05-04"; Gareth Rees; Ravenbrook Limited; 2000-05-05.
[GDR 2000-06-08] "Defect tracking system requirements"; Gareth Rees; Ravenbrook Limited; 2000-06-08.
[GDR 2000-09-16] "Re: Is 'p4 counter logger 0' idempotent?" (e-mail message); Gareth Rees; Ravenbrook Limited; 2000-09-16.
[GDR 2001-06-30] "Capacity and performance requirements for the P4DTI"; Gareth Rees; Ravenbrook Limited; 2001-06-30.
[Gilb 1988] "Principles of software engineering management"; Tom Gilb; Addison-Wesley; 1988; ISBN 0-201-19246-2.
[Goffin 2000-10-26] "Bugzilla integration" (e-mail message); Paul Goffin; Baltimore Technologies; 2000-10-26.
[NB 2002-12-17] "P4DTI Version 2 Requirements Analysis"; Nick Barnes; Ravenbrook Limited; 2002-12-17.
[NB 2003-02-13] "P4DTI Version 2 Revised Estimates"; Nick Barnes; Ravenbrook Limited; 2003-02-13.
[RB 1999-05-20] "Product Quality through Change Management"; Richard Brooksby; Geodesic Systems; 1999-05-20; <URL: http://richard.brooksby.org/1999/05/20/pqtcm/>.
[RB 2000-02-02] "Steps to Defect Tracking"; Richard Brooksby; Ravenbrook Limited; 2000-02-02.
[RB 2000-04-11] "User Requirements for Defect Tracking"; Richard Brooksby; Ravenbrook Limited; 2000-04-11.
[RB 2000-05-05] "Requirements for defect tracking integration"; Richard Brooksby; Ravenbrook Limited; 2000-05-05.
[RB 2000-05-24] "Perforce Defect Tracking Integration Project Goals"; Richard Brooksby; Ravenbrook Limited; 2000-05-24.
[RB 2000-06-20] "Platform Survey for Perforce Defect Tracking Integration"; Richard Brooksby; Ravenbrook Limited; 2000-06-20.
[RB 2000-07-04] "Vendor Recommendation for Defect Tracking Integration"; Richard Brooksby; Ravenbrook Limited; 2000-07-04.
[RB 2000-11-04] "Perforce Defect Tracking Integration Alpha Programme Report"; Richard Brooksby; Ravenbrook Limited; 2000-11-04.

B. Document History

2000-05-24 RB Created based on [RB 2000-05-05].
2000-05-25 RB Removed CSS dependency. Added licence.
2000-05-26 GDR Converted requirements in [RB 2000-05-05] to a table.
2000-05-30 GDR Turned requirement identifiers into links to themselves so that links to them can be copied out of a browser. Added purpose to Introduction. Removed bogus requirement (orginally #38) that got in by mistake. Added summary of key requirements.
2000-06-01 GDR Fixed some broken XHTML. Added references to document conventions. Added note about unanswered questions. Clarified requirements 39 and 43.
2000-06-30 GDR Made references link directly to target, rather than the references section.
2000-07-04 GDR New requirements 96, 97, 98, 99, 100, 101 and 102, based on [RB 2000-06-20]. Reformulated table into measure and target values. Used "maybe" when a functional requirement need not be satisfied at a given level. Wrote some paragraphs about how to read the table.
2000-07-05 GDR Added platform requirements based on [GDR 2000-06-08].
2000-08-02 GDR Added note indicating that requirements are objective measures, not a to-do list.
2000-09-19 RB Updated requirements to a more current understanding of customer priorities. Downgraded requirements 9, 51 to optional. Downgraded requirement 15 to nice. Upgraded requirement 18 to optional. Downgraded requirements 28, 31, 32, 34, 35, 38, 39, 41, 42, 44-48, 54, 60, 71-74, 92-94 to essential. Obsoleted requirements 62, 65, 66, 81.
2000-11-04 RB Updated requirements in response to alpha programme [RB 2000-11-04]. Obsoleted requirements 37, 82, 83. Split requirement 74 into requirement 103 and requirement 104.
2000-11-07 RB Updated requirements in response to alpha programme [RB 2000-11-04]. Downgraded requirement 11, 16, 38, 39, 40, 54, 103, 104, to optional. Upgraded requirement 56, 57 to essential. Added requirement 105.
2000-11-08 RB Added requirement 107 to cover supported Perforce versions.
2000-12-18 RB Obsoleted requirement 36. Split requirement 71 into requirements 108 and 109. Split requirement 72 into requirement 110 and requirement 111. Split requirement 73 into requirement 112 and requirement 113.
2000-12-19 RB Wrote a section on how requirements change is dealt with in this document. Re-organized introduction. Eliminated talk of "parties" and made them explicit. Clarified requirements 28, 29, 30, 33. Sorted references. Made big improvements to the document conventions section. Split requirement 61.
2001-06-30 GDR Added capacity (116) performance (117 and 118) and responsiveness (119) requirements.
2001-10-16 GDR Added migration from Perforce jobs (120) and creation of issues in Perforce (121).
2003-05-08 NB Make the TeamTrack requirements obsolete.
2003-11-11 NB Added configurable jobspec (122).

Copyright © 2000 Ravenbrook Limited. This document is provided "as is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this document. You may make and distribute verbatim copies of this document provided that you do not charge a fee for this document or for its distribution.

$Id: //info.ravenbrook.com/project/p4dti/req/index.html#40 $

Ravenbrook / Projects / Perforce Defect Tracking Integration