8.01. 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.


As it is conveyed in the Code of Conduct software engineers shall enhance their knowledge of every process that they would have to go through such as requirement gathering, analyzing, designing, development, maintenance and testing with related documentation as well as the management of the project. By not following this Code might not result any critical outcomes to either the developer or the product. But it is advised to adhere to this code in order to improve the self-knowledge and self-experience. If there are developers who do not concern much about improving their knowledge, which they should, will eventually be left behind in the field as the information and communication technology is kind of a field that has a rapid development and subjected to continuous change.

For undergraduates like us, this kind of projects provide maximum opportunity to touch the practical areas of web development and software engineering. Therefore we as a team put our best effort to learn and improve our knowledge in every stage of the development.

Requirement gathering phase was not very difficult as we had a client with a better understanding about our boundaries and experiences. There was not much difficult things to learn from that phase. That being said the analysis of the requirements we gathered wasn’t that much easy as previous. We had to make sure that all the specifications were analyzed and understood properly to get to the next stage which was designing. We had several discussions with client as well as team members towards identifying the requirements accurately.

The designing phase gave us the opportunity to get a real life experience by applying what we have learned through our course in a practical manner. This includes several practical scenarios such as handling of database, managing colors, designing user friendly interfaces and etc.

Implementation of the functionalities was helpful in strengthening our experience in programming and we had to learn new methodologies, coding practices so as to make sure the final product meet with the exact requirements provided by client. In testing also we had the chance to apply what we learned as theories practically.

As mentioned before the incremental development method was the development procedure we followed when working on the project. Working on the project using that method delivered us a great real life experience in how to manage our activities to furnish a quality product. Time management is one of the major experience which we had through working on this project. Although there was no documentation involved in the process we as a team had an excessive chance to further our knowledge in many extents.

2 comments:

6.08. Take responsibility for detecting, correcting, and reporting errors in software and associated documents on which they work.


By being professionals in the field of software engineering and web developing we shall take responsibility for identifying, correcting and reporting errors or faults in the software or website we develop including the errors in documentation. In other words this could state as improving the quality of the product by removing any unnecessary or faulty behaviors which will arise in the usage of the product and by delivering a professional documentation.

When developing and redesigning the web site ReputeU a considerable weight was given to detect any errors or faults it had. The errors associated with the product can be categorized into two sections. They are,

• Errors of previous work

• Errors of our own work

There were some errors of previous work which we distinguished within the period of analyzing. All the errors which were discovered were noted down with relevant details and later taken into discussions on how to correct those errors. These discussions took place with client as well as team members. The necessary steps had been taken to correct those errors as a result of those meetings and discussions.

Within the testing period of our own developments discovered numerous errors. As it dictates in this very own code we took responsibility of detecting those errors and correcting them in best possible ways. I and my colleagues as a team did not violate this code by not correcting or hiding errors which was revealed during the testing process.

The relevant documentations were not taken into consideration when developing specific functionalities and redesigning the web site. Hence it was not possible for the project team to identify any kind of errors regarding the documentation. Furthermore the project team didn’t deliver any sort of new documentation with the redesigned product.

0 comments:

7.03. Credit fully the work of others and refrain from taking undue credit.


It is a vital fact that the software engineers and web developers shall give full credit to work of others and refrain from taking undue credit for work which they are not creditable. Although it is also unprofessional to take credit for other’s work, the code of conduct states that it is highly unethical more than unprofessional to undertake that kind of actions.

This code can be broken into several scenarios under how the work of others has to be credited. The possible scenarios are,

• Grant credit to each team member for their own work.

• Grant credit to information which we derived from websites, articles or books and etc.

• Grant credit to those who assist the team by providing information, knowledge as well as technical support.

First and foremost the team conceded to credit every member for their own work regarding the redesign and development of the ReputeU web site. The three members carried out different areas of development together. One member carried out the designing part, another the analyzing and data collecting part and next member most of the coding part. Apart from that all three members placed their contribution on finalizing the product. The credit to each and every function the members executed had been given consequently. No member tried to take credit on others work or abstained others from having credit to their own work.

