Test-Driven Development: A Valuable Approach for Software Creation - Part 1