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