We as university undergraduates accept that there are limitations to our knowledge. Therefore we took support from our superiors as well as our own colleagues in developing the functionalities required. We do not hesitate to give full credit to their support and the knowledge given.

Our team did not refer any books to obtain information mentioned in the site. But we went through several articles on few websites to clarify the accuracy of the information we possessed. We would not hesitate to grant necessary credit for those articles and websites for those information we got.

0 comments:

7.01. Encourage colleagues to adhere to this Code.


Being a professional software engineer or a professional web developer has its own responsibilities. One of them as mentioned in the code of conduct is to encourage their colleagues to adhere to this code. So as to follow this code first a particular software engineer or a web developer should adhere to this code himself or herself. Then he or she can inspire his or her colleagues to follow the code by any means necessary.

In the formation of design and functionalities of ReputeU website all three members made sure that each and every member adhere to this ‘Code of Conduct’ by following the codes it provides. We individually understood the importance of following this code and the values it can provide us in the long run and tried to educate each other in best possible ways. Subsequently what we expected was to minimize our wrong doings and faults from happening or avoid having inappropriate outcomes through the functionalities of the site.

When we had problems with regard to the project we work on, we as team had discussions, brain storming sessions in order to find the finest possible solution to overcome the problem. Within the process the code of conduct played a great role assisting us, educating us and remembering us what we ought and ought not to do. We ensured that no one in the team would violate any of those codes mentioned by inciting everyone to the right way of doing things.

For instance our team had a discussion on how to get users to post their virtue stories on the site, whether to provide a direct link to post it online or should it go through the admin panel first before posting it online. A member had a suggestion to provide a direct link so that the user will be satisfied. But conferring to code of conduct we shall maintain the integrity and accuracy of data and information and they are properly authorized towards protecting the site from having flawed occurrences. We educated and encouraged him about how important it is to adhere to this code and the shortcomings we will face if we do not do accordingly. Finally all three members agreed to provide an email for users to send virtue stories where those will be examined to validate properly before posting. And the users will be clearly apprised if there are any issues.

0 comments:

5.01 Ensure good management for any project on which they work, including effective procedures for promotion of quality and reduction of risk.


Developing a software or a website doesn’t just mean delivering the functionalities requested by the client. It also means managing the project in an effective and efficient manner including maintaining a genuine quality while diminishing the risk it holds. What would software engineer or a website developer anticipate by putting an extra effort to manage their project and promote the quality? They would gain numerous advantages by doing so. Some of them can be categorized as follows.


• Reduce customer/user dissatisfaction by having a complete error free website.

• Reduction in illegal issues.

• There is a highly likelihood that the user will revisit the site because of the proper management.

• Increase the user-friendliness of the site.

• Easy to maintain and improve the site in the future while reducing the maintenance cost.

• Reduction of faults and failures due to low quality of functionalities.

• The site will meet the required standards.

Code of conducts dictates that software engineers shall conduct a better management for the project they work and ensure the quality of the product while reducing the risks. And that will eventually lead to the success of the project by all means.

When developing and re-developing functionalities and design of the ReputeU site we were highly concerned about managing our work. The team decided to use incremental development method in developing the website as it is one of those methods which provide the facility to cope with the client while progressing. The team made sure that every team member get the best case to develop their knowledge. We followed necessary procedures in order to get a better result as well as to get maximum out of our knowledge.

Minimizing the risks is one of the main considerations we had and to do so we followed best possible scenarios such as data validations, content management and user authorization and authentication etc. As a team we had a good communication between team members and that ultimately led us to have a better management through the project.

0 comments:

3.14. Maintain the integrity of data, being sensitive to outdated or flawed occurrences.


Obligation to maintain the integrity of data is one of the main considerations which software engineers should adhere according to the code of conduct. They shall also be concerned about getting outdated or flawed occurrences in their product. This may cause negative impacts on the work that has been done. Users of the product may not be satisfied with the outcome they get. Thus it is dominant to retain the integrity and eliminate the outdated or flawed occurrences as much as possible.

