A job description for the system analyst might include these items:
Purpose
Gather and analyze organizational data for developing information
systems. Study existing business procedures and computer programs
to determine how both could be better organized and structured for
the betterment of the organization. Study technological and business
trends to be able to recommend changes to technology and business
process to take advantage of advances in both. Design and guide the
implementation of business computed-based information systems.
Prepare and present reports to management as needed.
Duties
Skills and Qualities
Preparing for a Career as Systems Analyst
The systems analyst is the bridge between computer programmers and business computer users. Many organizations assume that computer programming experience is a vital prerequisite to system analysis and design responsibility. This assumption is based on the expectation that the job of system analyst is mostly technical in nature. That assumption is not always correct. While a decent (even deep) understanding of technology is quite important, the most important characteristic of a systems analyst is excellent communication skills!
The system analyst must be able to communicate in writing and orally. Good ability to use English is essential. Poor use of language will immediately reduce the credibility of the analyst in the view of the business user. Practice in business and technical writing is very good preparation for work as a system analyst. Since presentations may also be in pictorial form it is a good idea for an analyst to become familiar with software like Freelance, or other programs, that are used to prepare graphics for presentation.
The analyst must easily get along with people. The work of the system analyst mostly involves people. The analyst must be a good listener (an interviewer) and be able to react to what people say. As a change agent the analyst must be persuasive in helping others overcome anxiety caused by fear of the unknown (change after all presents an unknown future to most people). Another reason that people skills (interpersonal skills) are important is that organizations are sometimes (maybe even often) considered to be political. People within organizations are usually more interested in their own welfare than in the success of the organization. While this view might seem somewhat cynical the evidence supports it. Rarely will a person resign from a job because it is in the interest for the organization for them to do so. Because people are looking out for themselves the systems analyst can feel pulled by several competing sets of needs from the various people involved in a project. If the analyst appears to play favorites then various project participants may feel slighted and loose trust in the analyst. It is up to the analyst to be fair, honest and open but at the same time be aware of hidden agendas and be sensitive to the needs of all individuals involved. This is a tall order and not easily accomplished.
As an example, when an analyst is designing a new computer system that will be used by data entry clerks the analyst should be mindful of a typical concern of those people. Often systems are developed to make business more efficient. Data entry clerks may be concerned that a more efficient system may require them to work faster, in effect requiring them to do more work. If not presented carefully the clerks may believe that the purpose of the new system is to weed out the poorly performing clerks so that they can be fired. There have been cases where such concern has resulted in all clerks banding together and refusing to use the new system. It is up to the analyst to make sure that the clerks are considered part of the development team and that their fears are addressed!
It should not be surprising that knowledge of technology is quite important. The analyst is not expected to know the intricacies of programming but a decent general knowledge of concepts and terms is essential. The analyst must also appreciate the technical issues and constraints faced by programmers. Awareness of the different development tools (programming languages, databases, operating systems, types of hardware, and communication devices, etc.) is needed too. Without this knowledge the analyst will not be able to properly represent to the business user the capabilities of technology for solving business problems.
How does the analyst gain this knowledge? Certainly course work while in college is helpful. Many analysts either major in MIS (Management Information Systems) or at least minor in that subject. Often it is helpful to take additional non-credit courses or workshops that are specific to particular software programs. The analyst should regularly read trade publications and if possible attend industry trade shows and industry conferences. The analyst's ears should always perk up when a television story about technology is broadcast because in all likelihood some of the analyst's clients (business users) may have seen the same show and may want to discuss it with the analyst. Joining professional organizations often provides another rich source of information. Three organizations in particular have chapters in most cities and welcome new members: Association for Computing Machinery (ACM), Data Processing Management Association (DPMA) and the Association for System Management (ASM).
Computer programming experience is a good prerequisite too. As mentioned earlier, many organizations require this skill anyway. It is not uncommon for a person to start with a company as a programmer and be promoted to "programmer/analyst." That title really is the same as system analyst in some organizations. What this means is that even if you have the communication and interpersonal skills already discussed you may still be required to demonstrate some programming ability before being considered for a systems analyst position. It is highly recommended that a student learn at least one programming language while in college. The language need not be a typical third generation language (Cobol, Pascal, C, Fortran, etc.) but could just as well be a fourth generation language often used for prototyping. The key point is that businesses believe that experience programming will help give the analyst an awareness of the issues faced by the technical staff.
Just as knowledge of technology is important so is business knowledge. Clearly it would be quite difficult for a systems analyst to contribute to the organization without an understanding of the organization's mission, products, and competition. The analyst is not expected to be an expert in business but a decent understanding of the client's world is required. For example, a systems analyst who is designing an information system for the accounting department should understand the difference between a debit and credit. An analyst designing a system for a company that rents real estate should understand the significance of security deposits and late payment fees.
Recall from earlier discussion the traditional IPO (Input-Process-Output) Model. In effect the system analyst is responsible for all three stages of the model when analyzing and designing an information system. Surely, gathering the input (data about the business user's needs, corporate objectives, technological capabilities, etc.) is important, but analyzing (processing) that information is the most crucial aspect of the analyst's work. The analyst must be able to evaluate the data and creatively suggest alternative solutions to the business problems being addressed. The analyst must be able to "see" beyond solutions that worked in the past and be able to "paint" a new horizon. Creativity is not as much a skill that can be learned but a "hard-wired" quality of the individual. Being able to see beyond the barriers that hold others back is often what drives the success of the system analyst.
Aside from the personal communication, interpersonal and technological skills that were discussed above there are specific techniques and methodologies that the system analyst employs.