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