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