01-02-2013, 03:37 PM
QUALITY ISSUES IN REQUIREMENT ENGINEERING IN GLOBAL SOFTWARE DEVELOPMENT (GSD) ENVIRONMENT
1QUALITY ISSUES.doc (Size: 69.5 KB / Downloads: 28)
Abstract
Requirement Engineering is the most actual stage of software development. The purposes are to assemble or gather essential/necessary requirement from participant in the right direction. The joy of any organization is to develop software product with good quality in order to satisfy the intended objectives of its clients/users. However, since in every phase of software development lifecycle there is need to apply requirement engineering. Quality maintenance is a problem being faced in the requirement engineering in global software development environment. Therefore, this paper will explore the challenges and factors which influence the quality of the products in Requirement Engineering (RE) in Global Software Development (GSD) environments.
INTRODUCTION
The introduction of modern tools/technologies has transformed the world to be a universal village, consequently software industries have also started concentrating from shifting old fashioned form of collocated growth to offshore development. Moreover, with the increase of connectivity and interdependence of markets, technologies, economical factors, accessibility of resources and approaches has undoubtedly prompted software development by large Domian D. and Moitra D. (2006).
Holmstrom H., et al (2006) in their contribution says that Global Software Development (GSD) has adopted extensive and attainment recognition with the passage of time. Also, as in GSD teams are spread geographically hence its key benefit is nearness to market/customer. Moreso, GSD focal motivating force is economical factor i.e. as the product is developed in a small amount of time and resources exhausted.
SOFTWARE QUALITIES IN REQUIREMENT ENGINEERING IN GSD ENVIRONMENT
Quality of software is a universal concern in software engineering. Achieving quality encompasses software engineering processes, procedures and tools and is one of the chief emphases of project management. Quality products can increase market share and long term productivity for companies and poor quality can definitely have the opposite effect. However, in spite of the emphasis on quality in software engineering, it can be extremely hard to get hold of actual software engineering projects.
Additional driver for quality is that the absolute difficulty of many modern systems, the number of variations to requirements and designs in the course of development and the variety of stages and users requires continuous evaluation of the quality of product just to make sure that the concluding product is satisfactory.
QUALITY REQUIREMENT ISSUES IN GSD
1. General Problems
The overall problems contained with requirements analysis are progressively well known:
The appropriate people with sufficient experience, technical expertise, and language proficiencies/abilities may not be obtainable to direct the requirements engineering processes.
The early thoughts about what is needed are habitually inadequate, passionately optimistic, and firmly established in the minds of the people directing the procurement activity.
The intricacy of using the complex tools and various methods connected with requirements collection may reverse the hoped for values of a whole and comprehensive method.
Coding is the only main thing
Numerous systems are develop with small thought to activity. The team gets together and starts executing activities. The moment sufficient information is collected, coding starts. This absence of concentration to procedure can put down a system. It is simple or trouble free to see the outcome of a lack of consideration to activity after a system disappoint or stops working. Generally major percentages of the user requirements are ignored. Bulky amounts of code need to be reworked, because it does not meet user requirements the first time around. If finalised, the system is put into place with insufficient testing. Devoid of a well thought out activity, there is little likelihood that a systems project will be completed. If the project does succeed, it only does so with considerable modifications and cost overruns.
Friction between developers and customers
Disagreement amongst the developers and customers can occur in numerous ways. Customers may sense that developers are not cooperative when they refuse to sign up for the development schedule that the customers want, or when they fail to produce on their agreements. Developers may think that customers irrationally persisting on impractical schedules or requirements changes after requirements have been checked. However, this may result to simply personality disagreements among the two groups. The main effect of this disagreement is poor communication, and the minor outcomes of poor communication involve poorly understood requirements, poor user-interface design, and, in the worst case, customers' rejecting the completed product.
CONCLUSION
The course to quality software starts with optimal and effective requirements. Skipping the processes of requirements engineering is a common cause of software project failure and inconsistency. Problems related to Requirements Engineering have been identified from the current industry and best practices such as finding the right person to do the job, essential skills to look for, eliciting requirements, modelling and analyzing requirements, achieving clear and concise requirements, solution to engineer/developer issues, cure to the wishful thinking syndrome, things other than coding are also important, assuring smooth communication, how to remain in the realistic framework?, change control, traceability chain, and enhancements management are suggested for adoption. All these can be done more effectively with the use of the proposed software solution.