Within multi agent systems (MAS), knowledge plays an important role in agent communication, reasoning and supporting interoperability. It is often considered as an ontology which contains explicit domain knowledge to be used by agents. Although there are many ontology development or engineering methodologies, current efforts to incorporate knowledge into MAS are too focused on computational aspects or ad hoc. Working at the computational model is too low level, and many processes are left Implicit to the developer. This paper focuses on engineering the agent knowledge development process. A set of activities is proposed to externalize processes involved in managing agent domain knowledge, preferring software engineering approaches to ad hoc processes. The activities are classified into analysis and design steps together forming a development model suite (e.g. user model, motivation model, task model and design model). With guidance, we have successfully developed agents' knowledge based on a real life application in finding a potential advisor for a graduate student. Finally, it enables the agent developer to use, reuse and maintain the agent knowledge.