December 20, 2009

A firms view: Good System Analyst

Our group decided to have our letter of approval for the interview on the Andres M. Soriano (AMS) Group of Companies. We have conducted the interview with the MIS Head/System Analyst of the Andres M. Soriano (AMS) Group of Companies, Mr. Gemrald Glibara.

But, before going to what we have learned from the interview, let us first define system analysis.

system Analysis has many different meanings. In the sense adopted for the Handbook, systems analysis is an explicit formal inquiry carried out to help someone (referred to as the decision maker) identify a better course of action and make a better decision than he might otherwise have made. The characteristic attributes of a problem situation where systems analysis is called upon are complexity of the issue and uncertainty of the outcome of any course of action that might reasonably be taken. Systems analysis usually has some combination of the following: identification and re-identification) of objectives, constraintS, and alternative courses of action; examination of the probable consequences of the alternatives in terms of costs, benefits, and risks; presentation of the results in a comparative framework so that the decision maker can make an informed choice from among the alternatives. The typical use of systems analysis is to guide decisions on issues such as national or corporate plans and programs, resource use and protection policies, research and development in technology, regional and urban development, educational systems, and?alth and other social services. Clearly, the nature of these problems requires an interdisciplinary approach. There are several specific kinds or focuses of systems analysis for which different terms are used: A systems analysis related to public decisions is often referred to as a policy analysis (in the United States the terms are used interchangeably). A systems analysis that concentrates on comparison and ranking of alternatives on basis of their known characteristics is referred to as decision analysis.

