We view the VDP repository as a dynamic, growing source of design knowledge supported by your existing expertise. Capturing, refining, documenting, and re-using VDPs is a continuous journey requiring an ongoing commitment. Ultimately, VDPs should be shared across enterprises, thus leveraging the effort and work of the human factors teams behind them. As the collection of VDPs grows, the task of organizing them for use by your development teams grows. We have found that the best way of organizing VDPs is by type of usage. The developer looking for a VDP typically has a specific design issue and translates that issue into a question. For example: How do I allow very experienced keyboard-oriented users fast, efficient entry of a full calendar date in a web application?
Ideally, the developer should be able to easily browse a set of categories related to the issue to find a VDP. As the repository grows, a non-categorized search and a search by problem will be needed to find the right VDP.
A partial list of VDPs that we have developed for transactional systems includes the following.
|Complex form||Repetitive transactions|
|Transactional save / validation||Tabs|
|Dates (calendars)||List management|
|Grid / table entry||Object / sub-object|
Providing Usage-Centered Design Context to VDPs
By employing usage-centered design techniques, we can provide a great deal of context to a VDP that provides guidance to new team members on when, how, and why to use the VDP. VDPs are very dependent on the models employed during the usage-centered design, like the user role, task, and operational models. As these models are developed and refined for a project, an enterprise repository of VDPs can be defined. For instance, if a project is directed towards a mobile executive user who performs infrequent tasks like scheduling appointments, a VDP for a PDA calendar can be identified. The developer can then study the VDP for its applicability and, eventually, use the supporting code bases, design guidelines, and case studies to help solve the issue. Feedback from implementation of the VDP can then be sent back to the repository and associated models.