Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

ADDIS ABABA SCIENCE AND TECHNOLOGY UNIVERSITY

Collage of Electrical and Mechanical Engineering


Department of Software Engineering

Introduction to Software Engineering and Computing

Group Assignment

Section C

Name ID Number

Meseret Bolled ETS1052/14

Michael Workineh ETS 1058/14

Michael Addis ETS1060/14

Michael Siyamregn ETS1070/14

Miheret Girmachew ETS 1071/14

Mihret Desalegn ETS 1074/14

Mikias Goitom ETS 1080/14

Michael Alemayehu Mekonen ETS1086/14

Michael Alemayehu Gebrewold ETS1087/14

Submitted to: Inst. Natnael Tilahun

Submission date: 3-30-2023


Contents

1. Introduction ..................................................................................................................................... 1
2. Code of Ethics and Professional Conduct ....................................................................................... 2
3. The four key sections in code of ethics and professional conduct .................................................. 3
3.1. Work Environment.................................................................................................................. 3
3.2. Conflict of interests ................................................................................................................. 4
3.3. Protecting company assets ...................................................................................................... 5
3.4. Anti-bribery and corruption .................................................................................................... 6
4. The eight principles related to the behavior and decisions made by professional software
engineers ................................................................................................................................................. 8
4.1. Public ...................................................................................................................................... 8
4.2. Client and employer ................................................................................................................ 8
4.3. Product .................................................................................................................................... 9
4.4. Judgment ................................................................................................................................. 9
4.5. Management .......................................................................................................................... 10
4.6. Profession.............................................................................................................................. 11
4.7. Colleagues ............................................................................................................................. 12
4.8. Self ........................................................................................................................................ 13
5. Conclusion .................................................................................................................................... 14
6. References ..................................................................................................................................... 15

i
1. Introduction
Software engineering is rapidly evolving field that play a critical role in shaping our
world and software engineers are responsible for designing, developing, and
maintaining the digital infrastructure that is shaping our world. However with great
power comes great responsibility and it very crucial that software engineers adhere to
code of ethics and professional account.

A code of ethics is a collection of a set of principles and values that guide the
behavior of individuals with in a software engineering. Code of ethics outlines the
responsibilities and obligations software engineer have to wards clients, society and
colleagues. Professional conduct, on the other hand, refers to behaviors expected from
a software engineers. In this paper, we will try to discuss about the concept of code of
ethics and professional conduct in software engineering. Then try to elaborate the four
key sections that are contained by code of ethics and professional conduct which
include work environment, conflict of interests, protecting company interest, and anti-
bribery and corruption. We will also see the eight principles related to the behavior
and decisions made by professional software engineers. We will also provide some
real world software development companies’ codes of conduct to illustrate our ideas
more.

1
2. Code of Ethics and Professional Conduct
According to ACM, computing professionals (like software engineers) must act
responsibly since their work and action has a wide impact on the world. The best way
to make sure that one’s actions is to introduce set of standards [1]. Code of ethics and
professional conduct deal with ethical principles that govern decisions and behavior at
a company or organization. They enable workers to become more professional and
responsible in their line of work by monitoring and guiding their behavior in a
working environment.
[2] defines code of ethics and professional conduct as if it outlines the ethical
principles that govern decisions and behavior at a company or organization. This is
because; in order to have a fully functioning company (organization) there must be a
set of predefined rules and expectations so that unnecessary friction among workers
can be avoided. Not only do these conducts and code will guide how employees will
act, they also play an integral role in the decision making process of a company since
these rule also are involved in the decision making process. All in all, they give
general outlines of employees should behave and how to deal with inappropriate
interactions in a work environment.
Code of ethics gives general directions on what types of decisions and behaviors are
acceptable in a work environment. Code of ethics is not capable of insuring ethical
behavior; instead, it shows crude instructions on what kinds of actions and choice are
suitable for creating a productive environment. It sets forth values, ethical principles
and ethical standards to which professionals aspire [2].
Code of conduct, on the other hand, provides a focused definition on how employees
act in specific scenarios. It is a set of rules that show the norms, rules, and
responsibilities of employees in an organization [3]. It is commonly written for
employees in order to inform them the company’s expectations and protect its
business [3]. Even though code of conduct can also play a major role in building an
inclusive culture, it cannot be the sole solution for inclusive culture. According to
studies done on the implementation of codes of conduct; in order to have an effective
implementation needs to be a part of training and consistent enforcement and
measurement.
A professional code of conduct is an official document that explains how employees
are expected to act on behalf of their company or how they should behave in work
space in day to day bases. These may contain elements like the values of the business,

