Thursday, February 23, 2012

Why ERP? Why Not? - Assignment # 12


From news article or internet information, find an example of an organization that is installing an ERP package. If possible get a copy of the over-all project plans and analyze the various activities and compare them with a standard SDLC.

SAP

About SAP
Headquartered in Walldorf, Germany, SAP is the market leader in enterprise application software. Founded in 1972, SAP (which stands for "Systems, Applications, and Products in Data Processing") has a rich history of innovation and growth as a true industry leader. SAP applications and services enable more than 183,000 customers worldwide to operate profitably, adapt continuously, and grow sustainably. With revenue (IFRS) of €12.5 billion for the year 2010, SAP has more than 54,000 employees and sales and development locations in more than 50 countries worldwide [1].

SAP runs SAP

Before SAP releases its solutions to its clients, it is first use in the company to help its employees effectively and efficiently address its own operational needs [2].
               
There are no available project plans of SAP that are available online which may due to the confidentiality of the information contained on SAP project plans. But to understand what the various activities in ERP are, Marianne Bradford (2010) discusses the ERP Life Cycle which composed of:
·         Planning
               
·         Package Selection
·         Implementation
Implementation is the methods a company uses to achieve their goals by transforming the way they carry out operations and softwares are tools used to meet that objective (Marianne, 2010).

·         Installation
Installation is the mechanics of changing from one software package to another while keeping problems at a minimum (Marianne, 2010). The software should meet the operational and strategic goals to which the reason it is installed. But it does not mean that the software will achieve those goals over a sustained period of time. There are instances that Marianne (2010) mentioned in which the success of the installation of the software does not matter if the employees don’t know how to use it.
§  Configuration
Configuration is a major implementation task in which business and functional settings in the ERP system are changed to make the “out of the box” software support the customer’s business needs. Configuration does not make any changes to the core software code, but instead updates tables with settings and entries specific to the customer’s business. Called configuration tables, these tables enable a company to tailor a particular aspect of the system to the way it chooses to do business. Project team members can use configuration tools to select alternatives through an easy to use GUI. These selections then behave like switches that tell the software to perform differently based on the values selected (Marianne, 2010).
                               
·         Customization
There are reasons why ERP software undergoes customizations according to Marianne (2010), it is either the company has a business process that is unique to other companies or it will provide the company an edge over it competitors. Customization requires programming, which must be performed by a programmer/developer, whether in-house (if expertise exists within the company), or external by a consultant. The project team should also consider approaching the software vendor for consultation and support. Often the vendor may assist by internalizing efforts to provide unique solutions that would otherwise require customization and instead make them configurable options. This approach may be advantageous to both parties. The company gets what they want more easily, and the vendor may expand their target customer base to attract more companies that may also need this option (Marianne, 2010).

o   Enhancement
An enhancement occurs on the ERP software when the customers ask for additional functionalities or wants to change the look and feel of the screen. In an SAP environment, this type of change would not create a core software change but makes use of user exits, which are pre-defined breaks in the core ERP code where custom programming can be inserted or “called” without fundamentally altering the way the ERP transaction works (Marianne, 2010).

o   Modification
Modification is made when the customer decides to make changes on the ERP software that will affect the core code. It is because the software does not have the capability to address the requirement and the software has to be changed in the way it works. And as mentioned by Marianne (2010), modifications needs to be registered with the software vendor and is not supported by future upgrades of the software because the modification is outside of the scope of the software creation.
·         Testing
Testing is important prior to the deployment of the software. This checks if the software works as to what is required and should meet the customers’ expectations. Also during testing, the project team confirms the software can meet the previously specified requirements and identify gaps that are not found during the package selection phase. Marianne (2010) mentioned that companies can use conference room pilot (CRP) sessions where conference rooms are designated as temporary locations to support development and testing, and employees can execute transactions with the proposed system configurations. As transactions are executed, expected results can be compared to actual results. Differences between the two will identify areas where the system or the expectations might need to be tweaked. Marianne (2010) also mentioned specific types of testing which includes:

