In the last years, dozens of environments for modeling, testing and finally implementing multi-agent systems have been developed. Unfortunately, no standard criteria for understanding what kind of application profile a particular development environment is good for have been individuated yet, and the question `How should I choose an existing environment which best suits the features and requirements of my application?' is still difficult to answer. This paper addresses this question, and aims at helping the multi-agent system developer to solve this problem. It provides a set of criteria for evaluating development environments, and then applies these criteria to five selected tools and multi-agent systems prototypes. Furthermore, some applicationdriven guidelines are described to help identifying the features of a suitable environment for developing an implementation of the given application. The features we identify can be used to find the right development framework among the fr...