2
disciplinary steps and responsibilities. In general, professional code of ethics explains
the governing principles for a work in environment and defines what is right and
wrong [4].

3. The four key sections in code of ethics and professional conduct


3.1. Work Environment
An employee's behavior and activities in the workplace are governed by a collection
of rules, policies, and procedures known as the "work environment code of conduct."
Below are descriptions of the themes covered by the workplace code of conduct, such
as the policies against violence, privacy, and equal opportunity:
1. Violence policy: A work environment code of conduct's violence policy is a
set of rules that specifies what constitutes violence in the workplace and the
protocols for reporting and looking into violent events. This policy strives to
safeguard everyone's safety and wellbeing while also preventing hostility and
conflict at work. "We shall avoid damaging others, their property, reputation,
or employment by deceptive or malicious activity," states the IEEE Code of
Ethics [5].Violating the violence policy can lead to disciplinary action,
including termination of employment.
2. Privacy policy: A code of conduct for the workplace's privacy policy outlines
how staff members are expected to handle sensitive or private information
belonging to the business or its customers. This policy strives to safeguard the
confidentiality and security of personal data as well as the intellectual property
of the organization. "We shall maintain and increase our technical competence
and undertake technological activities for others only if qualified by training
or experience, or after full disclosure of pertinent restrictions," states the IEEE
Code of Ethics [5]. In addition to potential legal and financial repercussions,
violating the privacy policy can harm the business's brand and lose customers'
trust.
3. Equal opportunity: A code of conduct's equal opportunity policy outlines
how staff members should interact with one another without prejudice based
on race, gender, age, religion, sexual orientation, or any other protected
feature. This policy attempts to guarantee that each employee is valued,
respected, and given the same opportunity to succeed at work. We shall
prevent discriminating against others for any cause, as stated in the IEEE Code
3
of Ethics [5]. Violating equal opportunity can result in a decline in employee
morale.
We can mention as an example which is Google’s code of conduct in work
environment.
 Respectful conduct: Google requires that its workers treat one another with
respect and dignity and uphold a workplace free from harassment,
discrimination, and other forms of disrespectful conduct [6]. This policy is
applicable to communications with coworkers, clients, and outside partners.
 Integrity: its employees to conduct themselves honestly and ethically in all
areas of their work, including dealing with money, reporting, and handling
sensitive data [6]. A commitment to acting morally and in accordance with all
applicable rules and regulations is also included in this policy.
 Work-Life balance: As a critical element of job happiness and productivity,
Google values employee well-being and promotes a good work-life balance.
The activities and programs outlined in this policy, such as flexible work
schedules, on-site wellness centers, and employee counseling services, all
serve to enhance employee health.
 User data and personal information are protected by Google in accordance
with their commitment to privacy, security, and confidentiality.
 Diversity and inclusion: Google is committed to fostering an inclusive
workplace that values employees from all backgrounds and identities.
Initiatives and programs that advance diversity, equity, and inclusion are part
of this policy.

3.2. Conflict of interests


Conflicts of interest can happen when a worker's personal relationships or interests
collide with their job responsibilities. Many rules regarding conflicts of interest are
included in Google's Code of Conduct, including:
1. Employees are not permitted to donate or contribute any Google assets,
such as software or hardware, to any outside group or person, according to this
policy [7]. If such contributions advance an employee's personal objectives or
interpersonal ties, a conflict of interest may arise.
2. Running for public office: Employees are not permitted to use their
employment with Google to further their political aspirations or to make any

4
public office runs. Workers who desire to run for public office must first
receive senior leadership approval from the company and adhere to all
relevant rules and regulations [6].
3. Political interests: Google welcomes its employees to engage in political
discourse and to express their political opinions, but it is up to them to make
sure that their personal opinions and actions don't conflict with Google's
interests or appear to be biased or improper.
4. Securities transactions: Under this policy, employees are not permitted to
engage in any securities transactions that might give rise to a conflict of
interest or the appearance of improper behavior. Before conducting any
securities transactions, employees must receive senior management's approval
from the business first. They must also abide by all applicable securities laws
and regulations [6].

