Agile Principles, Patterns, and Practices in C#