Global Software Development (GSD): Improving the Quality of Requirement Artifacts in the Planning Phase
Nivedha Anbazhagan
Seminar in Project Management (TCM 726, Fall 2014)
Missouri State University
Abstract
When the software development is performed on a global scale the Requirements Elicitation phase in Requirements Engineering is very complex and it demands more attention. When considering distributed development and the challenges faced in it the available requirements elicitation approaches cannot be applied in all scenarios of Global Software Development and requires further improvements to be used effectively in a distributed development environment. This paper gives a comprehensive survey of
…show more content…
For efficient software development, Global Software Development requires effective communication and information between the different groups that are in different geographical location. Also the coordination among the groups is very important to achieve the overall objective. In Global Software Development these communications and coordination may have to place within the same organization or inter-organization also called outsourcing which is not very task for the developers and also a very difficult task especially for the engineers in the requirements gathering phase. Requirements Engineering (RE) is and very important phase in the software development because it is this process that gives us a base for the overall software development process. This process gets even difficult and it requires more attention when the stakeholders are separated in different geographical location and have different languages and live different cultures. Requirements engineering deals with getting the needs of the customer understand the requirements of the system to be developed. In this process we also have to understand the constraints and adapt to those constraints during the process. Global Software Development is making the practice of requirements engineering a vital one. D. Zowghi, (2003) states that as software development has progressed today, it can be said that
Which is requirements needed, after all the information the team will analyze to determine software requirements and generate a report. Then we move to the selection and design, this will occur when the team creates several designs and share with everyone on the project. We will identify any weakness, if we have any successful prototypes it should show how the software will operate. Implementation phase should proceed without any issues if there is any it must be correct during this time. A planned out schedule should allow for any unexpected incidents. When the implementation stage is complete we move to operation when our software has been designed and does what it was designed to do. We will do a review and evaluation which consist of performance, cost and
Functional requirements define the internal workings of the software: that is, the calculations, technical details, data manipulation and processing, and other specific functionality that shows how the use cases are to be satisfied. It also contains nonfunctional requirements, which impose constraints on the design or implementation (such as performance requirements, quality standards, or design constraints). Applied Software Project Management (2005)
The information system’s requirements in the systems planning phase are based on a case summary, potential interview questions, and the systems analyst’s experience in systems planning. One must not only generate requirements based specifically on what users’ state they want or need. Analysts must also generate requirements based on insight into the overall organization and project goals.
Requirement Analysis: collect the business needs, document the requirements, and help team members to prepare Functional and enhancement Specification Document and Technical detail design document.
1. The engineering process requirements of elicitation is reliant on the interaction of the software engineers and the stakeholders of the system. Engineers consult with the customers to gather what requirements are to be provided (requirements gathering).
A Computer Software Engineer develops software systems to be used by their clients, such as a website used to sell the client’s products. Although software engineers spend the majority of their time programming and testing the software, a key component to the success of a software engineer is the ability to write a thorough Software Requirement Specification (SRS). A SRS documents the requirements and dependencies needed for the software, prior to beginning any programming. Therefore, a Software Engineer must po The SRS is so important because engineers can have a wide scope of clients that they regularly work with.
Each model was worked close by the others to guarantee streamlined correlations with be made among themselves, revealing and cross-referencing issues found while making comparable and similar models. Once these models were made, necessities and utilize cases moved toward becoming clearer and could be utilized to manufacture the Software Requirements Specification to later convey to the customer to improve the items prerequisites and stream of control to guarantee we were not missing any expected
of fighting. Very few wore uniforms or were even formally in any army. In most cases it was
Requirement elicitation and analysis was done in series of steps. Firstly, we carefully read and analyzed the product description to identify project context. After this stakeholders of the system and the roles of these stakeholders were identified. Raw requirement for the system were identified on the basis of the
The end result of the component outsourcing should yield reusable components. The next type of outsourcing required that the customer organization simply contracts for an external group to perform all or part of the functions of one or more of their process steps. Process component outsourcing means that requirement development, design phase, coding phase, test phase, or the maintenance phase is outsourced to another location. Most commonly the testing phase of the software development process is shipping out of house. Finally there is Software Acquisition, where all software development is sent to another location company. Outsourced work can be sent to another company and/or another country. In this paper, we will concentrate on work that is outsourced to another country. This may mean the company creates and staffs an office abroad, or hire an international outsourcing firm. Which ever way companies decide to outsource the work the motivation behind the strategy is the same.[2]
Vaccinations are what doctors and scientists count on to protect lives. So should children keep receiving vaccinations? Vaccines are formed by chemicals designed to create “immunity” for the human body. Doctors use vaccines, because they are known to help protect people from infections. Research done by scientists states that vaccines are safe and effective, but the quality of the actual product may not be what people expect them to be. Therefore, people should have a choice whether to have their children vaccinated or not.
THE SEVEN COMMANDMENTS OF ANIMAL FARM. The seven commandments are the basic principles of Animalism worked out by the pigs and described as the originally “unchangeable laws” by which the animals were to obey and follow the rules and were to never to be broken. The seven commandments were written on the wall of where the barn was, by which where the animals day by day read were: Page: 43: 1.
Project failures, budget overruns and schedule misses are typical results of poor requirements definition and management. Recognizing the importance of accurately defining requirements and managing the change management process for requirements throughout a project’s life cycle can contribute to a successfully executed project plan. During the requirements definition process, focusing on answering questions in a few key areas greatly increases a project’s likelihood for success.
The requirements gathering and analysis phase is the most critical phase for the overall success of the project because this phase helps “identify and capture stakeholder requirements using customer interviews and surveys” (Smith, 2016). In order to successfully capture software requirements from the stakeholder, developers need to conduct conference meetings to understand the capabilities of the software. This conference meeting usually takes place only once, so it is essential that developers collect all the information required for the software during the elicitation requirement meeting. For developers to be successful in collecting all the required information, it is a
Schedlbauer (2015) states, “A requirement is a condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document”. Furthermore, requirements are highly variable due to business sponsors categorizing the high level requirements such as to lessen the cost of invoicing customers, whereas, other individuals lists explicit requirements for a user. Moreover, requirements must demonstrate completeness, accuracy, testability, feasibility, necessity, unambiguous, and priority It is a necessity to establish and link the priority of each requirement. Requirements that can be easily instituted due to budget and time are delegated the project scope (Schedlbauer, 2015).