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