3.3. Protecting company assets


Asset protection refers to a set of legal strategies that debtors preemptively implement
to protect their wealth from being seized by creditors. It also enables asset owners to
avoid taxation and mortgage payment default without violating the debtor-creditor
law [8].
Employees should always take action to safeguard all corporate assets, including
tangible, and electronic or digital assets. The following are some examples of
company assets that an employee should protect in software engineering perspective.
 Preparing, maintaining, and disclosing accurate record refer to the process of
keeping complete and up to date information related to an organization’s
activities. It include keeping records of all financial transactions, sales,
purchases, costs, payroll, and other pertinent data that is required to meet legal
obligations, monitor performance, and make wise business decisions.
Maintaining accurate records assists firms in managing cash flow, remaining
organized, identifying potential errors or fraudulent activity, and reporting
financial data to investors.
Preparing, maintaining and disclosing accurate records in software
engineering is extremely important for project management, documentation,
legal and regulatory compliance, and accountability purposes.

5
 Information security in software engineering is a crucial aspect of producing
secure and reliable applications. In addition to achieving other security goals
like authenticity, non-repudiation, and accountability, it entails putting in place
safeguards that guarantee information confidentiality, integrity, and
availability.
Enhancing the security of software products requires the use of software
engineering techniques such threat modelling, secure software architecture
design, security control implementation, security testing, and code reviews.
Software application security also involves methods like encryption, access
control, vulnerability monitoring, and incident management.
 The use of company property in software engineering depends on the policies
and agreements set by the company. Employees typically have access to
hardware and software that belongs to the company, such as computers,
servers, software development tools, communication devices, and other
specialized tools. Typically, employees are permitted to use this equipment in
the course of doing their duties, and as such, they are responsible for keeping
it protected and maintained. Also, the majority of businesses establish
acceptable use policies to guarantee that company property is used
legitimately, exclusively for official reasons, and with due consideration for
the firm's values, laws, and regulations.
A violation of corporate policy, such as unauthorized use of company
property, may result in disciplinary action, up to and including termination.
Employees should read and comprehend corporate policies governing the use
of company property, and they should ask for clarification when necessary.

3.4. Anti-bribery and corruption


 Anti-bribery and corruption measures are an essential aspect of ethical conduct
in software development. Software companies must take proactive steps to
prevent bribery and corruption at all stages of their operations, including
identifying and avoiding potential risks while establishing clear policies that
prohibit such activities.
 The most prevalent type of corruption is bribery. Bribery is the act of
threatening, promising, providing, giving, receiving, or soliciting money, a
present, or another financial advantage as a way to persuade someone to act

6
improperly, illegally, or betray their trust while performing an act or in order
to obtain business. This covers any rewards or payments provided directly or
via a third party. It also includes someone who alters their behaviour due to
the expectation of receiving a financial reward or another benefit. This can be
done by acting or not acting.[9]
 Every employee and person representing Influential Software is accountable
for upholding the Company's reputation and conducting business in an ethical
and professional manner by avoiding, spotting, and disclosing any instances of
bribery or corruption.
 All employees (whether temporary, fixed-term, or permanent), consultants,
contractors, trainees, seconded staff, home workers, casual workers, agency
staff, volunteers, interns, agents, sponsors, or any other person or persons
associated with us (including third parties), as well as any of our subsidiaries
or their employees, regardless of where they are located, may be included in
this (within or outside of the UK). The policy is also applicable to all levels of
officers, trustees, board members, and committee members.[9]
Influential Software commits itself to:
o Conducting our business fairly, honestly and transparently;
o Not making or offering bribes whether directly or indirectly to gain
business advantages;
o Not accepting bribes, whether directly or indirectly to give business
advantages; and
o Developing a programme to implement and support these principles.
Influence Software's commitment to upholding the highest standards of
morality and integrity in its business operations is outlined in the anti-bribery
and corruption policy.[9]
Influence Software's commitment to upholding the highest standards of
morality and integrity in its business operations is outlined in the anti-bribery
and corruption policy.
 Influential Software does not allow any kind of bribery or corruption,
