After end users define their requirements, analysis work with them to determine the format of paper and screen outputs. The analysis then identify the data required for each input and the data to be retained in the files. Analysis also develop detailed program specifications to be interpreted and coded by a programmer. Because of the many and varied development tasks, the process requires a significant amount of discipline and management supervision. Accountants often help develop custom software, either as project supervisors, users, or development team members.