In software engineering community there is an increasing effort of design and development of multiagent systems (MAS). Among several issues emerging from this initiative, complexity, quality and uncertainty issues have not yet received much attention. The main factors affecting quality of MAS are complexity and knowledgeability. Complexity of MAS can be defined in terms of structural and algorithmic complexity in either objective or subjective way. Knowledgeability of MAS can be defined in terms of problem solving and cognitive capabilities and the ability to cope with interactions, such as cooperation, coordination and competition. In this paper we define and address the quality and complexity issues of MAS and define metrics to measure the quality and complexity. The metrics are used for devising a candidate set of agents for MAS design. Furthermore, we address the knowledgeability of MAS and devise models and techniques to cope with uncertainty in competitive situations.