5. ,Andrew Thomas, Richard Barton and Chiamaka Chuke-Okafor, Applying lean six sigma in a small engineering company â a model for change, Journal of ...
Quality in Requirements Engineering: methodologies and Knowledge ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ Ahmed Abdullah alorage MP Computer information System King Saud University, 2016
Abstract: The Software Development face Many Challenges with the Most Important phase " the Requirements" .it's Effect the Quality of the projects. Even when you apply Their Approaches. Our Demand for the Requirements Engineering to be Qualified is indeed our major objective. "e.g. as Projects mangers and the Quality teams". Using and Defining Integrated Quality Approach also cannot be easy for the Requirements Analyst 'RA'. What is The Requirements of Luxury? Is A Luxury useful or manipulated term in requirements? our main Concern is Applying Quality Approaches in Requirements Process Model. In this Article , we will Open The Discuss about The Effect of applying The Quality Approaches in Requirements.As we look at the Requirements Process Model for Software Development and the level that reach the requirements to the Quality and How we Pronoun the Requirements a qualified.
1.0 Introduction: Important Requirements to the Quality The first leading to the Quality for the System is to realizing How the Approached of the Integrated Quality Apply in the Requirements [1]. Studding and learning about the techniques of the Requirements engineering, Components and Methods such as "Plan Process, Strategy, Types and Requirement with the Life Cycle". [3] The concept of requirement engineering in the Project could be in general consist of the three Main Components. First one Consider be eliciting the Requirements, which mean, "Collect, analysis". The Second is the Writing the Requirements by the Approaches and Method of Writing the Business Requirement Diagram "BRD". Finally Managing the Requirement, which mean adding, Deleting, modifying, and prioritizing of the Requirements, which consider very important in this Article, which affected to the Quality of the Requirements. [6] The Requirements of the Software System consider be the Most Important Level. The statements of "Requirement" Identifies a capability, Characteristic or Quality Factor of the system in Order for it to have value and utility to a customer or User [1]. The Important of the Requirement is to Provide Infrastructure for all the phases of the design Project [1, 3]. The Perspective of the Project Managers Sometime Tend to minimize the efficiency of the Requirements and spending time of work in "Coding, and testing" [2]. Insufficient time and effort consuming in the Requirements of the Activates Leading to the Errors and Bugs of the system initiation[1].The best Approach leading to the best Modeling the Process of the Requirement is a spending More time and Efforts in Gathering , analyzing , and managing the Requirements of the System. [1, 2, 3].The useful of the Requirements Plan is making the Requirements of the Process more Effective and Powerful among the changing in the future. [2]A set of different Plan lead the success of the requirements plan consider be as components of the Plan. These components is the Project plan , system engineering managements Plan "SEMP" , Quality Assurance "QA" Plan , Configuration Managements "CM" plan[1]. A requirements also, need strategy to be built. That strategy including writing requirements, design requirement Process, using requirement activates that's related to the system life cycle , and using requirements practices, mechanisms , methods , techniques , training[1,3]. Validation & verification
requirements identified the Quality and Good result for using of the requirements. The validations requirements utilize for choosing the right destination to the Project Process. The Verification requirements utilize for choosing the right path for that right destination [6]. These in general detail we looked at the requirements engineering utilize in the designing a project .it's Only concentrate on the methods and techniques that’s relatedly affect the main concept of the quality for the requirements of the Projects and What we need in our search. besides ,the main search which is the Integrated Quality approach used in the Requirements engineering is the specific requirements that affect and used for the quality approach such as prioritizing the requirements , managing the requirements , requirements practices and methods , validation and verification requirements. The article including the main Concept of the Quality reflecting the live of Producing, Businesses drives to the quality, roles of managements affected the quality of the requirements, the Components of the Integrated Quality Approach, The relationship between Priority Management & Quality in the requirements, the guide principles for applying the Quality in the requirements, the Roles that should be followed by the
requirements analyst "RA", and see the views points of different authors about the manipulated requirements called "Luxury".
1.1 The Quality :Concepts & challenges In General, the Quality can be measured by the valuable of the results and been judgements by the consume ring of the community [4]. In Manufacturing, the Measure of less Defects and suitability of the Products [7]. Also, the Quality mean the vision of the perfection to do something. Perceptual of conditional something. Fitness for Purpose. In technical, there is more than one definitions. the first is : the Components of the Products and Services that's hold the ability to satisfy stated and Expectation of the customer needs.[8] the second definitions is : the compatibility of the Requirements [4] Unfortunately, the different of the Definitions of the Quality Could reflects the Values and beliefs of the produce Manner[9]. The Meaning of Quality Requirements is Debatable. [12] In Requirements engineering some of the Scientists category it as Parent of Functional Requirements. [11] Many Approaches for the quality has been created over the years to Standardize and measures the Quality in the Systems and environments such as : Total Quality Managements (TQM), the Malcolm Baldrige Award Criteria, Six Sigma, Quality is Free , Zero Defects, the Balanced Scorecard, Standards developed by the International Standards Organization (ISO) , and others [1]. These Approaches has been found to Standardizing and Measuring the Quality in Products and Results from the Different environments in aim to making the Designers of the Systems not scattered among differences Definitions and Concepts of the Quality [9]. Unfortunately, the Quality of the Requirements Engineering Facing Different Challenges Through Deployments. One of the Challenges is convincing management and Organization that they are worthwhile. Another Challenges is the Deployments of the Quality in Reality Sometime is Diffcult.in main Understanding of the Requirements Engineering The Concentrating on the Quality Approaches is less important than Focusing on meeting Customers' Real Needs.[1and4] 1.2 Business Drivers Lead to the Quality: One of the Most Achievable Goals in the Quality of Requirements is having a Driver that is Deploying in the Requirements of the Project. It is important for Projects and Organizations to consider these Customer needs. Which could be explain also as high-level Customer Demands. These Business Drivers is: Keep Going on Business Success , High-quality products or Services , Meeting Customer Requirements , Cost Reduction Customer and Employee Loyalty Improved Performance Defect Removal and Mistakes Efficiency, Reduced Cycle time, Innovative Solutions.[1] The Drivers of Quality Need to consider in mean with All the Members of Project to Achieve the Final Result of Quality. [11] The way of these Drivers to be deploy in the Project, Need to Principles Guiding the Project to be an Accomplish. [12]
1.3 The Components of an Integrated Quality Approach: The Components of the Approach means the Steps worked to Achieve Quality in Projects. It's mean the Process of the Projects Levels that has been through in order to gain an appropriate results. Therefore, all the components are in the same in order to deploy for any approach. The components of an Integrated Quality Approach concentrating in managements, projects, tasks ,QI "Quality Improvement "teams ,and QA"Quality Assurance". The Methods of Deploy it "Techniques" is different from Approach to Another. [1]
Figure "1.3"The mechanism "How this Components Working Together
1.4 Quality Model: the Repository of the components The Quality Model used to drive the Quality Process of the Requirements to the Desired Output. It is a way to clear, analysis and prioritize the components of the Quality in such simple form. The Role of the Model is clear and obvious is to receive the Meaning of the Quality in the Requirements. However, the Hide role is dividing the components into Factors make the Process of the Quality assurance "QA" easy and high speed achieve. The Attributes of the Quality Model is Quality Factors Groups, Quality Factors, Quality SubFactors, Quality Criteria, and Quality Measures. The Quality Factors has divided to "Main Factor & SubFactors" in Order to Prioritizing the Objects of the Quality in the Boundaries of Costs and Efforts. Each of the elements in the Model act with each other as relationships to integrate the Process. The Quality Requirements specifies the Criteria's and measures. The Measures act with Criteria by its role. The Factor Splits the SubFactor to Prioritize the Process and the Criteria characterize the Elements of the Model "Factor and SubFactor". [13]
Figure "1.4" The relationships between the Elements of the Quality Model
1.5 Quality Assurance "QA" Popularity Term "sometime Called Quality Control 'QC'. However, the more important concentration is the confidence of the requirements [8]. Quality Assurance is necessary aspect working in all the phases of the Developments system. Quality Assurance Activated Sensitively with the
Validation and Verifications Requirements. It has Struck the nerve when Deploy the Quality Assurance in Projects within Reason, the Discussed meaning of Quality.
Quality Assurance including of Techniques focused on the later developments phases such as the Implementations and Testing. However, Quality in Requirements Engineering is initial Part of Developing the System that make the Quality very important but Difficult to Apply. In This case, which need to Apply Quality Assurance Early in Systems. In Each Phases of the System Design We, need To Apply Activities of the Quality Assurance, which influence in the Design System. The Reason of Apply the Activities of Quality Assurance is detecting the effects that is Caused Following-up, in All the Designing System Phases Incrementally in the architecture, design, coding and testing. The Issues shown in figure "1.5". [12]
Figure "1.5" Impact of Requirements Issues Solved by QA Issues in this Manner consider as an Umbrella Term. Including Many Faces and Ways in Affecting the Requirements and Phases of Development Software. Many Views in requirements Gathering could defining the Beginning of the Quality Assurance. [14] The Attributes of Quality in Requirements can be Define in the Requirements Deal in Specific view. Correctness, which mean that requirements have to reflect and intended the Behavior of the Users and Customer. Unambiguity, which mean sharing all the thoughts about Common Understanding to the Stockholders. Completeness all related Task to the user should be Considers in achieving the requirements. Consistency, which mean all State Requirements consistent.Verifiabiliy, also, mean All the Requirements should be Verifiable. Modifiable, Traceable, Comprehensibility and Feasibility. [12] This is Consider be The Attributes of Quality Assurance who required the Requirements Engineering. When These Attributes is available in Requirements During Requirements engineering Phase. The Only Way to represented in formal Way is to apply "a Strategy" for Quality Assurance. QA Strategy also can be define Quality Issues that is can be easy be Verified and Validated in Requirements Phase. The Quality Issues that's cannot be Defined in early Phase of requirements can be defied in Later Phase. [12] 1.6 Priority Managements The main role to achieve Quality in requirements is prioritizing. Excellence Requirements come with explicitly prioritized. The Provision of Prioritizing have be aware of schedule, budget, staff resources, and quality goals. [1] The priority scales is domain Embraces all the requirements and classified in Three Types of priority: High priority "Essential" e.g. which mean the result is not accepted unless the requirements is satisfied. Medium priority "conditional" mean that you could enhance the result. Low priority "Optional" which mean is not worthy. In addition, we need to know that the Priority based on value, cost and Risk. [15]
1.7 The PDCA Cycle One of the Most approach utilize in Quality improvement is "the PDCA cycle". It is mean "Plan, Do, Check and Act sometime seen as plan-do-check-adjust". They can be used to measuring the Quality requirements at the Final level. The PDCA is methods to control and continual improvements of the
process and products. The Roles of the PDCA Attributes such as "Plan" which mean initiate the Elements and process to reach the result. "Do," which mean implements these plans to achieve the result. "Check" mean measure the results and compare it with the expected results. "Act" How the RA act about the result that get from the Attributes. The PDCA cycle repeated until the RA found the excepted results. This method known lately with "MutiPDCA cycle". [16]
Figure"1-7 ": use "multiPDCA" cycle to improve the Process 1.8 Quality and Luxury in requirements The difinitaion of quality is confusing and may have a variety method. Sometime the Requirements may affected with the misunderstanding of the quality. A "Luxury" is term called to the great comfort provided by rich man with more than his needs. The same manner for the requirements engineering when you collect and choose the unwanted requirements or more than you need in the system. The different between quality and luxury is often misleading for the RA. This confusion such as someone try to buy a car. If he ask about quality car then everybody told him about the high expensive car such as "Mercedes" and "Lexus" while these is " Luxury car" and maybe the man manipulated by the Commercials and price cut proposals and then be regret to choosing this luxury car.[3] The above example Describe to us the status of the RA when he choose unappropriated requirements. 1.9 Requirements Analyst: Perspective of Quality The Quality in Requirements engineering is very complicated. Therefore, the role of the RA is very defaults in this situation. The person who judged in whole system is the Customer is self. Sometime the requirement been provision as valuable and qualified. However, the result not the satisfied the customer expectations and vice versa. [1] The role of RA is Follow all the Approaches that written in this paper. Starting from the requirements that are interested with Quality such as validation and verifications through the business drive to quality, quality mode and quality assurance. Using the PDCA cycle is very important to measure the quality in requirements. Try avoiding the requirements with the potential than the system need "Luxury". In Large scale project, a team of industrial Analysts. They sometime allocate quality team for using the quality methods in all components of the project including the requirements engineering. "For example: Quality improvements Team, Quality assurance team and Quality Story team". [1]
Conclusion In this Article, we identified the quality in the requirements engineering and how important is. We reviewed the requirements that has directed related to the quality such as the definitions of requirements, Requirements Elicitation, some types of requirements "Validations and Verifications". The Confusing of Definitions Quality led us to Challenges and Concepts should be understood such as the components of quality and business drive to quality. Therefore, establish the quality model to be as repository for qualified requirements and measure the impact by the Quality Assurance. "The PDCA" cycle is used to solving unqualified requirements repeatedly until the problem is solved. In addition, we reviewed the Role of Requirements Analyst in Quality and how the Largescale project specifies a team to measure the quality. "Luxury" in requirements has been discovered, as manipulated term must be avoided from the "RA”.
REFERENCES 1. 2. 3. 4. 5.
6. 7. 8. 9. 10. 11. 12. 13. 14.
15. 16.
Ralph r, young, the requirements engineering handbook, artech house, 2004 –pp169-190. Dhirendra Pandey, U. Suman & A. K. Ramani, an effective requirements engineering process model for software development and requirements management, IEEE, 2010. Elizabeth Hull, Ken Jackson and Jeremy Dick , requirements engineering , second edition, springer 2005 Phillip B. Crosby, Quality is free, 1980, new American library edition “in English”. ,Andrew Thomas, Richard Barton and Chiamaka Chuke-Okafor, Applying lean six sigma in a small engineering company – a model for change, Journal of Manufacturing Technology Management , 2008 ". Michelle Specht , worldwide GTM Manager for Systems Communities, why to Write a requirements, 2013 Quality. businessDictionary.com. Retrieved December 05,2016 , from BussinessDicitionary.com website: http://www.businessdictionary.com/definition/quality.html American Society for Quality, Glossary – Entry: Quality, retrieved 2008-07-20 Peter Moss, Alan Pence , Valuing Quality in Early Childhood Services : new Approaches to Defining Quality , Paul Chapman Publish Ltd. 1994 –pp1-28 Bashar Nuseibeh, Steve Easterbrook ,"Requirements Engineering: A Roadmap". ICSE'00. Proceedings of the conference on the future of Software engineering, pp. 35–46. Requirements engineering and quality attributes, Architecture Software architecture, Open Universiteit Christian Denger, Thomas Olssan ,"Quality Assurance in Requirements Engineering", springer Link ,2005, pp 163-185 Firesmith, Donald. "Using quality models to engineer quality requirements." Journal of Object Technology 2.5 (2003): 67-75. Kitchenham B, Pfleeger S (1996) Software quality: the elusive target. IEEE Software, 13(1): 12Ŧ21 Karl E. Wiegers, First Things First: Prioritizing Requirements, Software Development,1999 "Taking the First Step with PDCA". 2 February 2009. Retrieved 17 March 2011.