It is inevitable for any successful IT industry not to estimate the effort, cost, and duration of their projects. As evident by Standish group chaos manifesto that approx 43% of the projects are often delivered late and entered crises because of over budget and less required functions. Improper and inaccurate estimation of software projects leads to a failure, and therefore it must be considered in true letter and spirit. When Agile principle-based process models (e.g. Scrum) came into the market, a significant change can be seen. This change in culture proves to be a boon forstrengthening the collaboration betweendeveloper and customer.Estimation has always been challenging in Agile as requirements are volatile. This encourages researchersto work on effort estimation. There are many reasons for the gap between estimated and actual effort, viz., project, people, and resistance factors, wrong use of cost drivers, ignorance of regression testing effort, understandability of user story size and its associated complexity, etc. This paperreviewed the work of numerous authors and potential researchers working on bridging the gap of actual and estimated effort. Through intensive and literature review, it can be inferred that machine learning models clearly outperformed non-machine learning and traditional techniques of estimation. Keywords: Machine Learning, Scrum, Scrum Projects, Effort Estimation, Agile Software Development