SMS: Agent-based software development