You are on page 1of 7

3/17/2016

SoftwareEngineeringCodeofEthicsandProfessionalPracticeAssociationforComputingMachinery

SoftwareEngineeringCodeofEthicsand
ProfessionalPractice
SoftwareEngineeringCodeofEthicsandProfessionalPractice(Version5.2)as
recommendedbytheACM/IEEECSJointTaskForceonSoftwareEngineeringEthics
andProfessionalPracticesandjointlyapprovedbytheACMandtheIEEECSasthe
standardforteachingandpracticingsoftwareengineering.
ShortVersion
FullVersion
SoftwareEngineeringCodeofEthicsandProfessionalPractice(ShortVersion)
PREAMBLE
Theshortversionofthecodesummarizesaspirationsatahighleveloftheabstractiontheclauses
thatareincludedinthefullversiongiveexamplesanddetailsofhowtheseaspirationschangethe
wayweactassoftwareengineeringprofessionals.Withouttheaspirations,thedetailscanbecome
legalisticandtediouswithoutthedetails,theaspirationscanbecomehighsoundingbutempty
together,theaspirationsandthedetailsformacohesivecode.
Softwareengineersshallcommitthemselvestomakingtheanalysis,specification,design,
development,testingandmaintenanceofsoftwareabeneficialandrespectedprofession.In
accordancewiththeircommitmenttothehealth,safetyandwelfareofthepublic,software
engineersshalladheretothefollowingEightPrinciples:
1.PUBLICSoftwareengineersshallactconsistentlywiththepublicinterest.
2.CLIENTANDEMPLOYERSoftwareengineersshallactinamannerthatisinthebestinterests
oftheirclientandemployerconsistentwiththepublicinterest.
3.PRODUCTSoftwareengineersshallensurethattheirproductsandrelatedmodificationsmeet
thehighestprofessionalstandardspossible.
4.JUDGMENTSoftwareengineersshallmaintainintegrityandindependenceintheirprofessional
judgment.
5.MANAGEMENTSoftwareengineeringmanagersandleadersshallsubscribetoandpromotean
ethicalapproachtothemanagementofsoftwaredevelopmentandmaintenance.
6.PROFESSIONSoftwareengineersshalladvancetheintegrityandreputationoftheprofession
consistentwiththepublicinterest.
7.COLLEAGUESSoftwareengineersshallbefairtoandsupportiveoftheircolleagues.
8.SELFSoftwareengineersshallparticipateinlifelonglearningregardingthepracticeoftheir
professionandshallpromoteanethicalapproachtothepracticeoftheprofession.

SoftwareEngineeringCodeofEthicsandProfessionalPractice(FullVersion)
PREAMBLE
Computershaveacentralandgrowingroleincommerce,industry,government,medicine,
education,entertainmentandsocietyatlarge.Softwareengineersarethosewhocontributebydirect
participationorbyteaching,totheanalysis,specification,design,development,certification,
maintenanceandtestingofsoftwaresystems.Becauseoftheirrolesindevelopingsoftwaresystems,
http://www.acm.org/about/secode

1/7

3/17/2016

SoftwareEngineeringCodeofEthicsandProfessionalPracticeAssociationforComputingMachinery

