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