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