softwareengineershavesignificantopportunitiestodogoodorcauseharm,toenableotherstodo
goodorcauseharm,ortoinfluenceotherstodogoodorcauseharm.Toensure,asmuchas
possible,thattheireffortswillbeusedforgood,softwareengineersmustcommitthemselvesto
makingsoftwareengineeringabeneficialandrespectedprofession.Inaccordancewiththat
commitment,softwareengineersshalladheretothefollowingCodeofEthicsandProfessional
Practice.
TheCodecontainseightPrinciplesrelatedtothebehaviorofanddecisionsmadebyprofessional
softwareengineers,includingpractitioners,educators,managers,supervisorsandpolicymakers,as
wellastraineesandstudentsoftheprofession.ThePrinciplesidentifytheethicallyresponsible
relationshipsinwhichindividuals,groups,andorganizationsparticipateandtheprimaryobligations
withintheserelationships.TheClausesofeachPrincipleareillustrationsofsomeoftheobligations
includedintheserelationships.Theseobligationsarefoundedinthesoftwareengineershumanity,
inspecialcareowedtopeopleaffectedbytheworkofsoftwareengineers,andtheuniqueelements
ofthepracticeofsoftwareengineering.TheCodeprescribestheseasobligationsofanyoneclaiming
tobeoraspiringtobeasoftwareengineer.
ItisnotintendedthattheindividualpartsoftheCodebeusedinisolationtojustifyerrorsof
omissionorcommission.ThelistofPrinciplesandClausesisnotexhaustive.TheClausesshouldnot
bereadasseparatingtheacceptablefromtheunacceptableinprofessionalconductinallpractical
situations.TheCodeisnotasimpleethicalalgorithmthatgeneratesethicaldecisions.Insome
situationsstandardsmaybeintensionwitheachotherorwithstandardsfromothersources.These
situationsrequirethesoftwareengineertouseethicaljudgmenttoactinamannerwhichismost
consistentwiththespiritoftheCodeofEthicsandProfessionalPractice,giventhecircumstances.
Ethicaltensionscanbestbeaddressedbythoughtfulconsiderationoffundamentalprinciples,rather
thanblindrelianceondetailedregulations.ThesePrinciplesshouldinfluencesoftwareengineersto
considerbroadlywhoisaffectedbytheirworktoexamineiftheyandtheircolleaguesaretreating
otherhumanbeingswithduerespecttoconsiderhowthepublic,ifreasonablywellinformed,
wouldviewtheirdecisionstoanalyzehowtheleastempoweredwillbeaffectedbytheirdecisions
andtoconsiderwhethertheiractswouldbejudgedworthyoftheidealprofessionalworkingasa
softwareengineer.Inallthesejudgmentsconcernforthehealth,safetyandwelfareofthepublicis
primarythatis,the"PublicInterest"iscentraltothisCode.
Thedynamicanddemandingcontextofsoftwareengineeringrequiresacodethatisadaptableand
relevanttonewsituationsastheyoccur.However,eveninthisgenerality,theCodeprovidessupport
forsoftwareengineersandmanagersofsoftwareengineerswhoneedtotakepositiveactionina
specificcasebydocumentingtheethicalstanceoftheprofession.TheCodeprovidesanethical
foundationtowhichindividualswithinteamsandtheteamasawholecanappeal.TheCodehelpsto
definethoseactionsthatareethicallyimpropertorequestofasoftwareengineerorteamsof
softwareengineers.
TheCodeisnotsimplyforadjudicatingthenatureofquestionableactsitalsohasanimportant
educationalfunction.AsthisCodeexpressestheconsensusoftheprofessiononethicalissues,itisa
meanstoeducateboththepublicandaspiringprofessionalsabouttheethicalobligationsofall
softwareengineers.
PRINCIPLES
Principle1:PUBLIC
Softwareengineersshallactconsistentlywiththepublicinterest.Inparticular,
softwareengineersshall,asappropriate:
1.01.Acceptfullresponsibilityfortheirownwork.
1.02.Moderatetheinterestsofthesoftwareengineer,theemployer,theclientandthe
userswiththepublicgood.
1.03.Approvesoftwareonlyiftheyhaveawellfoundedbeliefthatitissafe,meets
specifications,passesappropriatetests,anddoesnotdiminishqualityoflife,
http://www.acm.org/about/secode

2/7

3/17/2016

SoftwareEngineeringCodeofEthicsandProfessionalPracticeAssociationforComputingMachinery