o   Unit Testing – small increments of functionality as discrete steps in a business process or testing a single development object to the requirements in a functional specification.
                                               
o   Integration Testing – Testing end-to-end business processes including any customizations, enhancements, or interfaces to external systems.

o   Customer acceptance testing – Usually a final round of integration testing in which key users develop realistic business scenarios that represent how the system will need to work after go-live. The users are tasked with testing the system to their approval or acceptance. This milestone is critical to proceeding with go-live cut-over activities.
                                               
o   Security Testing – Testing all of the user roles and authorizations that are being set up in the system. These tests include both positive and negative tests to demonstrate that allowed functionality can be accessed or that unauthorized access is appropriately denied.

·         Change Management
The implementation process of ERP would change the way employees do their jobs. This could be advantageous to the company because of best practices implemented but according to Marianne (2010), people are naturally hesitant to change. Marianne (2010) states that, “This hesitancy must be anticipated and managed. Employees should be encouraged to provide input into the implementation process and to have their input considered. They should also be educated in the system’s objectives and the business case that supports its selection”. Change management is the body of knowledge that has evolved to address change within the context of an organization. Some additional definitions of change management include as mentioned by Marianne (2010):
o   A systematic approach to dealing with change, both from the perspective of an organization and on the individual level.
o   A structured approach to managing change in individuals, teams, organizations and societies that enables the transition from a current state to a desired future state.
o   Getting employees from Point A, prior to change, to Point B, where all employees are fully trained and new processes are in operation.
o   Unfreezing, transitioning, and refreezing. The unfreeze step gets employees from “unready to change” to “being ready to take the first step towards change”. The transition step keeps the change moving through incremental steps, employee/management involvement, and open door policies by management. The refreeze step establishes roots so that the new point stays permanent and employees do not resort back to old methods or systems.

As said by Marianne (2010), “Without change, performance would never improve”. Marianne (2010) also said that, “successful companies have a culture that keeps moving and changing proactively” but these changes in the company should be manage properly with formal processes that:
§  Defines the objectives of the change
§  States the business case supporting the change
§  Identifies the actors or agents responsible for the change
§  Defines the schedule of the events that will result in the change
§  Lists specific steps involved in implementing the change
§  Defines the results confirming each step’s success or failure
§  Identifies risks and potential points of failure in the change
§  Incorporates mechanisms for feedback and plans for continuous improvement

·         Interfacing with other Systems
ERP system should be able to exchange data with other client server systems as well as legacy systems. Marianne (2010) also mentions that, “ERP systems may interface with external business partners through electronic data interchange and electronic funds transfer protocols”. Interfacing ERP with other System or external entities to extend is functionalities increases time and cost to the development of the ERP system but it will be essential to integration of data that the ERP processes.
               
·         Training
As said by Marianne (2010), “training expenses are high because employees almost invariably have to learn a new set of processes, not just a new software interface. Professional training companies may not always be the best resource to help because they are focused on teaching users how to use the software versus educating users about the particular ways the company does business”. It important for the employees to know changes on the business processes which is caused by the implementation of ERP and not just the software functionalities and interfaces.
·         [b]Operation and Maintenance[/b]
After go-live, according to Marianne (2010), the company implementing ERP system proceeds to the operation and maintenance phase which starts with the period of stabilization and while the memories about the ERP system is still fresh, the project team should conduct “postmortem session” to determine what went right, what went wrong and what are the lessoned learned during the ERP system development and deployment. Maintenance activities are then started shortly after the ERP system goes live. Marianne (2010) also mentions some typical ERP maintenance activities namely:
o   Preventive maintenance - These are regularly scheduled tasks that must be performed to keep the system functioning properly.
o   Emergency maintenance - These are tasks that must be performed immediately. For example, if a software bug is discovered that has potentially damaging effects to the business, then that bug needs to be fixed as soon as possible, even if it may affect regularly scheduled operations.
o   Software updates - ERP vendors constantly fix bugs, implement new best practices and incorporate the feedback of customers in their software.
                               
