Common Traps in Software Development Agreements and How to Avoid Them