One of the most important aspects of product development processes is variance. No two products were ever developed with exactly the same process. Processes always vary, based on target customers, technology, available budgets, market regulations, and many more characteristics.
Process tailoring is a key capability to deal with variance in development projects and programs. It allows process authors to define rules when projects or programs can deviate from the standard processes.
The basic idea of process tailoring with Stages is select a standard process or a predefined variant of the standard process and then remove or retain certain process elements based on a set of rules. The rules are defined by tailoring questions and answers, which are mapped to process elements.
Examples for tailoring rules are:
Some tailoring questions might only be relevant if other questions are answered in a certain way, so there might also be dependencies between the questions. For example, the question about the product's safety integrity level or development assurance level only needs to be asked if the product is not an internal prototype.
A tailoring assistant guides a user through the questions. Based on the user's answers, the tailoring configuration for a process will be calculated.
Finally, no set of tailoring rules can ever contain every possible variation. For that reason, every process needs to be reviewed after applying the rules-based tailoring and it must be possible to perform manual tailoring adjustments.
These manual adjustments can be made by users with Manual Tailoring Modify
permissions using the 3dot menu of the respective element:
To define tailoring questions and answers, use the Management > Tailoring
menu. It can be accessed by users with Process Modify
permissions. New questions can be created via the +
button on the left (1).
The questions will be asked and the answers will be displayed in the same order as they are modeled. To change this order, use the Sort
operation in the …
menu.
To test the tailoring rules, use Start Tailoring
(2) and follow the steps of the tailoring assistant (see here for more info). To reset the tailoring to the default state, use the Reset Tailoring
action (3). To see both options, make sure you are in the Working Version
.
The answers for each question can be defined via the …
menu of the question and selecting the Add Answer
action. To assign dependent elements to an answer use the …
menu of the respective action. To remove process elements in case of a specific answer, assigning elements to the Remove, if selected
action is sufficient.
For more complex scenarios, you can also use the other actions, e.g. Add, If Selected
.
The above video shows how to define tailoring questions, answers, and their dependencies.
You can create questions below other answers, so the questions and answers form a tree. The question below will only be asked if the parent answer is being selected when a user steps through the tailoring assistant. The assistant hereby follows the “depth-first” principle.
To add a question below an answer, use the …
menu of the answer and select the Define Question
action.
When you assign one process element to several answers in this tailoring tree, there can be conflicts whether the element shall be removed or added. To solve these conflicts, the following rules will be applied:
After these conflicts have been resolved, the remaining tailoring results will be applied in one step to the process elements.
When building a multi-level process architecture (see more detail here), defining the tailoring dependencies at the right module level is key. If you define process areas as separate process modules, some questions might affect the tailoring in several process areas at the same time. For example, the selection of a safety integrity level or development assurance level might impact the requirements management as well as the design and validation process areas. Defining this question in each of the modules would result in the same question being asked multiple times, if those modules are integrated into one workspace.
To prevent this, common questions that affect multiple process modules should be defined in a process module, that is integrated into every process area module, e.g. “Common Elements”. Each module can then define its own tailoring dependencies to those common questions. When the process modules are integrated into one workspace, the tailoring dependencies will be merged into a single question again. When the tailoring assistant is run, common questions will only be asked once, but affect elements from all integrated process areas.
The default is to start with a full process and tailor elements out. This behavior should cover most tailoring use cases.
Under some circumstances, the opposite behavior might be useful: start with a process that has all elements tailored away and based on the given answers, only the selected elements are tailored in. To select this behavior, use the …
menu in the tailoring assistant and select Change Tailoring Mode
.
Note that the defined tailoring dependencies will work in reverse when the mode is changed, so you might need to completely redefine them after changing the mode.