·         Upgrading
Upgrading ERP system is a complicated task because of ERP systems that has undergone modification or customization. It is an extensive job for the vendor when it comes in testing every combination of bug fix in every module against every possible combination of operating system, database and application server. In this matter, Marianne (2010) mentioned that the responsibility on what upgrades on the ERP system to apply falls on company. And even though it is a bit risky, companies choose to upgrade their ERP system for the following reasons:

o   Competitive advantage - New features and capabilities give the company an edge over its competitors.
o   Globalization - Features and updates designed to increase the flow of information to customers and business partners can increase the ability to operate globally.
o   Integration - Enhancing the flow of information between the ERP system and other systems within the company increases operational efficiency and improves communication.
o   Best practices - Incorporating new best practices allows the firm to operate more efficiently.
o   Cost reduction - Lowering administrative overhead and improving the support offered by the ERP vendor results in lower operating costs.

ERP Compared SDLC
ERP provides the basic or core functionalities of the software and can be modified or customized to meet the costumer’s requirements and functionality satisfaction. The development of the ERP software are done repetitively even though the planning phase of it is finish and on the implementation phase. Any change can be address as late as the development cycle reaches to the implementation phase whereas on SDLC, it is expensive in terms of time to go back to the planning phase if there are modifications that are inserted in the middle of the design phase. SDLC simply means that the project team should start from nothing then provides a system at the end of the development phase while on ERP, a skeleton of the system is provided and then it is on the project team to add and make modifications and customizations.
                               
Sources:

Thursday, February 16, 2012

Getting to know you - Deployment Environment - Assignment # 11

You were tasked by the IC-dean to evaluate the enrollment system of the university, list and briefly describe the characteristics that an anlayst (you) examines when defining deployment environment.

During system’s development, it is very important to take notice of all aspects that will affect the system being designed in general because the system will be dependent on these aspects. These aspects were distinguished and dealt throughout the different phases or stages of the system’s development. Examples of those aspects are the results of analysis (feasibility, technical, economic, operational, risk) that were conducted during the first two phases of the system development and those requirements that the system should meet.
You cannot put an object to a space smaller than the dimension of that object for it won’t fit or put an object into a bigger space and the remaining space will be unusable. When we apply this concept in designing system, the object refers to the system and the space refers to the environment where the system will be deployed. In order for the analyst to design a system that (as much as possible) fits on the space (working environment), there are some characteristics that an analyst should examine and those are as follows:

Compatibility with system requirements
                The designed system (since it is in form of an application) should be functional within the device specifications. Therefore, it is important to determine the specs of the device that will be use to run or implement the designed system in order to carry out the processes of the designed system efficiently. It is also important to know what is the operating system does the device has because operating systems handles and executes processes and other operations differently. For an example, Windows based computers has those files that can be executed with “.exe” extension and can set multiple user accounts with different access rights designated by the administrator while on Linux based computers, users has limited access to reading, writing and modifying files.

Compatibility among hardware and system software
                The system being designed should be compatible with the device(s) (computers, printers, scanners, IO peripherals) that is involved. The system should be able to communicate and use hardware components that comprise the device to carry out certain processes that the system requires. This functionality may include overriding or synchronizing system’s processes to the device hardware driver. Also, if the system is designed to aid an existing system, the designed system should be able to understand and communicate or synchronize to the existing system.

Conformity with IT strategic plan and architecture plans
                The strategic plan of the company composes of those strategies that were created to improve business process of the company that will set the company’s status for the next proceeding years while architectural plan of the company composes the structural design of the company, what are those departments that the company has. Designed system should be in lined with the IT strategic and architectural plans that the deployment environment (company) has. With the company’s existing strategic and architectural plan, it is possible to design and implement an effective system through the information’s present on the plans that the company formulates for improving its different company functions. It is important that the analyst should look up for the company’s strategic and architectural plan in order to better understand                 what are the events that occurs on the company and the proposed improvements with those events or processes.

