Running head: DEVELOPING REQUIREMENTS SPECIFICATION 1
Significanceof developing requirements specification
Significanceof Developing a Requirements Specification
Isdeveloping a requirement specification a necessity or is it merely anefficient technique?
Requirementspecification is a term commonly used in system and softwareengineering and is a result of requirement analysis done before theactual process of software engineering begins. The term refers tosoftware requirement specifications and hardware requirementspecifications. The term system requirement specifications SRS refersto a structured process through which information on the systemrequirement is collected. The initial step in developing a system isdefining and stabling system specifications. However, in many casesless care is taken in establishing the correct system requirement upfront. The resultant effect is that this lead to ambiguities in thesurface requirements later in the software engineering lifecycle andmore financial resources and time is used fixing these problems. Assuch, it is necessary to establish systematically, accurately andcompletely all the system specification requirements before theactual process begins.
Thedifficulty in establishing good system requirement is more of an artthan science establishing the system requirements is a toughproblem, and the implementation mixes with the requirements.Furthermore, it requires individuals with expertise in communicationand technical skills. Ideally, most requirements are based on whatthe system cannot do. This often brings the problems of developing adependable system where the system requirements are in order toensure that the system does not pose any future problem. Thedevelopment of an efficient system requires a more complicatedprocess as the complete embedded system is used to interact withother system and the external world. As such, the importance ofdeveloping and establishing good specifications requirements isgreater and not a mere technical efficiency for an effective embeddedsystem.
Theprocess of effective System development begins with efficient systemrequirements specifications. An error in the collection ofinformation that pertain system requirement development andmanagement has been found to be the main cause of system developmentfrustrations and subsequent failure (Blanchard, Benjamin &Fabrycky, 1990). Software and system development projects encounterfailure when system developers and the customers failure to take therequirement specifications seriously (Blanchard & Fabrycky,2011). In software and system development, various methodologies andtechniques are employed thereby enhancing complexity in the widerange of software developed. The effect is the lack of consistency insystem development leading to specificity challenge (Bulajic, Stojic& Sambasivam, 2014).
Furthermore,this increases the difficulty in maintaining consistent units ofanalysis and measure. The specificity problem in system developmentis prevalent in software development where dynamic evolution, aunique development and relatively low level of research are done.Research on system developers indicates that that in most cases ofsoftware development there is a lack of specificity in engineeringresearch (Bulajic, Stojic & Sambasivam, 2014). When carrying outsystem specific requirements, the focus should be on specificity ofthe requirements that are compatible with the needs and the specificsof a given system. Confusions abound the term system requirement thecustomers’ notion of requirement may differ from that of thedevelopers (Blanchard & Fabrycky, 2011). These confusions lead tolack of specificity and consistency, and the expectation of thestakeholders may go unfulfilled or unmet by the end product (Vlas &Robinson, 2012).
However,customer’s specific retirements forms n important aspects inproviding solution ideas for system development. In the same line,participants involved in system requirement analysis need moreeducation on important engineering concepts, practices andterminologies. All the stakeholders involved in the systemdevelopment need to understand the all the requirements the userrequirements, business requirements and the functional requirementsof the system (Bulajic, Stojic & Sambasivam, 2014). Systemrequirement specifications are integral aspects that comprise of bothnon-functional ad functional requirements of the system. Functionalrequirements entail the quality attributes, performance attributes,design, implementation, constraints and external interfacerequirements of the system. In such a case, information on qualityattributes such as the system usability, portability, efficiency andmaintainability need to be collected from the customers (Blanchard &Fabrycky, 2011).
Developingadequate specific requirements is vital as it enhance the involvementof the customers in the development of effective systems (Shillito &Marle, 2000). A common fallacy is that most users and systemdevelopers assume that, system developers understand sufficiently oncustomers’ needs. This consequently leads to the production ofsystems that do not apply to the users. In order to avert thisscenario, it is the process of system requirement development shouldstart with identifying different classes of users and theirrespective needs (Vlas & Robinson, 2012). It is prudent to haveproduct champion who gathers inputs from users, supplies qualityattributes and other product functional requirements (Blanchard &Fabrycky, 2011). Focus group are effective method through whichinformation on desired features and characteristics of user systemsare collected and adequate specific requirements for systems arereviewed for accuracy and completeness (Bulajic, Stojic &Sambasivam, 2014).
Inaddition, the process of developing requirement specifications issignificant in that it ensures that correct requirements andambiguities are eliminated in early stages. Several ambiguities arisein the initial stages of collecting and stating requirements due tovague information, missing requirements or interpretation problems.As such, an important aspect of developing specific requirement isasking several questions from various stakeholders to clarify on therequired specification for a system product. In this way, meetingshelp to explore various ideas to explore more possibilities andestablish correct requirements (Ashby, 1958). This means establishingthe specific requirements in regard to functions, attributes,references and the expectations of the system product. It is,therefore, important to have people with technical and communicationskills (Blanchard & Fabrycky, 2011). Technical skills are arequirement as the system requirements are complex requiring somebodywith adequate knowledge in electrical and mechanical engineeringdisciplines. Communication skills are vital as they ease incommunication between the designers and the customers (Vlas &Robinson, 2012).
Itis necessary that the specific requirements of the systems be clear,complete and accurate. Problems arise when adequate care is not givenin collecting strong requirements on systems specifications what thesystem should do or not. A dependable system should havespecification requirements on what it can achieve or not (Leonard &Beer, 1994). For instance, when developing a system for computerilliterate people there are need for more specificity in the design,safety and exceptionality of a system. Developing requirementspecification for a system is essential as it ensures that unity,purpose utility and functional relationship of a system developed(Bulajic, Stojic & Sambasivam, 2014).
Furthermore,it is during the initial stage of system requirement analysis thatun-prioritized requirements of the system are omitted. Systemdesigners and users fail to prioritize important requirements neededin the process of new system generation and this leads tofunctionality problems (Vlas & Robinson, 2012). Therefore, theprocess of collecting information on specification requirement of thesystem need to be based on prioritized needs such as businessrequirements, user case and utility features (Leonard & Beer,1994). When specific requirements are considered early, a morefunctional and valued system is developed (Ashby, 1958). In thiscase, a robust system solution at estimated cost, value and with lesstechnical risk is constructed (Blanchard & Fabrycky, 2011).
Thegoal of developing effective specification requirement of the systemis not merely for technical efficiency, but building functionalsystems that have superfluous benefits and interoperability withother external and internal devices. In the same line, developingeffective specification requirement of the system ensures thatuncertain, ambiguous and high-risk requirements are assessed (Leonard& Beer, 1994). The goal of speciation requirement is not todevelop a perfect SRS but to streamline the priority requirements,risks, user utility, and compatibility with other current and futuredevices. All system development projects should anticipate futuredevelopment and as such, the system specification stage is essentialin assessing the product vision, scope and functionality. Usingspecification requirement inputs, helps to control the scope creepand to establish a meaningful process through which future changescan be renegotiated (Bulajic, Stojic & Sambasivam, 2014).
Thereare several traps associated with system and software developmentwhich involves fallacies committed in the information requirementgathering stage. As such, it is necessary to have practices thatenhance the collection, analysis, specification, verification andmanagement of product requirement (Vlas & Robinson, 2012). Thekey to a successful collection of software requirements entailseducating the developers, customers, managers on productsrequirements. This means establishing a collaborative use-developerpartnership (Leonard & Beer, 1994). Additionally, there is a needto classify and prioritize customers’ needs and to take aninteractive incremental approach in requirements development(Blanchard & Fabrycky, 2011). In the same line, there must beinformal and informal reviews of requirement documents with relevantstakeholders (Ashby, 1958). Lastly, effective requirement developmentof a system can be achieved by prioritizing requirement functions anddeveloping a team that implements users’ requirements consistentlyand effectively (Blanchard & Fabrycky, 2011).
Insummary, the process of system specification requirements involvesfive processes. These processes are identification, analysis,allocation, verification and traceability (Shillito & Marle,2000). The identification process involves the collection of derivedand stated requirements from internal and external sources. Externalsources involve information on customer needs specifications in theform of a request proposal (Leonard & Beer, 1994). Internally,information may be collected from customers by administrativepersonnel even when the customer has not personally volunteered theinformation (Ashby, 1958).
Systemfunctional requirements need to be defined at this stage and coverthe system performance utility (Blanchard & Fabrycky, 2011).Later, a preliminary system analysis is done to assess which approachis appropriate in the development of the system. Afterward, systemplanning is done to assess technical requirement in the process ofsystem development. The technical planning stage is useful inoutlining the various tasks such as work breakdown, risk managementand organization (Blanchard, Benjamin & Fabrycky, 1990). Lastly,it is important to verify the requirements of the system whendeveloping requirement specification for a system. This is achievedthrough traceability process traceability helps to capture theconsensus between specifications, requirements and the design of thesystem (Ashby, 1958).
Therefore,developing specification requirement is not an aimed at ensuringtechnical efficiency of the system, but ensuring that all relevantand correct requirements are considered before the actual product isdesigned. Specification requirement process helps to make acorrection and prevent errors that would later crop up in the systemlifecycle. However, the process of gathering relevant specificationrequirements is not perfect. It is difficult to make accurate systemrequirements due to complexities of embedded systems systemsinteract with external devices. Nonetheless, establishing the correctsystem requirement needs people with adequate technical andcommunication skills. Although, the process of system specificationrequirement is complex and abstract, the process is irredeemablyeffective in developing quality systems that benefits users and arecompatible with other systems.
AshbyW.R. (1958). Requisite variety and its implications for the controlof complex systems. Cybernetica 1(2), pgs.83-99.
Blanchard,B. S., & Fabrycky, W. J. (2011). Systems Engineering and Analysis(5th Ed.). Upper Saddle River, NJ: Prentice-Hall.
Blanchard,Benjamin S. & Fabrycky, Wolter J., (1990). SystemsEngineering and Analysis,Englewood Cliffs, NJ: Prentice Hall Press.
Bulajic,A., Stojic, R., & Sambasivam, S. (2014). The GeneralizedRequirement Approach for Requirement Validation with AutomaticallyGenerated Program Code. Interdisciplinary Journal of Information,Knowledge & Management, 959-88.
Leonard,A., & Beer, S. (1994). Chapter 8 – The Systems Perspective:Methods and Models for the Future. In J. C. Glenn & T. J. Gordon(Eds.), Futures Research Methodology (2nd ed., pp. 1-65). New York:American Council of the United Nations University.
Shillito,M. L., & Marle, D. J. (2000). Value, its Measurement, Design andManagement. New York: Wiley.
Vlas,R. E., & Robinson, W. N. (2012). Two Rule-Based Natural LanguageStrategies for Requirements Discovery and Classification in OpenSource Software Development Projects. Journal of ManagementInformation Systems, 28(4), 11-38.