whether it be direct or indirect, on the part of its officers, employees,
consultants, or anyone else working for or on behalf of the company. In

7
compliance with the Bribery Act, the Company is committed to putting in
place and upholding robust measures to prevent and end bribery.
 Some common anti-bribery and corruption measures taken by software
companies include conducting background checks on potential employees,
implementing transparency in financial transactions, and training
employees on anti-bribery and anti-corruption policies. Additionally,
implementing measures like monitoring supply chains for unethical
behaviour, reporting suspicious activity, and utilizing third-party audit
firms can help identify corruption within organizations.
 Overall, the focus should be on fostering a culture of ethics and integrity,
where employees understand and embrace the importance of maintaining
high ethical standards, and where leaders lead by example by enforcing
these standards within the company.

4. The eight principles related to the behavior and decisions made by


professional software engineers
4.1.Public
Software engineers have a responsibility to act in the public interest [10]. They must
accept full responsibility for their work and ensure that software meets specifications,
passes appropriate tests, and does not harm the quality of life, privacy, or the
environment [10]. They should also disclose any potential harm or danger associated
with the software, cooperate in addressing matters of public concern caused by
software, and consider issues that can diminish access to software's benefits [10].

4.2.Client and employer


Software engineers have a responsibility to act in the best interests of their clients and
employers, consistent with the public interest [11]. They must provide services in
their area of competence, not knowingly use software obtained or retained illegally or
unethically, use their clients' or employers' property only with their knowledge and
consent, ensure that any document they rely on has been approved, keep confidential
information private, and report issues related to project failures, intellectual property
law violations, and other problems [11]. They should also identify and report
significant issues of social concern related to software or related documents to the
employer or client, avoid outside work that is detrimental to their primary employer's

8
work, and promote no interest averse to their employer or client unless a higher
ethical concern is being compromised [11].

4.3.Product
Software engineers must ensure that their products and related modifications meet the
highest professional standards possible [12]. They should strive for high quality,
acceptance cost, and reasonable schedules, ensure proper and achievable goals and
objectives for any projects they work on, and identify and address ethical, economic,
cultural, legal, and environmental issues related to their work [12]. Additionally, they
should ensure they are qualified for any project on which they work by an appropriate
combination of education, training, and experience, use appropriate methods for their
projects, follow professional standards when available, fully understand software
specifications, and ensure that specifications satisfy user requirements and have the
necessary approvals [12].

4.4.Judgment
A crucial component of software engineering is professional judgment which includes
not just technical expertise but also teamwork, accountability, responsibility, and
ethical conduct. Software engineers must exercise sound professional judgment to
make choices that are consistent with their obligations as professionals and guarantee
the integrity and dependability of the software solutions they create.

A key aspect of professional judgment in software engineering is effective


communication Software engineers must be able to clearly and concisely explain
technical concepts to stakeholders who are not technical. [13] To make sure that the
software they create satisfies the needs of stakeholders they must also work
successfully with team members including designers, project managers, and quality
assurance personnel. By communicating effectively software engineers can reduce the
risk of misunderstandings ensuring everyone is on the same page and foster a
collaborative work environment.

In software engineering accountability and responsibility are also crucial elements of


professional judgment. It is the responsibility of software engineers to uphold the
highest standards of quality and dependability in the software they create a
recognizing the effect that mistakes or flaws in the program might have on users and
stakeholders, they must be prepared to own their failures and take corrective action.

9
Software engineers may make sure their work is dependable and meets user needs by
being accountable and responsible. [5]

Another essential element of professional judgment in software engineering is


teamwork Software engineers must effectively communicate with other team
members pay attention to criticism and offer their expertise to the project success. By
working together software engineers can leverage each other’s strengths learn from
each other and ultimately deliver higher-quality software.

Software developers must have a balance between their professional and personal
interests. They must be conscious of any conflicts of interest and take action to reduce
them in order to do this. For example they can be required to disclose any financial or
interpersonal ties that might skew their judgment while making choices on software
development. Software engineers may uphold their ethical standards and make sure
that their judgments are based on what is best for the software and the stakeholders by
avoiding conflicts of interest. [16]

Software engineers may ensure the caliber and dependability of the software
applications they create by upholding the highest standards of professional judgment,
which will help to their company’s success and the satisfaction of their users.

