Story Card Process Improvement Framework for Agile Requirements

Story Card Process Improvement Framework for Agile Requirements

Chetankumar Patel (Leeds Metropolitan University, UK) and Muthu Ramachandran (Leeds Metropolitan University, UK)
DOI: 10.4018/978-1-60566-731-7.ch006
OnDemand PDF Download:
No Current Special Offers


This chapter describes an ongoing process to define a suitable process improvement model for story cards based requirement engineering process and practices at agile software development environments. Key features of the SMM (Story card Maturity Model) process are: solves the problems related to the story cards like requirements conflicts, missing requirements, ambiguous requirements, define standard structure of story cards, to address non-functional requirements from exploration phase, and the use of a simplified and tailored assessment method for story cards based requirements engineering practices based on the CMM, which is poorly addressed at CMM. CMM does not cover how the quality of the requirements engineering process should be secured or what activities should be present for the requirements engineering process to achieve a certain maturity level. It is difficult to know what is not addressed or what could be done to improve the process. The authors also presents how can be the identified areas of improvement from assessment can be mapped with best knowledge based story cards practices for agile software development environments.
Chapter Preview

1. Challenge In Software Engineering: Semantic Interoperability

With the continuous development of information techniques, information systems are now merging into our life and even becoming an essential and indispensable part in the social infrastructure. From general computing system to complex database management system and Enterprise Resource Planning (ERP) system, various kinds of information systems are scattered in different application domains and areas so that they can be typically deemed as distributed systems. Meanwhile, rapid progress of information techniques drives the evolution of software development paradigm. More specifically, with the shifting from object-oriented techniques to component based development method, not only the granularity of software modular grows bigger, but also the middle-ware technologies and component-based development become the main and popular techniques for software development. Furthermore, the raising of web services (Curbera, 2001; Newcomer E., 2002), service-oriented architecture(SOA) (Thomas, 2004; Newcomer, 2005), and semantic web (Berners-Lee, 2001; Daconta, 2003) cause great changes in both ingredient and development method of web-based information systems. On one hand, web services and semantic web services with greater granularity and more complicated structure are now regarded as the unit of current information systems; on the other hand, it is recommended to create information systems by dynamically linking and integrating existing information resources and service resources on the web. This situation leads to the fact that complexity and scale of information systems are expanding increasingly, which consequently brings our research focus on how to ensure efficient interconnection, intercommunication and interoperation between each part of a common information system.

In the realm of software engineering, when the studied objects take radical changes in the scale, the essential problem of our research will change correspondingly. Considering a single information system, the primary task is to achieve the given functionality of it. Otherwise, if the whole functionality of a system will be realized through several information resources or other systems, this kind of system will be created by linking and integrating specified resources. Here, the key issue of developing current information system is how to organize and manage varied information resources systemically, enhance accessible rate of them, and finally promote knowledge sharing and interchange between them. However, different development methods and platforms make information resources differ in syntax and semantics, which might hamper the understanding and interacting between them. Therefore, effective solutions should be taken as a bridge to connect information resources and implement interoperation between them.

Generally speaking, interoperability is the ability to communicate and share data across programming languages and platforms(ISO, 1993). On information domain, interoperability will be defined as “the ability of two or more systems or components to exchange information and to use the information that has been exchanged (IEEE, 1990)” or “the ability of a collection of communicating entities to (a) share specified information and (b) operate on that information according to an agreed operational semantics(Lisa, 2004)”. While we talk about interoperation between information systems, we should pay more attention to their behavior of interaction with each other. So in terms of the previous definitions on interoperability, interoperation between information systems can be defined as: the capability that the message sent by one information system can be received, understood and processed by the other information system so that they can cooperate with each other to perform a specific task.

Complete Chapter List

Search this Book: