Jeetendra Karki (ITS 360)
Chapter 7 Ethical Decision in Software Development
Answer any two questions of “What would you do?” and answer Critical thinking questions of Two Cases.
What would you do Questions?
My Manager is asking me about how much weight should be given to Level 4 of CMMI or ISO 9001 Compliant for developing a new software that is essential to the success of the mid-sized manufacturing firm, by following the five-steps-decision making process:
1. Defining the problem: Both of the contractors are competitive, we know that ISO is an audit standard developer and CMMI is a process model.
2. Identifying alternatives: Since both of them are good, we have a manufacturing company with its own terms and condition at work. CMMI is rigid and extends only to business developing software intensive systems, but ISO is flexible and applicable to all manufacturing industries.
3. Choosing the alternative: This answers a lot as ISO is generic in nature and has more of a sustainable nature with a standard sets of rules that helps diagnose the risk and has a standard follow up procedure.
4. Implementing the decision: I sincerely believe and advice to choose ISO over CMMI as ISO provides generic guideline for the design and implementation and maintenance of risk management process throughout an organization.
5. Evaluation: This will help as ISO will be CMMI has a slow process of risk management compared to ISO fast and neutral (standard) process.
There are bugs on the software that is supposed to be released in two weeks, but it might take 6 weeks to find and fix it. Do I release the product that can generate profit or fix and release the product, by following the five-steps-decision making process?
1. Defining the problem: Bug are complicated and pressure is high to release the software.
2. Identifying alternatives: The alternative is to declare the release date instead of two weeks make it 3 and fix the bugs by having overtime and day/night shift to fix it.
3. Choosing the alternative: This is a door lose situation as releasing a product with bugs is a loss and fixing it is a win in the long term.
4. Implementing the decision: By implementing this, we will be able to fix the bug by having overtime work done on the software to finish the work within the deadline.
5. Evaluation: This is I think one way to go which will least affect the company, I know the worker won’t like it, but this is only for two weeks as they will get higher pay by putting more work hours to find and fix the bug with in limited number of days.
Critical Thinking Questions
Case 1: F-35 Plagued with Software Issues
Answer1: After doing a lot of research, I found out that F-35 is in market and has been sold to 11 different countries, Time will say that if it has actually been perfectly made regardless the ups and downs of the software issue.
Answer2:I think it's a great idea and plan to put the aircraft in the market to finds its true performance in combat and in various situation to find its performance level to fix any uprising issues. It is like any program, companies push out the programs and then send patches and updates to fix software and refine it with time as the test always doesn't give all the possibilities and errors. So, with F-35, I think it's good to implement the same ideas.
Answer3: The Suggestion to improve and develop the software for the F-35 fighter program is that they should get more people to properly go through the software, code with toughly correctly and fixing the bugs even if it’s on market so they can find the possible patches and bugs on the way when the aircraft is already in market and sending test data that needs to be read and fixed if needed.
Case 2: How Safe Are Self-Driving Cars
Answer1: It depends on the kind of self-driving car accident, If the driver didn't took control of the vehicle with warnings shown in the car then it’s the driver fault since right now self-driving car is to assist you not to take over driving away from you until all the test are safe and has no bugs. The Manufacturer and software are liable when it acts false on a situation where it should stop or hits a person when it should stop. The self-driving car might actually decrease the cost of insurance industry as less accident leads to less people having insurance and eventually no insurance on self-driving vehicle when the accident report and bugs goes down to zero percent.
Answer2: The pros and cons of sharing the standard algorithm between self-driving cars are:
1. This will make driving safer.
2. This will allow for the code to be open and be in the same level of coding language.
3. This will cause less accident.
Now the company has to use the same level of coding.
It's hard to say if the vehicle mandate will accept it or not, I think they will cause if they accept then that means the self-automation can be the same so the vehicle in the road will react the same way.
Answer3: I think as the level of automation increases, the development of the software work should be increased too as this will create a space to have a better line of code that is programmed to perform in the same level as a human would do before the automation takes control from the human hand making them feel that the vehicle will do the same and even better that they would while driving.