The deployment of systems development methodologies at project level in software houses in South Africa
Abstract
This is a study of the deployment of systems development methodologies at project level in software houses in South Africa. This study extends previous research of Huisman and livari (2002a. 2002b) who studied the deployment of system development methodologies at organisational level and at individual level. More specifically, the author studied the context and the outsourcing environment in which system development takes place in software houses in South Africa. Furthermore, the use of systems development methodologies at project level in software houses in South Africa and the perceived support that the systems development methodologies provide were studied. In this study the author used a qualitative research method. Multiple case studies were done and the data were collected using semi-structured inte~iewsT. hese interviews were transcribed and a cross-case content analysis was done with the help of ATLASAi. Software houses are increasingly important in the information system development field, especially when taking into account the movement to external development and outsourcing. The constantly changing user requirements as well as the changing environment cause many challenges for the projects in South African software houses. These challenges can be categorised into user related challenges and environment related challenges. The user related challenges include: changing user requirements, managing client expectations, availability of the users and resistance to change. The environment related a challenge includes: the constantly changing environment, the difficulty of integrating with 3'* party systems, the neglecting of change management and the lack of readiness for change in the client organisations' culture. It was found that all the projects used systems development methodologies. The projects that involved enterprise resource planning systems all followed the ASAP methodology. The other projects used in-house methodologies based on different parts of the object oriented as well as the extreme programming methodologies. These methodologies are not used strictly by the software houses; instead they are used in a flexible manner to handle the changes and challenges that may arise during a project. The support provided by the use of systems development methodologies includes control support, cognitive- and cooperative support and production support. Support as control technology reflects project management support, ways of tracking progress and keeping to a schedule and budget. It was found that a systems development methodology gives structure and guidance to the project and improves accountability. Cognitive and cooperative support illustrates the way the methodology guides the way team members work together, and the influence it has on communication and the exchange of information. In this study it was found that the use of systems development methodologies improves documentation and communication, this includes communication between team members as well as the communication between the software house and the client organisations. Support as production technology provides the project team with tools, techniques and methods to help them with the development. The general feeling that surfaced was that requirement analysis is a difficult but very important part of the system development process. It was found that many of the cases used methodology based tools to improve the requirement analysis process. The perceptions of project team members on the use of system development methodologies showed that the use of systems development methodologies results in a unique improvement in the areas of communication, documentation and accountability. These are important advantages, especially for software houses, where client relationships and knowledge management are vital.