diminishprivacyorharmtheenvironment.Theultimateeffectoftheworkshouldbe
tothepublicgood.
1.04.Disclosetoappropriatepersonsorauthoritiesanyactualorpotentialdangerto
theuser,thepublic,ortheenvironment,thattheyreasonablybelievetobeassociated
withsoftwareorrelateddocuments.
1.05.Cooperateineffortstoaddressmattersofgravepublicconcerncausedby
software,itsinstallation,maintenance,supportordocumentation.
1.06.Befairandavoiddeceptioninallstatements,particularlypublicones,
concerningsoftwareorrelateddocuments,methodsandtools.
1.07.Considerissuesofphysicaldisabilities,allocationofresources,economic
disadvantageandotherfactorsthatcandiminishaccesstothebenefitsofsoftware.
1.08.Beencouragedtovolunteerprofessionalskillstogoodcausesandcontributeto
publiceducationconcerningthediscipline.
Principle2:CLIENTANDEMPLOYER
Softwareengineersshallactinamannerthatisinthebestinterestsoftheirclient
andemployer,consistentwiththepublicinterest.Inparticular,softwareengineers
shall,asappropriate:
2.01.Provideserviceintheirareasofcompetence,beinghonestandforthrightabout
anylimitationsoftheirexperienceandeducation.
2.02.Notknowinglyusesoftwarethatisobtainedorretainedeitherillegallyor
unethically.
2.03.Usethepropertyofaclientoremployeronlyinwaysproperlyauthorized,and
withtheclient'soremployer'sknowledgeandconsent.
2.04.Ensurethatanydocumentuponwhichtheyrelyhasbeenapproved,when
required,bysomeoneauthorizedtoapproveit.
2.05.Keepprivateanyconfidentialinformationgainedintheirprofessionalwork,
wheresuchconfidentialityisconsistentwiththepublicinterestandconsistentwith
thelaw.
2.06.Identify,document,collectevidenceandreporttotheclientortheemployer
promptlyif,intheiropinion,aprojectislikelytofail,toprovetooexpensive,to
violateintellectualpropertylaw,orotherwisetobeproblematic.
2.07.Identify,document,andreportsignificantissuesofsocialconcern,ofwhich
theyareaware,insoftwareorrelateddocuments,totheemployerortheclient.
2.08.Acceptnooutsideworkdetrimentaltotheworktheyperformfortheirprimary
employer.
2.09.Promotenointerestadversetotheiremployerorclient,unlessahigherethical
concernisbeingcompromisedinthatcase,informtheemployeroranother
appropriateauthorityoftheethicalconcern.
Principle3:PRODUCT
Softwareengineersshallensurethattheirproductsandrelatedmodificationsmeet
thehighestprofessionalstandardspossible.Inparticular,softwareengineersshall,
asappropriate:
3.01.Striveforhighquality,acceptablecostandareasonableschedule,ensuring
http://www.acm.org/about/secode

3/7

3/17/2016

SoftwareEngineeringCodeofEthicsandProfessionalPracticeAssociationforComputingMachinery

significanttradeoffsarecleartoandacceptedbytheemployerandtheclient,andare
availableforconsiderationbytheuserandthepublic.
3.02.Ensureproperandachievablegoalsandobjectivesforanyprojectonwhichthey
workorpropose.
3.03.Identify,defineandaddressethical,economic,cultural,legaland
environmentalissuesrelatedtoworkprojects.
3.04.Ensurethattheyarequalifiedforanyprojectonwhichtheyworkorproposeto
workbyanappropriatecombinationofeducationandtraining,andexperience.
3.05.Ensureanappropriatemethodisusedforanyprojectonwhichtheyworkor
proposetowork.
3.06.Worktofollowprofessionalstandards,whenavailable,thataremost
appropriateforthetaskathand,departingfromtheseonlywhenethicallyor
technicallyjustified.
3.07.Strivetofullyunderstandthespecificationsforsoftwareonwhichtheywork.
3.08.Ensurethatspecificationsforsoftwareonwhichtheyworkhavebeenwell
documented,satisfytheusersrequirementsandhavetheappropriateapprovals.
3.09.Ensurerealisticquantitativeestimatesofcost,scheduling,personnel,quality
andoutcomesonanyprojectonwhichtheyworkorproposetoworkandprovidean
uncertaintyassessmentoftheseestimates.
3.10.Ensureadequatetesting,debugging,andreviewofsoftwareandrelated
documentsonwhichtheywork.
3.11.Ensureadequatedocumentation,includingsignificantproblemsdiscoveredand
solutionsadopted,foranyprojectonwhichtheywork.
3.12.Worktodevelopsoftwareandrelateddocumentsthatrespecttheprivacyof
thosewhowillbeaffectedbythatsoftware.
3.13.Becarefultouseonlyaccuratedataderivedbyethicalandlawfulmeans,and
useitonlyinwaysproperlyauthorized.
3.14.Maintaintheintegrityofdata,beingsensitivetooutdatedorflawedoccurrences.
3.15Treatallformsofsoftwaremaintenancewiththesameprofessionalismasnew
development.
Principle4:JUDGMENT
Softwareengineersshallmaintainintegrityandindependenceintheirprofessional
judgment.Inparticular,softwareengineersshall,asappropriate:
4.01.Temperalltechnicaljudgmentsbytheneedtosupportandmaintainhuman
values.
4.02Onlyendorsedocumentseitherpreparedundertheirsupervisionorwithintheir
areasofcompetenceandwithwhichtheyareinagreement.
4.03.Maintainprofessionalobjectivitywithrespecttoanysoftwareorrelated
documentstheyareaskedtoevaluate.
4.04.Notengageindeceptivefinancialpracticessuchasbribery,doublebilling,or
otherimproperfinancialpractices.
4.05.Disclosetoallconcernedpartiesthoseconflictsofinterestthatcannot
http://www.acm.org/about/secode

