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.