Custom software development contract