That part or aspect of systems analysis that concentrates on finding out whether an intended course of action violates any constraints is referred to as feasibility analysis. A systems analysis in which the alternatives are ranked in terms of effectiveness for fixed cost or in terms of cost for equal effectiveness is referred to as cost-effectiveness analysis. cost-benefit effectiveness is a study where for each alternative the time stream of costs and the time stream of benefits (both in monetary units) are discounted (to yield their present values. The comparison and ranking are made in terms of net benefits (benefits minus cost) or the ratio of benefits to costs. In risk-benefit analysis , cost (in monetary units) is assigned to each risk so as to make possible a comparison of the discounted sum of these costs (and of other costs as well) with the discounted sum of benefits that are predicted to result from the decision. The risks considered are usually events whose probability of occurrence is low, but whose adverse consequences would be important (e.g., events such as an earthquake or explosion of a plant). (http://pespmc1.vub.ac.be/ASC/System_analy.html)

Technical, Managerial, Communication Skills of a System Analyst

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.)


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
3. What kind of communication skills are needed for systems analysts?

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.
(http://www.interlabs.bradley.edu/NSF_CCLI/Demo/class6/module6/Skills_Pretest_Posttest_Answers.pdf)

In the interview, talk about on how to become a system analyst and what is the frustration does the users and planners encounter during and after the project. During the interview we have come up with a questiopn about thae characteristics of a good System Analyst.

As the interviewee, Mr. Glibara would say, System Analyst should have the following characteristics:

• Able to cope with technological changes
• Ablle to cope with the frustrations with implemented information system
• Able to communicate
• A solution provider with regards to the demand of the client; and
• Has a wide range of thinking and understanding.

We have also asked him about the process model(s) that the department has been using in developing projects.

System Development Cycle (SDLC)

The Systems Development Life Cycle (SDLC), or Software Development Life Cycle in systems engineering and software engineering, is the process of creating or altering systems, and the models and methodologies that people use to develop these systems. The concept generally refers to computer or information systems.

In software engineering the SDLC concept underpins many kinds of software development methodologies. These methodologies form the framework for planning and controlling the creation of an information system: the software development process.

A Systems Development Life Cycle (SDLC) is any logical process used by a systems analyst to develop an information system, including requirements, validation, training, and user (stakeholder) ownership. Any SDLC should result in a high quality system that meets or exceeds customer expectations, reaches completion within time and cost estimates, works effectively and efficiently in the current and planned Information Technology infrastructure, and is inexpensive to maintain and cost-effective to enhance.

Computer systems have become more complex and often (especially with the advent of Service-Oriented Architecture) link multiple traditional systems potentially supplied by different software vendors. To manage this level of complexity, a number of systems development life cycle (SDLC) models have been created: "waterfall"; "fountain"; "spiral"; "build and fix"; "rapid prototyping"; "incremental"; and "synchronize and stabilize".[citation needed]

SDLC models can be described along a spectrum of agile to iterative to sequential. Agile methodologies, such as XP and Scrum, focus on light-weight processes which allow for rapid changes along the development cycle. Iterative methodologies, such as Rational Unified Process and Dynamic Systems Development Method, focus on limited project scopes and expanding or improving products by multiple iterations. Sequential or big-design-upfront (BDUF) models, such as Waterfall, focus on complete and correct planning to guide large projects and risks to successful and predictable results.[citation needed]

Some agile and iterative proponents confuse the term SDLC with sequential or "more traditional" processes; however, SDLC is an umbrella term for all methodologies for the design, implementation, and release of software.

In project management a project can be defined both with a project life cycle (PLC) and an SDLC, during which slightly different activities occur. According to Taylor (2004) "the project life cycle encompasses all the activities of the project, while the systems development life cycle focuses on realizing the product requirements".
(http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle)

The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application.
Various SDLC methodologies have been developed to guide the processes involved, including the waterfall model (which was the original SDLC method); rapid application development (RAD); joint application development (JAD); the fountain model; the spiral model; build and fix; and synchronize-and-stabilize. Frequently, several models are combined into some sort of hybrid methodology. Documentation is crucial regardless of the type of model chosen or devised for any application, and is usually done in parallel with the development process. Some methods work better for specific types of projects, but in the final analysis, the most important factor for the success of a project may be how closely the particular plan was followed.

In general, an SDLC methodology follows the following steps:

1. The existing system is evaluated. Deficiencies are identified. This can be done by interviewing users of the system and consulting with support personnel.

2. The new system requirements are defined. In particular, the deficiencies in the existing system must be addressed with specific proposals for improvement.

3. The proposed system is designed. Plans are laid out concerning the physical construction, hardware, operating systems, programming, communications, and security issues.

4. The new system is developed. The new components and programs must be obtained and installed. Users of the system must be trained in its use, and all aspects of performance must be tested. If necessary, adjustments must be made at this stage.

5. The system is put into use. This can be done in various ways. The new system can phased in, according to application or location, and the old system gradually replaced. In some cases, it may be more cost-effective to shut down the old system and implement the new system all at once.

6. Once the new system is up and running for a while, it should be exhaustively evaluated. Maintenance must be kept up rigorously at all times. Users of the system should be kept up-to-date concerning the latest modifications and procedures.
(http://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci755068,00.html)

What is the importance of the design phase of SDLC?


Interpersonal skills
These includes the following:

Communication:

It is an interpersonal quality; the system analyst must have command on English language. Communication is necessary to establish a proper relationship between system analyst and the user.
Communication is need to gather correct information.

Understanding:

This is also an interpersonal quality of the system analyst, understanding includes :
a. Understanding of the objectives of the organization.
b. Understanding the problems of the system.
c. Understanding the information given by the user or employee of the organization.

Selling:

The ideas of the system analyst are his products which he sells to the manager of a particular organization. The system analyst must have not only the ability of creating ideas but also to sell his ideas.

Teaching:

It is also an interpersonal quality. A system analyst must have teaching skills. He must have the ability to teach team members and the users. He has to teach about the new system and also about the proper use of the new system.

New technology:

An analyst is an agent of change, he or she must have the ability to show all the benefits of the candidate system with the new technological advancement, he must knew about.


Another list of skills that analyst must posses to be more effective in any design modeling process:

Analysis and Solution Definition Skills:

•To coordinate with Solution and Demand Management (SDM) team and different business users to manage business requirements and develop clear and workable high level assessments and Solution Design documents fulfilling business needs and in line with Technology and IT ability to deliver.
•To always drive and personally perform research and investigation in all relevant technology and business areas to ensure the Intranet presences is coping with industry standards.
•Translate requirements defined by business analyst into logical, economical and practical system designs.
•Analyzes and Designs system flow and procedures to ensure optimum control and security of data and efficient use of resources
•Develops functional specifications and system design specifications for client engagements.
•Work with vendors and service providers to analyze, design and implement robust, extensible and creative web solutions weighing costs versus benefits.
•Write high and detailed level business requirement documents
•Liaise with business users for requirements gathering, analysis and delivery
•Ensure proper development and implementation of projects by smartly decide on how to implement solutions by assessing all options of in-house development, out-sourcing and/or produced solutions

Technical Skills for Recommendation and Testing:

•Leads testing efforts.
•Ensures issues are identified, tracked, reported on and resolved in a timely manner.
•Works with client personnel to identify required changes.
•Communicates needed changes to development team.
Project Execution:
•Ensure that company’s policies and regulations are thoroughly followed in all projects. This includes but not limited to policies for procurement, vendor relations, legal, financial, human resources, customer service and technology.
•To ensure that the implemented solutions shall operate as planned by ensuring proper and comprehensive coordination with all IT and technology operation teams. This includes but not limited to planning and executions of SLAs, Training, Escalations Matrix & Procedures, Maintenance Windows, etc.
•Assists in enforcement of project deadlines and schedules.
•Takes input from supervisor and appropriately and accurately applies comments/feedback.
•Manages resources in accordance with project schedule.
•Consistently delivers high-quality services to our clients.
•Apply best-practices in Project Management to ensure robust project planning and monitor project execution, shorten the development cycles, and ensure on-time and on-budget delivery based on PMI Methodology
•Manage project change requests by liaising with CR department, business users and vendors to come up with the best solution that would accommodate the CR performance needs (scope, time, quality, cost and customer satisfaction)
•Ensure tight and close management to development and implementation teams including staff, contractors and vendors on-site and off-shore and to proactively avoid delay in the execution by proper follow-up, communication and escalation
•Manage teams including staff, contractors and vendors on-site and off-shore and to proactively avoid delay in the execution by proper follow-up, communication and escalation
•Monitor project performance and adherence deadlines to ensure delivery on time and within cost
•Collaborate and manage project stakeholders, manage expectations and report progress

Communication Skills:

•Assists in the facilitation of team and client meetings.
•Delivers informative, well-organized presentations.
•Understands how to communicate difficult/sensitive information tactfully.
•Communication and interpersonal skills, Ability to foster a co-operative work environment

Technical Understanding Skills:

•Possesses understanding in the areas of application programming, database and system design.
•Understands Internet, Intranet, Extranet and client/server architectures.
•Understands how legacy and web-based systems interface with each other.
•Architect technical web solutions in support of corporate IT/business objectives.
•Review technical designs & specifications and identify website or system deficiencies, and thereby recommending appropriate solutions.
•Support and maintain the existing corporate website and functionalities, including documentation of functional and systems specifications.
•To undertake research and investigation for all development related technologies, techniques, best-practices and forums.

Problem Solving Skills:

•Follow up the defects of the systems and prepare needed development/testing environments (SIT and UAT)
•Exhibits confidence and an extensive knowledge of emerging industry practices when solving business problems.
•Pushes creative thinking beyond the boundaries of existing industry practices and client mindsets.
•Ensure business requirements are met, and user satisfaction
•Process, validate and approve vendors’ invoices and purchase orders
•Monitor project performance and adherence to project plan execution, overall change control

Leadership and Teamwork Skills:

•Ensure that the implemented solutions shall operate as planned by ensuring proper and comprehensive coordination with all IT and technology operation teams as planned in SLAs
•Take proactive and corrective action as necessary and within established guidelines
•Proven leadership capability in managing teams, setting common ground rules and conflict resolution
•Able to support multiple projects concurrently and efficiently
•Acumen and awareness of the latest business and technologies thru research and development

Knowledge, Skills, Experience and Competencies:

•Software development skills
•Analysis & Design skills
•Communication skills
•Conflict Resolution skills
•Presentation skills
•Team Work & cooperation
•Can-Do Attitude
•Team Building & Coaching
•Customer-Centric Thinking
•Result Oriented
•Flexibility
(http://www.blurtit.com/q170760.html)

From what the interviewee says, opinion on how to be a Systems analysts is that he/she must be able to think logically and is a good communicator, meaning he/she must be good in speaking the universal language, which is English. Another thing is, he/she should be able to persuade client with his/her skills. Since they sometimes work in teams, in order to make large projects possible or successful, they must be able to communicate effectively with computer personnel, such as programmers and managers, as well as with users or other staff who may have no technical computer background.

In his view except from him, being the MIS department head, he is, at the same time the System Analyst of the team. But, they lack programmers in their department and he said he can do programming but he find it really hard to be a “one-man-team”. Of course, analysts should be familiar with programming languages and have a broad knowledge and experience with computer systems and technologies, strong problem-solving and analysis skills. AMS is a business-oriented company, that’s why it is required for the employees or staff to have a background on business-related transactions.

A must have skill when you are or want to be a System Analyst is the skill to choose the right and best process model for the project. In AMS, Rapid Application Development.

What is Rapid Application Development?

Rapid Application Development (RAD) refers to a type of software development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements.

Rapid Application Development is a software development methodology that involves techniques like iterative development and software prototyping. According to Whitten (2004), it is a merger of various structured techniques, especially data-driven Information Engineering, with prototyping techniques to accelerate software systems development.

In Rapid Application Development, structured techniques and prototyping are especially used to define users' requirements and to design the final system. The development process starts with the development of preliminary data models and business process models using structured techniques. In the next stage, requirements are verified using prototyping, eventually to refine the data and process models. These stages are repeated iteratively; further development results in "a combined business requirements and technical design statement to be used for constructing new systems".

RAD approaches may entail compromises in functionality and performance in exchange for enabling faster development and facilitating application maintenance. (http://en.wikipedia.org/wiki/Rapid_application_development)

Mr. Gemrald Glibara and the company do not to use Waterfall Method, because they think that they are developing an enterprise systems, and the most common thing that woul happen is it overruns. They are used to RAD process model.

In my opwn views, it is very critical that a System Analyst is able to foresee future problems that will hit the project team and the firm itself. This would be a very good quality skill that may be able to rest assure that the firm would be very effective in the future.

Another thing is, the most important skill is to become a good and excellent communicator or better have a practice and develop each employees or staffs communication skills.


No comments:

Post a Comment