4/7

3/17/2016

SoftwareEngineeringCodeofEthicsandProfessionalPracticeAssociationforComputingMachinery

reasonablybeavoidedorescaped.
4.06.Refusetoparticipate,asmembersoradvisors,inaprivate,governmentalor
professionalbodyconcernedwithsoftwarerelatedissues,inwhichthey,their
employersortheirclientshaveundisclosedpotentialconflictsofinterest.
Principle5:MANAGEMENT
Softwareengineeringmanagersandleadersshallsubscribetoandpromoteanethical
approachtothemanagementofsoftwaredevelopmentandmaintenance.In
particular,thosemanagingorleadingsoftwareengineersshall,asappropriate:
5.01Ensuregoodmanagementforanyprojectonwhichtheywork,includingeffective
proceduresforpromotionofqualityandreductionofrisk.
5.02.Ensurethatsoftwareengineersareinformedofstandardsbeforebeingheldto
them.
5.03.Ensurethatsoftwareengineersknowtheemployer'spoliciesandprocedures
forprotectingpasswords,filesandinformationthatisconfidentialtotheemployer
orconfidentialtoothers.
5.04.Assignworkonlyaftertakingintoaccountappropriatecontributionsof
educationandexperiencetemperedwithadesiretofurtherthateducationand
experience.
5.05.Ensurerealisticquantitativeestimatesofcost,scheduling,personnel,quality
andoutcomesonanyprojectonwhichtheyworkorproposetowork,andprovidean
uncertaintyassessmentoftheseestimates.
5.06.Attractpotentialsoftwareengineersonlybyfullandaccuratedescriptionofthe
conditionsofemployment.
5.07.Offerfairandjustremuneration.
5.08.Notunjustlypreventsomeonefromtakingapositionforwhichthatpersonis
suitablyqualified.
5.09.Ensurethatthereisafairagreementconcerningownershipofanysoftware,
processes,research,writing,orotherintellectualpropertytowhichasoftware
engineerhascontributed.
5.10.Providefordueprocessinhearingchargesofviolationofanemployer'spolicy
orofthisCode.
5.11.NotaskasoftwareengineertodoanythinginconsistentwiththisCode.
5.12.Notpunishanyoneforexpressingethicalconcernsaboutaproject.
Principle6:PROFESSION
Softwareengineersshalladvancetheintegrityandreputationoftheprofession
consistentwiththepublicinterest.Inparticular,softwareengineersshall,as
appropriate:
6.01.Helpdevelopanorganizationalenvironmentfavorabletoactingethically.
6.02.Promotepublicknowledgeofsoftwareengineering.
6.03.Extendsoftwareengineeringknowledgebyappropriateparticipationin
professionalorganizations,meetingsandpublications.
6.04.Support,asmembersofaprofession,othersoftwareengineersstrivingto
http://www.acm.org/about/secode

5/7

3/17/2016

SoftwareEngineeringCodeofEthicsandProfessionalPracticeAssociationforComputingMachinery

