Information technology engineering involves an architectural approach for planning, analyzing, designing, and implementing applications. It has been defined by Steven M Davis as: "An integrated and evolutionary set of tasks and techniques that enhance business communication throughout an enterprise enabling it to develop people, procedures and systems to achieve its vision".[citation needed]