Software is omnipresent in today's life. Sophisticated appliances, once being completely mechanical or electrical, now contain software. On the surface this provides a fascinating perspective to the future. But beyond the surface it is the challenge of software development. Software companies are receiving thousands of requirements for delivering new functionalities. These requirements turn into millions of lines of machine code by the hands of software developers. And all of these are carried on continuously. Continuous software development has become the prerequisite of tomorrow's smarter products. But it has also become the source of prodigious complexity that emerges overwhelmingly in developing software. So many software projects have been fallen because of the overly complex implementations, and so many has run out of budgets because of inconceivable complexity. This book is an endeavor to understand this complexity, to measure and analyze its effects, importantly, to applymeasurements proactively in practice, so that complexity is controlled before it escalates into large scales.