Saturday, June 27, 2015

Common Calendar for Four religious societies of University of Colombo using Google Calendar tool

Common Calendar for four religious societies of University of Colombo
using Google Calendar tool

                                                                                                                                             

Introduction to the project
         
We implemented this system as software engineering solution to the problem of difficulty in getting to know religious society events within the society, and to get to know about other religious society events. Four leaders who were the users of this system from four religious societies of University of Colombo.
We created four gmail accounts for the four religious societies of University of Colombo, Buddhist, Muslim, Christian and Hindu. Then we gathered requirements from our clients and made four google calendars each society. We integrated the four calendars, which allows one society to see the events of the other religious societies. Before deploying our system in their environment, we did a small session for them introducing the system and providing the basic details as to how they can work with the system and the benefits that they would gain from it.

Applying Code of ethics


1.PUBLIC

1.01.  Accept full responsibility for their own work

            In our system, we as Software Engineers, took full responsibility for our own system implementation.


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.

To the appropriate persons and authorities (the four society leaders), we disclosed the fact that sms notifications will be cancelled after June 27th, as google has decided to stop the service. This was also mentioned in the user manual. We also notified them about “Google Calendar Labs”, (a testing ground for experimental features that aren't quite ready for primetime) that they may changebreak or disappear at any time. It was of potential danger to the user since they would expect from certain functionalities that would malfunction due to the calendar tool.



1.07. Consider issues of physical disabilities, allocation of resources, economic disadvantage and other factors that can diminish access to the benefits of software.

Browser plugin was the major feature I found which could diminish access to the software since it is browser dependent and cannot be accessed from any other device.




2. CLIENT AND EMPLOYER


2.02. Not knowingly use software that is obtained or retained either illegally or unethically.
We have not used any illegal or unethical software in our system. Google calendar tool is freely available for any gmail user. It is legal and has the license and also it is not ethical.

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.
We have used phone numbers of our clients for the gmail account creation and sms extension and it was used with their knowledge.

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.
            We have used our clients’ phone numbers as confidential data, and also all the gmail account passwords are handles by us. So privacy is needed in these. We have asked them to change the passwords after giving the system to them to fully use.

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.
            We have documented a user manual and in it we report all the vulnerabilities (such as ‘labs’) of the system, and if there is a fail, where it would be. Since google is a reputed trustworthy company, there were no opinion on failing of this product by the client. They had no opinion on proving too expensive since this was a free product.


3. PRODUCT

3.01 Strive for high quality, acceptable cost and a reasonable schedule, ensuring significant trade offs are clear to and accepted by the employer and the client, and are available for consideration by the user and the public.
            High quality is maintained. Cost is free, which is acceptable.  Significant tradeoffs I recognized are, the different colours we assigned to the calendars, to get more clarity to the integrated of the calendar. These were accepted by the client and us. Also available for consideration by the user and the public. If they come up with a good alternative, we as maintainers of the system are ready to consider it.
           
3.02. Ensure proper and achievable goals and objectives for any project on which they work or propose.
            Proper and achievable goals were set to deploy the given project within a time period. The goals and objectives were achievable.
3.03. Identify, define and address ethical, economic, cultural, legal and environmental issues related to work projects.
            Cultural issues were addressed in our project. Since we were combining four calendars together, there has to be standards maintained. Color of the calendars were defined by us, (Buddhist Society- Orange, Islam Society- Green, Hindu Society Christian Society- Purple) and was asked to stick to it in order to avoid viewing trouble.

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

            The software on which our calendar works is google calendar, and we have strived to fully understand it. It can be confirmed by our user manual and the documents available to study this tool, since we have tried to provide all possible facilities.         

3.08. Ensure that specifications for software on which they work have been well documented, satisfy the users’ requirements and have the appropriate approvals.
            Specifications for software in which we work has been well documented in our user manual. Any changes they should make has been mentioned in the user manual. This satisfies the users as we taught how to use it and appropriate approval for the system was gained from the clients.

3.10.   Ensure adequate testing, debugging, and review of software and related documents on which they work.
            Adequate testing has been done for the gmail notification and sms notifications by using team members’ contact numbers. Testing was successful. Review of software was searched by contacting similar users (personal and teams) and the issues they face using the calendar tool. Web resources were also used to take reviews.

3.15. Treat all forms of software maintenance with the same professionalism as new development.
Maintenance of the system is highly considered in this system. By looking at the user manual the users can make any change they wish to the system and also if there were any failure in the system we have asked the users to contact us. Our contact details are provided in the user manual itself. Same professionalism could be maintained by this.



4. JUDGMENT


4.04. Not engage in deceptive financial practices such as bribery, double billing, or other improper financial practices.
            This system is given free of charge to the clients. The tool is also freely available. Therefore we have not engaged in deceptive and improper financial practices. 

5. MANAGEMENT

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.
            Even though this tool was a free tool, we had to ensure that it is totally free to remove the uncertainty of clients’ assumptions of charging for sms and other facilities.

6. PROFESSION


6.02. Promote public knowledge of software engineering.
            This system is for the four religious societies in the university. By using the integrated calendar, the public will get to know about what this system serves and the efficiency of having such a system. Such as getting to know about events happening around the university at anytime from anywhere.  Also by letting the calendar share within the members of one society, they will know the benefit of having such a system. These will promote public knowledge about software engineering.

6.05. Not promote their own interest at the expense of the profession, client or employer. 
            Promoting our own interest at the expense of profession, client or employer is harmful for the software engineering position. Since this project was a team work, individual interests have been avoided to a good rate. Also, we have honored all requirements and feedback in the middle of the project.

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.
            All characteristics of the software has been revealed by providing the clients with a user manual and also we have mentioned about web resources such as google calendar help, which they can refer. By doing this we have avoided misleading, deceptive claims.  
6.08. Take responsibility for detecting, correcting, and reporting errors in software and associated documents on which they work.
            Errors in software are clearly detected and reported while we were training the clients and also in the user manual we have mentioned vulnerable points (found in ‘labs’) of the software.

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.
            We have verbally informed clients about this Code of ethics. Our supervisor knows well about this as well.
6.10. Avoid associations with businesses and organizations which are in conflict with this code.
            We have not been associated with any other organizations, therefore no such conflicting organizations are associated.
6.11. Recognize that violations of this Code are inconsistent with being a professional software engineer.
            It is very important to work according to this standard, since this standard code of ethics covers all aspects of being a professional software engineer. Software engineer is a profession. All professions and professionals maintain standards. There are benefits of keeping standards and violation of them, would cause harm to not only the individual, but the profession. Therefore violations of this Code are inconsistent with being a professional software engineer.
           

7.  COLLEAGUES

7.01. Encourage colleagues to adhere to this Code.
            By writing this blog individually, colleagues have been encouraged to adhere to this code.
7.02. Assist colleagues in professional development.
            Since this was a team work, professional development was surely maintained since we assisted each other, to use this Code as a guide and supervisor’s instructions were taken and shared among the colleagues.
7.03. Credit fully the work of others and refrain from taking undue credit.
            Undue credit has not been taken by us, the work of each of us has been fully credited. This could be proved by everybody agreeing on this code.
7.05. Give a fair hearing to the opinions, concerns, or complaints of a colleague.
            Team work was successful because we listened to each other’s opinions, concerns and complains. The use of browser plugin, colours, integrated calendar were outcomes of listening to colleagues.

8: SELF

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.
            Knowledge of developments in the analysis and specification was improved by contacting with clients and during requirement gathering. Design, development were improved during our team discussions and actual implementation. Testing of software was done by us, for sms notification and gmail notifications. 
8.03. Improve their ability to produce accurate, informative, and well-written documentation.
            By writing the user manual we have improved the 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.
            Understanding of the software and related document was improved during the study of google calendar tool in order to fully utilize it. Environment on which they will be also was understood by contacting clients and by visits to multi religious events.
8.06 Improve their knowledge of this Code, its interpretation, and its application to their work.
            Application of Code to the work was done since we were informed to follow this Code during the project. It can be confirmed by this blog, in which we have noted where we have applied the Code in the system.  Knowledge was improved since we practically applied and by doing this blog.
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.
            We have influenced others to follow this code, thus not influenced them to undertake actions that involves a breach of this Code.
8.09. Recognize that personal violations of this Code are inconsistent with being a professional software engineer.
            Personal violations of this Code will lead to less proficiency in a software engineering career. Therefore we have recognized the importance of following this Code of ethics.