ReputeU website contains a bunch of information about virtues and vices. Users are able to rate their friends on requests and rate themselves using these virtues and vices. Hence it is very important that the users understand what each virtue and vice states. We as developers of the site, administered certain descriptions on each virtue in order to provide a better and clear understanding to users. The integrity of those descriptions was a main concern and hence were taken from trustworthy sources.

The ReputeU website allows users to post virtue stories with regard to the virtues described in the site. By having the freedom to post any virtue story, there might be some situations that the user will post false information. For instance a user can post a virtue story of some famous person in a wrong way. To avoid this situation we as the admin panel of the website, decided to examine and validate every virtue story the user submit before publishing it. We are hoping to get some expert knowledge to validate those information as well.

By providing a good maintenance service regularly the project team expect to eliminate any outdated information and flawed occurrences which can appear through the usage of the site. We will do our best to avoid those from happening and we will take full responsibility if there are any defective information or functionalities.

0 comments:

3.07. Strive to fully understand the specifications for software on which they work.


As it is conveyed in the code of conduct, software engineers should endeavor to understand the specifications of the software that they are currently working on or they are going to develop in the future. It is very important that they completely understand the requirements given by the client to reach the expected results. If failed to identify the specifications completely it would eventually lead to several unfavorable effects such as wrong outputs from functions, inappropriate designs, unsatisfied clients and users and etc. Therefore the complete understanding of specifications is considered essential with regard to developing of the software.

Pertaining to ReputeU website which we are intended to develop, we are responsible for what we understand from the specification and what we develop accordingly. Hence we put our maximum effort to comprehend the specifications of the site and its domain. In order to do so our team had several meetings with the client in every stage of the development. In our meetings the discussions took place on clarifying the problems arose and to make sure that the client is well aware of our work and its progress. The client viewed the work and placed his comments and suggestions with regard to the functionalities as well as design of the site. Those suggestions and comments were taken into consideration for improving the site further.

Apart from those meetings, we had team meetings on every week in order to discuss the issues each member had and those were also supportive in understanding the specifications clearly. It was not necessary to use requirement gathering techniques such as questionnaires or interviews as the specifications were clear and well understood after several meetings with the client. To gain a better understanding on how to implement several functionalities our team studied and researched websites with similar functionalities and went through some tutorials wish provide us a great benefit.

0 comments:

2.01. Provide service in their areas of competence, being honest and forthright about any limitations of their experience and education.


As specified in the code of conduct, software engineer shall act in a manner that they are to be honest about their competency, education and their experience with the client. The trust of the client should be protected by being authentic about the skills and experience that the developers of the system possess as it may eventually affect their profession in the field of software engineering. Therefore it will be a long term benefit to the software engineer in the run. Not being honest might bring about harm to both parties in numerous ways. Client might lose the trust on the developers as well as the field ultimately. Developers will get bad, unsatisfied feedback which will influence their future negatively.

Our team as mentioned before consists of three members and all three members are undergraduates of the university. Hence the team lacks experience, and the knowledge on the field is not vast. Having a client in the same filed provide us a great advantage and an opportunity to convince him about our limitations. The client and our team had a better understanding of each other and the requirements are therefore discussed and bent accordingly without having any conflicts.

The code not only states that the software engineers should be honest with their limitations but to provide the best for the client and public. We as a team placed our knowledge and experience in every possible mean to make the product better in every field such as designing, technical and content finding. Furthermore we were able to finish every requested functionality up to their standards. 

0 comments:

1.02. Moderate the interests of the software engineer, the employer, the client and the users with the public good


It is a vital responsibility to deal with the interests of the users and our own. As it is dictated in the code of conduct the developers shall moderate the interests of the client, user and themselves. If developers in some mean, fail to meet with this code as it conveys there will be serious consequences. For instance, if the client asks to put content on the site or system that will cause harmful effects to the society in some way or if a user needs to do something that will have a severe effect on other users’ activities or their well-being it will not be accepted or it will be accepted to such a degree that there will not be any negative consequences by any means.

