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

Chapter 2. Systems Analysis and Design in a Changing World

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

Tuesday, April 27, 2010

My Characteristics of a Good System Analyst

(Note: This is a reply to Mr. G.'s thread in USeP-IC Web Forum - Assignment 1: Based on your learnings of chapter 1, identify and discuss some charateristics you have as a good Systems Analyst.)

Long before we had our discussion in System Analysis and Design I had only known little about the qualities and functions of a system analyst. To me, it sounds great. Being the analyzer of the system – of how every component of the system works and operates. It was only later that we have all come to know what a real system analyst does.

The first module of our lecture – discussion session in SAD 1 (I was one of the reporters in Chapter 1) talks about the topic The World of the Information System Analyst. Subtopics cover the roles of a system analyst, the various systems an analyst can work on, the required skills of a system analyst, the analyst’s role in strategic planning, and why ethical behavior crucial for an analyst’s career.

Apparently, a system analyst plays a major role in a project team which works primarily for an information system. A system is defined as a group of interrelated components functioning together to achieve an outcome. An information system (IS) is a collection of interrelated components that collect, process, store, and provide as output information needed to complete tasks (Systems Analysis and Design in a Changing World, 4th Edition). A systems analyst researches problems, plans solutions, recommends software and systems, and coordinates development to meet business or other requirements (wikipedia). He/she also develops information systems that support strategic planning. A systems analyst may: interact with the customers to learn and document requirements, interact with designers to understand software limitations, help programmers during system development, perform system testing, deploy the completed system, document requirements or contribute to user manuals. There are various roles that a system analyst plays: as a business problem-solver, as a consultant, as a supporting agent, as an agent of change (Systems Analysis Fundamentals: Assuming the Role of the System Analyst).

Because the information system analyst performs essential tasks, there are skills and characteristics that he/she must possess to be a good one. The required skills include business knowledge and skills, technical knowledge and skills, and people knowledge and skills. Basically, a system analyst must have fundamental understanding of the various information technologies specifically on the technical part. Familiarity with the use of computers and peripheral devices and other hardware could be one. He/she should have knowledge about programming languages, operating systems, file and database management systems, computer networks and protocols and others. A system analyst must also understand the business functions performed by the organization, of how it operates, manage its processes, including the strategies, plans, values, and structure of the organization. People knowledge and skills typically indicate the interpersonal skills of a person. He/she must be able to have good communication skills because a system analyst is an effective communicator and collaborator.

As an information technology (IT) student, I could see myself becoming a system analyst in the near future. Well there are actually a lot of occupations in the IT field and we do not have to worry if we do not get jobs as what our professor told us. One of the careers in the IT field is being a system analyst. But of course, I can not be a good systems analyst if I do not learn to cultivate the necessary skills and characteristics. Yeah, it calls for some expertise and attitude. Whew. Nevertheless I have determined some qualities of mine that could make me qualify as a good system analysis. Hmm, hopefully.

Basically, an information system analyst typically has a university or college degree in computer science, information technology, or computer programming. As of now, I have not earned a full degree in my Information Technology course but soon enough I know that I’ll graduate with that course so I can say that I can be qualified as a system analyst. As a student, I have learned several stuffs about hardware, software, and people ware. I have learned basic things of how technology can be applied to solve real-world problems for people. Still, I am on my way of cultivating more of the knowledge in IT applications. Developing systems and software engineering are just some of the basic principles that we are practicing now which could soon be the major projects of a system analyst.

According to an article by Carol Francois, people, who enjoy working with technology, are focused on details, and can work as a team member report the greatest satisfaction as information systems analysts. Well I can say that for how many years I have been studying in information technology, I have come to be fond of working things out with the help of technology. It is just that for years of my stay in the university where I am studying, I have come to realize how technology can really help a lot through its applications to aid our efficiency in our daily work. Technically, I have gathered a lot of knowledge while studying in my course.

I have always believed that I am a person with a keen sense in details. I can say that because in every thing, task, story, place, or people I say, do, hear, or talk to, I would always want to have a clear understanding in its every single detail. Well, it is how I can have a comprehensible grasp of the thing in general. I believe that if I knew every bit or piece of a whole, I can always make out what it is in a general point of view. In relation to our topic, a system analyst needs to have focus on details. This is because his / her role is very critical to the information system and to the organization as a whole. He/she must be able to take hold of every component he/she is working on – all the particulars, facts, information, and fine points of the system - because every single component is crucial to the overall function of the system. This is highly important specially in reviewing the project specifications. The analyst reviews and refines the specifications used to develop or write computer software. The skill of a good documenter is highly regarded in this point. And I also believe that I have that capability. I have also spent years in learning and studying and expressing ideas on paper and any writing using the English language so I consider myself as a good documenter. By nature, I am primarily a visual learner - gain knowledge best through the written word. I have realized this when I recall numerous experiences when I usually tend to diligently take down every word of which I could learn. I am fond of writing my thoughts on paper, sketching plans, brainstorming ideas by concept mapping and the like. I must admit I like documenting more than programming in front of the computer with all the codes blurring your vision eventually becoming spaghetti characters on your brain. Grrr.

A system analyst must also be a good communicator. As one job of an information system analyst is being a collaborator of the project team, he/she must know how teamwork is essential to the project. Professional information system analysts can work independently yet seeing to it that the project of the team can continue System analysts work closely with developers and programmers. Just imagine a system analyst not in good terms with the project developers and programmers. It would certainly result in arguments because of differences in views and ideas of the system specifications that could end in an unsuccessful project implementation. I as an aspirant do think I have the communication skills of a system analyst. Currently, I am working with a team in making our software engineering project. We are going to develop a system for one of our university offices. I must admit that the team where I belong right now composed none of my closest friends in college but I have worked with them in previous projects in other subjects. So far, we have accomplished those projects smoothly with good, if not better teamwork and collaboration with each other. I have always believed that one need not be with close friends in a project all the time as this would sometimes result in team members working dependently with one another. Right now I am practicing to work with people whom I could say, are nice to work with because we don’t take our tasks personally rather we try to work professionally. As a project manager of our team, I also have the responsibility to maintain good relationship among my team members, seeing to it that we also have time to relax a bit needing not to engross our heads in our project rather we talk about it and discuss to the team what is best for our project. Arguments are normal, they are actually not unhealthy – because we are just letting ideas clash and eventually it could help us sort things our on which components are lacking or needs enhancement and may not be needed to implement in our system – but we are doing it in a manner of professionalism – we do not take striking words personally just for work.

Moreover, a system analyst requires the need for continuing dedication. After our system development projects are done, my learning about the full cycle of the information system does not stop there. Even after I graduate, there are a lot of things that I still want to know more. As we all know technology is fast evolving and in one way or another you may want to get to know these new applications that seem to grow anywhere in the field of IT. What is more important is that I do not lose the heart to learn. For how can you be able to provide solutions to business problems if you do not learn to embrace new information, strategies, and techniques? Dedication and determination make up a great learner, and a good system analyst.

study study study
I would like to acknowledge the following as my reliable resources in making the above essay:

Systems Analysis and Design in a Changing World, 3rd, 4th, & 5th edition.


Carol Francois. What is an Information System Analyst?

System Analysis Fundamentals: Assuming the Role of the System Analyst

Information System Design and Analysis! lol!

Friday, April 9, 2010

Sleeping Like A Crow

Have you experienced being awake for almost round the clock and had a sleep like that of a crow? It is widely experienced by employees whose jobs are on the night-shift, or plain students spending the wee hours of the morning trying to beat the deadline of a certain project. Well, this is kinda different from spending your time enjoying the party with your friends, nor doing an overnight vigil for a cause. But this is what we had (admittedly bragging about) experienced for a couple of uh, days? Weeks? (I'll be surely floating literally if it would take months!)Just because of putting off projects that are supposed to be submitted for a long time. Tsk. Big deal. Yeah. Beating the deadline. We're already dead. Because we're already behind schedule. Gosh. How could I be so sometimes stupid. I've let all those tasks rummage through my brain and all I have done is to keep on thinking hard and worrying on which should be done first. Procrastinator! Tsk. No enough time and reason of blaming whoever whatever now. Gotta move.