Ethics, Snake Oil and Software Development

The Association for Computing Machinery (ACM) delivered a 1-hour webinar this week that was focused on explaining the relevance of their Code of Ethics and Professional Conduct and how to apply it. The webinar title alone was enough to get me there: Leveraging the ACM Code of Ethics Against Ethical Snake Oil and Dodgy Development. The ACM is the oldest professional association for computing professionals. Its history is that of groups of like-minded people trying to make effective use of computing technology for the purposes of bettering humankind.


  • 2,200,000 content readers
  • 1,800,000+ DL research citations
  • $1,000,000 Turing Award Prize
  • 100,000+ global members (including me)
  • 1,160+ Fellows
  • 700+ global chapters
  • 170+ yearly conferences
  • 100+ yearly awards
  • 70+ Turing Laureates
  • 49 Computing Journals
  • 8 Magazines

Two deeply experienced ACM members presented: Don Gotterman and Marty J. Wolf. Don and Marty were both informative and engaging (and, if you have been to more than a few technical webinars as I have, you’ve learned to value presenters who make the message engaging.) They are the co-chairs of the ACM Committee on Professional Ethics.

Do We NEED Professional Ethics!?

In a word, YES! My recent experience:

  • Openly misogynistic senior leadership (both client and professional services lead) tolerated due to profit motives
  • Professional rivalries “in the office” (client) undermining the morale and personal health of both individuals
  • Undermining of a professional services engagement as the client “protected their turf” from outside intervention
  • Under-qualified professional services staff added to engagements (with “A Nod and A Wink” between both client and professional services leads)

How would a Code of Ethics have improved these experiences? At a minimum:

  1. Agile Teams can adopt ethics principles and practices in their Team Working Agreements (and, potentially, in their Definitions of Done)
  2. Engagement Statements of Work and Deliverables (sections) can include ethical declarations, benchmarks and assessment procedures
  3. Human Resources (for both client and professional services organizations) can “bake in” a Code of Ethics that each employee and contractor must study and affirm
  4. Senior Leadership (for all organizations) can include the improvement of ethical practices in their annual plans, frequent announcements and daily operating guidelines
  5. Internal Professional Development programs can include ethics training emphasizing that ethical behavior is a prerequisite for progression and reward

What does the ACM have to offer?

Cherri M. Pancake, the President of the ACM, clearly states why the ACM is committed to ethics and why you should be, too:

Computing professionals have a profound impact on both public and private life. Part of ACM’s role is to guide computing’s impact in order to better the world. As a professional organization, ACM identifies who we are by what we value. The ACM Code of Ethics and Professional Conduct clearly states what is essential to professional life. The Code is a contract among ourselves as professionals, as well as a public statement of our understanding of the responsibilities the profession has to the larger society that it serves.

It’s abundantly clear that computers (in all their forms) are ubiquitous in our every day life. This is especially true for those of us who help to develop products and support the organizations who deliver them. “… identifies who we are by what we value.“- How often do we equate what we’re doing professionally (where, and with whom) against what we value in our professional lives? I wager most of us are delinquent, at best.

The ACM Code of Ethics and Professional Conduct (“The Code”):

  1. General Ethical Principles
  2. Professional Responsibilities
  3. Professional Leadership Principles
  4. Compliance With the Code
  5. Case Studies:
    1. Malware Disruption
    2. Linking Public Data Sets
    3. Medical Implant Risk Analysis
    4. Abusive Workplace Behavior
    5. Malicious Input to Content Filters
  6. Using The Code:
    1. In Educacional Settings
    2. In Companies and Organizations

Why an Emphasis on Ethics and Professional Conduct, and Why Now?

Let’s look at the latest 14th Annual State of Agile Report (2020) and what’s keeping Agile from being effective:

This chart has looked very much the same each year. Is anyone asking themselves why (and what they can do about it?) It doesn’t appear so. From the chart above “… internal culture remains an obstacle for success in many organizations.” I would amend this statement to say “… in most organizations.” (and for the same reasons cited, above.)  From Don and Marty’s presentation:

  • Professional computing ethics is: Any behavior of computing professionals during the design, development, construction, and maintenance of computing artifacts that affects other people
  • Professional competence also requires skill in communication, in reflective analysis, and in recognizing and navigating ethical challenges.
  • Upgrading skills should be an ongoing process
  • Maintain high standards of professional competence, conduct, and ethical practice
  • Manage personnel and resources to enhance the quality of working life
  • Be honest and trustworthy
  • Create opportunities for members of the organization or group to grow as professionals

Leadership and middle-management have to assume responsibility for developing and enhancing a culture where teams and programs are organized to improve people’s lives in addition to delivering outcomes. Too many organizations focus solely on outcomes (and use Agile principles, practices and tools as templates and checklists assuming teams will figure it out.) This chart proves (annually) that this approach is failing, miserably.

The Code provides a robust framework for establishing a culture of trust, professional development and improved delivery based on doing the right thing for everyone involved (especially the customer.) I’m always surprised at the lack of awareness of professional codes of conduct and behavior in the workplace. You should be, too.

Where to Turn Next

The ACM shares their resources openly:

Download these resources, and review how the ACM came to develop and advocate The Code. Establish working groups. Update Team Working Agreements and Definitions of Done. Create improvement plans (as part of your backlogs) to address the Challenges shared above so that your organization succeeds with Agile (versus continues to struggle and disappoint.)

If you’re not an ACM member and would like to hear about the personal and professional benefits, let me know. I’m always happy to share effective professional organizations.

I’m developing a course that will include adopting The Code and how use it effectively. If you’re interested, get in touch.

Greg Tutunjian

Greg Tutunjian is a leadership and performance coach specializing in team-centric innovation. Greg is a former software and systems engineer, technical program manager and director, and now advisor to organizations ranging from small and medium-sized software product and service companies to Fortune 10 multinationals.