needs open business process create source developer operating needed support content development tests requirements work customer time data company java systems employees computer design education code number programmers developers cost important user practices person program application instance applications management programs projects option programming type project solution good domain customers testing specific language name product