This Is AuburnElectronic Theses and Dissertations

Dynamically Adjustable Software Process

Date

2016-12-09

Author

Rawajfih, Yasmeen

Type of Degree

PhD Dissertation

Department

Computer Science and Software Engineering

Abstract

Industry experience shows that the quality of a software product is directly related to the quality of the software process used to produce it. Software process can rarely be used out of the box. Project types, scopes and developer skills differ, making it crucial for a process to be tailored before it can be applied successfully to a software project. Heavy-weight software processes are typically tailored after the conclusion of a project focusing benefit on future projects, whereas agile software process tailoring benefits the current project but lacks an orderly approach, relying instead on intuition and hunches. What is missing is a middle ground in which software practices are adjusted while a project is underway and are adjusted in a disciplined fashion. This research introduces an engineered approach to software process adjustment based on a software developer's "pain points". This tailoring method is responsive (happens in time to affect the near term), systematic (has a defined process), and is based on evidence (ties back to best practices in industry). The Dynamically Adjustable Software Process (DASP) framework was built to assist software developers in tailoring their software processes based on pain points. After determining the source of pain it evaluates alternative software practices and provides the developer with a recommendation that best achieves his/her process goals and best fits the project's needs. The concept of tailoring process based on a developer's pain points was validated in a real-world context by performing a case study in which software engineering students used this method to tailor the software process they were using. Results show that a majority of students said this tailoring method improved their adherence to process and was in line with their personal style of software development. A majority also indicated they would adopt this method of tailoring in the future.