1. Story

1.1. The Qualities of an Effective Solution

The JLS development team worked closely with their client, Dr. Newberry, to get a good understanding of the background of the project and the problem they were trying to solve. He described to them that the most important qualities that were needed to make this software more effective were reliability and usability.

Dr. Newberry interview 2510 (audio link)

[In response to what the important qualities are] Two equally important. One is reliability. It’s going to be used in a student environment; in classes. It has to be reliable so when students have an assignment due, they don’t want to have problems with the tool. They have enough trouble just getting the assignment in their head and figured out. Dealing with tool problems is bad, so reliability is probably the most important.

But also usability. It needs to have the right features. It needs to be easy to, easy to figure out.. you know a small learning curve. I don’t have time to teach them an elaborate set of tools and things. And that is probably why I don’t use other existing tools that are out there. They have very steep learning curves. You have to do a lot of up-front stuff before you can do even the simplest project.

It has to be usable by the students and the instructor for grading purposes. The specific enhancements needed to make this program more reliable and usable were:

  • The ability to group circuits and sub-circuits into units that can be reused (macros)

  • Bug fixes

  • New logic elements

  • Enhance the simulator to include timing (propagation delay)

  • (Other incremental requirement changes emerged along the way)