reducing software development costs