Anda di halaman 1dari 2

The Ethics of Software Project Management

Introduction Software project management is the collection of techniques used to develop and deliver various types of software products. This developing discipline traditionally includes technical issues such as: the choice of software development methodology, how to estimate project size and schedule, how to ensure safety, what resources to reuse, and which programming development environment to use. The discipline also includes management issues such as: when to train personnel, what are the risks to the project success, and how to keep the project on schedule. These choices are then embodied in a software project management plan. Software project management addresses both the process of software development and the desired functional characteristics of the final software product. A complete software project management plan is the design, implementation, control and test strategy for a software development process. Applying Ethics Relevant ethical principles must be established in order to identify the ethical issues associated with software project management. Ethics comprises both practice and reflection [van Luijk, 1994]. It is sufficient to consider only ethics practice in this paper because software project management is concerned primarily with action that guides others towards some common goal rather than conceptual reflection of the role and value of project management. Generic Software Project Management Whilst it is recognised that the development of a piece of software might have its own special set of problems and challenges that have to managed there are many similarities in all software projects that means it is worth considering a generic approach which will lay down foundations for the management of all software projects. In his book, How to Run Successful Projects, in the British Computer Society Practitioner Series, [O'Connell, 1994] provides details of the Structured Project Management (SPM) approach. He explains that SPM is a practical methodology that, as [De Marco and Lister, 1987] state, is a "basic approach one takes to getting a job done". This appears to be a generic approach which is practical rather than conceptual and provides practitioners with realistic guidance in undertaking the complex activity of project management. Ethical Management The eight ethical principles can be used to provide an insight to how ethical management might be achieved. The activities within each of the ten steps of SPM have been analysed in order to identify the dominant ethical issues of each step [Rogerson, 1997]. The results of this analysis are shown in Figure 3. It is recognised that most of the eight ethical principles will have some impact on each step but it is important to identify those which will have a significant impact on each particular step. The mapping in Figure 3 shows those relationships which are considered significant. Those with the highest ethical significance, indicated by the number of ethical principles that prevail are, at this level, the ethical hotspots of a generic approach to software project management. Scope of Consideration Stakeholders As mentioned previously, establishing the right scope of consideration is essential in defining acceptable project goals. The scope of consideration is influenced by the identification and involvement of stakeholders. In

traditional software project management the stated needs of the customer are the primary item of concern in stating the project objectives. Stakeholder Identification [Gert, 1988, Green, 1994] use a rights model to help identify relevant stakeholders. Once the stakeholders are identified one can itemise the specific obligations owed by the software developers to each of these stakeholders. Gert gives 10 basic moral rules. Although this is a deontological theory, it has been argued elsewhere that these rules are consistent with a Rawlsian approach to moral standards for software professionals [Gotterbarn 1991]. Involvement Once the stakeholders have been identified, it is necessary to seek their involvement in the development process in order to meet their rights in the most effective way. As indicated above, in traditional project development there is a very narrow range of stakeholder involvement. Such restricted stakeholder involvement reduces the likelihood that any relevant ethical issues are properly considered. The evidence from Farbey substantiates our claim that no current method of software project management considers ethical issues. Generic Software Development Impact Statement One way of addressing the need to modify project goals in a formal way is to use a modification of a social impact statement. A social impact statement is modelled on an environmental impact statement which is required before major construction is undertaken. The environmental impact statement is supposed to specify the potential negative impacts on the environment of the proposed construction and specify what actions will be taken to minimise those impacts. Proposed social impact statements have been described for identifying the impact of information systems on direct and indirect system users [Shneiderman and Rose, 1995], whereas our Software Development Impact Statement (SoDIS) is intended to reflect the software development process as well as the more general ethical obligations to various stakeholders. Specific Software Development Impact Statement Work Breakdown Structure Most software project management models proceed by decomposing each task into smaller more manageable tasks. These smaller tasks are then carefully described in terms of resource needs, costs and expected time to complete. Once a project is decomposed in this way, the costs of the individual tasks are added together to estimate the total project cost. These individual task descriptions are elaborated and included in the software project management plan. This set of task descriptions, sometimes called Work Breakdown Structure (WBS), is used in the reviewing and monitoring of the completion of tasks. The entire software development process is organised in terms of an ordered hierarchy of tasks, the WBS. Each WBS task is dependent on the completion of other WBS tasks. Each WBS task includes a description of the other WBS task on which it depends.

Muresan Alexandru Ioan, An IV, CTI

Anda mungkin juga menyukai