The ReputeU site, which is intended to improve the virtues of its users, needs to cope with its users to handle their needs smoothly. Hence the developers should maintain the content that are being posted on the site by its users and those content need to comply with the public good. The site provides the capability for users to rate themselves as well as their friends. Once a user is registered to the site they can add friends to their own profile by sending them a request. Users can also ignore the requests sent by others and if a user ignores a request, both the users will no longer be able to connect with each other as they will be restricted to each other. The professionalism of the site is well maintained and the users of the site need to understand how to use it with responsibility.

Users can also add articles to the site as virtue stories. But the articles will be first reviewed and examined carefully by the admin panel before posting it on the site. In case any unsuitable article was submitted the client will be notified immediately with the relevant details. We as the admin panel pay much attention to handle the users in a tactful manner as they would not sense any disrespect and the well-being of the community is protected.

0 comments:

1.01. Accept full responsibility for their own work


As it is revealed in the very first code in code of conduct, the developers shall accept the full responsibility of their own work and they are accountable for any problems which arise relating to their work.

Being the developers of the web site ReputeU, we take full responsibility for our own modifications to the site. Any opposing implications will be considered and it is our sole responsibility to answer any complications concerning the usage.

We have developed several extents regarding the site including the design, content adding and developing of new functionalities. All the requirements and specifications were analyzed thoroughly and if there were any problems, they were solved through discussion among the team members and the client. A project plan was developed including each and every modification that has to be done according to the requirement specification. Then the implementation on each part and functionality was done following the project plan, by each member, considering all the standards and procedures to meet the required quality measures.

Apart from technical matters, we are accountable for any ethical issues which might occur during the usage. The site will have information about its members and both security and the privacy of those information will be guaranteed. We did our best to make sure that there will not be any liabilities in our work by testing the site with different means.

The team consists of three members and all three members are assigned for different parts of modifications. Each member takes full responsibility for their own part and as a team all three members take responsibility for all the work done.

0 comments:

Team members and links to their Blogs

The project team consists of three members including me, V.A. Isuru, J.A.P.H. Perera and L.M.H. Wijesekara. All three members carried out different parts of the project such as designing, data gathering and verifying and developing.

Below mentioned are the links to other 2 members’ blog sites.

L.M.H. Wijesekara - http://reputeumaneesha.blogspot.com/

J.A.P.H. Perera - http://codeofconductphp.blogspot.com/

0 comments:

ReputeU - Your Ultimate Reputation Solution


ReputeU is a website with an ultimate solution for your reputation. It provides a platform for you to link with others and get an appraisal by others as well as yourselves. You being honest and truthful about yourself is more important when you using this site. If you do so you will get a clear solution and review for yourself eventually. Site allows you to connect with your friends and make groups furthermore. You can use those groups to measure yourselves with each other.

What you gain from here will help you to understand about yourself as well as others. We offer several virtues in the site and you can go through each of them and understand how important those are to your life. You can also contribute to the site enhancement by providing any virtue stories you have. Just contact us with your precious story.

Don’t worry about your privacy or security of your details. We keep them safe from others. You can even block people from your account. People who will be blocked won’t be able to see your ratings any more.

Below mentioned is the link to ReputeU website and this blog is about attained the code of ethics and professional practices when developing the site.

0 comments:

Software Engineering Code of Ethics and Professional Practice - Full Version

PREAMBLE


