After extensive research into the design of educational mathematical software for use in secondary schools, it has become apparent that conventional software design processes do not produce software which satisfies the specific needs of individual teachers. this paper relates the conduct of four case studies in which software products were designed for use in secondary education. each product was designed as a partnership between a software developer and an Australia secondary school mathematics teacher; the products addressed four distinct mathematical topics the educational philosophy of each teacher shaped the way the software package was designed and implemented in their classroom. this paper focuses on the partnership design processes that were used to create these software packages, with a strong emphasis on analyzing the interactions between the software engineer and teacher. from this, conclusions are drawn about the design processes needed to produce educational software products that will be accepted by the teacher and used in classrooms.