To make decisions that are in line with their professional responsibilities and
guarantee the excellence and dependability of the software applications they produce
software engineers must have solid professional judgment. Professional judgment in
software engineering is crucially dependent on effective teamwork, accountability,
responsibility, and ethical conduct. Software engineers can contribute to the success
of their organizations and the delight of their users by exhibiting these qualities.

4.5.Management
Software engineering managers and leaders shall promote an ethical approach to the
management of software development and maintenance. In particular, those managing
or leading software engineers shall, as appropriate: Ensure good management for any
project on which they work, including effective procedures for promotion of quality
and reduction of risk. Ensure that software engineers are informed of standards before
being held to them. Management in SE is also that software engineers know the
employer’s policies and procedures for protecting passwords, files and information
that is confidential to the employer or confidential to others. Assign work only after

10
taking into account appropriate contributions of education and experience tempered
with a desire to further that education and experience. But realistic quantitative
estimates of cost, scheduling, personnel, quality and outcomes on any project on
which they work or propose to work, and provide an uncertainty assessment of these
estimates.

Good management always attracts potential software engineers only by full and
accurate description of the conditions of employment. Offer fair and just
remuneration. Not unjustly prevent someone from taking a position for which that
person is suitably qualified. It is also that there is a fair agreement concerning
ownership of any software, processes, research, writing, or other intellectual property
to which a software engineer has contributed. Provide for due process in hearing
charges of violation of an employer’s policy or of this Code Not ask a software
engineer to do anything inconsistent with this Code. Not punish anyone for expressing
ethical concerns about a project.

4.6.Profession
Software engineers shall advance the integrity and reputation of the profession
consistent with the public interest. This Help to develop an organizational
environment favorable to acting ethically. Extend software engineering knowledge
by appropriate participation in professional organizations, meetings and publications.
Support, as members of a profession, other software engineers striving to follow this
Code Not promote their own interest at the expense of the profession, client or
employer. Obey all laws governing their work, unless, in exceptional circumstances,
such compliance is inconsistent with the public interest.

Be accurate in stating the characteristics of software on which they work, avoiding not
only false claims but also claims that might reasonably be supposed to be speculative,
vacuous, deceptive, misleading, or doubtful. Take responsibility for detecting,
correcting, and reporting errors in software and associated documents on which they
work. Avoid associations with businesses and organizations which are in conflict
with this code. Recognize that violations of this Code are inconsistent with being a
professional software engineer. Express concerns to the people involved when
significant violations of this Code are detected unless this is impossible, counter-
productive, or dangerous Report significant violations of this Code to appropriate

11
authorities when it is clear that consultation with people involved in these significant
violations is impossible, counter-productive or dangerous.[17]

4.7.Colleagues
Software engineers shall advance the integrity and reputation of the profession
consistent with the public interest. In particular, software engineers shall, as
appropriate:

 Help develop an organizational environment favorable to acting ethically.


 Promote public knowledge of software engineering.
 Extend software engineering knowledge by appropriate participation in
professional organizations, meetings and publications.
 Support, as members of a profession, other software engineers striving to
follow this Code.
 Not promote their own interest at the expense of the profession, client or
employer.
 Obey all laws governing their work, unless, in exceptional circumstances, such
compliance is inconsistent with the public interest.
 Be accurate in stating the characteristics of software on which they work,
avoiding not only false claims but also claims that might reasonably be
supposed to be speculative, vacuous, deceptive, misleading, or doubtful.
 Take responsibility for detecting, correcting, and reporting errors in software
and associated documents on which they work.
 Ensure that clients, employers, and supervisors know of the software
engineer’s commitment to this Code of ethics, and the subsequent
ramifications of such commitment.
 Avoid associations with businesses and organizations which are in conflict
with this code.
 Recognize that violations of this Code are inconsistent with being a
professional software engineer.
 Express concerns to the people involved when significant violations of this
Code are detected unless this is impossible, counter-productive, or dangerous.

12
 Report significant violations of this Code to appropriate authorities when it is
clear that consultation with people involved in these significant violations is
impossible, counter-productive or dangerous.

4.8. Self
Software engineers shall participate in lifelong learning regarding the practice of their
profession and shall promote an ethical approach to the practice of the profession. In
particular, software engineers shall continually endeavor to:

 Further their knowledge of developments in the analysis, specification,


