The Development Lifecycle
Although the steps listed below are given in a linear order it should not
be forgotten that development is an iterative process which will require
spiralling back to earlier stages. The list is drawn from Schneiderman's
book.
-
Collect Information
-
Organize the design team
-
Obtain managment and customer participation
-
Conduct interviews with users Submit written questionnaires to
users
-
Perform detailed task and task-frequency analysis
-
Read Professional and academic literature
-
Speak with designers and users of similar programs
-
Estimate development, trainign, usage, and maintenance costs
-
Prepare a schedule with obsevable milestones and reviews
-
Design the testing strategy with the useability laboratory.
-
Define Requirements and Semantics.
-
Define high level gioals and middle-level requirements
-
Consider alternaitves in task flow sequencing
-
Organize tasks into transaction unts
-
Create task objects and actions
-
Create computer objects and actions
-
Determine reliability and availability needs
-
Specify security, provacy, and integrity constraints
-
Create guidelines document and process for enforcement
-
Obtain manager and customer agreement on goals, requirements, and semantic
designs.
-
Design Syntax and support facilities
-
Compare alternative desing formats
-
Create syntax for actions
-
Design infiormative feedback for each action
-
Develop error messages and error handling
-
Specify system respinse times and display rates
-
Plan user aids, online help, and tutorials
-
Write User and reference manuals!!
-
Review, evaluate, and revise design speicifications
-
Carry out paper-and-pencil pilot tests or field studies with an on-line
mockup or prototype.
-
Specify Physical devices
-
Choose hard- or soft- copy devices
-
Consider color, screen size, and resolution
-
Specify keyboard layout
-
Specify pointing devices
-
Select audio, graphics, or peripheral devices
-
Establish requirements for communication lines
-
Consider work environment, such as noise elvel, lighting and talb space
-
Carry out further pilot tests and revise design
-
Develop Software
-
Use user-interface
management systems
-
Produce top-down modular design
-
Emphasize modifiability and maintainability.
-
Ensure reliability and security.
-
Enable monitoring of user and systcm perfornanze.
-
Provide adequate system documentation.
-
Concduct thorough software tests with realistic usage load¸
-
Integrate system and disseminate to users
-
Ensure user involvement at every stage
-
Conduct acceptance tests and fine tune the system.
-
Field test printed manuals, online help, and tutorials.
-
Implement a training subsystem or simulator.
-
Provide adequate training and consultation for users.
-
Follow phased approach to dissemination, and provide time and resources
to make modest revisions in response to user feedback
-
Nurture the user community
-
Provide on-site or telephone consultants,
-
Offer onlinee consultant.
-
Develop online suggestion box.
-
Conduct interviews and focus groups with users.
-
Make user news and bulletin boards available on-line.
-
Publish newsletter for users.
-
Organize group meetigs,
-
Respond to user suggestions for improvements.
-
Concduct subjective and objective evaluations of the current system and
of proposed improvements.
-
Monitor usage frequencies and patterns (actions, help, other features)
-
Track user-error frequencies.
-
Prepare Evolutionary Plan
-
Design for easy repair and refinement.
-
Reserve staff time for enhancemcnts.
-
Measure user perfomance regularly.
-
Improve error handling.
-
Carry out experiments to assess suggested changes.
-
Sample feedback from users by questionnaires and interviews.
-
Schedule revisions regularly, and inform users in advance.
Return to GUI home page.
Last Changed: 14 April 1995