Requirements Engineering Process Maturity Model For Market Driven Projects
Requirements Engineering Process Maturity Model For Market Driven Projects
Software Engineering
Thesis no: MSE-2005-17
October 2005
Rashid Awan
School of Engineering
Blekinge Institute of Technology
Box 520
SE – 372 25 Ronneby
Sweden
This thesis is submitted to the School of Engineering at Blekinge Institute of Technology in
partial fulfillment of the requirements for the degree of Master of Science in Software
Engineering. The thesis is equivalent to 16 weeks of full time studies.
Contact Information:
Author(s):
Rashid Awan
E-mail: [email protected]
University advisor(s):
Göran Fries
Department of Computer Science and Software Engineering
ABSTRACT............................................................................................................................................I
CONTENTS...........................................................................................................................................II
1 INTRODUCTION.........................................................................................................................1
1.1 SOFTWARE..............................................................................................................................1
1.2 SOFTWARE ENGINEERING.......................................................................................................1
1.2.1 Bespoke and market Driven Products...............................................................................1
1.2.2 Software Requirements......................................................................................................2
1.3 REQUIREMENTS ENGINEERING................................................................................................2
1.3.1 Requirements Elicitation...................................................................................................2
1.3.2 Requirements Analysis and Negotiation............................................................................3
1.3.3 Requirements Documentation............................................................................................3
1.3.4 Requirements Validation...................................................................................................3
1.3.5 Requirements Management...............................................................................................4
1.4 ISSUES IN REQUIREMENTS ENGINEERING...............................................................................4
1.5 MATURITY MODELS (CMM AND ISO 9000:2000).................................................................4
1.5.1 Capability Maturity Model (CMM)...................................................................................5
1.5.1.1 Initial level – 1.......................................................................................................................5
1.5.1.2 Repeatable Level – 2.............................................................................................................5
1.5.1.3 Defined Level – 3..................................................................................................................6
1.5.1.4 Managed level – 4..................................................................................................................6
1.5.1.5 Optimizing level – 5..............................................................................................................6
1.5.2 REPM Model.....................................................................................................................6
1.5.3 The REPM-M Model..........................................................................................................6
1.6 ROAD MAP..............................................................................................................................7
2 THE REPM MODEL....................................................................................................................9
2.1 ORGANIZATION OF REPM MODEL.........................................................................................9
2.1.1 Structure and Notations.....................................................................................................9
2.1.2 Main Process Areas (MPA).............................................................................................10
2.1.2.1 Sub Process Areas (SPA).....................................................................................................11
2.1.2.2 Actions................................................................................................................................11
2.2 REPM MATURITY LEVELS...................................................................................................11
2.2.1 Maturity Level 1: (Initial)................................................................................................12
2.2.2 Maturity Level 2: (Basic).................................................................................................12
2.2.3 Maturity Level 3: (Formulated).......................................................................................12
2.2.4 Maturity Level 4: (Developed).........................................................................................12
2.2.5 Maturity Level 5: (Advanced)..........................................................................................13
2.3 RELATION..............................................................................................................................13
2.4 OPTIONAL GROUP AND OPTIONAL ACTIONS........................................................................13
2.5 SATISFIED-EXPLAINED..........................................................................................................13
2.6 ENHANCEMENTS IN REPM MODEL.......................................................................................14
2.7 EVALUATION OF PROJECTS USING REPM MODEL...............................................................14
2.8 ANALYSIS OF RESULTS.........................................................................................................15
2.8.1 Technique for Interpretation of Results...........................................................................15
2.8.2 Result Presentation..........................................................................................................16
2.9 CONCLUSION.........................................................................................................................17
3 THE REPM-M MODEL.............................................................................................................18
3.1 RESEARCH METHODOLOGY..................................................................................................18
3.2 THE REPM-M MODEL..........................................................................................................18
3.3 FROM REPM MODEL TO REPM-M MODEL.........................................................................18
3.3.1 Main Process Areas.........................................................................................................18
3.3.2 Specific Actions................................................................................................................19
3.3.3 Inclusion of Market Driven RE activities........................................................................19
3.3.4 Result Presentation..........................................................................................................19
3.3.5 Bespoke vs. Market Driven Projects Requirements Engineering....................................19
3.3.6 Challenges in Market Driven Requirements Engineering...............................................20
3.4 CONCLUSION.........................................................................................................................21
4 REPM-M MODEL VALIDATION...........................................................................................22
4.1 VALIDATION METHOD..........................................................................................................22
4.2 CHOOSING THE SUBJECT.......................................................................................................22
4.3 VALIDATION QUESTIONNAIRE..............................................................................................23
4.4 INTERVIEW............................................................................................................................23
4.5 INTERVIEW RESULTS.............................................................................................................23
4.6 CONCLUSION.........................................................................................................................25
5 REPM-M PROJECT EVALUATION......................................................................................26
5.1 EVALUATION METHOD.........................................................................................................26
5.2 PROJECT DESCRIPTION..........................................................................................................26
5.3 RESULTS PRESENTATION IN TABULAR FORM.......................................................................26
5.4 RESULT PRESENTATION IN DIAGRAMS..................................................................................26
5.5 ANALYSIS FOR MPA: REQUIREMENTS ELICITATION............................................................28
5.6 ANALYSIS FOR MPA: REQUIREMENTS ANALYSIS AND NEGOTIATION.................................28
5.7 ANALYSIS FOR MPA: REQUIREMENTS MANAGEMENT.........................................................29
5.8 IMPROVEMENT CONSEQUENCES............................................................................................29
5.9 CONCLUSION.........................................................................................................................30
6 DISCUSSIONS AND CONCLUSION......................................................................................31
6.1 DISCUSSION...........................................................................................................................31
6.2 FROM REPM TO REPM-M...................................................................................................31
6.3 THREATS TO VALIDITY.........................................................................................................31
6.4 ANALYSIS OF RESULTS.........................................................................................................32
6.5 STRENGTHS OF REPM-M MODEL........................................................................................32
6.6 WEAKNESSES OF REPM-M MODEL.....................................................................................33
6.7 FUTURE WORKS....................................................................................................................33
6.8 CONCLUSION.........................................................................................................................33
7 REFERENCES............................................................................................................................34
APPENDICES......................................................................................................................................36
APPENDIX I REQUIREMENTS ENGINEERING PROCESS MATURITY MODEL
FOR MARKET DRIVEN SOFTWARE PROJECTS (REPM-M MODEL) – USER MANUAL37
ORGANIZATION OF REPM-M MODEL...............................................................................................37
Structure and Notations................................................................................................................37
Main Process Areas (MPA)....................................................................................................................38
Sub Process Areas (SPA)........................................................................................................................39
Actions....................................................................................................................................................39
REPM-M Maturity Levels.............................................................................................................39
Maturity Level 1: (Initial).......................................................................................................................40
Maturity Level 2: (Basic)........................................................................................................................40
Maturity Level 3: (Formulated)...............................................................................................................40
Maturity Level 4: (Developed)................................................................................................................41
Maturity Level 5: (Advanced).................................................................................................................41
Relation.........................................................................................................................................41
Optional Group and Optional Actions..........................................................................................41
Satisfied-Explained.......................................................................................................................42
Enhancements in REPM-M model................................................................................................42
EVALUATION OF PROJECTS USING REPM-M MODEL........................................................................42
ANALYSIS OF RESULTS......................................................................................................................43
Technique for Interpretation of Results........................................................................................43
Result Presentation.......................................................................................................................44
APPENDIX II REQUIREMENTS ENGINEERING PROCESS MATURITY MODEL
FOR MARKET DRIVEN PROJECTS..............................................................................................48
APPENDIX III REPM-M VALIDATION QUESTIONNAIRE..........................................60
APPENDIX IV REPM-M MODEL EVALUATION QUESTIONNAIRE........................61
1 INTRODUCTION
This chapter provides basic information about software engineering and its
importance for software development. In addition, a discussion over the process of
requirements engineering and maturity models is given here so that readers can easily
understand the information given in the rest of the document. An introduction of
REPM-M model and the purpose of this thesis are also presented in this chapter. A
road map can be found in the last section.
1.1 Software
Computer software plays an important role in our daily life. Whether it is a
manufacturing industry or educational institute, finance or government sector,
entertainment or health care, you can find software everywhere. Software is often seen
as computer programs, which fulfill the needs of specific people or of a general
market. This definition is a little limited. Software also has some associated
documentations [5]. Those documentations may either be for developers of the
software telling them what to develop, usually called system specification or for end
users describing them how to use the software, often called user documentation or end
user manual. Development of a software product is not a straightforward process. It
involves several technical and managerial aspects. To deal with those aspects, a
discipline is introduced called “Software Engineering”.
Dean Leffingwell [10] presents a similar definition but call the process of
requirements engineering as requirements management process instead of
requirements engineering. Despite all of these different definitions, the main goal of
requirements engineering is to develop unambiguous and desired systems
requirements. A typical requirements engineering process comprises eliciting
requirements, analysis and negotiation, documentation, validation and management
[2].
Stakeholder is an important term in requirements engineering. Stakeholder may be
any person or a system which has an impact/stake over the prospective system.
Stakeholders may include Buyers, Managers, requirements engineers, developers,
testers, end users, competitors, similar systems, consultants and also any other person
who has domain knowledge of the system [1] [3].
1.3.1 Requirements Elicitation
Requirements elicitation is usually considered as first phase of requirements
engineering in which requirements are captured from different sources. The process of
requirements elicitation seems straightforward. One can simply think it as collecting
all the stakeholder and future users of the system and asking them about what they
actually want. But the results show that poorly elicited requirements are one of the
drawbacks in software development.
There are several techniques have been introduced in order to discover
requirements from customers i.e. interviews, surveys, questionnaires, requirements
workshop, brainstorming sessions, storyboards [2] [10]. The choice of techniques are
usually depend on the type of the project company is dealing with.
Reusing requirements from previous projects are also considered one of the
techniques for requirements elicitation. This technique is quite effective in terms of
cost and time. The reason is because reused requirements are already verified. It has
been observed that around 80% of the total requirements are same for similar systems.
1.3.2 Requirements Analysis and Negotiation
Once the requirements are elicited, they should be analyzed in order to find
conflicts, overlaps, omissions and inconsistencies. These activities are covered in the
phase of requirements analysis and negotiation [2]. Negotiation with customers is also
carried out during this phase. The objective of this phase is to develop an agreed set of
requirements which are complete and consistent [1]. System boundaries are defined in
this phase in order to eliminate unnecessary requirements. Companies often use a
checklist for conflict resolution and completeness checking. The checklist may change
from company to company and project to project.
Purpose of requirements negotiation is to keep the most important requirements in
the requirements document. Requirements are usually assigned priorities in order to
negotiate them easily. Robertson [3] keeps two fields in specification of a particular
requirement in order to prioritize requirements. The two fields are customer
satisfaction and customer dissatisfaction. Both fields may have value from 1 to 5
according to customers’ priority for the requirement. The higher the value of those
fields, the higher the importance of requirement for the customer. One of the major
problems with requirements negotiation is occurred when it is asked from the customer
that which requirements are most important, they reply that every requirement is
important.
Basic project management capabilities for example, costing and scheduling are
established in an organization at level 2. They have started improving their process by
learning from their previous experiences. Processes are defined, documented,
practiced, trained, measured, enforced and improvable. Planning and tracking of the
software project is defined. Achievable plans are maintained based on the performance
of previous projects. Processes may differ in between different projects for an
organization at level 2.
SPAs, actions and their descriptions are reviewed and modified in order to make it more
usable and understandable.
Try to keep the SPAs and actions more general so that it covers broader requirements
engineering techniques and methods.
REPM-M model is specifically developed for market driven projects. So, the
requirements engineering activities which is useful for market driven projects are
incorporated in REPM-M model.
Another column is added in the evaluation questionnaire while evaluating the projects.
Currently questionnaire contains four columns i.e. Question, Yes/No, If No then Why.
Now, another column will be added which ask if company performs a certain action then
how it is performed. In this way, we would be able to know about current state of
practice in the industry regarding requirements engineering. It would also be helpful in
further updating the REPM-M model. (you will see the detail of these addition later in
this document)
These changes will result requirements engineering process maturity model for
market driven projects, REPM-M in short, version 0.1. Once these changes will be
incorporated, then we will do the following steps to validate and evaluate the model.
1. Validate the model by taking an interview from a senior personal in the area of
requirements engineering.
2. Evaluation of REPM-M model by using an example project.
3. Analysis and conclusions
Part 1 -- Chapters
Appendix I The REPM-M Model Manual – This appendix contains the manual
for REPM-M model.
Appendix II The REPM-M Model – This appendix contains the REPM-M model
including all the MPA, SPA and actions.
Appendix III Validation Questionnaire – This appendix contains all the
questions that were used to validate the REPM-M model.
Appendix IV Evaluation Questionnaire – This section includes the questions
that can be used to evaluate a software project for REPM-M model.
2 THE REPM MODEL
This chapter briefly describes REPM model on which REPM-M model is based
on. REPM model was developed in order to assess the maturity of requirements
engineering process for software projects. Basic objective of this instrument is to
provide a quick assessment tool which is easy to use and can provide enough
information based on which a company can improve its requirements engineering
process. Following sections will provide an overview of different ingredients of REPM
model. It will help user in understanding how REPM model works.
Requirements Elicitation
Requirements Analysis and Negotiation
Requirements Management
MPAs in REPM model are further categorized into sub process areas and actions.
Each MPA comprises of different sub process areas and actions. In the following
section, each MPA is discussed in detail.
Sub process areas are a group of related actions. The main purpose of SPA is to
differentiate it with other actions so it would be quite easier for an evaluator or a user
to evaluate, enhance and/or analyze requirements engineering process and results. In
REPM, an SPA is denoted by a unique identifier e.g. E.1 which tells that this SPA lies
in MPA E and is the first SPA.
2.1.2.2 Actions
2.3 Relation
Relation depicts the dependencies among different actions. Relation will help
when a certain action is going to be changed then we should also look into the related
actions and check whether a certain change affects the related actions. If yes, then one
must take the necessary actions. There are three ways how relations between actions
are defined.
1. A certain action can be a prerequisite of another action. So lets say, if an Action “X”
is a prerequisites of Action “Y”, then Action should be an a lower level than Action
“Y”.
2. One action may be helpful to execute another action, for example, reusable
requirements can be used to specify scenarios or prototypes in order to further elicit
or analyzing the requirements.
3. There may be some relation between two actions in general.
This property was present in a previous version of assessment model [TNY 2002]
but removed in REPM.
2.5 Satisfied-Explained
There may be certain situations in which an action is not necessarily be performed.
As an over simplified example of satisfied-explained, if a company is working on first
project of his history, then it can’t reuse the knowledge from previous projects. As
another example, for an in-house development project, there may not be necessarily
research for general stakeholders. An action is considered as Satisfied-Explained if a
company thinks that this action should not be performed in order to successfully
execute the process of requirements engineering process. The reason may not be for
example lack of knowledge, or lack of enough resources. A thing to be noticed is there
may be certain conditions in which action can be treated as Satisfied-Explained even
though the reason is due to lack of resources. For example, if 50% of total cost is
utilized in executing a particular action, then that action can be included in Satisfied-
Explained list. If an action is included in Satisfied-Explained, then it is equivalent that
the company is successfully performing that action.
A checklist is available to check whether a certain action can be considered as
Satisfied-Explained or not. We left this thing up to the evaluator that how honestly he
will evaluate requirements engineering process. As we will discuss later, a
questionnaire is used to evaluate the maturity of RE process. The questionnaire
contains a column in which evaluator will specify the reason of why the company is
not executing a particular action for that particular project. That particular column will
be used to decide whether this action will lie in the category of Satisfied-Explained or
not.
If one feels that an action can be split up to more than one action.
If one feels that a certain action is important for the maturity if requirements
engineering process and not included in this version of REPM model.
When adding SPA or action, following things must be taken into consideration
Make sure that an already present MPA, SPA or action is not similar to one that is
going to be added.
Make sure that description of SPA or action is complete and adequate.
One should decide on which level a certain SPA or action would reside.
Name identifier policy must be followed.
While adding further SPA or action, one should follow the same rules as described
in this manual. It is recommended that actions of higher maturity must be included in
REPM model otherwise it will make the model complex and big. It would be time
consuming to assess a software project by using a bigger REPM model.
(3+3+3)/3 = 3
Then, one can say that project A has successfully reached MATURITY level 3, but
this may not be the case each time. As another example for project B
(4+2+3)/3 = 3
Apparently, it seems that project B has reached the MATURITY level 3 but one
can observe that MPA of requirements analysis and negotiation couldn’t reach
MATURITY level 3 while requirements elicitation MPA has mush better results than
MATURITY level 3. Another example may be some thing like Project C,
(4+3+3)/3 = 3.33
1
1 2 3 4 5
REPM-M Level
Satisfied Explained Completed Actions Total Actions
2.9 Conclusion
In this chapter, a brief overview of REPM model is given to the user. Goal of
REPM model was to provide a quick way to assess the maturity of requirements
engineering process for software projects. Tony Gorschek and Kaarina Tejle originally
developed REPM model.
In the subsequent chapters, we will study how REPM-M model was evolved from
REPM model.
3 THE REPM-M MODEL
This chapter describes how REPM-M model evolves from REPM model. Research
methodology is discussed which was used to update REPM model. Factors which lead
to transformation of REPM model into REPM-M model are also discussed.
3.4 Conclusion
Main objective of REPM-M model is to provide a quick way to assess the maturity
of requirements engineering process. Another objective of REPM-M model is to
provide companies certain activities that they should carried out while introducing
requirements engineering process within their company. REPM-M model covers the
area of requirements engineering for market driven projects. Presentation of the results
can be done in terms of tables or in the form of diagram. In this chapter, an example
was given to show how one can present the results. These pictorial diagrams provide a
quick way to analyze the results.
In the subsequent chapters, REPM-M model would be validated. First by
interviewing a senior personal related to requirements engineering and specially
having some experience in market driven projects. Second, an example is presented in
chapter five which descries how the results of REPM-M model can be analyzed.
4 REPM-M MODEL VALIDATION
REPM-M model was validated so that to overcome any hidden problem in the
proposed model. This chapter will describe how REPM-M model was validated.
First section describes what method was chosen to validate the model. Second
section of this chapter describes how the interviewee was chosen. Third section
describes validation questionnaire which was used to interview the subject. Fourth
section comprises of the results of the interview, contains the suggestions from the
subjects and how those suggestions were treated.
Whether it covers all the activities necessary for the relevant domain?
Is there any activity which is not that important?
Is there any other anomaly in the model which was overlooked by the
creators of the model?
4.4 Interview
Interview questionnaire along with REPM-M model and manual were sent to
subject well in advance so that he can read the model thoroughly and prepare his notes.
An initial version of REPM-M model was sent to subject i.e. version 0.1 which was
then evolved to version 1.0 after validation. Interview was recorded on the tape so that
if any thing missed during the interview can be rechecked through the recorder.
Interview was held at subject’s office.
1. It was observed that language used in the model was a bit trivial. Several sentences
include words like “Should” or “must”.
This suggestion was well taken by keeping the factor who are the audience of the
model i.e. who will use this model. Since this model is used by software organizations
to assess the maturity of their requirements engineering process, so the target audience
is project managers, requirements engineers etc. so, the model was restructured so that
the language is soft and non-offensive for those personals. A typical example may be
“Analytical Hierarchy Process (AHP) must be used to prioritize requirements within
your organization”. This sentence can be replaced as “There are several techniques
exist for prioritizing requirements e.g. Analytical Hierarchy Process (AHP) or Game
planning”.
2. Different unplanned activities are also carried out during requirements engineering
process which may lie on smaller levels e.g. level 1 or level 2. Those activities were
overlooked in REPM model.
One of the major changes which were done in the model was to make the action
more generic on a rather abstract level so that it will be applicable for larger domain.
By keeping this factor in mind, both ad-hoc and more structured techniques were
merged in the model. By following the advice of the subject, certain ad-hoc activities
are also included in the REPM-M model. For instance, under the SPA E.2
Requirements Capturing, a rather ad-hoc requirements engineering activity of idea
generation is included.
3. Maturity levels of the actions were revised. Certain actions were advised to include
on a rather higher level based on cost and complexity.
As maturity levels of actions were one of the critical aspects, which decide on
which level company is. The prior experience of the subject was used and welcomed in
setting REPM-M levels. According to his experience in the relevant field, certain
REPM-M levels were revised for example, action E.1.a2 Use of Identification
Technique was set on level 2 in REPM-M version 01. But according to subject it
should be on level 3 because it often costs more.
4. Maturity levels of the actions were revised. Certain actions were advised to include
on a rather higher level based on cost and complexity.
As maturity levels of actions were one of the critical aspects, which decide on
which level company is. The prior experience of the subject was used and welcomed in
setting REPM-M levels. According to his experience in the relevant field, certain
REPM-M levels were revised for example, action E.1.a2 Use of Identification
Technique was set on level 2 in REPM-M version 01. But according to subject it
should be on level 3 because it often costs more.
5. There are certain companies which don’t specify requirements. So, those companies
should reach at least maturity level 1.
Another action (M.2.1.a3) has been added in order to support those companies
which follow rather ad-hoc process. Action is kept under REPM level 1 as it is rather
cheaper to follow this action. It is presumed that almost all the companies fulfill this
action. It is also concluded that if a certain company follows a higher technique then
this action will be fallen into satisfied explain (see section 2.8).
6. Validation questionnaire which was sent to subject contain the questions preceding
by headings like “Warm Up” and “Cool Down”.
Those headings have been omitted from the validation questionnaire so one can
learn from this that those headings should not be specified in the questionnaire. So,
questionnaire should start from a warm up session for example how is you and how
have you been working in this subject.
7. It was also advised by the subject that while taking interview for the model
evaluation, you should be present in front of the interviewee.
Model evaluation which is the last part of this thesis is done by taking interviews
from representatives of different companies working on a market driven project. It was
asked from subject whether is it enough to send the evaluation questionnaire to the
interviewee but it was recommended by the subject that you should be there in person.
Reason being, there may be certain ambiguities in the questions which need to be
clarified for example there are different terminologies being used for requirements
inspection. So, it is better to be there in person.
8. There are certain companies which don’t follow any systematic way to prioritize
their requirements but they are still running their business. There should be a room
for such companies.
Above suggestion from subject was well taken and a new SPA ( A.2.a3) has been
added in order to support those companies which follow a rather ad-hoc process for
prioritizing their requirements. There may be different reasons of not following a
systematic process of requirements prioritization for example it is quite expensive to
prioritize a bunch of requirements for a small company.
4.6 Conclusion
In this chapter, REPM-M model is validated by a senior personal having vast
experience in requirements engineering specifically market driven projects which
make him an ideal person to validate this model. Validation of a model is always
recommended in order to get a different perspective of a person based on his
experience. In our case, Subject found various defects in the initial version of REPM-
M model version 0.1. it could be nice if we would have validated this model from
another person from the industry in order to get an industrial point of view about this
model, but due to lack of time and resources, it wasn’t possible. On the basis of
suggestions made by subject, REPM-M model has been further updated to version 0.2
which is used to evaluate different market-driven projects from industry (see chapter
4).
5 REPM-M PROJECT EVALUATION
In this chapter, second phase of REPM-M model validation is described. A project
is evaluated by using the evaluation questionnaire for REPM-M model. On this basis
of the results of that questionnaire, further analysis is presented and improvements
suggestions are made.
4
3.5
3
2.5
No. of Actions 2
1.5
1
0.5
0
1 2 3 4 5 Completed Actions
Maturity Levels Satisfied-Explained
Total Actions
12
10
8
No. of Actions 6
4
2
0
1 2 3 4 5 Completed Actions
Maturity Levels Satisfied-Explained
Total Actions
5.9 Conclusion
Evaluation of project explained in this chapter to give an idea about how requirements
engineering process for projects, should be evaluated and how results should be analyzed
using REPM-M model. A factor, which influenced on the results of REPM-M model, is
Satisfied-Explained. Evaluator should be very careful while including an action into category
of satisfied-explained.
6 DISCUSSIONS AND CONCLUSION
6.1 Discussion
Requirements are considered one of the problematic areas if it is not elicited and
analyzed correctly. Requirements engineering provides techniques and practices which
are used to elicit requirements correctly and how one can manage those requirements
efficiently. In bespoke projects, requirements are captured from a specific set of
stakeholders while in market driven projects, there is not a specific set of stakeholders
[12][13]. The product is usually developed for a mass market [14] which is one
factors, makes the process of requirements engineering a bit difficult [13], or different
we should say. Other factors which differentiate requirements engineering for market
driven projects and bespoke projects are time to market and high quality due to
presence of competitive market, in the case of market driven projects [13] [14].
REPM-M model proposed in this thesis provides a way to assess maturity of
requirements engineering process for market driven projects. Even though there are
certain models which are already present in literature which is used for assessing the
maturity of requirements engineering process [1][16][17] but those models are quite
large and requires a lot of resources to assess the maturity [18]. In addition, those
models focus more towards a general requirements engineering for bespoke projects,
overlooking important aspects of market driven requirements engineering e.g. release
planning, or covering the requirements of mass market. REPM-M focuses on these two
issues.
Creation of generic actions decreases the possibility of creating optional actions.
The basic idea behind optional actions was for example, a company may use a specific
technique to elicit requirements while another company may use another. Due to this
fact, optional action was included in the REPM model [4] so that it covers both
techniques without affecting the final result of the assessment. Due to the presence of
more generic actions, the necessity of generic actions decreases automatically.
6.8 Conclusion
The main purpose of REPM-M model is to provide a quick tool to the industry for
the assessment of requirements engineering process maturity for market driven
software projects. REPM-M model hardly takes two to three hours in order to evaluate
a project since it was simple to use and not so big in terms of actions. Another
advantage of REPM-M model is companies can use this tool to introduce requirements
engineering process in their projects. It provides a road map to those companies, which
do not have formal and continuous requirements engineering process.
7 REFERENCES
[1] “Requirements Engineering – A good Practice Guide”, Ian Sommerville &
Pete Sawyer, Willey and Sons 2000.
[7] “The Top Risks of Requirements Engineering”, Brian Lawrence, Karl Wiegers,
and Christof Ebert, November/December 2001 IEEE SOFTWARE
[11] “The Capability Maturity Model – Guidelines for Improving the Software
Process”, Carnegie Mellon University Software Engineering Institute, Addison-
Wesley 1995.
[13] Karlsson, L., Dahlstedt, Å., Natt och Dag, J., Regnell, B. and Persson, A.
(2002) Challenges in Market-Driven Requirements Engineering - an Industrial
Interview Study. Eighth International Workshop on Requirements Engineering:
Foundation for Software Quality, September, Essen Germany.
[14] Åsa G. Dahlstedt, Lena Karlsson, Anne Persson, Johan Natt och Dag and
Björn Regnell, Market-Driven Requirements Engineering Processes for Software
Products - a Report on Current Practices, 11th IEEE International Requirements
Engineering Conference, September 2003, Monterey USA.
[15] Carlshamre, P., Sandahl, K., Lindvall, M., Regnell, B., Natt och Dag, J., “An
Industrial Survey of Requirements Interdependencies in Software Product Release
Planning”, Fifth International Symposium on Requirements Engineering, pp. 27-31,
Toronto, Canada, August 2001.
[19] The TickIT Guide – Using ISO 9001:2000 for Software Quality Management
System, Construction, Certification and Continual Improvement, Issue 5.0, 2001.
[22] Carmel, E., Becker, S., “A Process Model for Packaged Software
Development”, IEEE Transactions on Engineering Management, Vol. 42 No. 1, pp.
50-61, February 1995.
Main process areas, MPA in short, lie at the top layer of REPM-M model. It
represents main phases for requirements engineering process. In REPM-M model,
requirements engineering process is categorized in three main process areas. The three
main process areas are
Requirements Elicitation
Requirements Analysis and Negotiation
Requirements Management
MPAs in REPM-M model are further categorized into sub process areas and
actions. Each MPA comprises of different sub process areas and actions. In the
following section, each MPA is discussed in detail.
Sub process areas are a group of related actions. The main purpose of SPA is to
differentiate it with other actions so it would be quite easier for an evaluator or a user
to evaluate, enhance and/or analyze requirements engineering process and results. In
REPM-M, an SPA is denoted by a unique identifier e.g. E.1 which tells that this SPA
lies in MPA E and is the first SPA.
Actions
A project on this level tells most of the activities are fulfilled and project is
governed under experienced supervision. Processes are documented. Most of the
activities are planned. A plan for detecting defects in captured requirements is
prepared. Requirements are classified/categorized and risk assessment is carried out.
Requirements are selected for current release. Suitable steps are carried out for
resolving requirements overload problem. A standardize document structure is
followed to document requirements. Requirements document is reviewed to find
defects. Test cases are also proposed while specifying requirements. A change request
mechanism is followed in order to gather changed requests from different sources.
Requirements are handled through a database or any software application. User and
system documentation is produced.
Maturity Level 4: (Developed)
A project on this level reflects that the process is planned and most of the activities
are measured. Human and business factors are considered for requirements elicitation.
Proper analysis and actions are taken on the basis of data collection. Cost/impact
estimation is carried for release planning. A formal inspection is carried out to find
defect in requirements document. A change management plan is followed about how
to identify volatile requirements including defining traceability plans. Documentation
is produced for management.
Relation
Relation depicts the dependencies among different actions. Relation will help
when a certain action is going to be changed then we should also look into the related
actions and check whether a certain change affects the related actions. If yes, then one
must take the necessary actions. There are three ways how relations between actions
are defined.
1. A certain action can be a prerequisite of another action. So lets say, if an Action “X”
is a prerequisites of Action “Y”, then Action should be an a lower level than Action
“Y”.
2. One action may be helpful to execute another action, for example, reusable
requirements can be used to specify scenarios or prototypes in order to further elicit
or analyzing the requirements.
3. There may be some relation between two actions in general.
This property was present in a previous version of assessment model [4] but
removed in REPM-M.
- If one feels that an action can be split up to more than one action.
- If one feels that a certain action is important for the maturity if requirements
engineering process and not included in this version of REPM-M model.
When adding SPA or action, following things must be taken into consideration:
- Make sure that an already present MPA, SPA or action is not similar to one that is
going to be added.
- Make sure that description of SPA or action is complete and adequate.
- One should decide on which level a certain SPA or action would reside.
- Name identifier policy must be followed.
While adding further SPA or action, one should follow the same rules as described
in this manual. It is recommended that actions of higher maturity must be included in
REPM-M model otherwise it will make the model complex and big. It would be time
consuming to assess a software project by using a bigger REPM-M model.
Analysis of Results
Once a project is evaluated by using the evaluation questionnaire, its result can be
used to analyze the position of requirements engineering process. This analysis should
be carried out in careful and intelligent manner in order to invest resources where it is
required.
Technique for Interpretation of Results
By using the results of REPM-M model, maturity of requirements engineering
process can be assessed. The results tell what has been done, what is not and what can
be done in the future to improve the process of RE. If a software project fulfills all the
actions under an MPA, ultimately it achieves maturity level 5. Since REPM-M
comprises of three MPA, so there may some confusion while analyzing the results. For
example, if the results of an evaluation of a project, say Project A, is
(3+3+3)/3 = 3
Then, one can say that project A has successfully reached MATURITY level 3, but
this may not be the case each time. As another example for project B
(4+2+3)/3 = 3
Apparently, it seems that project B has reached the MATURITY level 3 but one
can observe that MPA of requirements analysis and negotiation couldn’t reach
MATURITY level 3 while requirements elicitation MPA has mush better results than
MATURITY level 3. Another example may be some thing like Project C,
(4+3+3)/3 = 3.33
Result Presentation
Results of REPM-M model can be presented through diagrams. A typical example
of this presentation is given in the following figure. It’s quite easier for a person to
analyze the strengths and weaknesses of the process of requirements engineering by
using this figure. An important thing to note that to analyze the results of evaluation,
three diagrams, one for each MPA, will be made in order to facilitate the task of
analysis.
Actions/REPM-M Level for MPA 'E'
10
Actions
1
1 2 3 4 5
REPM-M Level
Satisfied Explained Completed Actions Total Actions
Above figure illustrates a sample result for Requirements elicitation MPA during
evaluation of a project. X-axis represents the maturity levels i.e. five in our case and y-
axis represents no. of actions in the MPA i.e. requirements elicitation in this example.
In REPM-M Level 1, total actions are three while completed actions are also three. In
maturity level 2, total actions are four, while completed actions are three. But this
project still reaches maturity level two because the incomplete action falls in the
category of Satisfied-Explained. The area between the completed actions lines and
satisfied explained line is termed as Modal Lag. While area between total actions and
satisfied-explained line is termed as “Improvement Gap”. In the same way other two
MPAs can be analyzed and presented.
Once an analyst is used to of technicalities of above presentation, It is quite easier
for him to analyze the situation of requirements engineering process maturity within
his company.
References
[1] – Requirements Engineering – A good practice guide, Sommerville, Sawyer,
Wiley and Sons 2000.
[7] Carmel, E., Becker, S., “A Process Model for Packaged Software
Development”, IEEE Transactions on Engineering Management, Vol. 42 No. 1, pp.
50-61, February 1995.
[9] Karlsson, L., Dahlstedt, Å., Natt och Dag, J., Regnell, B. and Persson, A.
(2002) Challenges in Market-Driven Requirements Engineering - an Industrial
Interview Study. Eighth International Workshop on Requirements Engineering:
Foundation for Software Quality, September, Essen Germany.
[10] Åsa G. Dahlstedt, Lena Karlsson, Anne Persson, Johan Natt och Dag and
Björn Regnell, Market-Driven Requirements Engineering Processes for Software
Products - a Report on Current Practices, 11th IEEE International Requirements
Engineering Conference, September 2003, Monterey USA.
[11] Carlshamre, P., Sandahl, K., Lindvall, M., Regnell, B., Natt och Dag, J., “An
Industrial Survey of Requirements Interdependencies in Software Product Release
Planning”, Fifth International Symposium on Requirements Engineering, pp. 27-31,
Toronto, Canada, August 2001.
APPENDIX II
REQUIREMENTS ENGINEERING PROCESS
MATURITY MODEL FOR MARKET DRIVEN PROJECTS
REPM-M Version 1.0
E Requirements Elicitation
The process of capturing requirements is called requirements elicitation. In bespoke
projects, requirements are usually collected from stakeholders. A stakeholder may
be any person who has a stake on the developing system. End users, developers,
consultants, marketing personals are typical examples of stakeholders. In market
driven projects, requirements are invented at developing company as well, in most
of the cases by marketing personals and developers.
Actions
Actions
Actions
Actions
Actions
Actions
Actions
M.1.a2Requirements Selection
REPM 3
Most important or wanted requirements are advised to select to
implement in current release. Requirements are usually selected from
the prioritized list which was prepared in requirements analysis and
negotiation phase.
Actions
M.2.a3Postponed Requirements
REPM 5
The requirements which are not selected for current release are
documented. This documentation will help in the next release of the
product and will act as references.
Actions
Actions
Actions
Questions
1. Tell us about yourself i.e. your academic background, your achievements, interests and
your experience both from industry and academic.
2. Why did you choose requirements engineering area and in particular market driven?
3. What do you think about importance of RE in market driven projects?
4. How long time did you take to study REPM-M Model?
For Each SPA and action all the three MPAs, interviewee will answer these three questions?
General Questions
Requirements Elicitation
Action
Question UID Yes/No
Requirements Management