II. Development Criteria

What criteria would you use to review the design for a program?

What criteria would you use to review the program?

III. Criteria

Each item below asks you to rate how a particular characteristic may impact your ability to work in various aspects of development. The scale asks if the characteristics has a positive impact - would make it easier in some way, a negative impact - make it more difficult, or neutral - makes no discernable difference.

A. Rate each of the items listed below as it would affect your ability to maintain a computer program over an exteneded period of time.

ItemCharacteristicNegativeNeutralPositive
1.good modularity
2.readable documentation for the design
3.concise and elegant coding
4.self-documenting code
5.appropriate abstractions from the problem domain
6.good test plan
7.good test cases

B. Rate each of the items listed below as it would affect your ability to reuse portions of a computer program in other programs.

ItemCharacteristicNegativeNeutralPositive
1.good modularity
2.readable documentation for the design
3.concise and elegant coding
4.self-documenting code
5.appropriate abstractions from the problem domain

C. Rate each of the items listed below as it would affect your ability to find and remove errors from a computer program.

ItemCharacteristicNegativeNeutralPositive
1.good modularity
2.readable documentation for the design
3.concise and elegant coding
4.self-documenting code
5.appropriate abstractions from the problem domain
6.a comprehensive test plan
7.good test cases
8.systematic reviews during all development phases

IV. Development Effort

You have 100 hours in which to create and deliver a program. How many hours do you spend in each of the following activities (you may spend 0 hours on any or all of the listed activities, but the sum must be 100):

Problem Understanding
establishing the program requirements
establishing the expectations on the program
Design
creating assertions (pre/post conditions)
creating a good, effective, modular design before you start to code
documenting the design
Coding
writing the initial code
tuning the performance
optimizing the performance
Debugging
getting the code to work
Testing
conduct formal/informal program review
systematically testing the program
reviewing the program for completeness
reviewing that you have comprehensible documentation
insuring the program meets expectations