Incremental and component based development are considered well-suited as means to improve software quality and to reduce development time and costs. Introducing such processes is considered a Software Process Improvement (SPI) activity. However, the introduction is complex since it implies a radical change in the way employees perform their work tasks. Careful planning is therefore crucial to ensure a successful introduction.
This thesis proposes a methodology for the planning phase of SPI projects where the goal is to introduce an incremental development process in an organization. The method gathers information about the employees competence and uses this information in combination with explorative statistical techniques to identify the process elements of greatest potential benefit (e.g., incremental testing) for the introduction. Thus, the method is part of the SPI planning activities at the organization level. Once a process element has been identified, it should be evaluated at the project level (as an SPI pilot project) before it ultimately is implemented in the whole organization. The proposed method thus seeks to identify and introduce process elements in an incremental fashion; those process elements of greatest potential benefits should be introduced and evaluated first. The method was developed and used in conjunction with a SPI project in a Norwegian organization.
This thesis also evaluates a component based development pilot project within the same organization and identifies lessons learned and success factors. They may be useful in the next cycle of the planning phase to further improve component based development within the organization. In addition, the success factors may be useful during the project level SPI planning phase for other organizations.