Lesson #3: Ethics from a management perspective
So far we’ve looked at the history of ethics, codes of ethics and even ‘persuasive technologies’ and their ethical implications. But what about ethics from a management perspective? The purpose of Lesson 3 is to examine whether project management practice effectively caters for the ethical issues surrounding the software development process.  To facilitate the discussion, Structured Project Management (SPM) methodology is used to illustrate the ethical strengths and weaknesses of project management in a technical sphere.
Eight ethical principals for the computer professional are derived. These principles are then mapped onto the methodological framework of SPM thereby highlighting the areas of ethical concern. Two of the steps within SPM are examined in detail to demonstrate how the application of the relevant ethical principles help to ensure ethical behavior.
Within a software development project there are numerous activities and decisions to be made and most of these will have an ethical dimension. It is impractical to consider each minute issue in great detail and still hope to achieve the overall project goal. The focus must be on the key issues which are likely to influence the success of the project. There are two of these primary ethical hotspots in project management, the defining of the scope of consideration and the information dissemination to the client.
By using ethical principles and the identification of ethical hotspots it is possible to ensure that the key ethical issues are properly addressed. Quite simply, project management should be guided by a sense of justice, a sense of equal distributions of benefits and burdens and a sense of equal opportunity. In this way software development project management will become ethically aligned.
Top of page
Critical Ethical Issues in Project Management 
None of the traditional software project management materials address the ethical issues that arise because of the choices made during software development. In this lesson we identify several critical ethical issues that arise in most software projects and provide a proactive way of addressing these issues which is consistent with most professional software development standards. Software project management addresses both the process of software development and the desired functional characteristics of the final software product (see Figure 1).
Top of page
A complete software project management plan is the design, implementation, control and test strategy for a software development process. Developing software is frequently complicated involving many people from different areas and with different skills, experiences and social attitudes. There are many operational decisions to be taken during this extended activity. There are many different approaches to control the complexity of this activity which can be viewed at two levels.
A variety of high level processes (i.e. Capability Maturity Model, ISO 9000 series) have a major function to attempt to anticipate and avoid all possibilities which may negatively impact a software project. The negative possibilities are those which would delay the delivery of the software which performs the desired functions in a timely and cost effective manner.
An additional function is to avoid late changes to the system because the later the change the more expensive it becomes. However, none of these methods consider the ethical issues that need to be identified and addressed during the planning stages and re-considered throughout the development process.
Now take a moment to view the following slide show overview on project management ethics, then return to the main lesson text: Ethics in Project Management: Some thoughts for better projects
Top of page
Effective software project management is a vital ingredient in achieving a successful outcome. The objectives for the project need to be agreed at the outset. In deciding the objectives their implications need to be considered, in terms of the actual outputs and the impact these outputs will have. There is also a need to consider the impact of the development process itself. The project team should be well briefed on these issues and have the opportunity to debate them fully to establish its own conclusions. The team should consider all the implications of the plan, including ethical ones. It may need to call on additional resources from inside and outside the organization.
To confine the discussions within close boundaries (in an attempt to save money and time) is misguided. Broader issues will inevitably arise during the course of the project. If the team members are unprepared, they will lack direction and perform poorly. The sponsor of the project therefore needs the vision and the authority to ensure that the project team is supported and coached to consider both technical and ethical issues.
Top of page
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]. An interesting list of generic questions was devised by John McLeod in [Parker et al, 1990 pp 207-209] to help determine the ethical nature of actions within IT. These are relevant to software project management because they address many of the project management tasks with the exception of full consideration of the supplier-customer relationship.
The software project is concerned with the delivery of an output by a supplier (the project team) to a customer under some agreement. It is irrelevant whether this is an in-house arrangement or whether it is between two independent organizations or whether it is a combination of both. According to [Velasquez, 1992], such an agreement is concerned with output quality and moral liability. Velasquez argues that the principles of due care and social cost must take effect in these situations so that suppliers accept their obligations to customers and the wider community to provide goods and services that are adequate and beyond moral reproach.
By combining and building upon the ideas of McLeod and Velasquez a set of ethical principles can be derived as shown in Figure 2 below [Rogerson, 1997]. The principle of honor is to ensure that actions are beyond reproach which in turn demands honesty from the professional. The principle of bias focuses on ensuring decisions and actions avoid the possibility of conflicts of interest and eliminate bias in judgements. Professional adequacy is concerned with the ability of individuals to undertake allocated tasks. The principle of due care is linked with the concept of software quality assurance. Fairness focuses on ensuring all affected parties are considered in project deliberations. Following these principles adds a social cost which recognizes that it is not possible to abdicate from professional responsibility and accountability. Finally, the principle of effective and efficient action is concerned with completing tasks and realizing goals with the least possible expenditure of resources.(See Figure 2)
Top of page
Just as producing software of high quality should be second nature to the software engineer so should producing software that is ethically sensitive. Indeed there is clearly an overlap in these two requirements. The project management process for software development must accommodate an ethical perspective. The major criticism of current practice is that any ethical consideration tends to be implicit rather than explicit which has a tendency to devalue the importance of the ethical dimension. By using ethical principles, identifying of ethical hotspots and using SoDIS it is possible to ensure that the key ethical issues are properly addressed as an integral part of the software development process. Quite simply, project management should be guided by a sense of justice, a sense of equal distributions of benefits and burdens and a sense of equal opportunity. In this way software development project management will become ethically aligned.
Top of page