A critical factors analysis is an analysis of the key properties of a project (in this case the RIF). A CFA is analysed in terms of the goals of the project, the critical factors that will lead to its success and the measurable requirements of the project implementation that support the goals of the project. The intention of using a capture methodogy is to provide a rational basis for capturing requirements; by following the methodology a project team can be reasonably sure of requirements closure; although, of course, the dynamics of projects will often mean that by the time a project is completed the environment has changed sufficiently to invalidate some or all of the assumptions made at the time of the requirements capture process.
The process involves identifying goals, critical success factors and requirements. And documenting these and committing to them.
- A goal (not to be confused with a predication ;-)) is an overall target that you are trying to reach with the project. Typically, goals are hard to measure by themselves. Goals are often directed at the potential consumer of the product rather than the technology developer.
Critical Success Factors
- A CSF is a property, sub-goal that directly supports a goal and there is strong belief that without it the goal is unattainable. CSFs themselves are not necessarily measurable in themselves. For example, a CSF for "widescale adoption" can be "low cost of entry". Without a low cost of entry, you can argue that you will not get widescale adoption.
- A requirement is a specific measurable property that directly supports a CSF. The key here is measurability: it should be possible to unambiguously determine if a requirement has been met. While Goals are typically directed at consumers of the specification, requirements are focused on technical aspects of the specification. For example, we might have a requirement that the RIF supports RETE-style PRLs as well as Prolog-style RLs. Such a requirement speaks to the "support production rule languages" CSF, which in turn supports the "widescale adoption" goal.
It can often be helpful to illustrate graphically the key concepts and relationships between them. For example, the diagram supports the rapid comprehension of the goals, critical success factors and requirements of the RIF project. Such diagrams can act as effective indices into the written descriptions of goals etc., but is not intended to replace the text. The legend:
illustrates the key elements of the graphical notation. Goals are written in round ovals, critical sucess factors are written in round-ended rectangles and requirements are written using open ended rectangles. The arrows show whether a csf/goal/requirement is supported by another element or opposed by it. This highlights the potential for conflict in requirements.