Pātuhitia tēnei: Fundamental Approaches to Software Engineering