Beruflich Dokumente
Kultur Dokumente
Gauthier Fanmuy
ADN
http://www.adneurope.com
17 rue Louise Michel
92300 Paris - France
gauthier.fanmuy@adn.fr
Ghassen Foughali
ENSTA ParisTech
32, Bvd Victor
75739 Paris - France
ghassen.foughali@ensta.fr
Copyright 2012 by Gauthier Fanmuy and other authors. Published and used by INCOSE with permission.
Introduction
Trends observed in the aerospace business highlight that the market is asking for more complex and innovative
products and services in a shorter time while keeping cost under control [Murman2000]. Our observation is that
the development of complex products is also more and more challenging, in other domains than aerospace such
as automotive industry, energy, bio-medical.
We are therefore convinced that Requirements Engineering is a key success factor for current and future
development of complex products, as highlighted in [GAO2004] [SGI2001] [NDIA2008] that shows that poor or
lack of requirements is one of the main causes to project failures.
This issue has raised new needs for improving Requirements quality of complex development products,
especially in terms of assistance to requirements authoring activities (form but also substance).
This common vision of the problem has created in 2009 the RAMP (Requirement Analysis and Modeling
Process) project from common needs expressed by 3 industrial companies (EADS, EDF, RENAULT), research
studies done in Requirements Engineering (University of Paris 1, ENSTA, INRIA, IRIT) and expertise and
solutions proposed by SME (ADN, CORTIM).
This paper describes the results of a survey made in 2010 in the framework of the RAMP project. The
first part of this paper deals with the methodology adopted to conduct the survey. The second part
presents the results of the survey.
[1]
Survey organization
As the objective was to get a representative set of responses from the Industry, the survey was organized in 3
steps.
The first step was conducted with a set of interviews of major companies in different industrial sectors
(Aviation, Aerospace, Energy, Automobile). The goal was to capture through the exchange the real
industrial issues.
The second step was conducted with an online survey within the Requirements Working Group (RWG)
of INCOSE (International Council On Systems Engineering). The goal was to confirm or complete the
issues raised in the first step.
The third step was the elaboration of a global report with the results of steps 1 and 2.
Step 1 Interviews
A panel of 8 major industrial companies was selected in various sectors: Aerospace, Space, Defense, Automotive
and Energy. 14 persons which are key actors in Systems Engineering were selected within these companies for
individual or group interviews. The interviews were targeted to fit within 4 hours. For the questionnaire,
different perspectives were considered as some industrials were Project Owners and others Project Contractors.
The high level following topics were considered:
Needs, requirements
Design of the solution
Verification and validation of requirements
Management of changes to requirements
Configuration management
Risks management
Requirements management
Customers/suppliers coordination
Inter-project capitalization
Benefits of a requirements engineering approach
Limits of a requirements engineering approach
Main areas of improvement of requirements engineering
Maturity in requirements engineering
Identification of needs
What are the stakeholders involved in defining needs?
How do you elicit the needs of different stakeholders? (scenarios, concepts
/ operational capabilities, interviews, business processes, simulations ...)
Are the needs of these stakeholders formalized as requirements?
If needs are not being elicited, what are the main reasons?
Are requirements prioritized? On what criteria?
How do you ensure the consistency of the needs of a stakeholder? among
stakeholders?
How do you resolve these differences?
Figure 1 - Extract from a Project Owner questionnaire
The interviews were conducted between May 2010 and September 2010. A report was made after each interview
and a first global synthesis of the interviews reports was made.
Step 2 Online survey
According to the results of the interviews, an on line questionnaire was set up on the Requirements Working
Group INCOSE website (connect.incose.org not available for non INCOSE members). The goal of this
questionnaire was to confirm or not the interviews results with a wider range of companies.
16 RWG members participated to the survey.
Step 3 Synthesis
The last step was the elaboration of a report which results are presented next.
[2]
1.
NEEDS, REQUIREMENTS
1.1. Definition of needs, requirements
But also:
An aggravating factor is that the allowed time for reviews is very often too short to enable to manage them
correctly.
Globally, the large number of requirements is difficult to manage.
The large number of requirements is not necessarily due to poor authoring practices/ definition of requirements,
but may be due to the fact that there are a lot of needs.
1.4. Prioritization of needs, requirements
In a single organization, one can find different practices, with for example, needs prioritized at a software level
but not prioritized at a global system level.
This prioritization is generally available for commercial products.
In other domains such as aerospace or energy, there are few unnecessary or optional needs, and these needs are
generally not prioritized.
Few criteria used alone or with combination to
prioritize the needs:
[4]
Other
techniques
are
also
commonly used: Concept of
Operations (Aviation), Customer
Focus
Group,
simulations,
interviews, brainstorming.
More marginally other techniques
can
be
cited
such
as
questionnaires,
templates,
operational capacities, clinical tests
in automobile industry
Maintenance (19%)
Logistics (19%)
Standardization agencies (12%)
Recycling/dismantling/taking out of
service (12%)
Executive board (6%)
Purchasing (6%)
Partners (6%)
Employees trade unions (6%)
[5]
of
specification
2.
The main points concern Functional Analysis, interfaces and requirements allocation.
Interface definition between the different sub-systems is essential in the form of requirements
Several years may be necessary to define all the requirements for big systems with many actors.
Interface definition should include the definition of the dynamic behavior.
[7]
In some cases, the importance of interfaces is undervalued. The risk of incorrectly specifying them at a
given level is that this can lead to the tests being performed at an upper system level: this complicates
the integration and automatically increases its duration.
Functional Analysis is a good way to help in deriving functional requirements.
System analysis enables to define complementary requirements (e.g. vibrations, temperature, EMC,
maintenance, etc)
Some solutions can also be imposed for reasons of system coherence (e.g. component for digital bus
coupling)
One critical point is the mastering of coupling between systems and sub-systems.
One of the sources of complexity is related to the use of a standard structure breakdown linked more to an
organization than to a System Engineering point of view (interactions, couplings, dependence between systems,
etc.),
2.3 Requirements allocation
Requirements allocation is a key element to distribute without any ambiguity, the derived requirements amongst
the different sub-systems. It can be considered however, that the concept of requirement allocation to systems is
understood and implemented.
In 63% of cases, in a design process, the requirements of a system are systematically broken down and allocated
to sub-systems. This practice is variable in 37% of cases.
However, it is not a question of imposing requirements on the sub-systems but to ensure that the assigned
requirements are taken into account in the customer / supplier relationship.
This work requires that the business workflows needs to be defined and necessary tools produced.
The deployment remains complex because the maturity of actors/departments in the field of Engineering
Requirements remains variable.
In this context, the justification of the choices becomes a key element.
2.4 System Analysis
The identification of knots of the study or zones of complexity helps in defining the global optimum: list all the
concerned requirements, validate concepts of solutions, study the feasibility of the solutions, and identify
components (renewed, to develop) and their performances.
The comparative study of solutions passes by the definition of evaluation criteria (technical feasibility,
performance, cost, maintenance etc.) and by the implementation of simulations.
The use of models for the analyses of system is used variably according to sectors. Nevertheless it is an area
which is increasing in engineering activities.
In certain cases, models or data emanating from system modeling (stimuli) can be communicated to the suppliers
to ensure that the product is working well.
[8]
3.
The most common defects encountered with requirements are ambiguity and expressing needs in the form of
solution.
Consistency and completeness of requirements repositories are also difficult points to address.
The input data (needs, scenarios, mission profiles) of a system are not always complete, precise etc.
particularly in the case of new or innovative systems.
The different types of models most often used are: (in decreasing order):
UML
BPMN
Simulink
SysML
Performance models
Costs models
CAD Models
To
anticipate
proofs
of
compliance
This strategy defines in particular:
The reference scenarios and acceptance criteria that will enable to validate/qualify the products
The implication of IVVQ actors in specification phases is judged as a practice needing to be reinforced.
4.
[11]
5.
CONFIGURATION MANAGEMENT
5.1 Configuration management
The situations encountered are very diverse. Good software configuration management is generally observed.
For systems perimeters, the situation is more contrasted: although configuration in downstream phases
(products) is quite well covered; upstream phases are either correctly covered or not covered at all.
Configuration management is ensured through requirements documents in 50% of cases, through requirements in
19% of cases, and variable in 19% of cases.
Configuration management in requirements phase is not implemented in 13% of cases.
Changes on requirements are traced to configuration baselines in 50% of cases.
5.2 Tools for configuration management
The tools used for configuration management cited during the interviews are the following:
RISKS MANAGEMENT
[12]
7.
REQUIREMENTS MANAGEMENT
Complex systems are generally developed in simultaneous engineering projects. Reconciliation is needed for:
Definition of systems requirements and their cascading down to components
The timing constraints concerning supplier discussions related to bids, may, in some cases, lead to
discussions with suppliers early in the planning program / project
The schedule needs to have models or mockups of components to anticipate integration activities
Anticipation of compatibility with respect to future projects whose needs are not consolidated
etc.
It is therefore possible that the nominal sequence is not respected. In this case:
A risk analysis is done to assess the consequences of a later definitions / changes to requirements.
The derivation of requirements must be organized
The reviews positioned accordingly.
It is necessary to have more time during the preliminary phases to analyze, process requirements, validate the
assumptions. This is especially true in cases where there is no existing repository/ references for a new complex
system.
Mastering the knowledge of the status of the requirements is necessary.
In the case of a customer-supplier relationship, there is often a game with the accuracy of the requirements. In
fact, generally its in the customer's interest to keep certain requirements vague because he is not able to give
precisions either because he needs to obtain information or know-how, or because he wants to avoid too much
commitment.
This game involves a risk, but it may be acceptable if the type of requirement is clearly identified and managed,
and whether the contractual consequences are well accepted by both parties.
8.
CUSTOMERS/SUPPLIERS COORDINATION
8.1 Maturity of suppliers in requirements engineering
In those domains where suppliers are in the business from a long time ago (e.g. aerospace, aviation), suppliers
generally have a good understanding of the issues. Suppliers have maturity levels at least equivalent to their
customers.
In other domains (e.g. commercial), the maturity of suppliers in requirements engineering is more variable.
Nevertheless, the imposition by the clients of Good Requirement Engineering Practices (e.g. conformity
matrices) is making the global environment improve. .
8.2 Exchanges/Communication between Customers/Suppliers
One of the needs for improvement lies in the reinforcement of the interaction between Customers/Suppliers:
Traceability between system requirements (from customer) and sub-system requirements (from
supplier)
Exchange of justifications (synthesis notes, choices)
More generally, the implementation of automated exchanges between the different stakeholders (for example
through a common template) would greatly contribute to this aspect being improved.
[13]
9.
INTER-PROJECT CAPITALIZATION
9.1 Re-use of requirements
Many business rules or knowledge databases exist and may or may not be formalized as requirements.
These business rules / knowledge databases are in 35% of cases the basis of requirements.
In 25% of cases, these business rules / knowledge bases lead to generic requirements which are capitalized on in
a reusable domain model.
The issue concerning reuse is due to the adding-on of information to something which may not initially have
been well written.
The variability is then more or less
formalized depending on the
system layers.
In some cases we could probably
call this retrieval of requirements
(e.g. copy / paste) rather than reuse
as correctly termed.
Working with Product lines still
encounter many problems due generally to a natural resistance to change because this is a constraining process
(change management, impact analysis, traceability).
[14]
(Note: it is still difficult to give proves based on measurements on projects in real size)
Regulatory compliance
Make good design from the start. This is particularly necessary in areas where it is not possible to
make updates prototypes, pre-series ... before commissioning.
Use data models using integrated processes and tools at Meta model and Project levels.
Standardization.
One difficulty is the Concurrent Engineering: Everyone starts at the same time and the different aspects must be
related, and made consistent later on.
This gets more complex within a widespread enterprise.
Another difficulty is the taking into consideration of changing needs on projects having long development
cycles.
For new or highly innovative systems, a balance is to be found between the planning constraints (programming)
and the time needed to complete the definition of the requirements, system analysis, etc.
In order to make contracts robust, it is tempting to put a lot of demands on everything. This has impacts on the
monitoring of these requirements at the project level. Moreover, there is a risk of redundancy, contradiction of
requirements etc.
Consolidate the various fundamental aspects of development of system architecture such as a cascade of
the functional and physical aspects. This will help achieve a more robust design, and even to allow the
reuse of aspects. The major challenge is the definition of methods that control the coupling.
Fill the holes that exist in order to strengthen the completeness of the business processes.
It includes:
o A better control of the requirements repository with SMART requirements and a certain
completeness using well organized methodologies.
o A questioning of the achievements and better understanding of new issues related to emerging
needs.
Give more flexibility in the development processes: incremental development, concurrent engineering.
Improve visibility throughout the life cycle (give a dynamic aspect to requirements), developing in
particular the concepts of point of views.
Avoid implicit requirements, such as formalizing, for example mandatory requirements i.e. regulatory,
safety.
Increase the taking into account of aspects concerning safety, logistical support, maintenance: link with
failure trees, identification of information to monitor etc.
Improve the way in which the desirability of a requirement is estimated: priority of a requirement
regarding its impact on business
A requirement has a cost and a value. We know the cost but not always the added value. We should
spend more time upstream on this aspect.
[17]
Conclusion
Requirements are mostly formalized using natural language. A common point between the different industries is
the significant volume of requirements.
The use of models in place of, or in addition to, requirements remains marginal but is seen to be a high added
value practice.
The Requirements Engineering practices vary from one company to another, within the same company.
The main benefits of Requirements Engineering are:
Increased legibility of project information
Improved communication between stakeholders
Understanding the fundamentals is still a major obstacle to requirements engineering deployment.
Mastering complexity is also a major problem to be solved.
The most frequently encountered faults with requirements are:
The expression of needs in the form of solution,
Ambiguity,
Consistency,
Completeness,
Several requirements in a single requirement,
Imprecision,
Non verifiable requirements.
[18]
References
[GAO2004] United States General Accounting Office, Defence Acquisition: Stronger Management practices are
needed to improve DODs software-intensive weapon acquisitions, 2004
[Murman2000] Murman, E.M., Walton, M. and Rebentisch, E., Challenges in the Better, Faster, Cheaper Era of
Aeronautical Design, Engineering and Manufacturing, The Aeronautical Journal, Oct 2000, pp 481-489.
[NDIA2008] NDIA & SEI, CMU/SEI-2008-SR-034, A Survey of Systems Engineering Effectiveness
[SGI2001] Standish Group International, Extreme Chaos, 2001
[19]
Biography
Gauthier Fanmuy
Gauthier Fanmuy is the Technical Director at ADN (http://www.adneurope.com), a Systems
Engineering consulting company specialized in Requirements Engineering, Model Based
Systems Engineering and Products Lines for complex and critical Systems.
He has worked in the past years in the Automotive Industry at PSA Peugeot Citroen where he
has deployed Requirements Engineering and DOORS in an engineering department.
He previously worked in the Aeronautic Industry at Dassault Aviation where he managed
several projects such as integration of electro-optics sensors on military aircrafts, development of complex
system functions and re-engineering of MMI in object oriented approaches. He is also Deputy Technical
Director of AFIS (French Association on Systems Engineering). He was previously chairman of Global
Processes Technical Committee and also managed during 10 years of the AFIS Requirements Engineering
Working Group. He is the chairman an international WG in INCOSE (http://www.incose.org): Systems
Engineering for Very Small and Small Entities and small project (VSMEs).
As member of the IREB, he is playing a key role in the translation of the IREB certification material to French,
and in the porting of the overall IREB certification scheme in French speaking regions.
He is co-founder of the SPECIEF association for the promotion of Requirements Engineering in French
(www.specief.org) and is porting within this association the overall IREB certification scheme in French
speaking regions (http://certified-re.de/en/).
Ghassen Foughali
Ghassen Foughali is currently a PhD student at the Ecole Nationale Suprieure des Techniques Avances
(ENSTA ParisTech) France under the supervision of Prof. Omar Hammami. He received a
Master degree in systems engineering and project management from ENSAM in 2011 and a
ME in industrial engineering from ENIT, Tunisia in 2010. Ghassen Foughali work experience
is mainly with the French automotive industry and includes supply chain with RENAULT and
requirements engineering studies within PSA. Besides, he has been involved in collaborative
tool design for the electronics industry in the Mediterranean region.
Currently, his main research activities are related to requirement engineering process
improvement, system design automation, formal verification and mechatronics system design and validation.
Ghassen Foughali is a student member of the IEEE, AFIS and ADENIT Tunisia.
[20]