Client
1. Are functions other than presentation performed on the user device?
2. Describe the data and process help facility being provided.
3. Describe the screen to screen navigation technique.
4. Describe how the user navigates between this and other applications.
5. How is this and other applications launched from the user device?
6. Are there any inter-application data and process sharing capabilities? If so, describe what is being shared and by what
technique / technology.
7. Describe data volumes being transferred to the client.
8. What are the additional requirements for local data storage to support the application?
9. What are the additional requirements for local software storage/memory to support the application?
10. Are there any known hardware / software conflicts or capacity limitations caused by other application requirements or
situations, which would affect the application users?
11. Describe how the look and feel of your presentation layer compares to the look and feel of the other existing
applications.
12. Describe to what extent the client needs to support asynchronous and / or synchronous communication.
13. Describe how the presentation layer of the system is separated from other computational or data transfer layers of the
system.
Application Server
1. Can/does the presentation layer and application layers run on separate processors?
2. Can/does the application layer and data access layer run on separate processors?
3. Can this application be placed on an application server independent of all other applications? If not, explain the
dependencies.
4. Can additional parallel application servers be easily added? If so, what is the load balancing mechanism?
5. Has the resource demand generated by the application been measured and what is the value? If so, has the capacity of
the planned server been confirmed at the application and aggregate levels?
Data Server
1. Are there other applications, which must share the data server? If so, please identify them and describe the data and
data access requirements.
2. Has the resource demand generated by the application been measured and what is the value? If so, has the capacity of
the planned server been confirmed at the application and aggregate levels?
COTS (where applicable)
1. Is the vendor substantial and stable?
2. Will the enterprise receive source code upon demise of the vendor?
3. Is this software configured for the enterprise's usage?
4. Is there any peculiar A&D data or processes that would impede the use of this software?
Is this software currently available?
5. Has it been used/demonstrated for volume/availability/service level requirements similar to those of the enterprise?
Describe the past financial and market share history of the vendor.
Vendor Factors
Will vendor remain viable?
How long has vendor existed in this arena?
Do they have large customers?
Do they have professional services?
Third party support?
Does tool have history at the organization and if so what is its reputation?
Training Factors
Availability
Costs
Amount required to become productive
Style of learning (CBT, classroom)
Interoperability Factors
Import/Export
Can it create an artifact inside the tool and export it to other commonly used tools, and have the users of those
tools use the artifact intact?
Can it import an artifact created in another tool, and use the artifact intact?
Does it integrate with other tools?
Does it provide and support industry standard APIs?
Use of relevant industry standards, e.g. XML, HTML, produce hypertext, UML, other industry standard?
Financial Considerations
What is the acquisition cost?
What is the total cost of ownership?
Maintenance
Equipment costs
Support costs
Number of resources required to keep it up to date
Administration responsibilities / time constraints
Will there be any impacts of introducing the tool into your environment? E.g. does it require some unique
infrastructure?
Training
Licensing Models
General Pointers
Value of the tool is dependent upon the architecture maturity of the organization.
Need to match the tool to the capability of your organization i.e. where it is architecturally?
Trade-off between tactical considerations (competency, familiarity, …) and strategical considerations (overall
organization's standards and directions)
Teaming can positively or negatively affect a tool's success