Why Tech Companies Need a Code of Ethics for Software Development
With so much potential for software to go bad, it's important that developers commit to doing good.
In today's world, business is both driven and disrupted by software. From startups to government organizations to publicly traded companies, software is developed at a record-setting pace to run almost everything. This continuous evolution of technology has drastically changed how enterprises operate today. As the race heats up among companies looking to be first-to-market with the next best product or service, considerations about the implications these systems and gadgets may have on society often are overlooked.
For example, technologies developed by companies such as YouTube and Volkswagen certainly have, and continue to have, a profound impact on society. For more than a decade, YouTube has shaped the way people create, share and consume video content. Similarly, it's hard to imagine a world without Volkswagen cars, as the company has been a mainstay since the early 20th century. That is why rogue incidents like YouTube's controversial recommended videos incident that feature conspiracy theories, partisan viewpoints and misleading videos, or Volkswagen's emissions scandal that "duped" the standards, leave a marked impact on society. Could we come to distrust the innovations that could ultimately help improve the way people live and connect with each other all over the world?
The rush to meet deadlines and sell products can cause delivery teams to overlook security, unit, integration and performance tests that eliminate problematic bugs or other issues. This can lead to "bad" software going rogue in the public's hands. In fact, a New York Times article shed light on Silicon Valley's "build it first, ask for forgiveness later" mentality that has, in part, grown from pressure by CEOs, board members and other company stakeholders who want to be first-to-market with their products.
This mindset is a prime example of why a code of ethics for software delivery is needed among tech companies to make sure their intentions are good willed when delivering products. While one standardized code of ethics (such as the Hippocratic Oath in the medical profession) could be a solution for the software industry, it is also important to teach delivery teams how to ask the right questions when considering the ramifications for emerging innovations. The ethics question may be different for different types of organizations as well, leaning more toward an individual organizational view rather than a global one.
Academically, this movement is already in the works. Harvard University and the Massachusetts Institute of Technology (MIT) are jointly offering a new course on the ethics and regulation of artificial intelligence, the University of Texas at Austin recently introduced its Ethical Foundations of Computer Science course and Stanford University is developing a computer science ethics course for next year.
While more education on ethics is certainly needed, it also needs to be a part of a broader professional standard. With the absence of an international standardized code of ethics, one solution organizations can implement immediately is to foster a culture among their delivery teams that places ethics in high regard. This means that all stakeholders agree to be transparent with each other about the work being done and the challenges they run into. This way, teams can avoid rushing products into market that could potentially have a negative impact.
One of the most effective ways organizations can achieve transparency is to create their own internal code of ethics. A baseline organizations can use to develop their code of ethics are the five values of Scrum. Scrum is the most popular Agile framework and has been used since the mid-1990s by teams who are delivering software based products to market -- essentially almost everything people use in their daily lives. These values that organizations can use are commitment, courage, focus, openness and respect. They can help guide the decision-making and improve team dynamics.
Not to be confused with committing to a particular delivery date or predefined set of functionality, commitment describes the trust the team places in the agile approach and its values. Often it is assumed that everyone is following the same approach and coming from the same place, but by making the commitment explicit as an individual, team and organization, they all start from the same baseline.
Courage empowers members of an organization to speak up and call out unethical behavior by management that can influence work being produced. Many organizations believe that "if you don't say anything, the bad decision will disappear." But, in today's globally connected world, decisions do not disappear quickly, so company leaders need to act responsibility. Encouraging delivery teams to be transparent with each other leads to ethically positive outcomes for the organization, customers, shareholders, employees and everyday citizens. It is everyone's responsibility on the team to deliver a high-quality product, not the management, QA organization or the executives.
Related: The 4 Pillars of Ethical Enterprises
Instead of working independently, teams are more effective when they collaborate on small sets of customer-driven outcomes. This is why company leaders should empower their teams to tackle the most important tasks first as they work toward a final product. Focusing on one task at a time ensures teams are putting only the best resources into making a final product any organization can be proud of.
Much like commitment, company leaders should empower their teams to be open about their work, which helps create transparency to their progress. When assumptions about how a product should be developed prove to be invalid, openness helps team members admit to stakeholders they were wrong, to ask for help and change direction to improve and create a better product. The phrase "fail fast" is often used to describe agile approaches, but actually it is "learn fast." Openness is a prerequisite to that mantra.
Above all else, company leaders should respect their team members' diverse backgrounds, experiences and range of skills. Showing respect for team members and assuming they have good intentions can lead to conversations that resolve conflict within an organization and improves team performance. When people feel respected and know they are being heard, they can fully support company decisions, even if the decision was not their preference.
The popular Spiderman phrase "with great power comes great responsibility" could not be more applicable to the organizations who are creating and releasing the products that define society. After all, these products are influencing the way people live and interact with each other, every day. This is why big tech companies must take the lead and create their own code of ethics. Abiding by a code of ethics puts product teams in a better position to deliver amazing software people can trust.