Introduction
We have two different types of ethics. This is the professional ethics and the human ethics. Professional ethics include ethics of a professional person like a doctor, a software engineer etc. Human ethics are the ethics which enable one to live well with the society. Ethics is very important in the development of software; this is because it enables the society and the people who are close to the software to appreciate it and use it peacefully. There are ethical issues in the software concerning the public. Other ethical issues concern the client and the employer of the developer. It may also concern the management, the profession, the product and the colleagues. All this should be considered in the development of the software so as to produce software that meets the user and the public interest. With the introduction and great use of computers in the society, the software developers should ensure that they consider the ethics in their development so that the people can live peacefully with the computers.
Discussion
The ethical issues concerning the public should be considered in the development of the software. This is because the worth of the software has an effect on the society and the lives of the people living there. If a defective system is produced to the society it may be used in hospitals. This will affect the functionality of the equipment in the hospital hence poor services. The software that adds value to life should be released to the society. The software systems that diminish value of life should never be released to the society.
The developers should be ready and willing to take full liability of their work. The developers’ should be ready to do system maintenance throughout the period the software is put in use. The developers should be ready to add more functionalities if requested by the user. However this can be done with some payment. The developer, the user, the management and the society should have the same interest in development of the software (Pfleeger & Atlee, 2006).
The developers, the management the users and the society should be openly discuss the things that may cause danger in the development, installation and use of the system. Discuss the dangers that may arise during the use of the system. The dangers should be noted and addressed immediately to avoid causing more dangers. The developers should address the issues that are raised by the public. The public may be interested in the software but using it might be expensive for them so the developers should produce a system that fits the members of the society. It should not be hard to learn. Its user interface should be easy to use, self explanatory and not using the IT jargons. The developers can as well teach the public on how to use the software. They can do seminars concerning the system to train the public. The system should be made also in a way that does not damage the environment. It should not be used by any other member of the society to damage others. The system should not have the potentiality to disclose the private information concerning an individual to an authorized individual. It should have the security so that the information may not be used in an illegal way.
The developer should put the users into consideration. The disable persons should be considered in the development. The system may be made in such a way that may be used by the disable individual. However, it might be a bit complicated for the developers to develop a system that fits well to the disable individuals. Some part of the society may be economically disadvantaged this may hinder the public from using the system should also be put into consideration.
The developers should also consider the management and the client in the developer. Ignoring the client, the developer may produce a system that may not be useful to the client or the user as it may fail to meet the user requirement. The management should also be considered in the development. This is because the management is the one who will provide the finances for the development of the system. They should be made aware of the amount of money that may be needed in the development of the system.
The developer or the software engineer should provide the services to the public to the best of their knowledge. They should be willing to provide their services to the community and the employer. He or she should not be forced to provide the services to the employer or the client. The materials or the finances that is provided by the client or the employer should be used well. The developer should ensure that the money given to him for the development of the system should be used well so as to meet the budget and to provide software that is valuable and worth the amount allocated to it. The details concerning the worth of the software should be given by the developer if the employer or the client is not satisfied with the information given to him or her. For an example if the amount needed to develop the software is too high not as expected by the management or the client, the developer should provide an evidence to prove that truly it is worth that amount (Salehnia, 2006).
The reports concerning the development of the software should be keeping as confidential as possible by the developer. The developer should not give out the information regarding the software he or she is developing of the client. There are few developers and many clients may require software. The clients can be from the competing firms and if in case the developer provide information concerning the software that one of the competing firms is planning to use in future to promote their sale, The client may lose the competition. So, it is advisable for the developer to keep the clients’ needs as private as possible.
The social issues concerning the developed software should be provided to the client or the management by the developer. The developer should document the report concerning the effects of the software to the society for the client. He should also advice the client on how to work with the software so as to minimize the negative effect of the software to the society if it exists (Basili, et al., 2006).
The software that is made available to the market should meet the desired standards. The functionality of the software in the market should be satisfying to the management, the client and the users. Faulty software should never be released to the market as it may lead to errors while on use. Before being released for use, the software should be put under several tests and corrections should be made if an error is found. However, the user may find bugs in the software as they use it. The developer should therefore be available to correct any errors that are found. This is what is called maintenance. In some cases, the developer who developed the software might not be present during the maintenance phase. This calls for good documentation of the software so as to enable other developers to maintain it even in the absence of the developer.
The estimates of the software should be correct. The management, the client and the developer should at all time discuss on the issues related to the software being developed. The estimates that will be used to provide the budget of the finances should be realistic enough. This will ensure that the software that will be produced will be of the required standard. The data that is used to do estimation should have been gotten through a lawful means. This data may include the related software that may have been developed before. Estimates may also be gotten by conducting an experienced developer. The data that is used in estimation should be maintained to ensure integrity (Wang et al, 2009).
The intellectual right concerning the software should be fair to everyone. The developer should be given a right to patent the software that he or she has developed. This will encourage more people to be developers as their intellectual rights are protected. However, there are of forms software that are not done from scratch, that is, the developer does an improvement on existing software. The developer of the software that is to be improved should be asked for the permission in order to do an improvement.
The members of the public, the management, the users and the developers should be given a chance to express their concern on the ethical issues related to the software. When the public feel that the software damages their environment or is an ethical they should be able to express such concern freely without fear. The developers are also expected to promote software development in the society by encouraging other upcoming developers to follow the ethics in their development. This can be done by calling seminars and educating them on the code and ethics related to the software development.
During development, the software should be developed in a way that satisfies the user and the management. The developer should not produce software that is according to his personal interest. The software should meet the users’ requirement and specifications. However the user requirement should be in accordance with the public interest. The developer should at all times develop a software that meets the users specification and not his own. The development should be fair; he or she should not be given bribe so as to develop software. He should be ready to develop software for anyone justly. Help other employee to understand the importance of ethics in the work place and how to work so as to ensure that ethics is practiced. For an example encourage them to put and use passwords in a confidential way so as to ensure the privacy of information (Koch, 2006).
The developer should discourage others from breaching the code of ethics. He should lead by an example to other employees concerning the se of the software. The user should be discouraged from snooping on other people’s work, discourage them from hacking other people’s the system. System should be created and produced to the market for use within a specified period of time. The developer should ensure that the software is made available to the users as per specified period of time. Self discipline is an important factor for the developer; he should be able to work hard so as to ensure the software is competed early. This will enable the developer to produce test and maintain the software within a specified period of time. Late production may discourage the users from using the software. They may also lose confidence and trust on the developer. In the process of the development, the developer should be able to improve his knowledge on software development and documentation. He should be ready and willing to learn.
Conclusion
Ethics is important in software development. It will enable the developer to produce software that is useful to the user and the management. They will be able to produce software that meets the user’s requirement and specification. The developer will be able to work well with the employer and the colleagues. The system that is developed should be useful to the society. The developers should produce software that is in accordance with the public interest. The software produced should be of highest quality and be easy to modify when needed. During the development period the developer should be able to learn the new concepts from other developers; he should also be able to teach other developers on the new concepts.
References
Basili, V.R. et al., 2006. Empirical software engineering issues: critical assessment and future directions. New Jersey: Springer
Koch, S., 2006. Free/open source software development. New York: Idea Group Inc (IGI)
Pfleeger, S.L. & Atlee, J.M., 2006. Software engineering: theory and practice. 3rd ed. New York: Prentice Hall
Salehnia, A., 2006. Ethical issues of information systems. New York: Idea Group Inc (IGI)
Wang, Q. et al., 2009. Trustworthy Software Development Processes: International Conference on Software Process. New Jersey: Springer