Ravenbrook / Projects / Perforce Defect Tracking Integration
Perforce Defect Tracking Integration Project
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.
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.
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.
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]):
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.
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 | Obsolete requirement. The TeamTrack integration is now developed, maintained, and supported by TeamShare [ref?]. | [RB 2000-05-05, 4.1.1] | ||||
7 | Obsolete requirement. The TeamTrack integration is now developed, maintained, and supported by TeamShare [ref?]. | [RB 2000-05-05, 4.1.1] | ||||
8 | 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 | Obsolete requirement. The time at which this could have been met has passed. | [RB 2000-05-05, 5.6] | ||||
37 | 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 | |
Split into requirement 114 and requirement 115. | [RB 2000-05-05, 11.1] | |||
62 | 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 | Obsolete requirement. Redundantly specified a solution to requirement 64. | [RB 2000-05-05, 11.2] | ||||
66 | 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 | Split into requirement 108 an requirement 109. |
[GDR 2000-05-03, 6.11] [RB 2000-05-05, 12.2] |
||||
72 | Split into requirement 110 and requirement 111. |
[GDR 2000-05-03, 6.13] [RB 2000-05-05, 12.2] |
||||
73 | Split into requirement 112 and requirement 113. |
[GDR 2000-05-03, 6.16] [RB 2000-05-05, 12.2] |
||||
74 | 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 | Obsolete requirement. Redundantly specified a solution to requirement 24. | [RB 2000-05-05, 13.4] | ||||
82 | Obsolete requirement. Reduntantly specified a solution to requirement 63, requirement 21, and requirement 75. | [RB 2000-05-05, 13.4] | ||||
83 | 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] |
[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. |
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