Font Size: a A A

Supporting software process agility with situational knowledge

Posted on:2005-03-09Degree:Ph.DType:Dissertation
University:Georgia State UniversityCandidate:Xu, PengFull Text:PDF
GTID:1458390008492993Subject:Information Science
Abstract/Summary:
Organizations need agility, i.e., the ability to quickly adapt their business processes to business environment, to thrive in a competitive economy. It is especially important in software development to cope with high uncertainty and continuously changing environment. To achieve agility in software development, a software process should be flexible, adaptive, and attuned to its surroundings. A software process is the set of activities needed to transform a user's requirements into a software system. Using a well-defined process is a widely recognized approach to increasing quality and productivity in software development. Building software processes from scratch each time would create high risks and overhead. Therefore, they are often created by tailoring existing processes and standards. Reusing software processes and knowledge embedded in those processes can significantly improve effectiveness and efficiency of the software development. In this research, I investigate how to tailor a software process for a given project and how to improve process tailoring by reusing knowledge gained from past tailoring decisions.; This dissertation adopts a three-phased approach. In the first phase, grounded theory method is used to understand the factors that need to be considered in process tailoring. This study is conducted with experienced software development personnel in an organization involved in process tailoring activities for e-business application development. The data collected through semi-structured interviews are analyzed to identify and describe the factors that affect process tailoring decisions. A process model describing how various organization, project, team, and stakeholder specific factors affect tailoring decisions is also developed.; In the second phase of this study, a prototype system that can facilitate the acquisition of knowledge about process tailoring decisions is developed. This prototype provides tools for retrieving knowledge about past tailoring decisions and their rationale so that they can be reused in new projects with similar requirements and context.; In the third phase, an experiment is conducted to examine whether access to knowledge about past process tailoring activities can improve process tailoring performance. Three levels of knowledge support are investigated and compared, i.e., no knowledge support, generalized knowledge support and contextualized knowledge support. Performance is measured in terms of effectiveness of tailoring decisions made, efficiency with which these decisions are made, and users' confidence in their decisions. The direct and moderating effects of process tailoring complexity on process tailoring performance are also examined.; This research contributes to both theory and practice. The grounded theory study contributes to the literature on risk management and the use of contingency theory in software development. It also provides insights into the process of software process tailoring and the factors that affect it. The research prototype provides decision support for stakeholders involved in process tailoring and develops the representation for different knowledge fragments used in this activity. Empirical evaluation of the role of different levels of knowledge support and task complexity contributes to our understanding of knowledge management in process tailoring.
Keywords/Search Tags:Process, Software, Support, Agility
Related items