Cost and schedule
                Does the needs of bringing up and designing a system will be timely enough at the current business process that is subject for automation? Does the cost compensate the propose functionalities of the designed system? These are just some of the questions that could be asked that could help when defining the systems deployment environment. Also, the time span the system design will take can be affected by the composition or structure of its deployment environment. The more complex its environment is, there will be greater tendencies that there are more components that should need to consider and may take some time. Also, the overall cost of the system should not overwhelm its deployment environment. It should be cost efficient in the sense that the cost of the system being designed is acceptable on the benefactors of it.

References:
Chapter 8 – Evaluating Alternatives for Requirements, Environment, and Implementation (Slide)
Systems Analysis and Design in a Changing World, 4th Edition

Thursday, February 9, 2012

Y U Data Flow Diagrams - Assignment # 10


With reference to assignments 8 and 9, what characteristics does an analyst(you) examine when evaluating DFD quality?

Before enumerating those characteristics of Data Flow Diagrams that the system analyst should examine, let’s discuss first what a diagram is and why it is used when designing systems.
So, Diagrams are tools that aid the system developer on designing and developing systems. Diagrams, in general, are created to better understand the processes that the system performs and what are the sub-sets or sub-systems that are included on that system. A system is too broad if it is to be examined in general, so diagrams are created in order for the developer to have views on the processes and actions the system undertakes. Naturally, we cannot see the processes that the system undergoes with our eyes. Diagrams create different views of the system processes for the developers and with this, developers will be able to evaluate and redesign (if it is needed) those processes that may not be efficient or suspicious. When it comes in designing systems, it could be a great help for the developers if system process is defined in terms of diagrams. With this, developers can track data inputs and outputs from one process to another.

As to what I mentioned awhile ago, a system can be too broad if we are going to look it into the outside. Some processes may be visible but not as detailed or not as specific as on how it process those data that are has been inputted or how it generates output. Diagrams can represent processes with different levels or depth depending on the needs of the designer. If it is just the general processes of the system is represented in the diagram or it could be the sub-processes of that process in the system.
What is Data Flow Diagram? It is a modeling significant modeling technique for analyzing and constructing information processes. Data Flow Diagram shows how the movement of information throughout the processes based on inputs and outputs given by each processes in the system. Data Flow Diagram illustrates technical or business processes with the help of the external data stored, the data flowing from a process to another, and the results. First, the system designer draws a context-level Data Flow Diagram which shows the relationship of the internal and external entities as single step, input and outputs [1]. Data Flow Diagram provides isolation of data which is called data stores that are derived from a process steps being executed within the system processes [2]. Some key characteristics of Data Flow Diagram that are mentioned by Charles(1999) are:

Two-dimensional Summary – Data Flow Diagram summarizes data flow characteristics of of a process on a single page and can provide a useful and concise summary of system-related process attributes. An example of this system-related process that mentioned by Charles(1999) is data-driven processes. This processes are dependent on the data that is being processed. This processes also takes its actions based on what kind of data is passed on it.
Completeness – When creating the Data Flow Diagram of a system, it is easily to look after those components that are needed for the system since it represents your idea of the data that is being inputted and produce by each processes in the system.
Processing, not processes – This term or word may be confusing when it comes in designing Data Flow Diagrams, process. We refer process as the movement of data throughout the system but in Data Flow Diagram, process is the “steps” or operations made in requiring and outsourcing data on the process, processing work.
Patterns – Data Flow Diagram helps the system designer to track which processes requires, stores and generates data or those processes that do not need any. With this, system designer can pin-point critical sections of the system and provide supports or revisions to it.
Another thing that we should know about Data Flow Diagram is those symbols that are used in making one. This symbols represents each entities or processes which is required in the designed system. These symbols and their descriptions are as follows:
Source – it is any data that is identified outside the boundary of the process that Data Flow Diagram is modeling [2]. For example, in UseP's pre-enrollement process, the data source are those requirements like personal information, form 138, certificate of moral conduct and 2x2 pictures that is needed at the UGTO in order to proceed to the process of the pre-enrollment process.
Processing Step – it is the activity that process data. It is presumed that the processing is important enough to play a significant role in the system's process that Data Flow Diagram is modeling [2]. Processing step may or may not be sound as if there is data processing involved but it is still relevant enough to the design system. For example, in UseP's pre-enrollment process, “Get Examination Schedule” process in a Data Flow Diagram in Assignment # 9 describes the processing actions that should be done in order to process the request.
Data Store – it is not the same way as Database. It is a collection of accumulated data that is used by the process. This accumulated data may not in in form of an electronically created file but it could be as papers records. One thing that is why we design Data Flow Diagram is for us to identify entities that is in the data store which serves as the basis of designing Database using Entity Relationship Diagram [2].
Data Flow(s) – it is represented by arrows and labeled with the data that is passed to another process and the arrowhead indicated where data is passed to [2]. Data that was on the data flow are the results of a process in the system which serves as a requirement for the proceeding process of the system.

