Gather, prioritize requirements, develop software specification in close collaboration with a customer and users