software product specification