CS 481 - Trends in Computer Science

Week 6: Technology, project requirements, and contracts

Objectives:

This week we continue toward the final project for the term. Objectives important to this lesson:

  1. Selection of technology for the project
  2. Review the requirements for the second project
  3. Review resources for RFPs and some discussion about making contract with a vendor
Concepts:

As I mentioned last week, we are to create an RFP in our last major project. The purpose of the RFP is to acquire a new product, which we can expand from the course definition to allow a software product, a hardware product, or a combination product that would be a new system for our company.

Let's examine the requirements for the project in terms of the features of the product or system you have in mind. It is often the case that we are inspired to obtain a new tool by seeing an instance of such a tool and forming an admiration or desire for it. This can lead to a rushed decision that can cost us time and money to correct if we discover later that we did not buy the best product or the right product for our company. In business, it is a common practice to analyze the actual requirements for an acquisition, to make a formal statement about the features or services we need in a product, and to use that statement to make a fair appraisal of the products that various vendors might supply to us to meet our needs.

If we are talking about a technical product, one of the challenges you have to accept is to establish a list of features that are available, but that will not become obsolete during the expected lifetime of the product. This is challenging because of Moore's law, which says that a computer we buy today may seem slow and cumbersome in two years, while the accounting principles we are required to follow may say that we need to use such a computer for five or more years. As a hedge in balancing these contrary facts, we may want to consider leasing equipment instead of owning it, or we may want to require vendors to include an upgrade path in their proposals,

The idea of requesting proposals for an emerging or developing technology presents some unique challenges as well:

  • How many vendors exist for the technology? If there is only one, does an RFP serve any purpose that a sales call would not serve?
  • Are there standards that can be applied across vendors, or is the technology too new for standards? If there are no standards, how do we compare products from multiple vendors?
  • Are there clear benefits of the technology for our company, or are we simply geeking out over a new shiny product? There must be a good business case for the product.
  • Can we properly evaluate the proposals based on products the vendors can demonstrate, or are they developing a new solution that can't be tested until it is delivered? How will we know the product performs as we need it to perform?

Returning to our requirements for the project, take a few minutes to assess your choice of technology. Can you make an RFP that will stand up to the questions I have posed for this technology? We would like to use the material you have already gathered in the context of the RFP project, but this is the time to change to one of the alternate choices if you cannot fulfill the requirements above, or those given to us for the course:

  1. In groups of 2 or 3 students, decide upon a relevant, in-demand software or hardware product to implement at a fictitious company. 
  2. Develop an RFP (Request For Proposal) document to acquire and implement that new software product. 
  3. Use industry best practices to analyze the project requirements, needed deliverables, insourcing vs. outsourcing of services, and develop a scoring strategy to rate the responses

If you are ready to proceed, this week we should concentrate on the business case for your project. A business case for an RFP must be specific enough to be the basis of a contract. You must be able to point to the business case and state that the vendor has or has not met its stated requirements. With this in mind, you must also create a statement of technical requirements that will serve the same purpose. It must state what the vendor's product or service must do, and it will be used as a measure of whether the proposal, and later the product, can be judged as successful.

  1. Determine what you want to buy, and what it supports in your enterprise. This is the business case.
  2. Specify what the system or components must do. This is the statement of technical requirements.
    Minimum technical requirements:
    • hardware and software requirements
    • installation and training requirements
    • maintenance requirements
    • minimum warranty and guarantee requirements
    • service requirements
    • cost and payment requirements

Before we break for assignments, let's consider something else about technology. Something to think about is the convergence of technologies that seem unrelated until someone combines them to make something new. That new thing may seem obvious once we have seen the product, but it is not obvious until it is invented and shown to be useful.

In week four, I mentioned Connections, by James Burke. Let's take one of his chapters that may make a point clearer to you. Across time, we are treated to Burke's descriptions of innovations that led to new problems, that led to more innovations. The use of gunpowder to fire cannons led to changes in war, but also to changes in manufacture of gunpowder. One innovation was the invention of guncotton. You many wonder why we need to have that, but the lecturer in the video explains why a slow explosive is ideal for a very heavy projectile. He also explains that guncotton can be dissolved, the solution evaporated, and the resultant material can be formed into shapes. Burke makes this connection to explain that guncotton can be made into celluloid, which was meant to be a replacement for ivory in billiard balls. It has another use as well in photography, as a medium for a photographic solution. Why put a photograph on a celluloid backing? Well, that makes sense once you have invented a process for making a series of photographs that you need to display quickly. Well, who needs to do that? A good question. The answer has to do with a bet. Let me take a walk in another class for a minute.

In the image on the right, photos taken by Eadweard Muybridge are shown rapidly, one after another. Muybridge had been hired by Leland Stanford to develop a photographic method to settle a bet: do all four feet of a running horse ever leave the ground at the same time? Each individual photographic image was stored as a frame on a strip of celluloid. By developing a method to display a series of such pictures in rapid succession, Muybridge was developing a form of animation: a moving picture. (I am using a different method on this web page, but the effect is the same.)

In computer animation, we don't usually take photos, but we compose frames. We create frames that show objects at different stages of motion, like the frames of the horse. Each of them becomes a key frame. We place each key frame on a timeline, indicating the amount of time that should pass between successive frames. In-betweens are frames that our animation software creates to fill in the gaps between the key frames. (The horse has no in-betweens, just our imagination.)

It might be argued that we could have an infinite number of in-betweens to create, since motion is often continuous, and each frame is a still. As you can see by viewing this loop, an infinite number of frames are not necessary to create the illusion of motion. The viewer's mind participates in the illusion, creating many in-betweens to smooth out the perceived motion. This is called persistence of vision. It creates the illusion of motion.

In time, other inventions were created, such as Edison's phonograph. Coupled with the technology of moving pictures, we had the concept that developed into movies with sound. That's a lot of inventions that had to come together for a pretty big one. You will want to think about that every time you think about technology. What other technology can the one you have been thinking out be combined with to make something new, something that will change everything for someone?