Friday, June 13, 2014

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.

Software project management is the art and science of planning and leading software projects. In Civic Issues Tracking System, we have to deal with resources from the deployment environment and they have to be carefully managed. Human resources, Physical resources, Financial and informational resources have to be managed here. The way these resources should be used must be planned very well and usage of them must be controlled under a good supervision.

Human resources are the people who use the software product. Project must be planned and managed to feel nothing uncomfortable for them. Their work should feel easier after the installation of the project.
Existing physical resources can be used in the environment of municipal council.
There is nothing to consider about financial resources since no any other physical resource installment is needed.

Informational resources can be taken from the municipal council (i.e: how they manage civic issues currently, the way they getting reported etc;).

So by planning and managing the project “Civic Issues Tracking System” well quality of the project can be improved and risk will get reduced.

5.02. Ensure that software engineers are informed of standards before being held to them.

In this case attention has to be focused mostly to the desktop application since it is the component which is going to be used in an environment where rules and regulations applies to every single task which take place. There are standards followed by municipal councils imposed by the government. So application component also must follow and according to that particular standards.

Mobile application and web application are going to be used within the public. But they are parts of a system which is maintained under a government. So they also have to follow standards imposed by the government and the municipal council.

Software development standards are also there. If one particular development method is to be followed, software engineers must talk about that with the municipal council before developing.

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.

When it comes to use software, there must be ways to protect user’s authenticity, confidentiality, privacy and other things. (Integrity of information, protection of user accounts etc.). In our case municipal council’s policies are applied to protect user data and information. Users can make profiles/accounts in Civic Issues Tracking System for them and their privacy and confidentiality must be protected.  

In this case employer policies are the policies imposed by the municipal council imposed on them. Since we have no client at the situation, our system has to be configured to accept the policies on user data, passwords and information at the point of deployment.

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.

The project Civic Issues Tracking System has been divided into parts and those parts are being developed individually. Collecting and assembling those parts is to be done after the completion of individual parts.

Desktop application, web application and mobile applications are being developed by the software engineers separately. Those software engineers are well practiced in that particular fields assigned to them and they are only focusing of their part.

Desktop application is being developed by team members who are specialized in Java web technologies. Mobile applications are being developed by team members who are specialized in that area. Desktop application is being developed by a team member who is specialized in desktop application development in Java Swing. 
Principle 4 JUDGMENT 

Software engineers shall maintain integrity and independence in their professional judgement. In particular, software engineers shall, as appropriate:

4.01. Temper all technical judgments by the need to support and maintain human values.

Civic Issues Tracking System (CITS) is made for the use of Public. Therefore maintaining and supporting human values is an important aspect of our software project. Hence all the technical judgments must be done to support them.

Civic Issues Tracking System is going to be used within Sri Lanka. Therefore graphical user interfaces must be provided with the support of native languages. Descriptions of features/functions of public user application (Hasna mobile application) will be included in Sinhala. Hence people can interact with the system easily.

In the other hand, all three applications (web application, mobile application, desktop application) will be connected to the server through a web service. They will not be connected to the server directly. When a modification to the database in the server is required, no harm will be done to the application because of the web service. Therefore no interruption will be occurred in the point of view of end user of the system. That is the another point we considered when talking about supporting 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.

Software requirement specification document was created recently. It was created under the supervision of our client and the software engineers. Software engineers (our group members) involved for the creation of SRS.

A user manual document will be created for Civic Issues Tracking System which describes the way system components should be used. The way system components will be used will be documented under the supervision of software engineers (in this case our group members).

4.03. Maintain professional objectivity with respect to any software or related documents they are asked to evaluate.

When implementing our software applications, professional objectivity of the place where our applications are going to be used must be maintained. Our desktop application is going to be used in an environment where people do their jobs and authorized persons take the necessary actions to rule a local government area. Hence our desktop application must be in a professional level to be used in a particular environment and objectivity must be protected. Main vision/main functionality of that particular application will be to coordinate civic issues which were reported through web site and mobile application. So, that functionality must be given the priority and all other sub functionalities (add advertisement, remove advertisement) given a lower priority.

Although mobile application and web application will be used within the public, those applications act as interfaces of a municipal council to the public. Therefore those applications must be within the objectivity as well. Professional interfaces and functionalities must be provided with them since they act as kind of interfaces of the municipal council.


4.04. Not engage in deceptive financial practices such as bribery, double billing, or other improper financial practices.

When a software project is going to be implemented for the first time (not an improvement of an older version), financial factors have to be considered at a higher level. But, still this project (Civic Issues Tracking System) is being developed with a purpose of a non-commercial vision and since we do not have a client, financial factors are not to be considered at a higher level. All the technologies being used are free and open source technologies.