And now that we know what is Data Flow Diagram is about, let us find out what characteristics does an analyst examine when evaluating Data Flow Diagram quality. First, we should know what are the requirements of the system and does it have representation on the Data Flow Diagram. It was mentioned above by Charles (1999) as one of the characteristics of a Data Flow Diagram is completeness. It is important that all requirements of the system (atleast) was on the Data Flow Diagram because as what is mentioned above, processes is presumed to be important enough when modeling the Data Flow Diagram of the system. So, any missing process or entity may result into inefficiencies in the Data Flow Diagram. Completeness in the diagram makes it more clear when someone will review the processes or when presenting it to those who are concern. At it was said on a quotation, “It's the first impression and will either open the door or close it”. The first thing that will undergo on the test of quality of Data Flow Diagrams is how the diagram looked like. It should give (in general) to those who will look at the diagram what are the processes that occur on the system and those external entities that is needed on the modeled system. These also refers to the symbols used in creating the Data Flow Diagram, correct symbols should be observed and used when defining processes and other entities of the system being modeled. Second, Data Flow Diagram is modeled based on the system requirements so by virtue, Data Flow Diagram should summarizes the processes and actions that the modeled system has. Ala dapat dagdag-bawas unless if it is beneficial to the system being designed. Third, the Data Flow Diagram should enables the analyst to determine critical parts of the system being modeled (processes that requires large amount of data) and be able to observe activities that occurs on every process the modeled system conducts. Data that are passed on the proceeding processes should be stated and as it is expected from the previous process. Fourth, Data Flow Diagram must also identifies those processes that can be analyze further. By creating levels of the processes on the modeled system, the analyst can have a closer look to the underlying processes in a process of the modeled system. And lastly which does not actually refer to the diagram but to those who analyze the Data Flow Diagram. Analyst should keep in mind the goals why the the analysis is conducted, it is to modeled and design that will meet the requirements set by the benefactors and make the modeled system effective and efficient. Analyst should be observant, every details that are presented on the diagram should have taken into account by the analyst and treat it as relevant date for the analysis. Analyst should also have the knowledge and insights on the processes that a system is required to do and all other ideas that makes its processes more efficient and be able to express those ideas by means of plotting it on the Data Flow Diagram.

References:
1. Data Flow Diagram
http://www.edrawsoft.com/Data-Flow-Diagrams.php
2. Data flows: Note on Data-Driven Process Modeling - Data Flow Diagramming by Charles Osborn 1999
http://faculty.babson.edu/dewire/Readings/dfddiag.htm

Thursday, February 2, 2012

More Diagrams - USeP Pre-enrollement System - Assignment #9

Create at least 3 different types of Data flow diagram of USEP's Pre-enrollment System.

Physical Data Flow Diagram

 Context Data Flow Diagram

Logical Data Flow Diagram