followthisCode.
6.05.Notpromotetheirowninterestattheexpenseoftheprofession,clientor
employer.
6.06.Obeyalllawsgoverningtheirwork,unless,inexceptionalcircumstances,such
complianceisinconsistentwiththepublicinterest.
6.07.Beaccurateinstatingthecharacteristicsofsoftwareonwhichtheywork,
avoidingnotonlyfalseclaimsbutalsoclaimsthatmightreasonablybesupposedtobe
speculative,vacuous,deceptive,misleading,ordoubtful.
6.08.Takeresponsibilityfordetecting,correcting,andreportingerrorsinsoftware
andassociateddocumentsonwhichtheywork.
6.09.Ensurethatclients,employers,andsupervisorsknowofthesoftwareengineer's
commitmenttothisCodeofethics,andthesubsequentramificationsofsuch
commitment.
6.10.Avoidassociationswithbusinessesandorganizationswhichareinconflictwith
thiscode.
6.11.RecognizethatviolationsofthisCodeareinconsistentwithbeingaprofessional
softwareengineer.
6.12.ExpressconcernstothepeopleinvolvedwhensignificantviolationsofthisCode
aredetectedunlessthisisimpossible,counterproductive,ordangerous.
6.13.ReportsignificantviolationsofthisCodetoappropriateauthoritieswhenitis
clearthatconsultationwithpeopleinvolvedinthesesignificantviolationsis
impossible,counterproductiveordangerous.
Principle7:COLLEAGUES
Softwareengineersshallbefairtoandsupportiveoftheircolleagues.Inparticular,
softwareengineersshall,asappropriate:
7.01.EncouragecolleaguestoadheretothisCode.
7.02.Assistcolleaguesinprofessionaldevelopment.
7.03.Creditfullytheworkofothersandrefrainfromtakingunduecredit.
7.04.Reviewtheworkofothersinanobjective,candid,andproperlydocumented
way.
7.05.Giveafairhearingtotheopinions,concerns,orcomplaintsofacolleague.
7.06.Assistcolleaguesinbeingfullyawareofcurrentstandardworkpractices
includingpoliciesandproceduresforprotectingpasswords,filesandother
confidentialinformation,andsecuritymeasuresingeneral.
7.07.Notunfairlyinterveneinthecareerofanycolleaguehowever,concernforthe
employer,theclientorpublicinterestmaycompelsoftwareengineers,ingoodfaith,
toquestionthecompetenceofacolleague.
7.08.Insituationsoutsideoftheirownareasofcompetence,callupontheopinionsof
otherprofessionalswhohavecompetenceinthatarea.
Principle8:SELF
Softwareengineersshallparticipateinlifelonglearningregardingthepracticeof
theirprofessionandshallpromoteanethicalapproachtothepracticeofthe
http://www.acm.org/about/secode

6/7

3/17/2016

SoftwareEngineeringCodeofEthicsandProfessionalPracticeAssociationforComputingMachinery

profession.Inparticular,softwareengineersshallcontinuallyendeavorto:
8.01.Furthertheirknowledgeofdevelopmentsintheanalysis,specification,design,
development,maintenanceandtestingofsoftwareandrelateddocuments,together
withthemanagementofthedevelopmentprocess.
8.02.Improvetheirabilitytocreatesafe,reliable,andusefulqualitysoftwareat
reasonablecostandwithinareasonabletime.
8.03.Improvetheirabilitytoproduceaccurate,informative,andwellwritten
documentation.
8.04.Improvetheirunderstandingofthesoftwareandrelateddocumentsonwhich
theyworkandoftheenvironmentinwhichtheywillbeused.
8.05.Improvetheirknowledgeofrelevantstandardsandthelawgoverningthe
softwareandrelateddocumentsonwhichtheywork.
8.06ImprovetheirknowledgeofthisCode,itsinterpretation,anditsapplicationto
theirwork.
8.07Notgiveunfairtreatmenttoanyonebecauseofanyirrelevantprejudices.
8.08.NotinfluenceotherstoundertakeanyactionthatinvolvesabreachofthisCode.
8.09.RecognizethatpersonalviolationsofthisCodeareinconsistentwithbeinga
professionalsoftwareengineer.
ThisCodewasdevelopedbytheACM/IEEECSjointtaskforceonSoftwareEngineeringEthicsand
ProfessionalPractices(SEEPP):
ExecutiveCommittee:DonaldGotterbarn(Chair),KeithMillerandSimonRogerson
Members:SteveBarber,PeterBarnes,IleneBurnstein,MichaelDavis,AmrElKadi,
N.BenFairweather,MiltonFulghum,N.Jayaram,TomJewett,MarkKanko,Ernie
Kallman,DuncanLangford,JoyceCurrieLittle,EdMechler,ManuelJ.Norman,
DouglasPhillips,PeterRonPrinzivalli,PatrickSullivan,JohnWeckert,VivianWeil,
S.WeisbandandLaurieHonourWerth.
ThisCodemaybepublishedwithoutpermissionaslongasitisnotchangedinany
wayanditcarriesthecopyrightnotice.Copyright(c)1999bytheAssociationfor
ComputingMachinery,Inc.andtheInstituteforElectricalandElectronicsEngineers,
Inc.

http://www.acm.org/about/secode

7/7

You might also like