Every software development project I have worked on since I started my career in 1999 has faced challenges. The types and complexity of the challenges have varied from project to project. Our goal as IT professionals (engineers, architects, analysts) is to overcome these challenges and deliver a solution. For some IT professionals the challenges become a crutch, an excuse to walk away. For others the desire to conquer these challenges becomes the reason we wake up everyday and make things happen.