Friday, April 30, 2010

Skills and Characteristics of A System Analyst in Designing Models

(Note: This is a reply to Mr. G.'s thread in USeP-IC Web Forum - Assignment 2: Interview a Systems Analyst and ask what skills and characteristics must a systems analyst develop in order to be more effective in any design modeling process [include in your answer evidences (pix, ltrs, etc))
 
In my previous post about the characteristics I possess as a good system analyst I have already discussed about the various roles of a system analyst. For a good system analyst to perform his / her functions well, he / she should be skillful enough to understand the flow of the system to be able to solve any problems that may arise. In Module 2 of our Systems Analysis and Design 1, we have tackled about the approaches to systems development. In a systems development life cycle, there are various phases of problem-solving approach: planning, analysis, design, implementation, and support phases. These things make up the different steps of a system analyst in software / systems development project. Some use the traditional approaches like the waterfall model, overlapping (or concurrent phases), and iteration. Now there are also many kinds of methodologies and models used in system development. There are a lot of tools and techniques that a system analyst can utilize to guide him / her in mapping out the components of a system. Aside from the traditional approach, many developers soon developed structured analysis and design techniques which gave birth to various charts such as data flow diagram (DFD), entity-relationship diagram (ERD), class diagrams, and furthermore, the object – oriented approaches. Current trends in system development include the spiral model, extreme programming (XP), the unified process (UP), and Agile modeling. There are also a variety of computer-aided systems engineering (CASE) tools which are designed to help analysts complete tasks.

As we can see, these models and methods are of good use especially to the developer. But these tools and techniques must be chosen well because not all models are to be used in just one system development project. It depends on what type of system you are using, the components that are to be included, the flow of the system, and many other factors to be considered. If a system analyst is not adept enough to identify the kinds of models he / she should best use, then it would be hard to illustrate the system development life cycle.

Last Thursday, April 29, 2010, we had an interview with the MIS Supervisor of Sta. Ana Multipurpose Cooperative. We asked for some inputs on what are the skills and characteristics must a system analyst develop in order to be more effective in any design modeling process. Actually I have come up with this set of questions for the interviewee to answer:




Basically, a system analyst gets to know the overall function and flow of the system. He/she has to make a thorough look of the system and sees to it with what the programmer and/or developer is doing. The system analyst gets into the details of the system, and he/she also makes the flowcharts, etc. Sir James, our interviewee, pointed out that as a system analyst you do not have to think as a programmer, but as a common person.

This made me think back about the differences of a system analyst and a programmer. I was actually asked by Sir James about that. From an essay article entitled The Differences of Being a System Analyst and a Programmer I have previously searched online, I have read that “…system analysis and design differs from computer programming (although many of us actually relate system analyst as a programmer in the project team). System analyst enhances and develops information systems and information technology to get the best benefits for a business. In computer programming, a person only needs to have knowledge on how to program by using any high-level language. Computer programmers sometimes seek knowledge in other computer-based areas like networking, GUIs, and many others which are sometimes the same as what system analysts seek. Furthermore, the author said that not every system analyst is a computer programmer and not every computer programmer is a system analyst. System analyst and computer programming are related in a way or another. Systems analysis requires a variety of skills, and computer programming is more focused on a certain emphasis of study.”

The very important key skill and/or characteristic that Sir James pointed out is, that a system analyst must really know how to communicate well. It is somewhat related to the ‘people skills’ that a system analyst should primarily possess. Communication skill is extremely significant especially in dealing with different individuals who are involved in your system. A system analyst works with the project team composed of the system developers and/or programmers, project manager, testers, documenters, designers, and many others including the client or customer sometimes. “If there is no good communication between the people of the project, there is a big chance of misinterpretation,” Sir James stressed. He also showed us a caricature of various interpretations of the different individuals who are involved in a certain system development.



A system analyst must be keen to detail. He must be observant in every single detail of the system. This is vital especially that, in any modeling process, if you miss a single detail it could result to a disastrous project. For example, you have a project and all your programmers are already starting doing the project, then in the middle you miss an important detail, this could consequence in a waste of resources, time, effort, and most importantly, money. As we all know, a system project equates money earned by clients and customers who request your services and pay you. If you, as a system analyst, are keen to details, you will make accurate design models.

Thirdly, a system analyst must have developed programming skills. This is effective especially in dealing with a project from a client or customer. As a system analyst, you will get the specifications of the system you are going to work with, or are already working with. Analyzing the problem involves assuming the possibilities if a certain solution will address the problem. Of course, when you work in analyzing the project, you would think like “is this even possible?” knowing the capabilities of your team programmers in the team who will develop the program.

Another input our interviewee gave is that, a system analyst should see the problem along first and not the solution directly like what the programmer does. He then brought up the topic about the global thinker and the systematic thinker. In a scenario where there are two men digging up a hole in the yard, the first man when asked what he is doing answered that he is digging. That is actually what he is doing – in a general point of view. The second man when asked answered that he is going to build a house – that is in a deeper sense. The first man is actually the systematic thinker as to a system programmer. The second man is the global thinker – the way system analyst should. Note the distinction of the way the two men answered the question.

When asked what specific skill or character that he has the best and which one he needs to develop more, Sir James’ opinion was that, he still has to develop more of the ‘global thinker’ skill. It is because he has this ‘programmer instinct’ surfacing in most cases of his job as the MIS supervisor in the organization. When asked when and how he can apply those skills in relation to his job, our interviewee said that he had it every time opportunity calls or when the time needs. As an MIS supervisor, he gets to say in times when there are meetings with the management or consultations of offers from other companies who sell their products to their company. Much about his job would be getting the overall scope of the system or project, its specifications, and relay the information to the human resource department.

Many thanks for the following resources I used as references for my post: study study study study

Information System Design and Analysis: The Differences of Being a System Analyst and a Programmer
http://ignaga.wordpress.com/2009/03/07/the-differences-of-being-a-system-analyst-and-a-programmer/

Chapter 2. Systems Analysis and Design in a Changing World

Mr. James Bautista of Sta. Ana Multipurpose Cooperative
lol! lol!



No comments: