Best Practices for Software Projects: Prototyping