Computers have a central and growing role in commerce, industry, government, medicine, education, entertainment and society at large. Software engineers are those who contribute by direct participation or by teaching, to the analysis, specification, design, development, certification, maintenance and testing of software systems. Because of their roles in developing software systems, software engineers have significant opportunities to do good or cause harm, to enable others to do good or cause harm, or to influence others to do good or cause harm. To ensure, as much as possible, that their efforts will be used for good, software engineers must commit themselves to making software engineering a beneficial and respected profession. In accordance with that commitment, software engineers shall adhere to the following Code of Ethics and Professional Practice.
The Code contains eight Principles related to the behavior of and decisions made by professional software engineers, including practitioners, educators, managers, supervisors and policy makers, as well as trainees and students of the profession. The Principles identify the ethically responsible relationships in which individuals, groups, and organizations participate and the primary obligations within these relationships. The Clauses of each Principle are illustrations of some of the obligations included in these relationships. These obligations are founded in the software engineer's humanity, in special care owed to people affected by the work of software engineers, and in the unique elements of the practice of software engineering. The Code prescribes these as obligations of anyone claiming to be or aspiring to be a software engineer.
It is not intended that the individual parts of the Code be used in isolation to justify errors of omission or commission. The list of Principles and Clauses is not exhaustive. The Clauses should not be read as separating the acceptable from the unacceptable in professional conduct in all practical situations. The Code is not a simple ethical algorithm that generates ethical decisions. In some situations, standards may be in tension with each other or with standards from other sources. These situations require the software engineer to use ethical judgment to act in a manner which is most consistent with the spirit of the Code of Ethics and Professional Practice, given the circumstances.
Ethical tensions can best be addressed by thoughtful consideration of fundamental principles, rather than blind reliance on detailed regulations. These Principles should influence software engineers to consider broadly who is affected by their work; to examine if they and their colleagues are treating other human beings with due respect; to consider how the public, if reasonably well informed, would view their decisions; to analyze how the least empowered will be affected by their decisions; and to consider whether their acts would be judged worthy of the ideal professional working as a software engineer. In all these judgments concern for the health, safety and welfare of the public is primary; that is, the "Public Interest" is central to this Code.
The dynamic and demanding context of software engineering requires a code that is adaptable and relevant to new situations as they occur. However, even in this generality, the Code provides support for software engineers and managers of software engineers who need to take positive action in a specific case by documenting the ethical stance of the profession. The Code provides an ethical foundation to which individuals within teams and the team as a whole can appeal. The Code helps to define those actions that are ethically improper to request of a software engineer or teams of software engineers.
The Code is not simply for adjudicating the nature of questionable acts; it also has an important educational function. As this Code expresses the consensus of the profession on ethical issues, it is a means to educate both the public and aspiring professionals about the ethical obligations of all software engineers.

PRINCIPLES

Principle 1 PUBLIC Software engineers shall act consistently with the public interest. In particular, software engineers shall, as appropriate:
1.01.  Accept full responsibility for their own work.
1.02.  Moderate the interests of the software engineer, the employer, the client and the users with the public good.
1.03.  Approve software only if they have a well-founded belief that it is safe, meets specifications, passes   appropriate tests, and does not diminish quality of life, diminish privacy or harm the environment. The ultimate effect of the work should be to the public good.
1.04.  Disclose to appropriate persons or authorities any actual or potential danger to the user, the public, or the environment, that they reasonably believe to be associated with software or related documents.
1.05.  Cooperate in efforts to address matters of grave public concern caused by software, its installation, maintenance, support or documentation.
1.06.  Be fair and avoid deception in all statements, particularly public ones, concerning software or related documents, methods and tools.
1.07.  Consider issues of physical disabilities, allocation of resources, economic disadvantage and other factors that can diminish access to the benefits of software.
1.08.  Be encouraged to volunteer professional skills to good causes and to contribute to public education concerning the discipline.

