Software Evaluation Criteria
Development Cycle
Rapid prototyping is typical of multimedia applications.
Software developed for testing with focus groups, such as at Microsoft, takes about half of an 18-month development cycle for a new title. After testing and revision, the test software yields the interface and media content, but the application is typically recoded in a lower-level language, like C++.
Most CD-ROM games, educational and reference titles, take about 18 months to develop also. They are typically coded in a higher-level language, like Lingo, and programming is also about half of the development cycle. For CPU-intensive 3D games, programming takes up almost all of the development cycle.
Web site development is very rapid. Depending on the size and complexity of the project, development time can be as little as a month.Typically though there is more programming involved and most sites take 3 - 6 months to launch. Some large corporate sites can take over a year to launch.
Steps in the Process
The steps taken in developing a multimedia product are like those of any software project
A one-page summary of the project should provide the reader with the "big picture":
In the work scope, you need to specify
The first step in any application development is an assessment of...
These generally translate to restrictions or constraints that will help guide your design, including
Know thy user, for he (or she) is not thyself
Applications that are easy to learn are more likely to attract a wider audience. Take advantage of your users' considerable knowledge and experience
Current means of accomplishing the task, including competitionUsing a computer should always be easier than not using a computer.
Be sure you understand the task at hand before you leap to a solution!
Several different types of design, undertaken by different designers/teams, go into a multimedia product. At the very least, these include...
Interface design
Ease of use is a property of the system; not a "feature" tacked on at the end.
- Repetoire of functionality
- Concept of operations - how the user uses the system, and how the system fits
in the user's life
- External behavior of the system, including response to errors
Myth vs. Conceptual model
Every application is designed with a use model in mind. An explicit use model ensures that it is designed for the correct audience.
Functional design describes how exactly the system will do what it is supposed to.
Development of the system includes ...
It is strongly advisable to use incremental development.
TestTesting includes the following:
Testing typically takes half of your development time. Be sure to allow plenty of time for testing!
DeliverWhen delivering the finished system, it is important to
Support
Even when the system is delivered, the work isn't over.
Maintain system
- Fix bugs
- Enhance functionality
- Maintain versions
Evaluate technical feedback, market reaction, and user reaction
- What frustrations do users experience?
- What shortcuts do users invent or ask for?
- What gets used? what doesn't?
- Who is buying or using it? who is not? why?