Thursday, December 17, 2009

SAD1 - Assignment 1

Based on your learnings of chapter 1, identify and discuss some characteristics you have as a good Systems Analyst.

A systems analyst is responsible for researching, planning, coordinating and recommending software and system choices to meet an organization's business requirements. The systems analyst plays a vital role in the systems development process. A successful systems analyst must acquire four skills: analytical, technical, managerial, and interpersonal. Analytical skills enable systems analysts to understand the organization and its functions, which helps him/her to identify opportunities and to analyze and solve problems. Technical skills help systems analysts understand the potential and the limitations of information technology. The systems analyst must be able to work with various programming languages, operating systems, and computer hardware platforms. Management skills help systems analysts manage projects, resources, risk, and change. Interpersonal skills help systems analysts work with end users as well as with analysts, programmers, and other systems professionals.

Because they must write user requests into technical specifications, the systems analysts are the liaisons between vendors and the IT professionals of the organization they represent[1] They may be responsible for developing cost analysis, design considerations, and implementation time-lines. They may also be responsible for feasibility studies of a computer system before making recommendations to senior management.

A systems analyst performs the following tasks:

• Interact with the customers to know their requirements
• Interact with designers to convey the possible interface of the software
• Interact/guide the coders/developers to keep track of system development
• Perform system testing with sample/live data with the help of testers
• Implement the new system
• Prepare High quality Documentation

During the 1960’s and early 1970’s, the field of systems development was run by either a programmer or a system analyst. There were more analysts than programmers at that time yet since computing was just new in the corporate arena and there were those who could still look at systems as a whole. But there was so great a need for people who could program computers, thus the rise of programming.

Programming was so much a trend that many authors started writing books on how to boost programmer productivity, which led to the introduction of Structured Programming in the late 1970’s. Shortly thereafter, the Computer Aided Software Engineering or the CASE movement followed.

In the 1980’s, the rise of programming has led to the tremendous decline in system analysis, with trade groups slowly folding up. New job titles were introduced such as analyst/programmer and software engineer. The emphasis of the former title was more on programming, not systems analysis. At present, programmers are so much in demand in the corporate world, particularly in the Information Technology field.

Although a programmer and systems analyst may have pretty much the same scope in performing tasks, the two are still set apart by several characteristics. The programmer is more introverted and puts more focus on technology. A systems analyst, on the other hand, studies a business’s information requirements and designs system solutions that satisfy them.

Moreover, as the middleman of the programming staff, the analyst is responsible for specifying software requirements as well. Most analysts are also usually extroverted and business-minded and they should also be able to communicate well both verbally and in written in order to work effectively with the programming staff and the end-users. Additionally, they should also be able to conduct interviews, create presentations and look at things in a bigger scope.

The systems analyst knows and understands the problems encountered by end users as well the operations of the users’ department. In fact, analysts can make great candidates for top management positions. However, this has not materialized for some time now because the demand for analysts has dwindled for many years already.

Proper systems analysis plays an important role in increasing programmer productivity as analysts can provide quality specifications for application tasks. Programmers may lose valuable time without the help of systems analysts, as they may have to make second guesses as to what the end users want. As a result, this could lead to constant rewriting of software.

Simply put, programmers can improve their productivity through quality data and processing specifications that systems analysts can provide. In fact, this is even found to be even better than any available programming technique or tool there is. With good systems analysis, programming is made easier because the focus is on upfront work.

System problems cannot be completely solved with the mere use of programming techniques and tools alone – it also needs good systems analysis as well. And apart from its vital functions, good systems analysis can actually be an important factor in increasing programmer productivity too.

Some tasks for a System Analyst:

Provide staff and users with assistance solving computer related problems, such as malfunctions and program problems. Test, maintain, and monitor computer programs and systems, including coordinating the installation of computer programs and systems. Use object-oriented programming languages, as well as client/server applications development processes and multimedia and Internet technology. Confer with clients regarding the nature of the information processing or computation needs a computer program is to address. Coordinate and link the computer systems within an organization to increase compatibility and so information can be shared. Consult with management to ensure agreement on system principles. Expand or modify system to serve new purposes or improve work flow. Interview or survey workers, observe job performance and/or perform the job in order to determine what information is processed and how it is processed. Determine computer software or hardware needed to set up or alter system. Train staff and users to work with computer systems and programs. Analyze information processing or computation needs and plan and design computer systems, using techniques such as structured analysis, data modeling and information engineering. Assess the usefulness of pre-developed application packages and adapt them to a user environment. Define the goals of the system and devise flow charts and diagrams describing logical operational steps of programs. Develop, document and revise system design procedures, test procedures, and quality standards. Review and analyze computer printouts and performance indicators to locate code problems, and correct errors by correcting codes. Recommend new equipment or software packages. Read manuals, periodicals, and technical reports to learn how to develop programs that meet staff and user requirements. Supervise computer programmers or other systems analysts or serve as project leaders for particular systems projects. Utilize the computer in the analysis and solution of business problems such as development of integrated production and inventory control and cost analysis systems. Prepare cost-benefit and return-on-investment analyses to aid in decisions on system implementation. Specify inputs accessed by the system and plan the distribution and use of the results.

4 main skills of a system analyst

Analytical Skills - ability to see things as systems, identify, analyze, and solve problems in an optimal way for a specific organization.

Technical Skills - ability to understand how computers, data networks, databases, operating systems, etc. work together, as well as their potentials and limitations.

Technical skills needed by systems analysts include but are not limited to:

1. Computers (PCs, mini, mainframes, etc.)
2. Computer networks (LAN, WAN, VPNs, administration, security, etc.)
3. Operating systems (Unix, Mac/OS, Windows)
4. Data Exchange Protocols (ftp, http, etc.)
5. Programming languages (C++, Java, XML, etc.)
6. Software applications (Office, project managements, etc.)
7. Information systems (databases, MISs, decision support systems)
8. System development tools and environments (such as report generators, office automation tools, etc.)

Management Skills - include organization’s recourse management, project management (people and money), risk management, and change management.

Managerial skills needed by systems analysts include but are not limited to:

1. resource management effectively managing the project’s resources, including time, equipment, hardware, software, people, money, etc.,
2. project management determining the tasks and resources needed for a project and how they are related to each other,
3. risk management identifying and minimizing risks,
4. change management managing the system’s (organization's) transition from one state to another

Communication Skills - include effective interpersonal communication (written, verbal, visual, electronic, face-to-face conversations, presentations in front of groups), listening, group facilitation skills.

Communication skills needed by systems analysts include:

1. clear and effective interpersonal communication, whether written, verbal, or visual, from writing reports to face–to–face conversations, to presentations in front of groups;
2. listening (accepting opinions and ideas from other project team members),
3. group facilitation or formal technical reviews (FTR) skills:
- setting an agenda,
- leading discussions,
- involving all parties in the discussion,
- summarizing ideas,
- keeping discussions on the agenda, etc.

Characteristics of high-performance team:

1. shared vision or goal
2. sense of team identity
3. result-driven structure
4. competent team members
5. commitment to the team
6. mutual trust
7. interdependence among team members
8. effective communication
9. sense of autonomy
10. small team size
11. high level of enjoyment

Five characteristics of a good system analyst

The system analyst must be able to communicate in writing and orally.
The analyst must easily get along with people.
The analyst must be a good listener and be able to react to what people say.
The analyst must be knowledgeable of technology. 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 be knowledgeable of business. The analyst is not expected to be an expert in business but a decent understanding of the client's world is required.

http://en.wikipedia.org/wiki/Systems_analyst
http://answers.yahoo.com/question/index?qid=20080725042042AA2MqMh
http://www.ankosnet.org/59-good-systems-analysis-in-increasing-programmer-productivity
http://www.careerplanner.com/Job-Descriptions/Computer-Systems-Analysts.cfm

0 Comments:

Post a Comment



Template by:
Free Blog Templates