Question 1"Should you recommend release of the product next week?"
Answer:Yes, we would recommend release of the product next week but first of all, we will need to talk with the company's management about hiring part time qualified software testers to work with our team of software testers and rescheduling the working hours. Since time is important here, hiring the part time testers and having a 24 hours rotational shift will shorten the time of fixing and testing of the known bugs. The software tester’s staff must have proven skills and sound knowledge of the job and manage to work well with teams and strictly meeting deadlines. Staff will be rewarded if they can successfully secure this project. This will be a good motivation for the staff to they will do their best to work well with their team in order to accomplish the goals.
Question 2"Who will benefit if the company follows your recommendation?"Answer:All employees will get the benefits from our recommendation. This is one of the subject relativism that applied in my recommendation where if the employee doing works successfully then the employees have a right to get the bonus or rewards. Besides that, our company will be known and popular to all customers if the delivery product can finish and release it before our competitor release that product first. This is also part of ethical under Act Utilitarianism where it stated that we do any action to make other people happy can be considered as an ethical action.
Question 3"Who will be harmed by the decision?"Answer:The biggest issue that needs to be looked at here is the software’s purpose. This software is created for medical aid, which is a serious matter no matter how we looked at it. In any possibilities, we should look at this criteria in 2 different perspective, either the project succeded with least bugs or the project fails with major bug(s). No matter how we look at it, these 2 criteria will determine whether the company and the client will be harmed or not. In case of the project fails, and the client decided to implement it, it my cause danger to the patient tested using the software provided. Records might dissapear or give wrong information and since we do not know what the bug is, this will drag in the company’s liability too. With faulty software comes disbelief in future record. But, the testers had only found minor bugs so far. This helps in increasing the confidence level in releasing the software. In any case, both the company and the client can be harmed with this decision.
Question 4"Do you have an obligation to any group of people that may be affected by your decision?"
Answer:There will be a business and moral obligation to the client and the client’s patients as the bugs exist may affect overall performance of the client to manage their patient efficiently. In some case where there might be an emergency, such minor bug as unable to locate patient correctly may cause client to risk their patient’s life. This will cause both client and developer to lose trust between each other and lost credibility to the general public that may cause both client and developer industry to collapse.
However, with more work forces on the software testing and debugging department, minor bugs which affect crucial functionalities of the system can be found and fixed just enough time before the launch of the software and follow up updates can be released post-launch. This will ensure the software to be continuously tested and supported to avoid the minor bugs from producing bigger issue in the future.
Question 5"Identify and match the ACM code of ethics that relate to this scenario."Answer:5.0 Be honest and trustworthy.According to ACM which stands for Association for Computing Machinery (2011), a computing professional within an organization should not hide any information regarding the presence of bugs or weaknesses within a company’s product. In the scenario’s case after completing their testing, the test group leader does his job in acknowledging and warning the higher up that their product still contains minor annoyances despite only a few days away from launch. The testing team also proposes an honest estimation that if they are given one more month, it is sufficient for them to correct all those bugs and prevent the birth of a more lethal fault. That is, if it is agreed by the higher up positions in the company to delay the launch date for another one month.
5.1 Avoid harm to others.As outlined by ACM (2011), the code prohibits the usage of computing technology that results in negative consequences to any party involved such as users and the environment around them. Negative consequences may range from loss of data to physical damage and even injury and loss of lives.
The scenario describes a ‘revolutionary software’ in monitoring hospitalized patients which is a few days away from being released. Once released, it would be used in hospitals around the world. As pointed out, the test group leader has warned the company that the anticipated software contains several bugs. They are nothing but minor ones. Although bugs do not mimic the seriousness of an actual fault, they could still reduce the software’s effectiveness and produce awkward behaviours. Bugs are also subtle, meaning that not all people would notice them until the damage is clear. According to Gleick (1996), an unmanned Ariane 5 rocket carrying a satellite payload, swerved off course and exploded on 4th June 1996 due to a minor bug on the software that controlled its flight pattern. Before the incident, the same software had been responsible for many successful Ariane 4 launches. Engineers had noticed the bug long before the incident but did nothing quickly to investigate and fix it, thinking it would pose no problem for future launches until the Ariane 5 incident.
Likewise in this scenario, bugs in the software could eventually lead to more serious problems, if they are not coped quickly. It is because according to Duarte (2008), the longer the bugs stay, the harder and more expensive it is to fix. In time, they would cause damage worth millions of dollar. Since the software is unique that it involves hospitalized patients, there is also chance there might be injuries or even loss of lives due to misinterpretation from the software. For instance, a nurse might believe the reading from the computer to be valid, that a patient requires medical attention. The truth is, the reading is slightly inaccurate due to the bug. So the patient might be treated with medicine which actually proves fatal toward him.
Since the matter involves the lives of human patients, it is especially important to think twice. If the testers find out the company is still going to release it next week despite the bugs notice, according to ACM (2011), they could ‘blow the whistle’ to express the danger how the bugs could affect the safety of patients, if they all think the bugs could lead into certain disaster. They could also reason with the higher up why the product should not be released for another one month. If by any chance the product is sold in the market with the bugs, the company would be held responsible if it causes harm to any party.
A method known as prevention is better than fixing the problem when sometimes it appears to be already too late. Again according to ACM (2011), the company should conform toward universally agreed standards for system design and testing. This is to minimize the likelihood of any fault occurrence early in development life-cycle. It is required for individuals involved in the development to consider the likely impact on the end users caused by their decisions during design and implementation. Social consequences coming from product should also be considered to prevent or at reduce harm level onto the users and general public.
5.2 Strive to achieve the highest quality, effectiveness and dignity in both the process and products of professional work.The description for the above code as outlined by ACM is “Excellence is perhaps the most important obligation of a professional. The computing professional must strive to achieve quality and to be cognizant of the serious negative consequences that may result from poor quality in a system.”
(ACM, 2011)
Since the company in question is a start-up company, it is important that it succeeds with the first product to find itself established in the market and continue their operations in the future. Therefore employees should always perform their duties up to professional standards in all aspects to achieve a good first product. Employees working in a professional manner would send positive impressions toward other companies and customers would frequently do business with them as well. Especially for a start-up company, they should well realize the failure to maintain the optimum level of professionalism and concentration when performing their duties would result in weak and faulty areas for the product. This would lead to criticisms by customers and drop in sales. Start-up companies would close down easily in this manner. It should learn from the experiences of more established companies.
References:
1. Association for Computing Machinery, 2011, Code of Ethics [online] Available at: <http://www.acm.org/about/code-of-ethics> [Accessed 9th November 2011].
2. Duarte, Gustavo, 2008, Richard Feynman, the Challenger Disaster, and Software Engineering [online] Available at: <http://duartes.org/gustavo/blog/post/richard-feynman-challenger-disaster-software-engineering> [Accessed 11th November 2011].
3. Gleick, James, 1996, A Bug and a Crash [online] Available at: <http://www.around.com/ariane.html> [Accessed 10th November 2011].