Principle 2 CLIENT AND EMPLOYER Software engineers shall act in a manner that is in the best interests of their client and employer, consistent with the public interest. In particular, software engineers shall, as appropriate:
2.01. Provide service in their areas of competence, being honest and forthright about any limitations of their experience and education.
2.02. Not knowingly use software that is obtained or retained either illegally or unethically.
2.03. Use the property of a client or employer only in ways properly authorized, and with the client's or employer's knowledge and consent.
2.04. Ensure that any document upon which they rely has been approved, when required, by someone authorized to approve it.
2.05. Keep private any confidential information gained in their professional work, where such confidentiality is consistent with the public interest and consistent with the law.
2.06. Identify, document, collect evidence and report to the client or the employer promptly if, in their opinion, a project is likely to fail, to prove too expensive, to violate intellectual property law, or otherwise to be problematic.
2.07. Identify, document, and report significant issues of social concern, of which they are aware, in software or related documents, to the employer or the client.
2.08. Accept no outside work detrimental to the work they perform for their primary employer.
2.09. Promote no interest adverse to their employer or client, unless a higher ethical concern is being compromised; in that case, inform the employer or another appropriate authority of the ethical concern.

Principle 3 PRODUCT Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. In particular, software engineers shall, as appropriate:
3.01. Strive for high quality, acceptable cost, and a reasonable schedule, ensuring significant tradeoffs are clear to and accepted by the employer and the client, and are available for consideration by the user and the public.
3.02. Ensure proper and achievable goals and objectives for any project on which they work or propose.
3.03. Identify, define and address ethical, economic, cultural, legal and environmental issues related to work projects.
3.04. Ensure that they are qualified for any project on which they work or propose to work, by an appropriate combination of education, training, and experience.
3.05. Ensure that an appropriate method is used for any project on which they work or propose to work.
3.06. Work to follow professional standards, when available, that are most appropriate for the task at hand, departing from these only when ethically or technically justified.
3.07. Strive to fully understand the specifications for software on which they work.
3.08. Ensure that specifications for software on which they work have been well documented, satisfy the users' requirements and have the appropriate approvals.
3.09. Ensure 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.
3.10. Ensure adequate testing, debugging, and review of software and related documents on which they work.
3.11. Ensure adequate documentation, including significant problems discovered and solutions adopted, for any project on which they work.
3.12. Work to develop software and related documents that respect the privacy of those who will be affected by that software.
3.13. Be careful to use only accurate data derived by ethical and lawful means, and use it only in ways properly authorized.
3.14. Maintain the integrity of data, being sensitive to outdated or flawed occurrences.
3.15 Treat all forms of software maintenance with the same professionalism as new development.

Principle 4 JUDGMENT Software engineers shall maintain integrity and independence in their professional judgment. In particular, software engineers shall, as appropriate:
4.01. Temper all technical judgments by the need to support and maintain human values.
4.02 Only endorse documents either prepared under their supervision or within their areas of competence and with which they are in agreement.
4.03. Maintain professional objectivity with respect to any software or related documents they are asked to evaluate.
4.04. Not engage in deceptive financial practices such as bribery, double billing, or other improper financial practices.
4.05. Disclose to all concerned parties those conflicts of interest that cannot reasonably be avoided or escaped.
4.06. Refuse to participate, as members or advisors, in a private, governmental or professional body concerned with software related issues, in which they, their employers or their clients have undisclosed potential conflicts of interest.

Principle 5 MANAGEMENT Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. In particular, those managing or leading software engineers shall, as appropriate:
5.01 Ensure good management for any project on which they work, including effective procedures for promotion of quality and reduction of risk.
5.02. Ensure that software engineers are informed of standards before being held to them.
5.03. Ensure 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.
5.04. Assign work only after taking into account appropriate contributions of education and experience tempered with a desire to further that education and experience.
5.05. Ensure 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.
5.06. Attract potential software engineers only by full and accurate description of the conditions of employment.
5.07. Offer fair and just remuneration.
5.08. Not unjustly prevent someone from taking a position for which that person is suitably qualified.
5.09. Ensure 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.
5.10. Provide for due process in hearing charges of violation of an employer's policy or of this Code.
5.11. Not ask a software engineer to do anything inconsistent with this Code.
5.12. Not punish anyone for expressing ethical concerns about a project.

