With the emergence of Machine Learning, many companies are increasingly embracing this revolutionary approach, both in terms of growth and maintenance, to reduce software costs. This research aimed at building two models which is Software Defect Prediction Model (SDPM) which will be used to predict defects in software and Software Maintainability Prediction Model (SMPM) which will be used for Software Maintainability. Different classifiers, namely Random Forest, Decision Tree, Naïve Bayes and Artificial Neural Networks have been considered and then evaluated using different metrics such as Accuracy, Precision, Recall and Area Under the Curve (AUC). The two models have successfully been evaluated and Decision Tree has been chosen as compared to other classifiers which tends to perform much better. Finally a framework based on a set of guidelines that can be used to improve software quality has been devised.