Resumen: The capability of reaching agreements is a necessary feature that large computer systems where agents interoperate must include. In these systems, agents represent self-motivated entities that have a social context, including dependency relations among them, and different preferences and beliefs. Without agreement there is no cooperation and thus, complex tasks which require the interaction of agents with different points of view cannot be performed. In this work, we follow a case-based argumentation approach for the design and implementation of Multi-Agent Systems where agents reach agreements by arguing and improve their argumentation skills from experience. A set of knowledge resources and a reasoning process that agents can use to manage their positions and arguments are presented.