Past 10 years have seen many changes in software development. Software project failure rate is still high. Agile Analysis, lean software development, scrum, and eXtreme Programming have been hot topics in recent years. How to make smart decision based on your corporate culture and bringing software projects to completion in time, in budget, and in quality (Three-Ins) is still a big challenge. This paper presents Software’s Eight Essentials based on industrial and academic hard-won experiences. In many cases we present the good practices for software development. The goal is to give a guideline for modern software development and minimize software project failures.