Every department within IT is part of an overall technical ecosystem that is connected to all other departments in some way. For example, business analysis provides functional specifications to the programmers. Trainers provide classes that help programmers learn their craft. Database administrators design database schemas for use by the programmers and oversee the storage and movement of data in cooperation with enterprise architects and production operations. At a macro level, data security protects the computing environment, data communications maintains the computing backbone and the help desk keeps all IT and user devices up and running.