2 Requirements Elicitation: A Survey of Techniques,
Approaches, and Tools
Didar Zowghi and Chad Coulin
Abstract: Requirements elicitation is the process of seeking, uncovering, acquir-
ing, and elaborating requirements for computer based systems. It is generally un-
derstood that requirements are elicited rather than just captured or collected. This
implies there are discovery, emergence, and development elements to the elicita-
tion process. Requirements elicitation is a complex process involving many ac-
tivities with a variety of available techniques, approaches, and tools for perform-
ing them. The relative strengths and weaknesses of these determine when each is
appropriate depending on the context and situation. The objectives of this chapter
are to present a comprehensive survey of important aspects of the techniques, ap-
proaches, and tools for requirements elicitation, and examine the current issues,
trends, and challenges faced by researchers and practitioners in this field.
Keywords: requirements, elicitation, techniques, approaches, tools, issues, chal-
lenges, trends, survey.
2.1 Introduction
The importance of requirements engineering (RE) within software systems deve l-
opment has long been established and recognized by researchers and practitioners
alike (Chapter 1). The elicitation of requirements represents an early but continu-
ous and critical stage in the development of software systems. The requirements
for a software system may be spread across many sources. These include the prob-
lem owners, the stakeholders, documentation, and other existing systems. Because
of the communication rich nature of requirements elicitation activities, many of
the effective techniques do not originate from the traditional areas of software en-
gineering or computer science research. Techniques for requirements elicitation
are derived mostly from the social sciences, organizational theory, group dynam-
ics, knowledge engineering, and very often from practical experience.
The process of requirements elicitation is generally accepted as one of the criti-
cal activities in the RE process. Getting the right requirements is considered as a
vital but difficult part of software development projects [36]. A recent field study
of fifteen RE teams carried out by Hofmann and Lehner [31] identified key RE
practices that should lead to project success. Effective elicitation of requirements
was arguably among the most important of the resulting recommended good RE
practices.
Requirements elicitation itself is a very complex process involving many activi-
ties, with multiple techniques available to perform these activities. The multi-
disciplinary nature of requirements elicitation only adds to this complexity. Elici-
tation is subject to a large degree of error, influenced by key factors ingrained in
communication problems. Despite the importance of requirements elicitation
within software development, insufficient.
Thorny Issues of Stakeholder Identification and Prioritization in Requirement...IOSR Journals
Abstract: Identifying the stakeholder in requirement engineering process is one of the critical issues. It
performs a remarkable part for successful project completion. The software project largely depends on several
stakeholders. Stakeholder identification and prioritization is still a challenging part in the software development
life cycle. Most of the time, the stakeholders are treated with less importance during the software deployment.
Additionally, there is a lack of attempt to think about the right project stakeholder by the development team. In
maximum cases, the stakeholder identification technique is performed incorrectly and there is a lack of attempt
to mark out them with priority. Besides, there are so many limitations on the existing processes which are used
for identifying stakeholders and setting their priority. These limitations pose a negative impact on the
development of software project, which should be pointed out by giving deep concern on it. We are aiming to
focus on this typical fact, so that we can figure out the actual problem and current work on identifying
stakeholders and setting their priority.
Keywords: Stakeholders, Stakeholder Identification, Stakeholder Selection, Stakeholder
Prioritization, Stakeholder Value, Software Development
Requirement Engineering Challenges in Development of Software Applications an...Waqas Tariq
Requirement Engineering acts as foundation for any software and is one of the most important tasks. Entire software is supported by four pillars of requirement engineering processes. Functional and non-functional requirements work as bricks to support software edifice. Finally, design, implementation and testing add stories to construct entire software tower on top of this foundation. Thus, the base needs to be well-built to support rest of software tower. For this purpose, requirement engineers come across with numerous challenges to develop successful software. The paper has highlighted requirement engineering challenges encountered in development of software applications and selection of right customer-off-the-shelf components (COTS). Comprehending stakeholder’s needs; incomplete and inconsistent process description; verification and validation of requirements; classification and modeling of extensive data; selection of COTS product with minimum requirement modifications are foremost challenges faced during requirement engineering. Moreover, the paper has discussed and critically evaluated challenges highlighted by various researchers. Besides, the paper presents a model that encapsulates seven major challenges that recur during requirement engineering phase. These challenges have been further categorized into problems. Furthermore, the model has been linked with previous research work to elaborate challenges that have not been specified earlier. Anticipating requirement engineering challenges could assist requirement engineers to prevent software tower from any destruction.
An Investigation of Critical Failure Factors In Information Technology ProjectsIOSR Journals
Rate of failed projects in information technology system project remains high in comparison with other infrastructure or high technology projects. The objective of this paper is to determine and represent a broad range of potential failure factors during the implementation phase and cause of IS/IT Project defeat/failure. Challenges exist in order to achieve the projects goal successfully and to avoid the failure. In this research study, 12 articles were studied as significant contributions to analyze developing a list of critical failure factors of IT projects
Thorny Issues of Stakeholder Identification and Prioritization in Requirement...IOSR Journals
Abstract: Identifying the stakeholder in requirement engineering process is one of the critical issues. It
performs a remarkable part for successful project completion. The software project largely depends on several
stakeholders. Stakeholder identification and prioritization is still a challenging part in the software development
life cycle. Most of the time, the stakeholders are treated with less importance during the software deployment.
Additionally, there is a lack of attempt to think about the right project stakeholder by the development team. In
maximum cases, the stakeholder identification technique is performed incorrectly and there is a lack of attempt
to mark out them with priority. Besides, there are so many limitations on the existing processes which are used
for identifying stakeholders and setting their priority. These limitations pose a negative impact on the
development of software project, which should be pointed out by giving deep concern on it. We are aiming to
focus on this typical fact, so that we can figure out the actual problem and current work on identifying
stakeholders and setting their priority.
Keywords: Stakeholders, Stakeholder Identification, Stakeholder Selection, Stakeholder
Prioritization, Stakeholder Value, Software Development
Requirement Engineering Challenges in Development of Software Applications an...Waqas Tariq
Requirement Engineering acts as foundation for any software and is one of the most important tasks. Entire software is supported by four pillars of requirement engineering processes. Functional and non-functional requirements work as bricks to support software edifice. Finally, design, implementation and testing add stories to construct entire software tower on top of this foundation. Thus, the base needs to be well-built to support rest of software tower. For this purpose, requirement engineers come across with numerous challenges to develop successful software. The paper has highlighted requirement engineering challenges encountered in development of software applications and selection of right customer-off-the-shelf components (COTS). Comprehending stakeholder’s needs; incomplete and inconsistent process description; verification and validation of requirements; classification and modeling of extensive data; selection of COTS product with minimum requirement modifications are foremost challenges faced during requirement engineering. Moreover, the paper has discussed and critically evaluated challenges highlighted by various researchers. Besides, the paper presents a model that encapsulates seven major challenges that recur during requirement engineering phase. These challenges have been further categorized into problems. Furthermore, the model has been linked with previous research work to elaborate challenges that have not been specified earlier. Anticipating requirement engineering challenges could assist requirement engineers to prevent software tower from any destruction.
An Investigation of Critical Failure Factors In Information Technology ProjectsIOSR Journals
Rate of failed projects in information technology system project remains high in comparison with other infrastructure or high technology projects. The objective of this paper is to determine and represent a broad range of potential failure factors during the implementation phase and cause of IS/IT Project defeat/failure. Challenges exist in order to achieve the projects goal successfully and to avoid the failure. In this research study, 12 articles were studied as significant contributions to analyze developing a list of critical failure factors of IT projects
Agile project management and normativeGlen Alleman
Reform of the traditional approaches to managing software development projects is driven by several factors, not the least of which is some spectacular failures of soft-ware projects. Ranging from the IRS, to the FAA, to large e–commerce systems, we all have some “war story” of a major failure that can be traced to non–technical causes.
Requirements Triage - Challenges and Solutionsijseajournal
This paper presents a discussion on the process of requirements triage in market driven requirements
engineering and also reports the challenges, consequences, solutions and the experiences with the
proposed solutions. Analyses of the observed results are also presented by the authors before conclusion.
The process of requirement elicitation is straight forward. The business analyst interviews the identified stakeholders, identifies and defines the tasks, and documents the same in detail.
An interactive approach to requirements prioritization using quality factorsijfcstjournal
As the prevalence of software increases, so does the complexity and the number of requirements assoc
iated
to the software project. This presents a dilemma for the developers to clearly identify and prioriti
ze the
most important requirements in order to del
iver the project in given amount of resources and time.
A
number of prioritization methods have been proposed which provide consistent results, but they are v
ery
difficult and complex to implement in practical scenarios as well as lack proper structure to
analyze the
requirements properly. In this study, the users can provide their requirements in two forms: text ba
sed
story form and use case form.
Moreover, the existing prioritization techniques have a very little or no
interaction with the users. So, in t
his paper an attempt has been made to make the prioritization process
user interactive by adding a second level of prioritization where after the developer has properly a
nalyzed
and ranked the requirements on the basis of quality attributes in the first le
vel, takes the opinion of distinct
user’s about the requirements priority sequence. The developer then calculates the disagreement valu
e
associated with each user sequence in order to find out the final priority sequence.
EXPLORING THE LINK BETWEEN LEADERSHIP AND DEVOPS PRACTICE AND PRINCIPLE ADOPTIONacijjournal
Our research focuses in software-intensive organizations and highlights the challenges that surface as a result of the transitioning process of highly-structured to DevOps practices and principles adoption. The approach collected data via a series of thirty (30) interviews, with practitioners from the EMEA
region (Czech Republic, Estonia, Italy, Georgia, Greece, The Netherlands, Saudi Arabia, South Africa, UAE, UK), working in nine (9) different industry domains and ten (10) different countries. A set of agile, lean and DevOps practices and principles were identified, which organizations select as
part of DevOps-oriented adoption. The most frequently adopted ITIL® service management practices, contributing to DevOps practice and principle adoption success, indicate that DevOps-oriented organizations benefit from the existence of change management, release and deployment management,
service level management, incident management and service catalog management. We also uncover that the DevOps adoption leadership role is required in a DevOps team setting and that it should, initially, be an individual role.
EXPLORING THE LINK BETWEEN LEADERSHIP AND DEVOPS PRACTICE AND PRINCIPLE ADOPTIONacijjournal
Our research focuses in software-intensive organizations and highlights the challenges that surface as a result of the transitioning process of highly-structured to DevOps practices and principles adoption. The approach collected data via a series of thirty (30) interviews, with practitioners from the EMEA
region (Czech Republic, Estonia, Italy, Georgia, Greece, The Netherlands, Saudi Arabia, South Africa, UAE, UK), working in nine (9) different industry domains and ten (10) different countries. A set of agile, lean and DevOps practices and principles were identified, which organizations select as part of DevOps-oriented adoption. The most frequently adopted ITIL® service management practices, contributing to DevOps practice and principle adoption success, indicate that DevOps-oriented
organizations benefit from the existence of change management, release and deployment management, service level management, incident management and service catalog management. We also uncover that the DevOps adoption leadership role is required in a DevOps team setting and that it should, initially, be an individual role.
Communication, culture, competency, and stakeholder that contribute to requi...IJECEIAES
In the context of software development, requirement engineering is one of the crucial phases that leads to software project success or failure. According to several disruptive changes in the software engineering landscape as well as the world’s challenge of virus pandemic, the provision of practical and innovative software applications is required. Therefore, issues resolution in requirement elicitation is potentially one of the key success factors resulting in enhanced quality of system requirement. The authors have striven to create new ways of requirement elicitation according to factor effects of communication, culture, competency, and stakeholder, by incorporating tools, processes, methods, and techniques to solve the problems comprehensively, and then proposed an adaptive and applicable conceptual framework. To illustrate these effects, the authors performed a literature review from the past 8 years, and then data analysis from interviews of 27 practitioners, observations and focus groups of software development in real-life projects.
CRESUS-T: A COLLABORATIVE REQUIREMENTS ELICITATION SUPPORT TOOLijseajournal
Communicating an organisation's requirements in a semantically consistent and understandable manner
and then reflecting the potential impact of those requirements on the IT infrastructure presents a major
challenge among stakeholders. Initial research findings indicate a desire among business executives for a
tool that allows them to communicate organisational changes using natural language and a model of the IT
infrastructure that supports those changes. Building on a detailed analysis and evaluation of these findings,
the innovative CRESUS-T support tool was designed and implemented. The purpose of this research was to
investigate to what extent CRESUS-T both aids communication in the development of a shared
understanding and supports collaborative requirements elicitation to bring about organisational, and
associated IT infrastructural, change. In order to determine the extent shared understanding was fostered,
the support tool was evaluated in a case study of a business process for the roll out of the IT software
image at a third level educational institution. Statistical analysis showed that the CRESUS-T support tool
fostered shared understanding in the case study, through increased communication. Shared understanding
is also manifested in the creation of two knowledge representation artefacts namely, a requirements model
and the IT infrastructure model. The CRESUS-T support tool will be useful to requirements engineers and
business analysts that have to gather requirements asynchronously.
FISHBONE ANALYSIS ON WASTES IN SOFTWARE DEVELOPMENT USING THE LEAN I.T. PRINC...ecij
The transformative global economy posed challenges to businesses in service management. In this computing age, the perceptual and operational edge of a certain business or organization manifested on the kind of technology it offers in the Service Management. Organizations have long recognized the
importance of managing key resources such as people and information. Information has now moved to its rightful place as a key resource in the organization and therefore management of the same can be instituted by employing methodology. To keep their brand promise, technology has been used;The number of new entrants to every sectors of economy has grown significantly in recent years, and each firm strives to make their daily operation efficient in which demand for business software or application software getting higher and businesses or organizations opted to build or buy this software. Because of
new entrants, it had offered opportunity to software developers to translate business processes into systems. This study investigates waste in the software development by application of Lean principles. Like any conventional projects, software becomes buggy and oftentimes it fails. Software failure is always attributed to the software engineering, not the incompetence of project managers, inadequacy of the
people on the project, or lack of clear goal. The researchers’ contentions are there wastes in the software development and serve as mechanism and evidence to why software fails. Software failure is not attributed to the software itself, it includes however the acceptance of the clients and end-users. Descriptive secondary data analysis, participant observation and Fishbone Analysis were the methodology used in the study. Wastes include unfinished or partially done work, extra features,
relearning, handoffs, delays, task switching, and defects.
IT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERSijseajournal
The study intended to unravel critical IT project showstoppers which tend to halt IT projects temporarily or permanently, and ultimately cause them to fail, by positioning them in the systems development life cycle (SDLC) framework. Interviewing 8 IT project and program managers of the banking and telecommunications industries in Ghana individually and in a group, 19 critical showstoppers were identified spanning the whole SDLC. Generally, it was observed that for the successful completion of IT projects, the expertise and availability of project managers and team members are critical. Again, the project manager must be able to prove that the project is in line with the objectives and strategic direction of the business, is being mounted to gain competitive advantage, and has a solid business case. Thirdly, funding is key at all stages of the cycle, as well as approval for continuation at various stages.
2. Framework Graphic Candidates will create a graphic that re.docxherminaprocter
2. Framework Graphic
Candidates will create a graphic that reflects an understanding of a conceptual/theoretical framework (preferably related to their dissertation topic). In a graphic, candidates’ creations should clearly represent their vision of the framework and include 1 – 2 paragraphs on how the dependent and independent variables are evidenced.
Dissertation topic that I submitted is in the attachment that has a file name as Survey -27
.
2. Research Article Review – Read one (1) research articles on T.docxherminaprocter
2. Research Article Review
–
Read one (1) research articles on Therapeutic Recreation in Long Term Center or a specific treatment
modality/facilitation technique appropriate for older population in a long term care setting (e.g., assisted living, nursing home, etc.) and write a reaction paper based on guide questions. Must be 3 pages minimum. No plagiarism. Must have knowledge in Therapeutic Recreation Major and modalities.
Attached is an
EXAMPLE
of what I am looking for.
.
More Related Content
Similar to 2 Requirements Elicitation A Survey of Techniques, Ap.docx
Agile project management and normativeGlen Alleman
Reform of the traditional approaches to managing software development projects is driven by several factors, not the least of which is some spectacular failures of soft-ware projects. Ranging from the IRS, to the FAA, to large e–commerce systems, we all have some “war story” of a major failure that can be traced to non–technical causes.
Requirements Triage - Challenges and Solutionsijseajournal
This paper presents a discussion on the process of requirements triage in market driven requirements
engineering and also reports the challenges, consequences, solutions and the experiences with the
proposed solutions. Analyses of the observed results are also presented by the authors before conclusion.
The process of requirement elicitation is straight forward. The business analyst interviews the identified stakeholders, identifies and defines the tasks, and documents the same in detail.
An interactive approach to requirements prioritization using quality factorsijfcstjournal
As the prevalence of software increases, so does the complexity and the number of requirements assoc
iated
to the software project. This presents a dilemma for the developers to clearly identify and prioriti
ze the
most important requirements in order to del
iver the project in given amount of resources and time.
A
number of prioritization methods have been proposed which provide consistent results, but they are v
ery
difficult and complex to implement in practical scenarios as well as lack proper structure to
analyze the
requirements properly. In this study, the users can provide their requirements in two forms: text ba
sed
story form and use case form.
Moreover, the existing prioritization techniques have a very little or no
interaction with the users. So, in t
his paper an attempt has been made to make the prioritization process
user interactive by adding a second level of prioritization where after the developer has properly a
nalyzed
and ranked the requirements on the basis of quality attributes in the first le
vel, takes the opinion of distinct
user’s about the requirements priority sequence. The developer then calculates the disagreement valu
e
associated with each user sequence in order to find out the final priority sequence.
EXPLORING THE LINK BETWEEN LEADERSHIP AND DEVOPS PRACTICE AND PRINCIPLE ADOPTIONacijjournal
Our research focuses in software-intensive organizations and highlights the challenges that surface as a result of the transitioning process of highly-structured to DevOps practices and principles adoption. The approach collected data via a series of thirty (30) interviews, with practitioners from the EMEA
region (Czech Republic, Estonia, Italy, Georgia, Greece, The Netherlands, Saudi Arabia, South Africa, UAE, UK), working in nine (9) different industry domains and ten (10) different countries. A set of agile, lean and DevOps practices and principles were identified, which organizations select as
part of DevOps-oriented adoption. The most frequently adopted ITIL® service management practices, contributing to DevOps practice and principle adoption success, indicate that DevOps-oriented organizations benefit from the existence of change management, release and deployment management,
service level management, incident management and service catalog management. We also uncover that the DevOps adoption leadership role is required in a DevOps team setting and that it should, initially, be an individual role.
EXPLORING THE LINK BETWEEN LEADERSHIP AND DEVOPS PRACTICE AND PRINCIPLE ADOPTIONacijjournal
Our research focuses in software-intensive organizations and highlights the challenges that surface as a result of the transitioning process of highly-structured to DevOps practices and principles adoption. The approach collected data via a series of thirty (30) interviews, with practitioners from the EMEA
region (Czech Republic, Estonia, Italy, Georgia, Greece, The Netherlands, Saudi Arabia, South Africa, UAE, UK), working in nine (9) different industry domains and ten (10) different countries. A set of agile, lean and DevOps practices and principles were identified, which organizations select as part of DevOps-oriented adoption. The most frequently adopted ITIL® service management practices, contributing to DevOps practice and principle adoption success, indicate that DevOps-oriented
organizations benefit from the existence of change management, release and deployment management, service level management, incident management and service catalog management. We also uncover that the DevOps adoption leadership role is required in a DevOps team setting and that it should, initially, be an individual role.
Communication, culture, competency, and stakeholder that contribute to requi...IJECEIAES
In the context of software development, requirement engineering is one of the crucial phases that leads to software project success or failure. According to several disruptive changes in the software engineering landscape as well as the world’s challenge of virus pandemic, the provision of practical and innovative software applications is required. Therefore, issues resolution in requirement elicitation is potentially one of the key success factors resulting in enhanced quality of system requirement. The authors have striven to create new ways of requirement elicitation according to factor effects of communication, culture, competency, and stakeholder, by incorporating tools, processes, methods, and techniques to solve the problems comprehensively, and then proposed an adaptive and applicable conceptual framework. To illustrate these effects, the authors performed a literature review from the past 8 years, and then data analysis from interviews of 27 practitioners, observations and focus groups of software development in real-life projects.
CRESUS-T: A COLLABORATIVE REQUIREMENTS ELICITATION SUPPORT TOOLijseajournal
Communicating an organisation's requirements in a semantically consistent and understandable manner
and then reflecting the potential impact of those requirements on the IT infrastructure presents a major
challenge among stakeholders. Initial research findings indicate a desire among business executives for a
tool that allows them to communicate organisational changes using natural language and a model of the IT
infrastructure that supports those changes. Building on a detailed analysis and evaluation of these findings,
the innovative CRESUS-T support tool was designed and implemented. The purpose of this research was to
investigate to what extent CRESUS-T both aids communication in the development of a shared
understanding and supports collaborative requirements elicitation to bring about organisational, and
associated IT infrastructural, change. In order to determine the extent shared understanding was fostered,
the support tool was evaluated in a case study of a business process for the roll out of the IT software
image at a third level educational institution. Statistical analysis showed that the CRESUS-T support tool
fostered shared understanding in the case study, through increased communication. Shared understanding
is also manifested in the creation of two knowledge representation artefacts namely, a requirements model
and the IT infrastructure model. The CRESUS-T support tool will be useful to requirements engineers and
business analysts that have to gather requirements asynchronously.
FISHBONE ANALYSIS ON WASTES IN SOFTWARE DEVELOPMENT USING THE LEAN I.T. PRINC...ecij
The transformative global economy posed challenges to businesses in service management. In this computing age, the perceptual and operational edge of a certain business or organization manifested on the kind of technology it offers in the Service Management. Organizations have long recognized the
importance of managing key resources such as people and information. Information has now moved to its rightful place as a key resource in the organization and therefore management of the same can be instituted by employing methodology. To keep their brand promise, technology has been used;The number of new entrants to every sectors of economy has grown significantly in recent years, and each firm strives to make their daily operation efficient in which demand for business software or application software getting higher and businesses or organizations opted to build or buy this software. Because of
new entrants, it had offered opportunity to software developers to translate business processes into systems. This study investigates waste in the software development by application of Lean principles. Like any conventional projects, software becomes buggy and oftentimes it fails. Software failure is always attributed to the software engineering, not the incompetence of project managers, inadequacy of the
people on the project, or lack of clear goal. The researchers’ contentions are there wastes in the software development and serve as mechanism and evidence to why software fails. Software failure is not attributed to the software itself, it includes however the acceptance of the clients and end-users. Descriptive secondary data analysis, participant observation and Fishbone Analysis were the methodology used in the study. Wastes include unfinished or partially done work, extra features,
relearning, handoffs, delays, task switching, and defects.
IT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERSijseajournal
The study intended to unravel critical IT project showstoppers which tend to halt IT projects temporarily or permanently, and ultimately cause them to fail, by positioning them in the systems development life cycle (SDLC) framework. Interviewing 8 IT project and program managers of the banking and telecommunications industries in Ghana individually and in a group, 19 critical showstoppers were identified spanning the whole SDLC. Generally, it was observed that for the successful completion of IT projects, the expertise and availability of project managers and team members are critical. Again, the project manager must be able to prove that the project is in line with the objectives and strategic direction of the business, is being mounted to gain competitive advantage, and has a solid business case. Thirdly, funding is key at all stages of the cycle, as well as approval for continuation at various stages.
Similar to 2 Requirements Elicitation A Survey of Techniques, Ap.docx (20)
2. Framework Graphic Candidates will create a graphic that re.docxherminaprocter
2. Framework Graphic
Candidates will create a graphic that reflects an understanding of a conceptual/theoretical framework (preferably related to their dissertation topic). In a graphic, candidates’ creations should clearly represent their vision of the framework and include 1 – 2 paragraphs on how the dependent and independent variables are evidenced.
Dissertation topic that I submitted is in the attachment that has a file name as Survey -27
.
2. Research Article Review – Read one (1) research articles on T.docxherminaprocter
2. Research Article Review
–
Read one (1) research articles on Therapeutic Recreation in Long Term Center or a specific treatment
modality/facilitation technique appropriate for older population in a long term care setting (e.g., assisted living, nursing home, etc.) and write a reaction paper based on guide questions. Must be 3 pages minimum. No plagiarism. Must have knowledge in Therapeutic Recreation Major and modalities.
Attached is an
EXAMPLE
of what I am looking for.
.
2) In examining Document 4 and Document 6, how did the.docxherminaprocter
2)
In examining
Document 4
and
Document 6
, how did the onset of the Cold War redefine what it meant to be an American? What role do these documents suggest loyal citizens play in waging war against Communism? In examining the political cartoon (
Document 5
), how does the artist critique the “anti-subversive” efforts that took place during the Second Red Scare? In what ways does the McCarthy era continue to influence American society?
3)
The turbulent 1960s saw numerous attempts to identify the root problems within American society and the role of citizens in resolving them. In examining
Document 7
,
Document 8
, and
Document 9
, what common problems are identified within American society? What are some of the differences? What role did each of these documents suggest Americans should play in achieving social justice? Are their arguments persuasive? Why or why not?
4)
The last several decades of the Twentieth Century saw the emergence of new groups of Americans claiming rights as citizens. To what extent does the failure of the Equal Rights Amendment (
Document 10
) to be ratified, but the signing of Title IX (
Document 11
) into law, signal about the changing role and rights of women in modern America? After reading President George H.W. Bush’s remarks (
Document 12
), why do you believe it took so long for the country to acknowledge and protect the rights of the disabled?
5)
How does Maya Angelou’s inauguration poem (
Document 13
) reflect upon the identity of “hyphenated Americans” by the early 1990s? In reading
Document 14
, how does President-Elect Barack Obama define Americanism? Looking back over documents 1-13, did his election, as the first person of color to become President of the United States, resolve the questions and crises surrounding the definition of an American citizen? In a post-9/11 world, has America progressed in its inclusiveness? Why or why not?
.
2. Sandra is a parent who believes that play is just entertainment f.docxherminaprocter
2. Sandra is a parent who believes that play is just entertainment for children, whereas Petra is a parent who believes that play is developmentally beneficial for children. Which is likely to be true about Sandra and Petra?
Group of answer choices
A. Sandra’s children are more likely to have richer imaginations than Petra’s children.
B. Sandra is less likely than Petra to encourage pretend play.
C. Petra is more likely than Sandra to encourage associative play.
D. Petra is less likely than Sandra to provide props for her children to play with.
3. Three-year-old Aiko is pretending that her teddy bear is going to the beach and places a paper plate on the teddy bear’s head as a “hat.” Aiko is demonstrating...
Group of answer choices
A. dual representation
B. egocentrism
C. centration
D. animistic thinking
5.
Nikki and Anna are both running for class president. When Anna wins the election, Nikki is jealous and spreads rumors about Anna. Nikki is displaying .. (pick below.......) aggression
A. verbal
B."reactive",
C"physical",
D"proactive"]
6. Kris has a preschool-age daughter named Leila. When Kris gives Leila three cookies and asks her to count them, Leila points to each cookie, one-by-one, and says, “One, two, three.” When Kris asks Leila, “How many cookies do you have?” Leila proudly answers, “Three!” Leila is demonstrating an understanding of...
Group of answer choices
A. Cardinality
B.arithmetic
C. quantity comparisons
D. Ordinality
.
2.2 Discussion What Is LeadershipGetting StartedR.docxherminaprocter
2.2 Discussion: What Is Leadership
Getting Started
Recognizing good organizational leader characteristics is important, not only to ensure that your leadership style is benefiting the organization but also to identify these characteristics in others so they can provide the greatest service to the organization.
This assignment is a continuation of material from Chapter 1 and your 1.2 Discussion. This material will help you understand organizational leader characteristics as you consider and defend your perspectives and consider those of your peers.
Upon successful completion of this discussion, you will be able to:
Evaluate leadership styles.
Resources
Textbook:
Leadership: Enhancing the Lessons of Experience
Background Information
In this discussion, you will consider the various definitions of leadership as provided in the textbook from the authors' review of literature in the field of leadership. You will also explore the concept of leadership as both rational and emotional as well as the differences between the roles of a manager versus the roles of a leader.
The concept of followership is also introduced in this assignment's reading from the textbook, as well as the growing role of women in leadership positions and responsibilities.
Instructions
Review the rubric to make sure you understand the criteria for earning your grade.
Review Chapter 1, "What Do We Mean by Leadership?", in our textbook. As you review, reflect upon the definitions of leadership and how these definitions and other aspects of leadership add to your prior understanding of a leader's role in an organization.
Conduct a critical analysis of the postings by two of your classmates from the posts submitted in 1.2 by the end of the workshop and should be written as if you were reviewing their posting in an academic journal. Your discussion response should, therefore, answer the following questions as applicable:
Were three leadership definitions clearly defined with examples and clear, insightful critical thinking? Comment on two of the three definitions of leadership presented in the post of your classmates. Do you agree or disagree with their interpretation of the definition of leadership? Provide rationale from personal examples or subject matter expert opinions.
Did the discussion of leadership as an art or a science include a detailed explanation that demonstrates clear, insightful critical thinking? Review your classmates' posts. Does their explanation support defining leadership as either an “art” or a “science”? Explain.
Was the concept of spiritual gifts effectively discussed, relating the concept to that of leadership styles?
In addition to commenting on the critical thinking displayed in the post, offer your comments on the original post and provide your overall agreement or disagreement with the poster’s concept of leadership. Your response to each question above should be one paragraph in length and cite one academic source.
.
2. You are a member of the Human Resource Department of a medium-si.docxherminaprocter
2. You are a member of the Human Resource Department of a medium-sized organization that is implementing a new interorganizational system that will impact employees, customers, and suppliers. Your manager has requested that you work with the system development team to create a communications plan for the project. He would like to meet with you in two hours to review your thoughts on the KEY OBJECTIVES OF THE COMMUNICATIONS PLAN. What should those objectives be?
.
2.1. What is Strategic Human Resource Management Differentiate bet.docxherminaprocter
2.1. What is Strategic Human Resource Management? Differentiate between strategic context and HR as a profit center. What are the Strategic Human Management tools, metrics used in managing human resources, and strategy-base metrics?
2.2. What can managers do to improve employee engagement and how to measure it?
3.1. What is job analysis? Describe at least four methods for collecting data. Also, what are competencies and how to write competencies?
.
2,___Use of no less than six slides and no more than seven .docxherminaprocter
2,___Use of no less than six slides and no more than seven:
a. An introductory slide with the title or research question and your name and student number.
b. The remaining 4-5 pieces of information will be responsible for answering the information question:
What was the impact of ________en the history of _________?
c. An APA-style bibliography slide.
3.__one or more than another image in the power point related to the theme. One of these images may be the image of the neighbor being investigated.
4.__Bibliografía (no less than 4 references: Two from the Internet, one from one book and one from an interview- APA style)
7. ___write in your own words. No copy paste.
8. __ (Correct spelling and punctuation and note that the writing is yours and not a copy paste from the Internet or a book). Check the work before delivering it with this same check list.
V. Depth
9.__Desarrollo of the research question. Answer it through the power point presentation.
10. __ Depth in the study. Copy paste is not accepted. Any plagiarism (may be: copy a concept, even a sentence, whose intellectual author is not you, invalidates this research- see the university's politics regarding plagiarism). Each criterion is worth ten points.
¿Cómo impacta la novela a la historia de Puerto Rico?
Yeralis M. Rivera Arguinzoni
B00569846
Dra. Vilma Pizarro
Historia de Puerto rico
Universidad Interamericana Recinto de Barranquitas
Comienzos de la novela en Puerto Rico
La literatura en Puerto Rico comienza a finales del siglo XIX.
Movimiento del romanticismo( Europa: Alemania, Inglaterra y España)
Géneros literarios: Poesía, teatro, ensayo y narrativa( novela, cuentos, leyendas, etc.).
La novela es el último género en llegar a Puerto Rico y a América.
En estas novelas trataban los temas de: el amor a la patria, el destino, la muerte, Dios y el progreso, entre otros.
La primera novela puertorriqueña
Hay dos teorías sobre la primer novela puertorriqueña:
Luz y Sombra(1893) = Escrita por Ana Roque de Duprey, primera novela escrita en Puerto Rico.
“La Peregrinación de Bayoán”(1863) = Escrita por Eugenio María de Hostos, primera novela escrita por un puertorriqueño pero es escrita en España. Esta es la mas aceptada como la primera novela puertorriqueña. Su tema principal era la lucha por la identidad del puertorriqueño. Ideas políticas y sociales de Hostos luego del grito de Lares y el grito de Yara(Cuba), fueron expresadas en esta novela.
Otros escritores importantes de la época
Manuel Zeno Gandía = Considerado como el más grande novelista de Puerto Rico. Sus obras: “La Charca”, “Garduña” y “El Negocio”, conocidas como “Crónicas de un mundo enfermo”, se escriben ya bajo el naturalismo. Presentan a un Puerto Rico enfermo y la situación crítica de un Puerto Rico abandonado por España.
Enrique A. Laguerre = Sus obras más importantes: “La Resaca” y “La llamarada”. Sus obras presentan la pésima situación de vida del campesinado a finales del siglo XIX.
.
2. Multicultural Interview Paper Students may begin this.docxherminaprocter
2.
Multicultural Interview Paper
Students may begin this assignment by selecting an individual from a culture differing from their own. This may be any culture or subgroup covered in the course content, such as adolescents, elderly adults, and persons with disabilities.
Students are not limited to these groups.
Students will create a series of interview questions focused on issues and concerns pertinent to the culture or subgroup
. Interview questions are to be specific and designed to help the student learn more about the culture or subgroup as it relates to Addictions & course studies. Students may use their text book and other course resources as guidelines for developing questions. Students should develop a minimum of eight-10 interview questions.
Students
must
submit interview questions to the course instructor and receive approval of the questions before proceeding with the assignment.
Students will then use these approved questions during the interview with the consenting individual and write a two page summarization of the questions with the answers received by the individual. The paper must be in question/answer format.
.
2-4A summary of your findings regarding sexual orientation and.docxherminaprocter
2-4
A summary of your findings regarding sexual orientation and its impact on life-span development, including findings from the resources and from the journal article(s) you selected during your research
An explanation of how you might apply your findings to social work practice
.
2- to 4A description of the services in your local communi.docxherminaprocter
2- to 4
A description of the services in your local community that support individuals in later adulthood
An evaluation of the effectiveness of the services you identified
A description of service gaps you identified
An explanation of how to improve existing services
A description of services that should be added, and why
.
2 or more paragraphAs previously noted, the Brocks have some of.docxherminaprocter
2 or more paragraph
As previously noted, the Brocks have some of their investment portfolio in conservative stocks. These equities have had very slow growth while regularly paying a small dividend.
Pam and Josh have received several emails recently with suggestions about various biotechnology, retailing, and environmental companies. The investment advisers believe that these industries would provide an opportunity for strong long-term financial gains.
In recent years, the Brocks have made extensive use of mutual funds in their investment portfolio. However, they are concerned that their selection of the funds may not be coordinated. With over 9,200 different mutual funds available, this financial marketplace is confusing.
The Brocks start the evaluation process by connecting various types of mutual funds to their investments goals. Next, they assess the past performance and management of the funds. Finally, they talk with various financial advisers and other investors to gather additional information.
Life Situation
Pam, 43
Josh, 45
3 Children, ages 16, 14 and 11
Financial Data
Monthly income$4,900 / Living expenses$4,450/ Assets$262,700/ Liabilities$84,600/ Emergency Fund$5,000
Q1. According to Pam, "We both know we should have started our investment program sooner, but we always seemed to have 'emergencies' that took what extra money we had." To what extent should the Brocks invest in stocks as a major portion of their investment portfolio?
.
2-1 IntroductionUber Technologies Inc. (Uber) is a tech startu.docxherminaprocter
2-1 Introduction
Uber Technologies Inc. (Uber) is a tech startup that provides ride-sharing services by
facilitating a connection between independent contractors (drivers) and riders with the use
of an app. Uber has expanded its operations to 425 cities in 72 countries around the world
and is valued at around $70 billion, making it the world’s most valuable startup.
Approximately 30 million users use Uber’s services monthly. Uber has become a key player
in the sharing economy, a new economic model in which independent contractors rent out
their underutilized resources such as vehicles or lodging to other consumers. The sharing
economy is quickly becoming an alternative to owning resources outright. Because its
services cost less than taking a traditional taxi, Uber and similar ride-sharing services have
upended the taxi industry. The company has experienced resounding success and is
looking toward expansion both internationally and within the United States.
However, Uber’s rapid success is creating challenges in the form of legal and regulatory,
social, and technical obstacles. The taxi industry, for instance, is arguing that Uber has an
unfair advantage because it does not face the same licensing requirements as they do.
Others accuse Uber of not vetting their drivers, creating potentially unsafe situations. Some
major cities are banning ride-sharing services like Uber because of these various concerns.
Additionally, Uber has faced various lawsuits, including a lawsuit filed by its independent
contractors. Its presence in the market has influenced lawmakers to draft new regulations to
govern this “app-driven” ride-sharing system. Legislation can often hinder a company’s
expansion opportunities because of the resources it must expend to comply with regulatory
requirements. Uber has been highly praised for giving independent contractors an opportunity to earn money as long as they have a car, while also offering convenient ways for consumers to get around at lower costs. Although its “Surge Pricing” technique has been criticized for charging higher fares during popular times, it is also becoming a model for other companies such as Zappos in how it compensates its call center employees. The biggest issues Uber faces include legal action because drivers are not licensed, rider and driver safety,protection and security of customer and driver information, and a lack of adequate insurance coverage. To be successful, Uber must address these issues in its marketing strategy so it can reduce resistance as it expands into other cities.
2-2 Background
In 2009 Travis Kalanick and Garrett Camp developed a smartphone application to connect
drivers-for-hire with people needing rides to a destination in their city. Earlier in the year the
founders had attended the inaugural address in Washington, D.C. and could not hail a taxi.
They recognized the need for a convenient, low-cost transportation service. This innovative
service was originally founded.
2 postsRe Topic 2 DQ 1Social determinants of health are fac.docxherminaprocter
2 posts
Re: Topic 2 DQ 1
Social determinants of health are factors affecting peoples’ health, functioning and well-being, such as environmental conditions, social, and economic variables. Socioeconomic environmental factors contributing to infectious disease occurrence include crowding, unsanitary, unavailability of uncontaminated foods and water. These conditions provide an environment required for continuous chain of infection; the process required for transmission of disease. There are 6 components in the chain, or a cycle, of infection: organisms, reservoir, portal of exit, transmission, portal of entry, and a suspectable host (Green, 2018). To stop spreading of a communicable disease, the process has to interrupted or the chain of infection has to be broken at any point. Nurses, working in communities can decrease of the infectious diseases spreading. Promoting vaccination to lowering susceptible hosts number; and educating on sign and symptoms for early self-isolation to protect one’s family members from getting sick, breaking the transmission link. Educating on thorough hand hygiene and reducing face touching may protect one from getting sick eliminate portal of entry link. Proper respiratory hygiene, such as using disposable tissues and covering the mouth when sneezing, may stop the transmission on the stage of the pathogen leaving the reservoir via portal of exit (CDC.gov).
Noncommunicable chronic diseases, such as type 2 diabetes, have grown in endemic and epidemic proportions, are developing from a combination of determinants including environmental, physiological, and behavioral factors, additionally to genetic disposition (Green, 2018). Lack of knowledge and motivation, unavailability of healthcare services and financial resources contribute to developing of such diseases.q
.
2 peer responses due in 4 hoursMALEETAS POSTWorld War .docxherminaprocter
2 peer responses due in 4 hours
MALEETA'S POST:
World War II film
Saving Private Ryan (1998), directed by one of my favorites,
Steven Spielberg, is what I the topic my topic of week five’s discussion. This film is like no other World War II film that I have seen because of the realistic combat. I found myself getting overwhelmed, covering my eyes, and getting sick to my stomach from time to time through the movie. From the very beginning of the film on Omaha Beach, the D-Day landing scene gave me a glimpse of how the stress of combat experience could have felt.
Movie-watchers do not think about how the color scheme plays a significant part and sets different tones. The muddy browns, dark greens, and greys are the predominant colors throughout the movie. This movie does not have many vibrant, happy colors, and for a good reason. For instance, in
Saving Private Ryan
, the Normandy landing scene opens slowly to a beach. The setting is solemn, and the continuous color scheme of bland greys is an excellent cinematography piece. I felt like it made the red blood colors and the explosion colors stand out even more. Also, almost every shot was dreary and had vintage-like colors that gave the feeling of war and hopelessness. There was a part in this scene when the soldiers were near water that contrasted the typically dreary colors with a calming blue hue. The change of color gave me some hope that it may be safer under the surface, and then those hopes were instantly shattered when shots were fired, and red clouds pierced through the calming blue colors punishing me for even thinking there was any hope approaching the soldiers. This is an excellent mise-en-scene because it represented my change of emotions.
Another color paly example is in the scene where “Duty” is talking and joking as the crew marches toward their mission. Throughout this scene, the conversation is more cheerful, but the lighting and colors of grey and green continue to give a gloomy narrative, so my mood does not change much.
Saving Private Ryan has the same dull, dreary colors and low-key lighting, which looks dark and intensifies the shadows as the other War films in Week Five’s content. The desaturation of color is often used in war films.
Saving Private Ryan’s narrative, editing, camera movement, and color scheme throughout the movie jumped out of the screen and attacked me as a viewer. Every part of its cinematography placed the watcher in the combat experience, and I loved it in a good but bad way.
COLIN'S POST:
The war film I watched for this week was
1917 (2019)
directed by Sam Mendes. This film takes place during World War I and follows two British soldiers throughout most of the movie. This film is unique because it is shot as a "one shot film" where the director uses lighting and different angles with very few cuts to give a continuous feeling throughout the entire film. It gives audiences a more connected feeling as it seems like the scenes never end.
2 Pages for 4 questions below1) Some say that analytics in gener.docxherminaprocter
2 Pages for 4 questions below
1) Some say that analytics in general dehumanize managerial activities, and other say they do not. Discuss arguments for both point of view.
2) What are some of the major privacy concerns in employing intelligent systems on mobile data?
3) Identify some cases of violations of user privacy from current literature and their impact on data science as a profession.
4) Search the internet to find examples of how intelligent systems can facilitate activities such as empowerment, mass customization, and team work.
Reflection paper 3 Pages
What has been significant about this course that will help you perform data science tasks in the future.
Please refer to at least
2 items
in the course content that really stood out to either positive or negative.
.
2 Ethics Session 1.pptxEthics in Engineering Pra.docxherminaprocter
2 Ethics Session 1.pptx
Ethics in Engineering Practice
MET 2711
1
This Photo by Unknown Author is licensed under CC BY-NC-ND
What is Engineering?
Engineers concern themselves with:
“the art of the practical application of scientific and empirical knowledge to the design and production or accomplishment of various sorts of constructive projects, machines and materials of use or value to man.”
“Value is not necessarily measured by an economic yardstick; the ancient pyramids and not a few structures since are of slight economic worth, while their value in terms of faith and beauty has often been considerable.”
2
Socrates on Ethics
Ethics are the norms by which acceptable and unacceptable behavior are measured.
According to Socrates, one develops ethics through maturity, wisdom and love.
Introduced the concept of teaching ethics and acceptable standards of conduct in 400 B.C.
Believed virtue was found primarily in human relationships, love and friendship, not through material gains.
3
https://classroom.synonym.com/what-were-socrates-beliefs-on-ethics-12084753.html
This Photo by Unknown Author is licensed under CC BY-NC-ND
A Brief Look at Engineering Projects Through the Ages
4
Roman Aquaducts
Contributed to the health and welfare of the society
Provided 200 million gallons of clean running water and plumbing to individual structures daily (200 gallons per person)
Supported economic activity
Allowed city of Rome to grow to approximately 1 million people
312 BCE to 500 AD
5
This Photo by Unknown Author is licensed under CC BY-SA
Santa Maria del Fiori (Florence Basilica)
Earliest and largest free-standing dome
Built as Europe recovered from the Black Plague, which killed approximately 1/3 of the population
An example of a project that reflected optimism for the future (faith and beauty)
Design competition in 1423
Brunelleschi proposes unique design, but contract requires him to share project responsibilities with Ghiberti
Brunelleschi had lost prior design competition to Ghiberti
6
This Photo by Unknown Author is licensed under CC BY-NC-ND
https://www.khanacademy.org/humanities/renaissance-reformation/early-renaissance1/sculpture-architecture-florence/v/brunelleschi-dome-of-the-cathedral-of-florence-1420-36
Santa Maria del Fiori (Florence Basilica)
Designs unique dome requiring no scaffolding. Uses brick in herringbone pattern to distribute weight out and down.
Includes a series of horizontal chains to keep structure from expanding outward
When time to install chains, Brunelleschi claims to be ill, so Ghiberti starts chain installation (without full details from Brunelleschi)
Brunelleschi “recovers” and criticizes the work, saying it will all have to be re-done
Setting up his fellow architect to fail (dishonorable conduct)
7
This Photo by Unknown Author is licensed under CC BY-NC-ND
https://www.khanacademy.org/humanities/renaissance-reformation/early-renaissance1/sculpture-ar.
2 1 5L e a r n I n g o b j e c t I v e sC H A P T E R.docxherminaprocter
2 1 5
L e a r n I n g o b j e c t I v e s
C H A P T E R 8
H U M A N R E S O U R C E S
M A N A G E M E N T
They’re not employees, they’re people.
—Peter Drucker
➤ Describe the range of human resource functions in the medical practice.
➤ Appreciate the range of professionals that are found in medical practices.
➤ Articulate the steps in the hiring function.
➤ Understand regulations that are specific to the employment process.
➤ Illustrate the steps in managing change.
➤ Describe why leading change is important to medical practice management.
In t r o d u c t I o n
Healthcare employment constitutes about 9 percent of the American workforce, with about
3 percent being professionals (KFF 2016). Hiring and sustaining a high-caliber staff are
two of the most important functions of managing a physician practice. Without a prop-
erly trained and motivated staff, providing high-quality services to the practice’s patients
C
o
p
y
r
i
g
h
t
2
0
1
7
.
H
e
a
l
t
h
A
d
m
i
n
i
s
t
r
a
t
i
o
n
P
r
e
s
s
.
A
l
l
r
i
g
h
t
s
r
e
s
e
r
v
e
d
.
M
a
y
n
o
t
b
e
r
e
p
r
o
d
u
c
e
d
i
n
a
n
y
f
o
r
m
w
i
t
h
o
u
t
p
e
r
m
i
s
s
i
o
n
f
r
o
m
t
h
e
p
u
b
l
i
s
h
e
r
,
e
x
c
e
p
t
f
a
i
r
u
s
e
s
p
e
r
m
i
t
t
e
d
u
n
d
e
r
U
.
S
.
o
r
a
p
p
l
i
c
a
b
l
e
c
o
p
y
r
i
g
h
t
l
a
w
.
EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 4/7/2020 7:56 PM via SUNY CANTON
AN: 1839064 ; Wagner, Stephen L..; Fundamentals of Medical Practice Management
Account: s8846236.main.eds
F u n d a m e n t a l s o f M e d i c a l P r a c t i c e M a n a g e m e n t2 1 6
is difficult. An old saying in human resources management, “Hire for attitude, and train
for skill,” is particularly applicable today, when in the highly competitive medical practice
environment, patients have increasingly high expectations of their providers. Simply having
technical skills is not adequate to build and maintain a successful practice. Staff must be
able to engage patients in a positive and constructive way to earn their trust and satisfac-
tion. Although data seem to conflict on this point, many researchers believe engaged and
satisfied patients are more likely to comply with the instructions of their providers than are
disengaged, unsatisfied patients, leading to better outcomes (e.g., Kane, Maciejewski, and
Finch 1997). More recently, a study by Fenton, Jerant, and Bertaski (2012) found little
connection between satisfaction and clinical outcome; in fact, the researchers found that
mortality was higher, as were expenditures and utilization, among more satisfied groups.
Other authors have observed this tenuous connection as well (Kennedy, Tevis, and Kent
2014). The controversy has intensified as more physician payment is tied to patient satis-
faction. Some issues that complicate this concept are the lack of common definitions and
measures of satisfaction and the complexity inherent in defining.
2 page paper should answer the TWO following questions What ty.docxherminaprocter
2 page paper should answer the TWO following questions
What type of family system is present? (Ambiguous, distorted, etc.) Explain.
Which of Satir’s patterns of communication does the individual with a substance abuse problem use? Provide at least one example from your video.
MLA FORMAT , CITE THE YOUTUBE VIDEO
.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
We all have good and bad thoughts from time to time and situation to situation. We are bombarded daily with spiraling thoughts(both negative and positive) creating all-consuming feel , making us difficult to manage with associated suffering. Good thoughts are like our Mob Signal (Positive thought) amidst noise(negative thought) in the atmosphere. Negative thoughts like noise outweigh positive thoughts. These thoughts often create unwanted confusion, trouble, stress and frustration in our mind as well as chaos in our physical world. Negative thoughts are also known as “distorted thinking”.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
How to Create Map Views in the Odoo 17 ERPCeline George
The map views are useful for providing a geographical representation of data. They allow users to visualize and analyze the data in a more intuitive manner.
2 Requirements Elicitation A Survey of Techniques, Ap.docx
1. 2 Requirements Elicitation: A Survey of Techniques,
Approaches, and Tools
Didar Zowghi and Chad Coulin
Abstract: Requirements elicitation is the process of seeking,
uncovering, acquir-
ing, and elaborating requirements for computer based systems.
It is generally un-
derstood that requirements are elicited rather than just captured
or collected. This
implies there are discovery, emergence, and development
elements to the elicita-
tion process. Requirements elicitation is a complex process
involving many ac-
tivities with a variety of available techniques, approaches, and
tools for perform-
ing them. The relative strengths and weaknesses of these
determine when each is
appropriate depending on the context and situation. The
objectives of this chapter
are to present a comprehensive survey of important aspects of
the techniques, ap-
proaches, and tools for requirements elicitation, and examine
the current issues,
trends, and challenges faced by researchers and practitioners in
this field.
Keywords: requirements, elicitation, techniques, approaches,
tools, issues, chal-
2. lenges, trends, survey.
2.1 Introduction
The importance of requirements engineering (RE) within
software systems deve l-
opment has long been established and recognized by researchers
and practitioners
alike (Chapter 1). The elicitation of requirements represents an
early but continu-
ous and critical stage in the development of software systems.
The requirements
for a software system may be spread across many sources.
These include the prob-
lem owners, the stakeholders, documentation, and other existing
systems. Because
of the communication rich nature of requirements elicitation
activities, many of
the effective techniques do not originate from the traditional
areas of software en-
gineering or computer science research. Techniques for
requirements elicitation
are derived mostly from the social sciences, organizational
theory, group dynam-
ics, knowledge engineering, and very often from practical
experience.
The process of requirements elicitation is generally accepted as
one of the criti-
cal activities in the RE process. Getting the right requirements
is considered as a
vital but difficult part of software development projects [36]. A
recent field study
of fifteen RE teams carried out by Hofmann and Lehner [31]
identified key RE
practices that should lead to project success. Effective
3. elicitation of requirements
was arguably among the most important of the resulting
recommended good RE
practices.
Requirements elicitation itself is a very complex process
involving many activi-
ties, with multiple techniques available to perform these
activities. The multi-
disciplinary nature of requirements elicitation only adds to this
complexity. Elici-
tation is subject to a large degree of error, influenced by key
factors ingrained in
communication problems. Despite the importance of
requirements elicitation
within software development, insufficient attention has been
paid to this area in
industry and software engineering research to date.
In reality requirements elicitation is a multifaceted and iterative
activity that re-
lies heavily on the communication skills of requirements
engineers and the com-
mitment and cooperation of the system stakeholders. One of the
main problems
facing software development project teams is communication
barriers and agree-
ment about the requirements. The main point is that concepts
that are clearly de-
fined to one community of participants can be entirely opaque
to members of an-
4. other. The fact that this situation exists often goes unnoticed in
the course of
elicitation unless specific attention is paid to the problem.
The type of the system and the purpose of the project
significantly affect the
way in which requirements elicitation is conducted. For
example it can be said that
the method employed for a custom built embedded control
system is likely to be
substantially different to that of a commercially available
inventory management
system. The elicitation of requirements can be performed in a
variety of settings
including the development of web based information systems
(Chapter 15) and
market driven product lines (Chapter 13), the implementation of
large enterprise
systems, the selection of commercial off the shelf products
(COTS), and the main-
tenance of existing and legacy systems. Furthermore project
teams may be spread
across different geographical locations and from diverse
cultural backgrounds.
The specific elicitation techniques used for a particular
situation often depend on a
variety of additional factors including time and cost, the
availability of resources,
the safety criticality of the system, and any legal or regulatory
constraints.
In this chapter we present the state of the art and practice in
requirements elicita-
tion through an extensive review and analysis of the relevant
literature bearing in
mind the interdisciplinary and practical nature of this important
5. activity. The aim
is to inform the reader of the strengths and weaknesses of some
of the current
techniques, approaches, and tools used in requirements
elicitation today.
The chapter is structured as follows: Section 2.2 introduces the
process of re-
quirements elicitation, the activities associated with it, and the
roles performed
during elicitation by the analyst. Section 2.3 surveys a wide
variety of techniques
and approaches used for requirements elicitation, and includes a
comparison of
these with respect to each other and the activities they are used
for. Section 2.4
provides some examples of methodology based requirements
elicitation, and Sec-
tion 2.5 presents the types of available tool support for this
process. Section 2.6
describes some of the most common issues and pitfalls
experienced during re-
quirements elicitation, and Section 2.7 is dedicated to the
current trends and chal-
lenges in this field. Section 2.8 offers some suggestions for
future directions in re-
quirements elicitation research, and finally Section 2.9 contains
a brief summary
of the chapter.
2.2 What is Requirements Elicitation?
6. Currently there is very little uniformity in RE research and
practice concerning a
standard definition for requirements elicitation. Requirements
elicitation is all
about learning and understanding the needs of users and project
sponsors with the
ultimate aim of communicating these needs to the system
developers. A substan-
tial part of elicitation is dedicated to uncovering, extracting,
and surfacing the
wants of the potential stakeholders. Robertson and Robertson
[54] refer to this
process as “trawling for requirements” to highlight the fact that
through this proc-
ess you are likely to get more requirements than expected. This
implies that gath-
ering a few extraneous requirements initially is always better
than gathering less.
This is one of the reasons why prioritization (Chapter 4) and
negotiation (Chapter
7) are important parts of RE, especially within market driven
RE (Chapter 13)
where an overload from the constant influx of large amounts of
requirements is a
serious issue (Chapter 10). More recently the concepts of
inventing and creating
requirements have been used to highlight the role of creativity
and to emphasize
what really goes on during requirements elicitation [43].
2.2.1 The Process of Requirements Elicitation
The requirements elicitation process involves a set of activities
that must allow for
communication, prioritization, negotiation, and collaboration
with all the relevant
7. stakeholders. It must also provide strong foundations for the
emergence, discov-
ery, and invention of requireme nts as part of a highly
interactive elicitation proc-
ess. Requirements elicitation involves activities that are
intensely communicative.
These activities increase in significance when one considers the
“culture gap” [62]
or basic semantic differences dividing the problem owning and
the problem solv-
ing communities when attempting to engage in meaningful
dialogue [7].
Once again there is very little uniformity in the research
literature and practice
concerning the names given to the activities often performed
during requirements
elicitation. However what is generally accepted is that
elicitation is the initial
stage within the RE process albeit an iterative and integrated
one. Typical activi-
ties of the requirements elicitation process can be divided into
five fundamental
types as described below:
• Understanding the application domain – It is important when
beginning the
process of requirements elicitation to investigate and examine
in detail the
situation or “real world” in which the system will ultimately
reside (some-
times called the application domain) [34, 68]. The current
environment needs
to be thoroughly explored including the political,
organizational, and social
8. aspects related to the system, in addition to any constraints they
may enforce
upon the system and its development. Existing work processes
and the related
problems to be solved by the system need to be described with
respect to the
key business goals and issues.
• Identifying the sources of requirements – Requirements may
be spread
across many sources and exist in a variety of formats [41]. In all
software de-
velopment projects a number of possible sources for
requirements may be
identified. Stakeholders represent the most obvious source of
requirements for
the system. Users and subject matter experts are used to supply
detailed in-
formation about the problems and user needs. Existing systems
and processes
represent another source for eliciting requirements, particularly
when the pro-
ject involves replacing a current or legacy system. Existing
documentation
about the current systems and business processes including
manuals, forms,
and reports can provide useful information about the
organization and envi-
ronment, as well as requirements for the new system and their
supporting ra-
tionale and importance.
9. • Analyzing the stakeholders – Stakeholders are people who
have an interest
in the system or are affected in some way by the development
and implemen-
tation of the system and hence must be consulted during
requirements elicita-
tion. Typically stakeholders include groups and individuals
internal and ex-
ternal to the organization. The customer, and more specifically
the project
sponsor, is usually the most apparent stakeholder of the system.
In some cases
however the actual users of the system may be the most
important. Other par-
ties whose sphere of interest may extend to some part of the
system opera-
tions, such as those responsible for work process standards,
customers, and
partners, should also be regarded as stakeholders if affected.
One of the first
steps in requirements elicitation therefore is to analyze and
involve all the
relevant stakeholders. An extensive list of potential project
stakeholders that
should be consulted during this activity is available in the
literature (e.g. [3,
54]). The process of analyzing the stakeholders also often
includes the identi-
fication of key user representatives and product champions.
• Selecting the techniques, approaches, and tools to use –
Although some
may advocate that just one elicitation technique or a single
methodology is
sufficient and may be applied to all cases, it is generally
accepted that an in-
10. dividual requirements elicitation technique or approach cannot
possibly be
suitable for all projects. The choice of techniques to be
employed is depend-
ent on the specific context of the project and is often a critical
factor in the
success of the elicitation process [48]. Hickey and Davis [28,
29] have inve s-
tigated the elicitation technique selection and state that a
particular elicitation
technique may be selected for a variety of reasons. These
include (a) the tech-
nique selected is the only one the analyst knows, (b) the
technique selected is
the analyst’s favorite, (c) the selected technique is the one
prescribed by a
specific methodology that is being followed for the system
development, and
(d) the choice of technique is governed solely by the intuition
of the analyst to
be effective in the current context. Clearly requirements
elicitation is best per-
formed using a variety of techniques. In the majority of projects
several
methods are employed during and at different stages in the
software develop-
ment life cycle, often in cooperation where complementary.
• Eliciting the requirements from stakeholders and other sources
– Once
the sources of requirements and the specific stakeholders have
been identi-
11. fied, then begins the actual elicitation of the core requirements
using the se-
lect elicitation techniques, approaches, and tools. During this
activity it is im-
portant to establish the level of scope for the system and
investigate in detail
the needs and wants of the stakeholders, especially the users. It
is also essen-
tial to determine the future processes the system will perform
with respect to
the business operations, and examine the ways in which the
system may sup-
port them in order to satisfy the major objectives and address
the key prob-
lems of the business.
It is important to remember that requirements elicitation does
not occur in a
vacuum. It is strongly related to the context in which it is
conducted and specific
characteristics of the project, organization, and environment
[11]. In practice the
budget and schedule of the project have a significant effect on
the process and the
way in which it is performed. The structure and maturity of the
organization will
determine how requirements are elicited, as will the way in
which the system will
interact with users and other systems. The level of volatility
within a project must
also be considered, as this will directly affect the quality of
requirements and the
elicitation process itself.
12. Typically the process begins with an informal and incomplete
high-level mis-
sion statement for the project [69]. This may be represented by
a set of fundamen-
tal goals, functions, and constraints for the target system, or as
an explanation of
the problems to be solved. In order to develop this description,
stakeholders and
other sources of requirements are identified and used for
elicitation. These pre-
liminary results form the basis of further investigation and
refinement of require-
ments in a typically iterative and incremental manner.
Over the years a number of process models have been proposed
for require-
ments elicitation [13, 39, 58]. For the most part these models
provide only a ge-
neric roadmap of the process with sufficient flexibility to
accommodate the basic
contextual differences of individual projects. The inability of
these models to pro-
vide definitive guidelines is a result of the wide range of task
that may be per-
formed during requirements elicitation, and the sequence of
those activities being
dependent on specific project circumstances. The variety of
issues that may be
faced and the number of techniques available to use only makes
it more complex.
In most cases the process of requirements elicitation is
performed incrementally
over multiple sessions, iteratively to increasing levels of detail,
and at least par-
13. tially in parallel with other system development activities. In
reality its completion
is often determined by time and cost constraints rather than
achieving the required
level of requirements quality and completeness. Typically the
result of this process
is a detailed set of requirements in natural language text and
simple diagrammatic
representations with additional information including
descriptions of the sources,
priorities, and rationales.
2.2.2 Roles of the Requirements Engineer during Elicitation
During requirements elicitation the requirements engineer (also
sometimes re-
ferred to as the systems analyst or business analyst) may play a
variety of roles
and assume different responsibilities. These responsibilities and
roles are depend-
ent on the project, people, context and organization involved. A
substantial part of
elicitation involves exploring the problem domain and the
requirements that are
situated in that domain. Furthermore the requirements engineers
often need to per-
form some typical aspects of project management. Not only do
they have to man-
age the process of elicitation, but they also have to
communicate it effectively to
the stakeholders. This involves among other things, decision-
making (Chapter 12),
14. prioritization (Chapter 4), and negotiation (Chapter 7).
Requirements engineers often play the important role of
facilitator. When elicit-
ing requirements by group work sessions, they are not only
required to ask ques-
tions and record the answers, but must guide and assist the
participants in address-
ing the relevant issues in order to obtain correct and complete
requirements
information. They are also responsible for ensuring that
participants feel comfort-
able and confident with the process, and are given sufficient
opportunity to con-
tribute. This role represents a significant part of the skill and
expertise required by
the analyst in order to perform effective requirements
elicitation.
During elicitation conflicts between elicited requirements and
stakeholders
themselves are inevitable. In many cases the prioritization of
requirements from
different stakeholders groups is a source of much debate and
dispute. When these
situations occur the analyst is often playing the role of a
mediator and is respons i-
ble for finding a suitable resolution through negotiation and
compromise. It is im-
portant that the analyst is sensitive to all the political and
organizational aspects of
the project when mediating discussions related to the system.
Frequently requirements engineers are responsible for
documenting the re-
quirements elicited. This role is particularly important as it
15. represents the produc-
tion of results from the elicitation process, and forms the
foundation for the subse-
quent project phases. Evaluation of the elicitation process and
the work performed
by the analyst is based on these resultant artifacts, which in
some cases may form
the basis of contractual agreements.
Analysts are often required to assume the various roles of the
developer com-
munity during requirements elicitation. This includes system
architects, designers,
programmers, testers, quality assurance personnel,
implementation consultants,
and system maintenance administrators. This is often due to the
fact that these
stakeholders have not yet been assigned to the project at the
requirements elicita-
tion stage. Despite this the decisions made during this phase of
the project will
significantly affect these stakeholders and the subsequent
phases of development.
All the requirements elicited must be validated against the other
stakeholders,
other systems, each other, and then compared with previously
established goals
for the system. By this it is meant that the requirements
describe the desired fea-
tures of the system appropriately, and that those requirements
will provide the
necessary functions in order to fulfill the specified objectives of
the target system.
16. This process typically involves all the identified stakeholder
groups, and results in
further elicitation activities.
2.3 Techniques and Approaches for Requirements Elicitation
For over two decades now much of the research and practice
within RE for soft-
ware systems has been largely directed towards improving the
complex process
known as elicitation through the application and development of
various tech-
niques, approaches, and tools. Many of these methods have been
borrowed and
adapted from other disciplines such as the social sciences, and
only a select few
have been developed specifically for eliciting software
requirements [14].
It is important to explain what we mean by the terms
“technique” and “ap-
proach” as for each of them there exists a number of different
uses for them in
practice and multiple definitions in the literature. A “technique”
is a way of doing
something or a practical method applied to some particular task.
An “approach”
on the other hand is a systematic arrangement, usually in steps,
of ideas or actions
intended to deal with a problem or situation.
In reality there are literally hundreds of different techniques
and approaches
17. from a variety of sources that can and have been employed for
requirements elici-
tation. Below we present only some of those that are more
widely used. Although
not exhaustive, we believe this selection is representative of the
range described in
the literature and practiced in industry today.
Interviews
Interviews [1, 32] are probably the most traditional and
commonly used technique
for requirements elicitation. Because interviews are essentially
human based social
activities, they are inherently informal and their effectiveness
depends greatly on
the quality of interaction between the participants. Interviews
provide an efficient
way to collect large amounts of data quickly. The results of
interviews, such as the
usefulness of the information gathered, can vary significantly
depending on the
skill of the interviewer [23]. There are fundamentally three
types of interviews be-
ing unstructured, structured, and semi-structured, the latter
generally representing
a combination of the former two.
Unstructured interviews are conversational in nature where the
interviewer en-
forces only limited control over the direction of discussions.
Because they do not
follow a predetermined agenda or list of questions, there is the
risk that some top-
ics may be completely neglected. It is also a common problem
with unstructured
interviews to focus in too much detail on some areas, and not
18. enough in others
[45]. This type of interview is best applied for exploration when
there is a limited
understanding of the domain, or as a precursor to more focused
and detailed struc-
tured interviews.
Structured interviews are conducted using a predetermined set
of questions to
gather specific information. The success of structured intervi
ews depends on
knowing what are the right questions to ask, when should they
be asked, and who
should answer them. Templates that provide guidance on
structured interviews for
requirements elicitation such as Volere [54] can be used to
support this technique.
Although structured interviews tend to limit the investigation of
new ideas, they
are generally considered to be rigorous and effective.
Questionnaires
Questionnaires [21] are mainly used during the early stages of
requirements elici-
tation and may consist of open and/or closed questions. For
them to be effective,
the terms, concepts, and boundaries of the domain must be well
established and
understood by the participants and questionnaire designer.
Questions must be fo-
cused to avoid gathering large amounts of redundant and
19. irrelevant information.
They provide an efficient way to collect information from
multiple stakeholders
quickly, but are limited in the depth of knowledge they are able
to elicit. Ques-
tionnaires lack the opportunity to delve further on a topic, or
expand on new ideas.
In the same way they provide no mechanism for the participants
to request clarifi-
cation or correct misunderstandings. Generally questionnaires
are considered more
useful as informal checklists to ensure fundamental elements
are addressed early
on, and to establish the foundation for subsequent elicitation
activities.
Task Analysis
Task analysis [9, 53] employs a top-down approach where high-
level tasks are de-
composed into subtasks and eventually detailed sequences until
all actions and
events are described. The primary objectives of this technique is
to construct a hi-
erarchy of the tasks performed by the users and the system, and
determine the
knowledge used or required to carry them out. Task analysis
provides information
on the interactions of both the user and the system with respect
to the tasks as well
as a contextual description of the activities that take place. In
most cases consider-
able effort is required to perform thorough task analysis, and it
is important to es-
tablish what level of detail is required and when components of
the tasks need to
be explorer further.
20. Domain Analysis
Examining the existing and related documentation and
applications is a very use-
ful way of gathering early requirements as well as
understanding and capturing
domain knowledge, and identification of reusable concepts and
components.
These types of investigations are particularly important when
the project involves
the replacement or enhancement of an existing legacy system.
Types of documen-
tation that may be useful for eliciting requirements include
design documents and
instruction manuals for existing systems, and hardcopy forms
and files used in the
current business processes. Application studies often also
include looking at both
upstream and downstream systems, as well as competitive or
like solutions. In
most cases these studies involve other elicitation techniques
such as observi ng the
exiting system in use and interviewing the current users.
Domain knowledge in the form of detailed descriptions and
examples plays an
important part in the process of requirements elicitation.
Approaches based on this
type of information are often used in conjunction with, and as
the input to other
elicitation techniques. For example analysts use previous
21. experience in similar
domains as a discussion template for facilitating group work
and conducting inter-
views. Analogies and abstractions of existing problem domains
can be used as
baselines to acquire specific and detailed information, identify
and describe possi-
ble solution systems, and assist in creating a common
understanding between the
analyst and stakeholders. These approaches also provide the
opportunity to reuse
specifications and validate new requirements against other
domain instances [61].
Problem Frames [35] in particular provide a method for detailed
problems exami-
nation in order to identify patterns that could provide links to
potential solutions.
Introspection
The technique of introspection [23] requires the analyst to
develop requirements
based on what he or she believes the users and other
stakeholders want and need
from the system. Despite being employed by most analysts to
some extent, this
technique is mainly used only as a starting point for other
requirements elicitation
efforts. Introspection is only really effective when the analyst is
not only ve ry fa-
miliar with the domain and goals of the system, but also expert
in the business
processes performed by the users. In cases where the analyst is
forced to use this
technique more, for example when the users have little or no
previous experience
with software systems in their work environment, a type of
22. facilitation introspec-
tion should take place via other elicitation techniques such as
interviews and pro-
tocol analysis.
Repertory Grids
Repertory grids [38] involve asking stakeholders to develop
attributes and assign
values to a set of domain entities. As a result the system is
modeled in the form of
a matrix by categorizing the elements of the system, detailing
the instances of
those categories, and assigning variables with corresponding
values to each one.
The aim is to identify and represent the similarities and
differences between the
different domain entities. These represent a level of abstraction
unfamiliar to most
users. As a result this technique is typically used when eliciting
requirements from
domain experts. Although more detailed than card sorting, and
to a lesser degree
laddering, repertory grids are somewhat limited in their ability
to express specific
characteristics of complex requirements.
Card Sorting
Card sorting requires the stakeholders to sort a series of cards
containing the
names of domain entities into groups according to their own
understanding. Fur-
thermore the stakeholder is required to explain the rationale for
the way in which
the cards are sorted. It is important for effective card sorting
that all entities are in-
cluded in the process. This is possible only if the domain is
23. sufficiently understood
by both the analyst and the participants. If the domain is not
well established then
group work can be used to identify these entities. Class
Responsibility Collabora-
tion (CRC) cards [5] are a derivative of card sorting that is also
used to determine
program classes in software code. In this technique cards are
used to assign re-
sponsibilities to users and components of the system. Because
entities represent
such a high level of system abstraction, the information
obtained from this tech-
nique is limited in its detail.
Laddering
When using laddering [30] stakeholders are asked a series of
short prompting
questions, known as probes, and required to arrange the
resultant answers into an
organized structure. A primary assumption when employing
laddering is that the
knowledge to be elicited can actually be arranged in a
hierarchical fashion. For
this technique to be effective, the stakeholders must be able to
express their under-
standing of the domain and then arrange it in a logical way.
This knowledge,
which is often displayed using tree diagrams, is reviewed and
modified dynami-
cally as more is added. Like card sorting, laddering is mainly
24. used as a way to
clarify requirements and categorize domain entities.
Group Work
Group work such as collaborative meetings is a very common
and often default
technique for requirements elicitation. Groups are particularly
effective because
they involve and commit the stakeholders directly and promote
cooperation. These
types of sessions can be difficult to organize due to the number
of different stake-
holders that may be involve d in the project. Managing these
sessions effectively
requires both expertise and experience to ensure that individual
personalities do
not dominate the discussions. Key factors in the success of
group work are the
makeup of participants and the cohesion within the group.
Stakeholders must feel
comfortable and confident in speaking openly and honestly, and
it is for this rea-
son that group work is less effective in highly political
situations.
Brainstorming
Brainstorming [50] is a process where participants from
different stakeholder
groups engage in informal discussion to rapidly generate as
many ideas as possible
without focusing on any one in particular. It is important when
conducting this
type of group work to avoid exploring or critiquing ideas in
great detail. It is not
usually the intended purpose of brainstorming sessions to
resolve major issues or
25. make key decisions. This technique is often used to develop the
preliminary mis-
sion statement for the project and target system. One of the
advantages in using
brainstorming is that it promotes freethinking and expression,
and allows the dis-
covery of new and innovative solutions to existing problems.
Joint Application Development (JAD)
Joint Application Development (JAD) [65] involves all the
available stakeholders
investigating through general discussion both the problems to
be solved, and the
available solutions to those problems. With all parties
represented, decisions can
be made rapidly and issues resolved quickly. A major difference
between JAD and
brainstorming is that typically the main goals of the system
have already been es-
tablished before the stakeholders participate. Also JAD sessions
are typically well
structured with defined steps, actions, and roles for participants
(including a spe-
cialist facilitator). The focus of this type of meeting tends to
often be on the needs
and desires of the business and users rather than technical
issues.
Requirements Workshops
Requirements workshop [25] is a generic term given to a
number of different
26. types of group meetings where the emphasis is on developing
and discovering re-
quirements for a software system. There are many different
forms of requirements
workshops including cross functional which involves different
types of stake-
holders from various areas of the business, Co -operative
Requirements Capture
(CRC) [42] where like JAD there is a defined set of activities
and the development
community is especially involved, and Creativity [43] which
encourages innova-
tive thinking and expression. Another variation of requirements
workshops often
used in market analysis is the Focus Group [40].
Ethnography
Ethnography [4, 60] being the study of people in their natural
setting involves the
analyst actively or passively participating in the normal
activities of the users over
an extended period of time whilst collecting information on the
operations being
performed. These techniques are especially useful when
addressing contextual fac-
tors such as usability, and when investigating collaborative
work settings where
the understanding of interactions between different users with
the system is para-
mount. In practice, ethnography is particularly effective when
the need for a new
system is a result of existing problems with processes and
procedures, and in iden-
tifying social patterns and complex relationships between
human stakeholders.
27. Observation
Observation is one of the more widely used ethnographic
techniques. As the name
suggests the analyst observes the actual execution of existing
processes by the us-
ers without direct interference. This technique is often used in
conjunction with
others such as interviews and task analysis. As a general rule
ethnographic tech-
niques such as observation are very expensive to perform and
require significant
skill and effort on the part of the analyst to interpret and
understand the actions be-
ing performed. The effectiveness of observation and other
ethnographic tech-
niques can vary as users have a tendency to adjust the way they
perform tasks
when knowingly being watched.
Protocol Analysis
Protocol analysis [23, 46] is where participants perform an
activity or task whilst
talking it through aloud, describing the actions being conducted
and the thought
process behind them. This technique can provide the analyst
with specific infor-
mation on and rationale for the processes the target system must
support [45]. In
most cases however talking through an operation is not the
normal way of per-
forming the task, and as a result may not necessarily represent
28. the true process
completely or correctly. Likewise minor steps performed
frequently and repeti-
tively are often taken for granted by the users, and may not be
explained and sub-
sequently recorded as part of the process.
Apprenticing
Apprenticing [54, 6] involves the analyst actually learning and
performing the cur-
rent tasks under the instruction and supervision of an
experienced user. In this
technique the analyst is taught the operations and business
processes by observing,
asking questions, and physically doing, rather than being
informed of them, as is
the case with protocol analysis. Similar to Role Playing but
more involved, ap-
prenticing is very useful where the analyst is inexperience with
the domain, and
when the users have difficulty in explaining their actions. The
technique of Emer-
sion takes apprenticing one step further whereby the analyst
becomes actively in-
volved in the real life activities of the business.
Prototyping
Providing stakeholders with prototypes of the system to support
the investigation
of possible solutions is an effective way to gather detailed
information and rele-
vant feedback [60]. It is common that prototypes are used in
conjunction with
other elicitation techniques such as interviews and JAD.
Prototypes are typically
developed using preliminary requirements or existing examples
29. of similar sys-
tems. This technique is particularly useful when developing
human-computer in-
terfaces, or where the stakeholders are unfamiliar with the
available solutions.
There are a number of different methods for prototyping
systems such as story-
boards, executable, throwaway and evolutionary, with varying
levels of effort re-
quired. In many cases prototypes are expensive to produce in
terms of time and
cost. However, an advantage of using prototypes is that they
encourage stake-
holders, and more specifically the users, to play an active role
in developing the
requirements. One of the potential hazards when using
prototypes for require-
ments elicitation is that users may become attached to them, and
therefore become
resistant to alternative solutions from then on. Despite this the
technique is ex-
tremely helpful when developing new systems for entirely new
applications.
Goal Based Approaches
The fundamental premise of goal modeling (Chapter 9) and goal
based approaches
is that high-level goals that represent objectives for the system
are decomposed
(e.g. usually using AND and OR relationships) and elaborated
(e.g. with “Why”
and “How” questioning) into sub goals and then further refined
in such a way that
individual requirements are elicited. The result of this process
is significantly
more complicated and complete than the traditional methods of
30. representing sys-
tem goals using tree structure diagrams. These approaches are
able to represent
detailed relationships between domain entities, requirements,
and the objectives of
the system. In general one of the risks when using goal based
approaches is that
errors in the high-level goals of the system made early on can
have a major and
detrimental follow on effect, and that changing goals are
difficult to manage.
In recent times significant effort has been devoted to developing
these types of
approaches for requirements elicitation such as the F3 project
[8], the KAOS meta
model [16] and the i* framework [67]. The use of goals in
conjunction with sce-
narios to elicit requirements has also attracted considerable
attention [55, 51, 26].
In practice these approaches have been particularly useful in
situations where only
the high-level needs for the system are well known, and there
exists a general lack
of understanding about the specific details of the problems to be
solved and their
possible solutions.
Scenarios
Scenarios are widely used in requirements elicitation and as the
name suggests are
31. narrative and specific descriptions of current and future
processes including ac-
tions and interactions between the users and the system. Like
use cases, scenarios
do not typically consider the internal structure of the system,
and require an in-
cremental and interactive approach to their development.
Naturally it is important
when using scenarios to collect all the potential exceptions for
each step.
A substantial amount of work from both the research and
practice communities
has been dedicated to developing structured and rigorous
approaches to require-
ments elicitation using scenarios including CREWS [15], The
Inquiry Cycle [51],
SBRE [37], and Scenario Plus [56]. Scenarios are additionally
very useful for un-
derstanding and validating requirements, as well as test case
development.
Viewpoints
Viewpoint approaches aim to model the domain from different
perspectives in or-
der to develop a complete and consistent description of the
target system. For ex-
ample a system can be described in terms of its operation,
implementation and in-
terfaces. In the same way systems can be modeled from the
standpoints of
different users or from the position of related systems. These
types of approaches
are particularly effective for projects where the system entities
have detailed and
complicated relationships with each other. Viewpoints are also
32. useful as a way of
supporting the organization and prioritization of requirements.
One common criti-
cism of viewpoint approaches is that they do not enable non-
functional require-
ments to be represented easily, and are expensive to use in
terms of the effort re-
quired.
Some viewpoint approaches [59, 47] provide a flexible multi-
perspective model
for systems, using different viewpoints to elicit and arrange
requirements from a
number of sources. Using these approaches analysts and
stakeholders are able to
organize the process and derive detailed requirements for a
complete system from
multiple project specific viewpoints.
2.3.1 Comparison of Techniques and Approaches
Two important questions that need to be addressed during
requirements elicitation
are, (1) which techniques and approaches should be used for a
given requirements
elicitation activity, and (2) which of the these techniques and
approaches are com-
plementary or can be used as alternatives. Ultimately each
situation is unique and
the answers to these questions are highly dependant on the
context of the project
and system. We acknowledge that because of this there is
33. always the possible for
exceptions to any rule made along these lines, however the
following two tables in
this section are presented as a way of offering some high level
support to this end.
The intention is to provide an overview of how different
techniques and ap-
proaches can be used for each of the requirements elicitation
activities, and which
of the commonly used techniques and approaches often
employed for require-
ments elicitation can be used in cooperation with, or instead of
each other.
Rather than including all the techniques and approaches
previously presented in
Section 2.3 of this chapter, we have selected a core group of
eight techniques and
approaches which we believe provide suitable cove rage across
the spectrum of
available techniques and approaches (for example ethnography
includes observa-
tion, and JAD is an example of groupwork), and that are also
appropriately repre-
sentative of those that are currently both state of the art and
state of practice. The
information contained in these tables is based largely on our
assessment of the lit-
erature as well as practical experience and observation in
requirements elicitation
research and practice.
Techniques and Approaches for Elicitation Activities
We have seen that different techniques and approaches have
different and relative
strengths and weaknesses, and may be more or less suited to
34. particular types of
situations and environments. Likewise some techniques and
approaches are more
appropriate for specific elicitation activities and the types of
information that
needs to be acquired during those activities. Table 2.1 below
presents which of the
selected core group of techniques and approaches are best suited
(marked with an
“X”) for the specific requirements elicitation activities
described earlier on in Sec-
tion 2.2 of the chapter.
Table 2.1. Techniques and Approaches for Elicitation
Activities.
In
te
rv
ie
w
s
D
om
ai
n
G
ro
up
36. os
V
ie
w
po
in
ts
Understanding the
domain
X X X X X X X
Identifying sources of X X X X X X
requirements
Analyzing the
Stakeholders
X X X X X X X X
Selecting techniques
and approaches
X X X
37. Eliciting the
Requirements
X X X X X X X X
We can see from Table 2.1 above that for each of the
requirements elicitation ac-
tivities there are a number of suitable techniques and
approaches that can be used.
Apart from interviews, domain analysis, and groupwork, which
are generic and
flexible enough to provide support for all the listed elicitation
activities, goal, sce-
nario, and viewpoint based approaches can also be used
extensively throughout
the process. Given that we have already classified them as
requirements elicitation
techniques and approaches, it is natural that all the core
techniques and approaches
presented in the table can be used for activity of actually
eliciting the require-
ments.
Complementary and Alternative Techniques and Approaches
In most projects more than one requirements elicitation
technique and approach
will need to be used, therefore it is useful to select those
techniques and ap-
proaches that are complementary to achieve the best possible
results from the re-
quirements elicitation process. In the same way alternative
requirements elicitation
techniques and approaches enables greater flexibility to the
process, and more
38. choice for the analysts and stakeholders. Table 2.2 below
provides some guidance
with respect to which of the selected core group of techniques
and approaches can
be used in cooperation (marked with a “C”), and which can be
used as alternatives
(marked with an “A”).
Table 2.2. Complementary and Alternative Techniques and
Approaches.
In
te
rv
ie
w
s
D
om
ai
n
G
ro
up
w
or
k
40. ie
w
po
in
ts
Interviews C A A A C C C
Domain C C A A A A A
Groupwork A C A C C C C
Ethnography A A A C C A A
Prototyping A A C C C C C
Goals C A C C C C C
Scenarios C A C A C C A
Viewpoints C A C A C C A
We can see from Table 2.1 above that for each of the core
requirements elicitation
techniques and approaches there are both alternatives and those
that are comple-
mentary. In some cases, such as when prototypes are operated
by users under the
41. observation of the analyst, the combination of these techniques
has the potential to
provide much richer and more detailed requirements
information on both the busi-
ness processes and the needs of the users. Alternative
techniques and approaches
are useful if for some reason a selected techniques or approach
is not being as ef-
fective as expected, or when the analyst is unfamiliar,
uncomfortable, or unable to
use a particular technique or approach. For example it may not
be possible to ob-
serve users perform their normal business operations due to the
physically hazard-
ous environment in which they work. In this case the analyst
may choose to use
scenarios to elicit that type of i nformation instead.
2.4 Methodology Based Requirements Elicitation
Methodology and model driven approaches (Chapter 3) provide
ways of represent-
ing the existing or future processes and systems using analytical
techniques with
the intention of investigating their characteristics and limits.
Goal, scenario, and
agent based modeling techniques as detailed later in this chapter
are also used for
requirements elicitation in addition to the two approaches
described below.
Structured Analysis and Design (SAD) [19, 66] has been around
since the mid
nineteen seventies and has been widely written about, promoted,
and used. The
approach is largely function oriented. It comprises of a
42. collection of techniques
such as Data Flow Diagrams (DFD) which detail the functional
decomposition
with the emphasis on the data in and out of the system and
related components,
and Entity Relationship Diagrams (ERD) that facilitate the
representation of sys-
tem entities, their attributes, and their relationships to each
other. Other SAD
techniques used during requirements elicitation include Data
Dictionaries and
Event Lists.
Object Oriented (OO) approaches, and specifically the Unified
Modeling Lan-
guage (UML) contain several techniques often used for
requirements elicitation
with established yet flexible notations and formats such as Use
Cases diagrams,
Use Case descriptions, and Class Diagrams. Use Cases [12] are
essentially ab-
stractions of scenarios that describe the functional behavior of
the system, and
have become especially accepted in both research and practice
despite their short-
comings such as impreciseness. The diagrammatic and tabular
representations
make them easy to understand and flexible enough to
accommodate some context
specific information. These techniques are especially effective
in projects where
43. there is a high level of uncertainty or when the analyst is not an
expert in that par-
ticular domain.
Several attempts have been made to develop methodologies that
combine a
number of techniques with supporting roadmaps and guidelines
as a way of ad-
dressing requirements elicitation. One such approach of
combining techniques
suggests that the process should begin with an ethnographic
study to discover fun-
damental aspects of existing patterns and behavior, followed by
structured inter-
views to gain deeper insight into the needs of the stakeholders
and the priorities of
requirements [23]. Furthermore it is proposed that the more
extensive require-
ments elicitation techniques are used to examine in greater
detail those needs
deemed important.
In other examples of methodology based approaches,
requirements elicitation is
a defined but closely integrated activity within other aspects of
the software de-
velopment process, such as is the case with Soft System
Methodology (SSM) [10],
which addresses organizational problems and change, and
Quality Functional De-
ployment (QFD) [2], which focuses on achieving customer
satisfaction through
quality based development. Gause and Weinberg [22] on the
other hand have de-
veloped a methodology centered on requirements elicitation,
and provide useful
44. and practical techniques for the process including concepts such
as Starting Points
and Context-Free Questions.
Agile Methods (Chapter 14) for the most part enforce very little
upfront re-
quirements elicitation but instead advocate incremental and
iterative discovery
throughout and integrated with the software development
lifecycle [44]. In addi-
tion to interview and prototypes, Agile Methods supports the
use of Customer or
User Stories. These provide basic descriptions of the business
processes and what
the system needs to do to support them. Typically these are
written on index cards
by the customer and used as starting points for the development
process. Addi-
tional requirements elicited as a result of the process from the
ever-present cus-
tomer are added to a Product Backlog, which represents a living
requirements
document consisting of prioritized system features and
functions.
2.5 Tool Support for Requirements Elicitation
A wide variety of tools exist that have been developed and used
to support re-
quirements elicitation. These range from shallow to deep with
respect to the level
of detail and formality, and from generic to specific in purpose
and operation.
Tools can support a specific technique or process, and may have
varying levels of
task automation and assistance. Much like the techniques and
45. approaches de-
scribed above, some of the tools detailed below have been
developed for purposes
other than requirements elicitation but applied to it, whereas
other have been de-
signed specifically for it. By “tool” we refer to an implement,
such as software or
an artifact, used in practice to accomplish some act, in this case
being require-
ments elicitation. For the most part the use of tools for
requirements elicitation has
been relatively limited and the more successful applications
have tended to be
domain or approach specific, with the exception of process
guidelines and proto-
typing utilities.
Templates such as IEEE Std 830 Software Requirements
Specification [33] and
Volere Requirements Specification Template [54] represent the
most basic type of
tool used by analysts to support the process of requirements
elicitation. In a simi-
lar way requirements management tools like DOORS,
CaliberRM and RequisitPro
provide format based support for the elicitation of requirements.
Many analysts
also utilize specific modeling tools to assist the process of
requirements elicitation.
These typically have an easy to use graphical or tabular
notation.
46. A number of tools have been developed to support specific
requirements elicita-
tion approaches however so far the mainstream software
engineering community
has largely not adopted these. Examples include Objective r for
goal based mode l-
ing, and ART-SCENE for scenario elicitation. Several tools
have been developed
with cognitive support for the requirements elicitation analyst
in mind such as The
Requirements Apprentice [52], ACME/PRIME [20], and
AbstFinder [24]. En-
hanced multimedia support for this process and distributed
stakeholders was also
identified and addressed by several tools including AMORE
[64].
Groupware represents a very wide range of tools that has been
applied to re-
quirements elicitation. This covers everything from basic
support tools such as
discussion boards and video conferencing to generic meeting
tools like mind map-
ping and idea capture software, all the way through to virtual
collaboration envi-
ronments specifically designed groups sessions such as
developed by TeamWave
[27] and GroupSystems [63].
2.6 Issues and Pitfalls of Requireme nts Elicitation
There has been little doubt in the past about the complexity and
difficulty of re-
quirements elicitation in most situations, but the question is
why is this still the
47. case today? Part of the reason is the number of problems that
may need to be ad-
dressed and overcome during the process of requirements
elicitation. In general
terms there are a large number of contextual, human, economic,
and educational
factors which effect and may inhibit effective requirements
elicitation. For the
sake of explanation we have categorized some of the more
commonly occurring
issues and pitfalls in requirements elicitation faced by both
practitioners and re-
searchers according to the aspect of requirements elicitation
that they most relate
to. These have been collected from a variety of sources in the
literature [11, 28,
49] as well as from practical experience and observation.
Process and Project
Each project is unique and no two requirements elicitation
situations are ever ex-
actly the same. The process can be performed as part of a
custom software deve l-
opment project, COTS selection activity, product line
definition, and existing sys-
tem maintenance operation. Projects can range all the way from
simple bespoke
web-based applications to large and complex enterprise
information system prod-
uct lines. The environment in which the process takes place can
also vary greatly
48. including the geographic distribution of stakeholders and the
familiarity of users
with software systems. Furthermore the process of requirements
elicitation is in-
herently imprecise as a result of the multiple variable factors,
vast array of options
and decision, and its communication and socially rich nature.
Arguably the most
common project based requirements elicitation issue is that the
initial scope of the
project has not been sufficiently defined, and as such is open to
interpretations and
assumptions. Projects like all functions of a business are subject
to change and in-
fluence from internal or external factors including economic,
political, social, le-
gal, financial, psychological, historical and geographical.
Communication and Understanding
It is common that stakeholders have difficulty articulating their
requirements. In
some cases this may be as a result of the analyst and
stakeholders not sharing a
common understanding of concepts and terms, or the analyst is
unfamiliar with the
problem. Often stakeholders will have difficulty seeing new
ways of doing things,
or do not know the consequences of their requirements and as
such may not know
what is feasible or realistic. Stakeholders may understand the
problem domain
very well, but are unfamiliar with the available solutions and
the way in which
their needs could be met. Alternatively stakeholders sometimes
suggest solutions
rather than requirements. Things that are trivial or constantly
49. repeated by stake-
holders are often assumed and overlooked although they may
not be apparent to
the analyst and other stakeholders.
Quality of Requirements
The requirements elicited may not be feasible, cost-effective, or
easy to validate.
In other cases they can be vague, lacking specifics, and not
represented in such a
way as can be measured or tested. Furthermore requirements
may be defined at
different and insufficient levels of detail. Because the process
of elicitation is in-
formal by nature, a set of requirements may be incorrect,
incomplete, inconsistent,
and not clear to all stakeholders. The context in which
requirements are elicited
and the process itself is inherently volatile. As the project
develops and stake-
holders become more familiar with the problem and solution
domains, the goals of
the system and the wants of the users are susceptible to change.
In this way the
process of elicitation can actually cause requirements volatility
and therefore af-
fect the quality of the requirements as a whole.
Stakeholders
Conflicts between stakeholders and their requirements are
common and almost in-
evitable. Furthermore stakeholders may not want to compromise
or prioritize their
requirements when these conflicts occur. Sometimes
stakeholders do not actually
know what they want or what their real needs are, and are
50. therefore limited in their
ability to support the investigation of possible solutions.
Likewise stakeholder can
be adverse to the change a new system may introduce and
therefore have varying
levels of commitment and cooperation towards the project.
Often stakeholders do
not understand or appreciate the needs of the other stakeholders
and might only be
concerned with those factors that affect them directly. Like all
humans, stake-
holders can change their minds independently, or as a result of
the elicitation proc-
ess itself.
Analyst
Analysts may not be equipped with sufficient implementation
expertise and ex-
perience to prepare for and perform effective requirements
elicitation including
appropriate technique selection and the identification of all
requirements sources.
This may be as a result of lack of education in terms of theory
behind techniques
and approaches, or the practice of using soft skills such as
listening, communicat-
ing, and questioning. Analyst from traditional software
engineering backgrounds
may sometimes focus on the solution not the problem, and reply
on only those
techniques they are familiar with for all situations. It is also the
51. case that many
analysts do not employ any structured or rigorous processes
within software de-
velopment projects to address requirements elicitation.
Research
It is arguable that many of the available techniques are not
sufficiently useful or
practical, and the transfer of knowledge required to introduce
these methods and
approaches to industry is too difficult. In fact the quantity of
detailed process
guidelines with appropriate tool support is very limited,
especially with respect to
technique selection and addressing the contextual factors in
different situation.
This can largely be attributed to the absence of sufficient
empirical research, case
studies and experience reports on the specific topic of
requirements elicitation in
the literature. Furthermore, there are no agreed metrics by
which to measure the
performance of the requirements elicitation process within a
software develop-
ment project.
Practice
In general terms there is still a lack of sufficient awareness,
understanding, and
expertise in requirements elicitation practice. Large gaps exist
between require-
ments elicitation theory and practice, as well as novice and
expert analysts. The
result of which is that many are still making the same mistakes
time and time
again with respect to requirements elicitation and do not
52. acknowledge the real is-
sues and their subsequent effects. It is unfortunate that in many
cases organiza-
tions and particularly customers are resistant to investing the
appropriate time and
effort into the process despite an increased need for project
success.
2.7 Trends and Challenges in Requirements Elicitation
Over the years a number of important trends and challenges
have emerged within
the field of requirements elicitation in research and practice
although not necessar-
ily the same for both. For that reason we have divided the
following section into
four areas, namely (1) trends in research, (2) trends in practice,
(3) challenges in
research, and (4) challenges in practice. These trends and
challenges show how the
field has progressed and changed, and what still needs to be
done to further evolve
this process in research and practice.
2.7.1 Trends in Requirements Elicitation Research
As the field of RE began to develop, researchers and
practitioners identified that
the elicitation of requirements for software-based systems had
some unique and
complicated characteristics, and therefore needed to be
addressed as a new and
53. separate topic from traditional knowledge acquisition [17, 23].
As a result and for
a time attention was directed to the development of specific
tools and techniques
to support this process in the hope of reducing its complexity
and resolving some
of the key challenges in its execution [52,20]. In the mid to late
nineteen nineties
the focus of requirements elicitation research however was
strongly on developing
structured and rigorous manual approaches based on new and
different paradigms
as opposed to tools. These included those based on goals [16],
scenarios [51],
viewpoints [59], and domain knowledge [61], which continue to
be used today.
Recently the development of much needed support for this
process has once
again been focused on creating tools but this time for the
implementation of those
newly developed manual approaches, in addition to adapting
generic applications
to requirements elicitation such as template-driven
documentation generation and
assistive groupware applications. This has evolved as a result of
the continuing
need for improvement and the enduring complexity of the
process. Furthermore
new approaches to requirements elicitation are being developed
to support current
and specific topics in software engineering such as agent and
aspect oriented
methodologies, web based systems, and product lines. Agile
methods continue to
gain interest and support and subsequently work has been
54. directed to investigating
how the requirements elicitation process can be effectively
implemented with
these techniques whilst still maintaining the fundamental
principles.
2.7.2 Trends in Requirements Elicitation Practice
Unfortunately RE is not universally practiced as a distinct phase
in software de-
velopment, however its adoption has been on the steady increase
particularly over
the past decade or so. Many software organizations have
discovered that it is in
their best interests and the interests of their customers to invest
the required time
and effort into this phase by implementing a sufficient degree of
structure and
rigor to the process, however for the most part this is only true
for the larger and
more technically mature o rganizations.
Overall the majority of analysts assigned the responsibility of
eliciting require-
ments for software systems still use generic and traditional
techniques such as in-
terviews and group meetings, and only attempt to use others that
they are familiar
and comfortable with regardless of the circumstances. In recent
times however ap-
proaches that have been developed specifically for requirements
55. elicitation, such
as JAD, Use Cases, Goal and Scenario based approaches, have
grown in popular-
ity and usage at least among experienced practitioners.
The adoption of Agile Methods and modeling approaches such
as UML contin-
ues to grow with widespread acceptance of use case diagrams
and descriptions.
The concept of just enough requirements engineering and
subsequently elicitation
as proposed by Davis [18] has been readily accepted by industry
and will hope-
fully lead to the adoption of robust requirements elicitation
without unnecessarily
committing to expensive and overly detailed processes.
2.7.3 Challenges in Requirements Elicitation Research
One of the key challenges for researchers remains the
development of ways to re-
duce the infamous gap [57] between research and practice in
terms of awareness,
acceptance, and adoption. This can only be achieved by
establishing the results in
practice and making the approaches more attractive, thereby
providing the proof
and motivation for practitioners to use them. In order to make
this happen, re-
searchers need to reduce the complexity of approaches, and
expertise required to
integrate them into practice. Packaging them into manageable
and flexible com-
ponents with appropriate tool support can facilitate this process.
It is important to work towards reducing the gap between
56. experts and novices
through practical roadmaps, frameworks, and guidelines that
can be easily taught
to students and novices. Finding more efficient and effective
ways to transfer ex-
pert knowledge is certainly part of this effort. Furthermore
educators need to ade-
quately address the wide range of skills and expertise required
to produce effective
requirements engineers, and provide authentic learning
environments for gaining
realistic experiences.
Overall research needs to continue to develop ways of
improving the process
and quality of requirements elicitation, and quantifying its
success. Only through
application to practice can the true value of new techniques,
approaches, and tools
be determined.
2.7.4 Challenges in Requirements Elicitation Practice
Industry like academia must also look for ways to reduce the
gap between experts
and novices by investing time and effort in education on what is
currently avail-
able, and developing new procedures and process for the
transfer of knowledge
from senior analyst to juniors. Knowing when and which
techniques, approaches
57. and tools to use combined with the knowledge of how, will
ultimately improve the
chances of customer satisfaction and project success.
Practitioners need to be able to allocate sufficient time and
resources to re-
quirements elicitation. This can be partly achieved by educating
customers of the
value of being diligent in the process, and presenting the risks
of not doing so. It is
also important that stakeholders themselves understand the
benefits and are com-
mitted to process.
Organizations in practice need to be more open to accepting the
research results,
and prepared to join forces, pool resources, and share
information to collabora-
tively produce improved methods of working, and better results
for customers. In-
dustry should be more prepared to address the social and
organizational factors in-
volved in requirements elicitation, and focus on building
software systems that
achieve both the business goals and satisfy the users’ needs by
using the appropr i-
ate techniques.
2.8 Future Directions in Requirements Elicitation Research
Despite the successes and progress to date, many important
topics remain open for
investigation with respect to providing appropriate techniques,
approaches, and
tools for requirements elicitation, including specific assistance
for novice analysts,
58. cognitive support through intelligent tools, and methods that
involve direct inter-
action with stakeholders. Below we have listed some of the
potential requirements
elicitation research areas not completely resolved to date that
we believe deserve
appropriate attention in the coming years:
• Reducing the gap between the theory and practice, and experts
and no vices
• Increasing the awareness and education of analysts and
stakeholders in in-
dustry
• Developing guidelines for technique selection and managing
the impact of
factors on the process
• Investigating ways of collecting and reusing knowledge about
requirements
elicitation
• Integration and use of new technologies including web and
agent based ar-
chitectures into the next generation of support tools
• Produce and publish case studies and industrial experience
reports on how
requirements elicitation contributed to successes and failures of
projects
• Exploring how requirements elicitation activities relates to
new and develop-
ing fields of software engineering such as agent based systems,
agile deve l-
59. opment methodologies, and web systems
More collaboration is still required between research and
practice in order to
fully evaluate the existing approaches, and develop new ones
for emerging prob-
lems. Many of the best results in requirements elicitation
research achieved so far
have come from this type of joint work with industry.
Awareness and education
remain two of the biggest issues faced for those working in
requirements elicita-
tion. Students need to be given practical experience as well as a
sound theoretical
foundation. Practitioners need to be equipped with a variety of
techniques, ap-
proaches, and tools to use where appropriate depending on what
is best suited to
the situation. Customers need to understand the importance of
the process, believe
in it, and support the efforts involved in doing it right.
2.9 Summary
The process of requirements elicitation, including the selection
of which tech-
niques, approach, or tool to use when eliciting requirements, is
dependant on a
large number of factors including the type of system being
60. developed, the stage of
the project, and the application domain to name only a few.
Because of the relative
strengths and weaknesses of the available methods and the type
of information
they provide, the reality is that in almost all projects a
combination of several dif-
ferent techniques will be necessary to achieve a successful
outcome. This is sup-
ported by the fact that many of the techniques are intended to be
used in conjunc-
tion with each other, and have complementary attributes as
discussed throughout
the chapter. Most of the approaches require a significant level
of skill and exper-
tise from the analyst to use effectively. However from the range
of existing tech-
niques, variations of interviews, group workshops, observation,
goals, and scenar-
ios are still the most widely used and successful in practice.
Despite attempts to
automate parts of the process and develop frameworks and
guidelines, require-
ments elicitation still remains more of an art than a science.
References
1. Agarwal, R., Tanniru, M.R. (1990): Knowledge Acquisition
Using Structured Inter-
viewing: An Empirical Investigation. Journal of Management
Information Systems,
7(1), pp. 123-140.
2. Akao, Y. (1995) Quality Function Deployment: Integrating
Customer Requirements
into Product Design, Productivity Press: Cambridge, MA.
61. 3. Alexander I.F., Stevens R. (2002) Writing Better
Requirements, Addison Wesley:
Great Britain.
4. Ball, L.J., Ormerod, T.C. (2000): Putting ethnography to
work: the case for a cognitive
ethnography of design. International Journal of Human–
Computer Studies, 53 (1), pp.
147–168.
5. Beck, K., Cunningham, W. (1989): A Laboratory For
Teaching Object-Oriented
Thinking, Proceedings of the Conference on Object Oriented
Programming Systems
Languages and Applications, pp. 1-6, October 1-6, New
Orleans, LA.
6. Beyer, H.R., Holtzblatt K. (1995): Apprenticing with the
customer. Communications
of the ACM, 38 (5), pp. 45-52.
7. Bostrum, R.P. (1989): Successful application of
communication techniques to improve
the systems development process. Information and Management,
16 (5), pp. 279–295.
8. Bubenko, J.A., Jr., Wangler, B. (1993): Objectives driven
capture of business rules
and of information systems requirements, Proceedings of the
International Conference
on Systems, Man and Cybernetics, pp. 670 – 677, October 17-
62. 20, Le Touquet, France.
9. Carlshamre, P., Karlsson, J. (1996): A usability-oriented
approach to requirements en-
gineering, Proceedings of the Second International Conference
on Requirements Engi-
neering, pp. 145-152, April 15-18, Colorado Springs, CO.
10. Checkland, P., Scholes, J. (1990) Soft Systems
Methodology in Action, John Wiley &
Sons: New York, NY.
11. Christel, M.G., Kang, K.C. (1992): Issues in Requirements
Elicitation, Carnegie Me l-
lon University Technical Report, CMU/SEI-92-TR-012.
12. Cockburn, A. (2001) Writing Effective Use Cases, Addison
Wesley: Reading, MA.
13. Constantine, L., Lockwood, L.A.D. (1999) Software for
Use: A practical guide to the
models and methods of usage-centered design, Addison Wesley:
Reading, MA.
14. Coulin, C., Zowghi, D. (2004) Requirements Elicitation for
Complex Systems: Theory
and Practice, in Requirements Engineering for Socio-Technical
Systems, edited by
Jose Luis Mate and Andres Silva, Idea Group: USA.
15. CREWS, http://sunsite.informatik.rwth-aachen.de/CREWS/,
Accessed 15 November
2004.
16. Dardenne, A., van Lamsweerde, A., Fickas, S. (1993):
Goal-Directed Requirements
63. Acquisition. Science of Computer Programming, 20 (1-2), pp. 3-
50.
17. Davis, A.M. (1994) Software Requirements: Analysis and
Specification, Prentice Hall:
New Jersey.
18. Davis , A.M. (2004) Just Enough Requirements
Management: Where Marketing and
Development Meet, Dorset House: New York.
19. DeMarco, T., Plauger, P.J. (1979) Structured Analysis and
System Specification, Pren-
tice Hall: New York, NY.
20. Feblowitz, M., Greenspan, S., Reubenstein, H., Walford, R.
(1996): ACME/PRIME:
Requirements Acquisition for Process-Driven Systems,
Proceedings of the Eighth In-
ternational Workshop on Software Specification and Design, pp.
36-45, March 22-23,
Paderborn, Germany.
21. Foddy, W. (1994) Constructing Questions for Interviews
and Questionnaires, Cam-
bridge University Press: Cambridge.
22. Gause, D.C., Weinberg, G.M. (1989) Exploring
Requirements: Quality before Design,
Dorset House: New York.
23. Goguen, J.A., Linde, C. (1993): Techniques for
Requirements Elicitation, Proceedings
of the IEEE International Symposium on Requirements
Engineering, pp. 152-164,
January 4-6, San Diego, CA.
64. 24. Goldin, L., Berry, D.M. (1994): AbstFinder, A Prototype
Natural Language Text Ab-
straction Finder for Use in Requirements Elicitation. Automated
Software Engineering
4 (4), pp. 375-412.
25. Gottesdiener, E. (2002) Requirements by Collaboration,
Addison Wesley: Boston,
MA.
26. Haumer, P., Pohl, K., Weidenhaupt, K. (1998):
Requirements Elicitation and Valida-
tion with Real World Scenes. IEEE Transactions on Software
Engineering, 24 (12),
pp. 1036-1054.
27. Herela, D., Greenberg, S. (1998): Using a Groupware Space
for Distributed Require-
ments Engineering, Proceedings of the Seventh Workshop on
Enabling Technologies:
Infrastructure for Collaborative Enterprises, pp. 57-62, June 17-
19, Stanford, CA.
28. Hickey, A.M., Davis, A.M. (2002): The Role of
Requirements Elicitation Techniques
in Achieving Software Quality, Proceedings of the Eighth
International Workshop of
Requirements Engineering: Foundation for Software Quality,
September 9-10, Essen,
Germany.
65. 29. Hickey, A.M., Davis, A.M. (2003): Elicitation Technique
Selection: How Do Experts
Do It?, Proceedings of the Eleventh IEEE International
Requirements Engineering
Conference, pp. 169-178, September 8-12, Monterey Bay, CA.
30. Hinkle, D. (1965): The change of personal constructs from
the viewpoint of a theory
of implications, Ohio State University, Doctoral Dissertation.
31. Hofmann, H.F., Lehner, F., (2001): Requirements
Engineering as a success factor in
software projects. IEEE Software, 18 (4), pp. 58-66.
32. Holtzblatt, K., Beyer, H.R. (1995): Requirements
Gathering: The Human Factor. Com-
munications of ACM, 38 (5), pp. 30-32.
33. IEEE (1998) IEEE Std 830-1998 Software Requirements
Specification
34. Jackson, M. (1995): The World and the Machine,
Proceedings of the Seventeenth
IEEE International Conference on Software Engineering, pp.
283-292, April 24-28,
Seattle, WA.
35. Jackson, M. (2000) Problem Frames: Analyzing and
Structuring Software Develo p-
ment Problems, Addison Wesley: Boston, MA.
36. Jones C. (1996) Applied Software Measurement: Assuring
Productivity and Qua lity,
McGraw-Hill: New York.
37. Kaufman, L.D., Thebaut, S., Interrante, M.F. (1989):
66. System Modeling for Scenario-
Based Requirements Engineering, SERC Technical Report,
SERC-TR-33-F.
38. Kelly, G. (1955) The Psychology of Personal Constructs,
Norton: New York.
39. Kotonya, G., Sommerville, I. (1998) Requirements
Engineering: Processes and Tech-
niques, John Wiley & Sons: Great Britain.
40. Krueger, R.A. (1994) Focus Groups: A practical guide for
applied research, Sage:
Thousand Oaks, CA.
41. Loucopoulos, P., Karakostas, V. (1995) Systems
Requirements Engineering, McGraw-
Hill: London.
42. Macaulay, L.A. (1993): Requirements as a Cooperative
Activity, Proceedings of the
IEEE Symposium on Requirements Engineering, pp. 174-181,
January 4-6, San Diego,
CA.
43. Maiden, N., Gizikis, A., Robertson, S., (2004): Provoking
Creativity: Imagine What
Your Requirements Could be Like. IEEE Software, 21 (5), pp.
68-75.
44. Martin, R.C. (2003) Agile Software Development:
Principles, Patterns, and Practices,
Prentice Hall: Upper Saddle River.
45. McGraw, K.L., Harbison-Briggs, K. (1989) Knowledge
Acquisition: Principles and
67. Guidelines, Prentice Hall: New Jersey.
46. Nielsen, J., Clemmensen, T., Yssing, C. (2002): Getting
access to what goes on in pe o-
ple's heads?: reflections on the think-aloud technique,
Proceedings of the Second Nor-
dic Conference on Human-Computer Interaction, pp. 101-110,
October 19-23, Aarhus,
Denmark.
47. Nuseibeh, B., Finkelstein, A., Kramer, J. (1996): Method
Engineering for Multi-
Perspective Software Development. Information and Software
Technology Journal, 38
(4), pp. 267-274.
48. Nuseibeh, B., Easterbrook, S. (2000): Requirements
Engineering: A Roadmap, Pro-
ceedings of the Conference on The Future of Software
Engineering, pp. 35-46, June 4-
11, Limerick, Ire land.
49. OPEN Process Framework, http://www.donald-
firesmith.com/, Accessed 15 Nove m-
ber 2004.
50. Osborn, A.F. (1979) Applied Imagination, Charles
Scribner's Sons: New York.
51. Potts, C., Takahashi, K., Anton, A.I. (1994): Inquiry-Based
Requirements Analysis.
IEEE Software, 11 (2), pp. 21-32.
68. 52. Reubenstein, H., Waters, R. (1991): The Requirements
Apprentice: Automated Assis-
tance for Requirements Acquisition. IEEE Transactions on
Software Engineering, 17
(3), pp. 226-240.
53. Richardson, J., Ormerod, T.C., Shepherd, A. (1998): The
Role of Task Analysis in
Capturing Requirements for Interface Design. Interacting with
Computers, 9 (4), pp.
367-384.
54. Robertson, S., Robertson, J. (1999) Mastering the
Requirements Process, Addison
Wesley: Great Britain.
55. Rolland, C., Souveyet, C., Ben Achour, C. (1998): Guiding
Goal Modeling Using Sce-
narios. IEEE Transactions on Software Engineering, 24 (12), pp.
1055-1071.
56. Scenario Plus, http://www.scenarioplus.org.uk/, Accessed
15 November 2004.
57. Siddiqi J., Shekaran, C. (1996): Requirements Engineering:
The Emerging Wis dom.
IEEE Software, 13 (2), pp. 15-19.
58. Sommerville, I., Sawyer, P. (1997) Requirements
Engineering: A Good Practice
Guide, John Wiley & Sons: Great Britain.
59. Sommerville, I., Sawyer, P., Viller, S. (1998): Viewpoints
For Requirements Elicita-
tion: A Practical Approach, Proceedings of the IEEE
69. International Conference on Re-
quirements Engineering, pp. 74-81, April 6-10, Colorado
Springs, CO.
60. Sommerville, I. (2001): Software Engineering 6th Edition,
Addison Wesley: USA.
61. Sutcliffe, A., Maiden, N. (1998): The Domain Theory for
Requirements Engineering.
IEEE Transactions on Software Engineering, 24 (3), pp. 174-
196.
62. Taylor-Cummings, A. (1998): Bridging the user-IS gap: a
study of major systems pr o-
jects. Journal of Information Technology, 13 (1), pp. 29-54.
63. Weatherall, A. (1998): Creative problem solving using
GroupSystems, Proceedings of
the Thirty-First Hawaii International Conference on System
Sciences, 1, pp. 588-595,
January 6-9, Hawaii.
64. Wood, D., Christel, M., Stevens, S.M. (1994): A
Multimedia Approach to Require-
ments Capture and Modeling, Proceedings of the First
International Conference on
Requirements Engineering, pp. 53-56, April 18-22, Colorado
Springs, CO.
65. Wood, J., Silver, D. (1995) Joint Application Development,
John Wiley & Sons: New
York.
66. Yourdon, E. (1989) Modern Structured Analysis, Prentice
Hall: Englewood Cliffs, NJ.
67. Yu, E.S.K. (1997): Towards Modeling and Reasoning
70. Support for Early-Phase Re-
quirements Engineering, Proceedings of the Third IEEE
International Symposium on
Requirements Engineering, pp. 226-235, January 5-8,
Washington, D.C.
68. Zave, P., Jackson, M. (1997): Four dark corners of
requirements engineering. ACM
Transactions on Software Engineering and Methodology, 6 (1),
pp. 1-30.
69. Zowghi, D. (1999): A Logic -Based Framework for the
Management of Changing Sof t-
ware Requirements, Macquarie University, Doctoral
Dissertation.
Author Biography
Didar Zowghi is Associate Professor of Software Engineering
and the Director of
Requirements Engineering Research Laboratory in the Faculty
of Information
Technology at University of Technology, Sydney. She holds a
Bachelors of Sc i-
ence (Hons) and a Masters of Science in Computer Science, and
PhD in Software
Engineering. She serves on the program committee of many
national and interna-
tional conferences, in particular the IEEE International
Conferences on Require-
ments Engineering since 1998. She is the regional editor (and
71. the editor of the
Viewpoints column) of the International Requirements
Engineering Journal and
the associate editor of the Journal of Research and Practice in
Information Tech-
nology (JRPIT). She has published extensively on many aspects
of Requirements
Engineering.
Chad Coulin is a PhD candidate and member of the
Requirements Engineering re-
search group in the Faculty of Information Technology at the
University of Tech-
nology, Sydney. He holds a Bachelors of Engineering (Hons) in
Microelectronics,
and is currently working on the development of new and
innovative methods to
support requirements elicitation for software-based systems. His
other research in-
terests include Computer Supported Cooperative Work (CSCW)
and the develop-
ment of interactive and intelligent Computer Assisted Software
Engineering
(CASE) tools. Previously he has worked as a project and
product manager in the
USA and Europe developing and implementing large -scale
industrial software
systems.
See discussions, stats, and author profiles for this publication
at: https://www.researchgate.net/publication/269758882
72. The art of software systems development: Reliability,
Availability,
Maintainability, Performance (RAMP)
Article · December 2013
DOI: 10.1186/2192-1962-3-22
CITATIONS
24
READS
474
1 author:
Some of the authors of this publication are also working on
these related projects:
Emotion detection, monitoring and control View project
A novel neuro-fuzzy model to detect human emotions using
different set of vital factors with performance index measure
View project
Mohammad Malkawi
Jordan University of Science and Technology
42 PUBLICATIONS 361 CITATIONS
SEE PROFILE
All content following this page was uploaded by Mohammad
73. Malkawi on 29 July 2015.
The user has requested enhancement of the downloaded file.
https://www.researchgate.net/publication/269758882_The_art_o
f_software_systems_development_Reliability_Availability_Mai
ntainability_Performance_RAMP?enrichId=rgreq-
80ed7c7be611885448560298c10ae8ba-
XXX&enrichSource=Y292ZXJQYWdlOzI2OTc1ODg4MjtBUzo
yNTY2NjQwMjA0NTEzMjlAMTQzODIwNDg3OTYwNA%3D%
3D&el=1_x_2&_esc=publicationCoverPdf
https://www.researchgate.net/publication/269758882_The_art_o
f_software_systems_development_Reliability_Availability_Mai
ntainability_Performance_RAMP?enrichId=rgreq-
80ed7c7be611885448560298c10ae8ba-
XXX&enrichSource=Y292ZXJQYWdlOzI2OTc1ODg4MjtBUzo
yNTY2NjQwMjA0NTEzMjlAMTQzODIwNDg3OTYwNA%3D%
3D&el=1_x_3&_esc=publicationCoverPdf
https://www.researchgate.net/project/Emotion-detection-
monitoring-and-control?enrichId=rgreq-
80ed7c7be611885448560298c10ae8ba-
XXX&enrichSource=Y292ZXJQYWdlOzI2OTc1ODg4MjtBUzo
yNTY2NjQwMjA0NTEzMjlAMTQzODIwNDg3OTYwNA%3D%
3D&el=1_x_9&_esc=publicationCoverPdf
https://www.researchgate.net/project/A-novel-neuro-fuzzy-
model-to-detect-human-emotions-using-different-set-of-vital-
factors-with-performance-index-measure?enrichId=rgreq-
80ed7c7be611885448560298c10ae8ba-
XXX&enrichSource=Y292ZXJQYWdlOzI2OTc1ODg4MjtBUzo
yNTY2NjQwMjA0NTEzMjlAMTQzODIwNDg3OTYwNA%3D%
3D&el=1_x_9&_esc=publicationCoverPdf
https://www.researchgate.net/?enrichId=rgreq-
80ed7c7be611885448560298c10ae8ba-
XXX&enrichSource=Y292ZXJQYWdlOzI2OTc1ODg4MjtBUzo
yNTY2NjQwMjA0NTEzMjlAMTQzODIwNDg3OTYwNA%3D%
3D&el=1_x_1&_esc=publicationCoverPdf
76. Creative Commons Attribution License
(http://creativecommons.org/licenses/by/2.0), which
permits unrestricted use, distribution, and reproduction in any
medium, provided the original work is properly cited.
mailto:[email protected]
http://www.hcis-journal.com/content/3/1/22
http://www.hcis-journal.com/authors/instructions/
http://www.springeropen.com
http://creativecommons.org/licenses/by/2.0
The art of software systems development:
Reliability, Availability, Maintainability,
Performance (RAMP)
Mohammad Isam Malkawi1*
* Corresponding author
Email: [email protected]
1 Jordan University of Science and Technology, Irbid 21410,
Jordan
Abstract
The production of software systems with specific demand on
reliability, availability,
maintenance, and performance (RAMP) is one of the greatest
challenges facing software
engineers at all levels of the development cycle. Most
requirements specification tools are
more suited for functional requirements than for non-functional
RAMP requirements. RAMP
requirements are left unspecified, specified at a later stage, or at
best vaguely specified,
which makes requirements specifications more of an art than a
77. science. Furthermore, the cost
of testing for RAMP requirements is quite often prohibitive. In
many cases, it is difficult to
test for some of the RAMP specifications such as
maintainability, reliability, and high
availability. Even the test for performance is quite often
workload dependent and as such the
performance numbers provided at test time or at system
commissioning time may not be
achievable during actual system workload. What makes the
subject matter more difficult is
the absence of a clear set of rules or practices, which, if
followed closely, produce a system
with acceptable RAMP specifications. As such, and until the
design of RAMP software
systems becomes a well understood theme, the development of
such systems will be a fine
art, where the tools and capabilities of developing such systems
will depend on the particular
system to be developed, the environment in which it will run,
and the level of expertise and
knowledge deployed. Just like no two pieces of art produced by
the same artist are the same,
no two software systems will have the same RAMP
characteristics.
This paper will focus on the paradigms involved in the
production of RAMP software
systems through several case studies. The purpose is to promote
the interest of researchers to
develop more specific guidelines for the production of SW
systems with well defined RAMP
qualities.
Introduction
78. The production of software systems with specific demand on
reliability, availability,
maintenance, and performance (RAMP) is one of the greatest
challenges facing software
engineers at all levels of the development cycle. Most
requirements specification tools, e.g.,
Accent, Nu Thena, SES, Rational, are more suited for functional
requirements than for non-
functional RAMP requirements [1-5]. RAMP requirements are
left unspecified, specified at a
later stage, or at best vaguely specified, which makes
requirements specifications more of an
art than a science [6-8]. Furthermore, the cost of testing for
RAMP requirements is quite
often prohibitive. In many cases, it is difficult to test for some
of the RAMP specifications
such as maintainability, reliability and high availability. Even
the test for performance is
quite often workload dependent and as such the performance
numbers provided at test time or
at system commissioning time may not be achievable during
actual system workload. What
makes the subject matter more difficult is the absence of a clear
set of rules or practices
which, if followed closely, produce a system with acceptable
RAMP specifications. As such,
and until the design of RAMP software systems becomes a well
understood theme, the
development of such systems will be a fine art, where the tools
and capabilities of developing
such systems will depend on the particular system to be
developed, the environment in which
it will run, and the level of expertise and knowledge deployed
79. [8]. Just like no two pieces of
art produced by the same artist are the same, no two software
systems will have the same
RAMP characteristics. Software system design and development
is by and large more
complex than the programming phase of it, which was perceived
as an art by Donald Knuth
in his classic book “The Art of Computer Programming” [9].
There has been quite a bit of argument in the literature on what
constitutes an art or a science
in the software production cycle. This is evident in several
arguments carrying a debate
whether SW development is an art or engineering [10,11]. In a
post on the internet titled
“Software Development: Art or Science”, Sammy Larbi from the
University of Houston
writes: “There is a seemingly never-ending debate (or perhaps
unconnected conversation and
misunderstandings) on whether or not the software profession is
science or art, or specifically
whether “doing software” is in fact an engineering discipline
[12,13].”
In an article titled “The Art, Science, and Engineering of
Software Development” [14], Steve
McConnell argues that SW development is art, science, craft,
and many other things.
Naveen Gunti [15] examines the benefits of using function point
analysis in the context of the
art of SW engineering. Robert Glass in his book “Software
Conflict 2: The Art and Science
of SW Development” agrees with earlier findings that SW
design is a model that emerges in
the human mind [16] similar to how a piece of art emerges in
80. the mind of an artist. Jim
Waldo, a distinguished engineer at SUN Microsystems [17]
writes “Software engineering is a
lot less like other kinds of engineering than most of us would
like to think. There is an aspect
of art to what we do, that is learned not in school but by finding
a master and serving an
apprenticeship”
The purpose of this paper is not to argue whether SW
development is an art or science, or
what is a science or an art in the cycle of SW development.
Rather, this paper will focus on
the paradigms involved in the production of RAMP software
systems through several case
studies. The purpose is to promote the interest of researchers to
develop more specific
guidelines for the production of SW systems with well defined
RAMP qualities. In section 2,
we will discuss the performance paradigm as one of the main
pieces of software design.
Section 3 will present the reliability and availability paradigms.
Maintainability issues will be
discussed in section 4. Section 5 will address the necessity for
the development of guidelines
and best practices for RAMP software system development,
where a general framework for
RAM is proposed. Concluding remarks are discussed in section
6.
The performance paradigm
My most recent encounter with a performance paradigm was
related to the modeling of water
flow in cases of flood, tsunami, cyclones, river floods and
similar cases. Simulating 72 hours
81. of water flow in some cases requires more than 12 hours of
execution on a mid size server. Is
there a need to enhance the performance of the software? What
should the performance
requirements be? And how to achieve the required performance
in a cost effective manner?
Another case, involved a software tool used to mitigate
intermodulation interference
problems in telecommunication systems. In some cases, the SW
tool would run for several
hours, overflow the disk space with data, and cause the system
to crash. Should the
performance of the tool be improved? What are the performance
requirements, how to
achieve them in a cost effective manner? A more interesting
question would target the limits
of performance, which can be achieved on the system! Yet, one
more example, involving the
modeling and simulation of the evacuation of large facilities in
case of natural or human
inflected disasters. The simulation time can run for several
hours for a given scenario. How
much improvement is required, if any?
When performance requirements are analyzed independently
from the concept of productivity
[18], the above scenarios may not warrant a performance
improvement. In the above
examples, it is often required to repeat the study with different
parameters and scenarios. An
optimal solution in most cases is a must due to the safety and
security nature of the studies.
Repeating the experiments for several hours each time can be a
82. frustrating practice for the
engineer, which may lead to the introduction of approximation
techniques or compromising
optimality. Besides, the longer the process runs on the system,
the more likely it will
experience faults and errors during the execution process [19-
21]. In the case of the
interference analysis SW tool, one engineer explains: “If I can
run the SW in less than one
hour, I can generate more studies per day. I can make more
money. Each study costs
$2000.00”.
Once we get to the point where a performance enhancement is
needed, then we have to
answer the following questions: “How much improvement are
we looking for”? This
(requirement) question has to be answered by the end user of
the SW system. What is the
limit of performance improvement? This (specification)
question has to be answered by SW
engineers, who should take into consideration the economics of
the hardware settings. But the
most difficult (architecture) question is: “How do you achieve
the performance gains”. Figure
1 shows a general framework for performance improvement.
Details of the framework will be
further discussed through the following study cases.
Figure 1 Performance Improvement Framework.
Case 1: initialization problem
Failure recovery is one of the important factors related to
availability. Failure recovery
involves the recovery mode, the time to recover and the
83. recovery success rate. One of the
recovery modes, after a complete system failure, is the restart of
the failed system and/or the
applications on the same system. In order to achieve a certain
level of availability (5 NINES
for example) [22-26], the system must be restarted (reboot,
initialize, restore checkpoints)
within a certain time constraint. The minimum acceptable
recovery time is determined using
technique such as Markov process analysis [27] or stochastic
activity network simulation
[28]. This is a case where the performance requirement is
determined based on another
higher level requirement, e.g., availability requirement.
In the course of analysis, the recovery time is further
decomposed into subtasks based on the
time consumed by each subtask. Performance budgeting is then
used to estimate the potential
enhancement of each subtask, if possible at all. Performance
budget, in this context, defines
the limits of performance improvement. Some of the subtasks
that consume most of the
budgeted time, in our example, include the boot image loading
time, the kernel initialization
time, and the payload components initialization time. It is
essential to determine if any of the
sub-tasks can be skipped in order to save time and speed up the
process of initialization. For
example, memory tests can be skipped at initialization time only
to be performed later, when
the system is not too busy. Also, the initialization of some
payload components may be
84. deferred until the system is completely recovered.
In our example, we draw the attention on the loading time of the
boot image of the device;
assuming that the boot image does not reside on the device, as
is the case in wireless
infrastructure devices. When evaluating the boot image load
time using ftp protocols, it was
noticed that the speed of ftp load depends on the file size as
well as on the number of
concurrent ftp load sessions. We evaluated two versions of the
ftp protocol. We measured the
load time for different file sizes and different parallel loads.
Figure 2 shows that the load time
is minimal when using version 2 of the ftp load protocol with
11.6 MB file size. The best
results can be achieved when 4 download sessions are
performed in parallel. We observed
that increasing the number of open ftp sessions beyond 4 will
increase the overall loading
time. This is an example, where performance improvement
requires careful selection of
protocols and parameter setting.
Figure 2 FTP Code Load Performance.
The initialization example reveals several important points.
1. The dependence of performance requirement on other
requirements (see Figure 1) such as
availability and reliability. In this case, the recovery time (a
performance parameter)
depends on the recovery time, in the availability model.
2. The impact of parameter configuration, environment settings,
and tuning on performance.