- Separate your application into independent parts, such as help, clip art, and program files. This gives the end user combination options when installing your application. For instance, if your application contains a large, graphic-intensive clip art file, you could make the clip art file a feature. This gives the end user the option of installing or not installing the filea vital ability for users with limited available resources.
- In separating your application into features, ensure that end users can recombine the parts in several ways to fulfill specific needs. When doing this, consider the needs of all users, from system administrator to customer service representative to developer and everyone in between. By addressing all groups of users, you are promoting increased distribution and usage of your application.
- Each feature should have one functionsuch as help filesand should be clearly defined according to this functionality to ensure recognition and comprehension. Features should possess an independent functionality, such that users can install and use the feature by itself, if they so choose.
- If one feature requires another, make the dependent feature a child of the other.
- To eliminate confusion, keep any information pertaining to the management of the system or application transparent to the user.