By:

Mark Arrieta
Software Automation and Intelligence Laboratory
Computer Science Department
Tennessee Technological University
Cookeville TN 38505

and

Srini Ramaswamy
Associate Professor and Chair
Computer Science Department
Tennessee Technological University
Cookeville TN 38505
Phone: (931)-372-3691
Email: srini@acm.org

I.A. Relevant NSF CERIAS Workshop Learning Objective: SP-1c, Hardware and Systems (OS, HCI, Databases Design and Testing Accountability)

Bartlett Inc. is not the typical customer for whom AnderTech Software has come accustomed to providing software solutions. This potential new client offered absolutely no electronic infrastructure upon which to build a software management system. The Bartlett group, a locally owned company with just nine employees, has been in the restaurant equipment business for over thirty-six years. The company's founder, Clinton Bartlett, had managed to effectively run his company for years without ever having installed a commercial computer system. The company had been surprisingly competitive in the market despite its technological shortcomings. However, when Mr. Bartlett passed away eight months ago, his son Barry, who had assumed control of the company, decided that in order for his company to remain competitive in the future, he must provide a mechanism that would not only expedite office tasks, but also decrease the likelihood of employee oversight.

When a representative from Bartlett Inc. contacted AnderTech Software six months ago, he expressed the company's desire for the production of custom software to fit their small business needs. Their hope was to automate some of the company's day-to-day activities that had previously been performed by hand. Operations included in the requested software were an automated purchase order system, a price quoting system, and a database inventory system for both the sales and parts division. For AnderTech, this meant designing a system from the ground up. The system that the Bartlett Group had desired was considered to be a relatively small-scale project; however, it would include the time consuming tasks of moving the company's entire inventory online, as well as digitally duplicating many of the company's records.

After the finalization of a contract, AnderTech began preparing for the production of a software system for Bartlett. A series of post-contract meetings were held in order to obtain specific requirements from the new customer. The project was now underway, and after unusually short specifications analysis and design phases were completed, programming groups were designated for the project. Just two small programming teams were to be involved in the programming and testing phases in the production of the Bartlett software. Although the magnitude of the Bartlett project was smaller than normal, those assigned to the Bartlett project believed that their numbers were inadequate to produce the software application in the allotted time. This was most likely due to the recent staffing difficulties experienced by AnderTech. In just twelve months, AnderTech had lost six employees and managed to hire just two new workers, both of whom had no previous working experience in the industry. To further complicate matters, a series of poorly estimated project bids had caused the company to run over-budget and behind schedule. More than ever before, meeting project deadlines and not exceeding allocated project man-hours were being emphatically stressed.

Upon completion of the coding phase of the project, the system was then subjected to testing by the same groups that had written the programming modules. Despite the fact that time did not permit rigorous testing, coding problems were found in two of the software application's subsystems. A problem that initially appeared to be a minor bug within the purchase order module turned out to be a major failure in the design of that particular subsystem.

Due to the extensive amount of time that would be necessary to properly correct the problem, the project manager decided that a more timely solution would be necessary. A more feasible solution was determined in a meeting involving the project manager and Mike Dorsey, the systems coordinator for the Bartlett project. It had been decided that in order to meet the project deadline, an adjustment would be made in the code that would correct the problem with the purchase ordering subsystem, but that would create a security hole in the overall system. Those involved in the decision had concluded that the software would meet each of the requirement specifications acquired from the customer. Furthermore, the company would not be contractually responsible for the potential security risk that had been discovered. As a result of the decision, AnderTech would be able to complete the project without compromising any contract obligations.

I.B. Discussion Questions:

  1. Although AnderTech is meeting its contractual obligations, are they ethically obligated to inform Bartlett Inc. of potential problems with the application?
  2. If problems do arise, should AnderTech be held accountable if they have disclosed this possibility on the font end?