design, development, maintenance and testing of software and related
documents, together with the management of the development process.
 Improve their ability to create safe, reliable, and useful quality software at
reasonable cost and within a reasonable time.
 Improve their ability to produce accurate, informative, and well-written
documentation.
 Improve their understanding of the software and related documents on which
they work and of the environment in which they will be used.
 Improve their knowledge of relevant standards and the law governing the
software and related documents on which they work.
 Improve their knowledge of this Code, its interpretation, and its application to
their work.
 Not give unfair treatment to anyone because of any irrelevant prejudices.
 Not influence others to undertake any action that involves a breach of this
Code.
 Recognize that personal violations of this Code are inconsistent with being a
professional software engineer.[17]

13
5. Conclusion
In conclusion, a strong code of ethics and professional conduct is essential for
software engineers to maintain their credibility, public interest and promote
professionalism in the field.

Adhering to ethical principles is not only matter of being compliance with legal and
regulatory system; it is also fostering collaboration with clients and other
stakeholders. More importantly ethical behavior is crustal for maintaining one’s
profession as a software engineer.

Ultimately, a strong commitment to ethics is necessary for creating a culture of


integrity and trust in software engineering.

14
6. References
[1]. “ACM Code of Ethics and Professional Conduct.” https://www.acm.org/code-
of-ethics (accessed Mar 26)
[2]. Betterteam, “code of ethics” https://www.betterteam.com/code-of-
ethics#:~:text=A%20code%20of%20ethics%20and,safety%2C%20and%20co
nflicts%20of%20interest (accessed Mar 27)
[3]. Wikipedia, “Ethical code” https://en.wikipedia.org/wiki/Ethical_code
(accessed Mar 26)
[4]. Indeed, “What is a professional code of ethics?” https://uk.indeed.com/career-
advice/career-development/professional-code-of-ethics (accessed Mar 25)
[5]. IEEE Code of Ethics. (n.d.). Retrieved September 16, 2021, from
https://www.ieee.org/ content/dam/ieee-org/ ieee/web/org/about/
ieee_code_of_ethics.pdf
[6]. Google. (2021). Code of Conduct. Retrieved November 10, 2021, from https://
abc.xyz/investor/other/ google-code-of-conduct.html
[7]. Google. (2021). Code of Conduct. Retrieved November 15, 2021, from https://
abc.xyz/investor/other/ google-code-of-conduct.html
[8]. Wall Street Mojo, “Asset protection”https://www.wallstreetmojo.com/asset-
protection/ (accessed Mar 26)
[9]. Influential, “Anti-bribery and Corruption Policy”
https://www.influentialsoftware.com/anti-bribery-and-corruption-policy/
(accessed Mar 28)
[10]. IEEE. (2019). IEEE Code of Ethics. Retrieved from
https://www.ieee.org/content/dam/ieee-
org/ieee/web/org/about/ieee_code_of_ethics.pdf.

[11]. ACM. (2018). ACM Code of Ethics and Professional Conduct.


Retrieved from https://www.acm.org/code-of-ethics.

[12]. IEEE Computer Society. (2018). Software Engineering Code of Ethics


and Professional Practice. Retrieved from
https://www.computer.org/content/dam/ieee-computer-
society/web/about/SECEPP_Code_of_Ethics.pdf

15
[13]. Boehm and Turner (2003), "effective communication of professional
judgment in software engineering." April 2014
[14]. Research Gate, “A Practical Insight about Use of Agile Methodology
According to Type of Project”
https://www.researchgate.net/publication/263365424_A_Practical_Insight_ab
out_Use_of_Agile_Methodology_According_to_Type_of_Project
[15]. Sommerville, I. (2016) Software Engineering. 10th Edition, Pearson
Education Limited, Boston.
[16]. SCIRP
,https://www.scirp.org/%28S%28351jmbntvnsjt1aadkposzje%29%29/referenc
e/referencespapers.aspx?referenceid=2422473
[17]. Don Gotterbarn, Keith Miller, and Simon Rogerson. 1997. Software
engineering code of ethics. Commun. ACM 40, (Accessed at 29 March 2023),
110-118. DOI:

16

You might also like