7
What criteria?
•In general, there are three high level answers to this question: and, it is very difficult to answer precisely
1.Satisfying functional and performance requirements
•Maybe this is too obvious to include
•Often not achieved, though
2.Managing complexity
3.Accommodating future change