Copied (and edited) from http://www.rastinmehr.com/2007/03/13/what_is_system_analysis/
Absence of a Business System Analyst is often the reason that relationships between Business People and Programmers go ugly. Most of us have heard stories about business people who bring a project to programmers, and later on the project is either delivered late, or comes short of the specs. That’s not always the case specially when the Programmer does a good system analysis job during the project, but again not every programmer makes a good system analyst.
Photography by Rastin Mehr © Some rights reserved
In larger organizations, System Analysts make the communication between IT and Business departments possible. In the absence of System Analysts this relationship becomes gradually dysfunctional, until at some point one department manages to dominate the other in the power hierarchy. During this struggle, people on both side become overworked, undermined, and frustrated. Eventually, the excessive loss of resources and lack of productivity could bring down an entire organization.
What System Analysts (SA) do,
- Is to study a business model, break it down to smaller bits of tangible information and understand how they should be processed.
- Then, these bits of information are compiled in the form of documents (User Stories, User cases, flow diagram) and visual diagrams (UML, ER, IA Garrett ) for Programmers to comprehend and follow. It is impossible to put down every detail of a project at the beginning, that is because designs usually change as the project moves on and by the time the project is finished it probably has little in common with the original specs. Despite that, the initial documentation could provide a development team, a good starting point and a big picture view.
In some companies the Sales and Marketing team have the superior authority over the IT department. Business people do what they can to write project specs which often contain technical and logical mistakes. IT managers who have little authority to discuss the specs with the Sales and Marketing team, often have to bend backward to find workarounds and hacks in order to implement a flawed spec. This leads into an inferior quality end product, and a frustrated team of IT professionals.
It doesn’t have to be that way!
Business Managers are human too, therefore capable of making logical mistakes in their inquiries. Once those shortcomings are discovered by their programmers, System Analysts could discuss and resolve the issues with the business team using a simple, non-technical language.
System Analysts understand the Architecture behind different software solutions and ways that they can be customized. For example, System Analysts can recommend the most suitable web application to a business or organization, and also figure out ways to incorporate the power of multiple web applications together in order to solve a business problem.
They can identify the most efficient software in terms of speed, usability, cost of implementation, and maintenance. They can recommend suitable Hardware and Server Architecture, conduct Cost vs. Benefits studies, and perform risk assessment.
A Business System Analyst often has a degree in Computer Science or Management of Information Systems. In addition to that, they often have done studies in Business, Marketing, or Accounting.
System Analysis also demands great abstract thinking abilities which is often considered to be a natural talent. Great System Analysts can view a project from a 10,000 feet perspective, as well as zooming into an atomic project detail.
Knowledge of Math and Logical thinking is absolutely necessary. Great verbal and writing abilities are also very important. Having good Communication skills is so essential that sometimes Business or English major graduates who happen to be technology hobbyists, find their way into the System Analysis market, but again you are always better off with someone who has done Programming and Software Architecture in the past.