But in the future, when it comes to the deployment of this software project, we are quite sure that lot of clients will request for this applications and it will have a huge demand. At that situation financial factors must be considered at a higher level. So it is thoroughly emphasized that no double billing, no briberies, and no other improper financial actions will take place at that point of situations.

4.05. Disclose to all concerned parties those conflicts of interest that cannot reasonably be avoided or escaped.

There may be conflicts of interests which cannot be avoided when it comes to deployment of the software applications. Civic Issues Tracking System will be used under the supervision of a municipal council. Hence some constrains will be applied to the components of the project. So people will be having some conflicts of interests. Ultimately users will have to obey to the rules and regulations imposed by the municipal council. If there are that kinds of conflicts of interests, they must be disclosed to all concerned parties who are going to use the system. They can be included in the documents which are going to be produced for the use of users.(i:e:- User manual)

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.
AS software developers/engineers their task is to produce usable, easy to use working software. If the people in the deployment environment of the software have conflicts of interests when it comes to using the software, it is going to be a huge problem.
This point is mostly applied for the application which is produced to be used in the municipal council environment.(the desktop application). Desktop application has to be developed under the rules and regulations of the municipal council and some constrains will be applied. When it comes to deployment of the application, if users have conflicts of interests, fault is up to software engineers. Those kinds of situations have to be avoided as much as possible when implementing the civic issues tracking system.
Mobile application and web application will be used by the public. Hence those applications must be developed with the aim of taking the highest interest of the public to use them. Municipal council constrains will be applied on them as well, but not as much as with the desktop application. So conflicts of interests will be minimal here.

As software engineers, actions must be taken by the time of designing to avoid those conflicts of interests as much as possible.

Saturday, May 31, 2014

Reference

For writing Code of Conduct for Civic Issues Tracking System, the code of conduct principals developed by IEEE-CS/ACM joint task force on Software Engineering Ethics and Professional Practices has been used.

Used principals can be visible at following link
http://www.computer.org/portal/web/certification/resources/code_of_ethics
Which points of the Code Of Conduct will be covered under this Blog ?

Under this blog the following points of the code of conduct will be covered :-

Principle 4 JUDGMENT  : all the points will be covered.


4.01. Temper all technical judgements 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 : Only the following points will be covered.

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.
About the Blog ..

The purpose of this blog is to describe code of conduct for the project Civic Issues Tracking System as the group assignment under the subject module SCS3007 Professional Issues.


Group Members :-

M.G.W. Lakshitha                    2011/CS/081                 11000813           http://citscodeofconduct.blogspot.com/ (this blog)

A.M.P. Gunathilake                  2011/CS/095                 1100095x

T.W.N. Chinthaka                    2011/CS/xxx                  1100xxx
http://chinthaka79.blogspot.com/
Why this blog is created ?

http://citscodeofconduct.blogspot.com/  blog is created to document and describe the code of conduct for the software project Civic Issues Tracking System which is being implemented as our 3rd year group project.
The usage of code of conduct for our project will be described in upcoming posts.

Thursday, May 29, 2014


Civic Issue Tracking System

What is civic issues tracking system?

Civic Issues Tracking system is a new, technological way of reporting civic issues in a local government area to relevant authorities.

Why Civic Issues Tracking System?

Simply because of current reporting methodologies are outdated. :(
According to the administration system in Sri Lanka, local governments consist of municipal councils, urban councils and divisional councils. Among them municipal and urban council regions are the most crowded. Those councils are responsible for providing a variety of local public services including roads, sanitation, drains, housing, libraries, public parks and recreational facilities. But in those areas, there is considerable number of unattended or unsolved physical civic issues.

Currently citizens can report their physical civic issues to those authorities,
  • By a letter,
  • Over the telephone,
  • Go to the local authority and complain.


These are inefficient and outdated methods considering the technology being used today. Therefore people tend to consider these methods as troublesome ones. Sometimes they even don’t know exactly where to report and how to report. Therefore there is a necessity of a new way of reporting physical civic issues to the local authorities in a more effective and easy way.

Our solution is CIVIC ISSUES TRACKING SYSTEM.

Advantages of Civic Issues Tracking System

  • Reporting will become straight forward and user friendly, which takes less amount of time.
  • System will provide more features rather than conventional reporting mechanisms (i.e. multimedia can be sent with the complaint; geo tag technology will be used).
  • Civic Issues Tracking system will facilitate to make suggestions to the authorities to getting reported issues fixed.
  • People can get notified about the reported issues.(about the current situation of the solution, whether any action has been taken, has the issue been solved etc. )


Ultimately Civic Issues Tracking System will make the living areas of the citizens more pleasant.

Civic Issues Tracking System is going to be implemented and used for betterment of  the public. Hence Civic Issues Tracking System is considered as a system which provides a huge social service.

Our motto :- A Happy neighbourhood  

Making the neighbourhood of people a pleasant one. Clearly a SOCIAL SERVICE