How to Estimate a Software Project Better: Working Methods and Common Pitfalls