- Work together with other team members in developing software solutions by studying information needs, studying systems flow, data usage, and work processes, investigating problem areas, and following the software development lifecycle