Principle 6 PROFESSION Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. In particular, software engineers shall, as appropriate:
6.01. Help develop an organizational environment favorable to acting ethically.
6.02. Promote public knowledge of software engineering.
6.03. Extend software engineering knowledge by appropriate participation in professional organizations, meetings and publications.
6.04. Support, as members of a profession, other software engineers striving to follow this Code.
6.05. Not promote their own interest at the expense of the profession, client or employer.
6.06. Obey all laws governing their work, unless, in exceptional circumstances, such compliance is inconsistent with the public interest.
6.07. 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.
6.08. Take responsibility for detecting, correcting, and reporting errors in software and associated documents on which they work.
6.09. 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.
6.10. Avoid associations with businesses and organizations which are in conflict with this code.
6.11. Recognize that violations of this Code are inconsistent with being a professional software engineer.
6.12. Express concerns to the people involved when significant violations of this Code are detected unless this is impossible, counter-productive, or dangerous.
6.13. 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.

Principle 7 COLLEAGUES Software engineers shall be fair to and supportive of their colleagues. In particular, software engineers shall, as appropriate:
7.01. Encourage colleagues to adhere to this Code.
7.02. Assist colleagues in professional development.
7.03. Credit fully the work of others and refrain from taking undue credit.
7.04. Review the work of others in an objective, candid, and properly-documented way.
7.05. Give a fair hearing to the opinions, concerns, or complaints of a colleague.
7.06. Assist colleagues in being fully aware of current standard work practices including policies and procedures for protecting passwords, files and other confidential information, and security measures in general.
7.07. Not unfairly intervene in the career of any colleague; however, concern for the employer, the client or public interest may compel software engineers, in good faith, to question the competence of a colleague.
7.08. In situations outside of their own areas of competence, call upon the opinions of other professionals who have competence in that area.

Principle 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:
8.01. 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.
8.02. Improve their ability to create safe, reliable, and useful quality software at reasonable cost and within a reasonable time.
8.03. Improve their ability to produce accurate, informative, and well-written documentation.
8.04. Improve their understanding of the software and related documents on which they work and of the environment in which they will be used.
8.05. Improve their knowledge of relevant standards and the law governing the software and related documents on which they work.
8.06 Improve their knowledge of this Code, its interpretation, and its application to their work.
8.07 Not give unfair treatment to anyone because of any irrelevant prejudices.
8.08. Not influence others to undertake any action that involves a breach of this Code.
8.09. Recognize that personal violations of this Code are inconsistent with being a professional software engineer.

This Code was developed by the IEEE-CS/ACM joint task force on Software Engineering Ethics and Professional Practices (SEEPP):


Executive Committee: Donald Gotterbarn (Chair), Keith Miller and Simon Rogerson;
Members: Steve Barber, Peter Barnes, Ilene Burnstein, Michael Davis, Amr El-Kadi, N. Ben Fairweather, Milton Fulghum, N. Jayaram, Tom Jewett, Mark Kanko, Ernie Kallman, Duncan Langford, Joyce Currie Little, Ed Mechler, Manuel J. Norman, Douglas Phillips, Peter Ron Prinzivalli, Patrick Sullivan, John Weckert, Vivian Weil, S. Weisband and Laurie Honour Werth.

©1999 by the Institute of Electrical and Electronics Engineers, Inc. and the Association for Computing Machinery, Inc.

This Code may be published without permission as long as it is not changed in any way and it carries the copyright notice.

0 comments:

Software Engineering Code of Ethics and Professional Practice - Short Version

PREAMBLE


The short version of the code summarizes aspirations at a high level of abstraction. The clauses that are included in the full version give examples and details of how these aspirations change the way we act as software engineering professionals. Without the aspirations, the details can become legalistic and tedious; without the details, the aspirations can become high sounding but empty; together, the aspirations and the details form a cohesive code.
Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:

01. PUBLIC - Software engineers shall act consistently with the public interest.

02. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer, consistent with the public interest.

03. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.

04. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.

05. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.

06. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.

07. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.

08. 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.

1 comments:

Contact Me

Name

Email *

Message *