Primer to ERP

Enterprise resource planning (ERP) is a company-wide computer software system used to manage and coordinate all the resources, information, and functions of a business from shared data stores.

The origins of ERP lie with MRP systems which was primarily focused on production planning, inventory control and manufacturing processes. Over the last 20 years, the industry has matured and adopted a number of best practices and has significantly increased the scope and functionality offered. Today the higher end ERP systems offer an integrated package or a suite of functionality which includes Product lifecycle management, Supply chain management (e.g. Purchasing, Manufacturing and Distribution), Warehouse Management, Customer Relationship Management (CRM), Sales Order Processing, Online Sales, Financials, Human Resources, and Decision Support System.

In a number of companies, ERP systems form the backbone of the IT application infrastructure. In terms of architecture most ERP systems have 3 tiers, a presentation layer, a business logic layer and a database layer. Some of the software vendors offer a number of options for the presentation layer like windows based GUI or a web based interface. In terms of business logic or application layer, proprietary code is used in addition to some common standards. Programming might have to be done in the proprietary language…recently most of the vendors have embraced J2EE standards and allow programmers access to their APIs to enhance capabilities.


Some of the benefits of ERP systems include
(1) real time information for all functional areas of the enterprise
(2) data standardization and accuracy
(3) best practices and one location for all business process execution
(4) analysis and reporting to support strategic planning

Popular ERP Vendors
• Microsoft Dynamics
• Oracle e-Business Suite
• SAGE
• SAP Business One
• Infor Global Solutions
• NetERP from NetSuite
• Lawson Software
Overall revenue of the ERP software market is in excess of $21.4 billion worldwide. This is a huge space, with a lot of consolidation occurring. As SaaS adoption grows, hosted solutions are becoming increasing competitive and look very attractive to CIO’s under pressure to reduce costs.
This is a mature space and a number of software providers offer a wide portfolio of capabilities which encompass the whole enterprise including
(1) financials (general ledger, accounts payable, accounts receivable, cost accounting, project accounting, fixed assets…)
(2) human resources (workforce management, payroll, benefits, personnel management, training)
(3) sales management
(4) quality management
(5) Supply chain management
(6) Manufacturing management (product costing, shop floor control, production planning…)
(7) Quality management
(8) Field service and repairs

In addition, most of the ERP software vendors have invested heavily into technologies/modules to support PLM, CRM, and Portals to increase their footprint within customers by offering integrated solutions.

"Disclaimer: The views and opinions expressed here are my own only and in no way represent the views, positions or opinions - expressed or implied - of my employer (present and past) "
"Please post your comments - Swati Ranganathan"

Best of Breed vs. Integrated Systems

You have probably had to make this decision several times in your professional and personal lives…for example a vacation plan where you have to decide if you want to create your own itinerary and define the trails that would provide you with maximum comfort or adventure (whatever floats your boat) or be part of an overall tour targeted at a group of people who have varied interests…
The decision needs to be based on what each package offers you, cost benefit, return on investment, future value/costs etc.
For most of the processes used within the enterprise, a number of software solutions exist. If you are in the market for a software solution to address current problems / revamp existing application framework or implement a solution based on future requirements you will have to make this decision!
Integrated systems provide multiple applications with a common architecture and consistent user interface so that all modules/functionality have a familiar look and feel. The downside is that some applications may not have the maturity or capability to address all functional areas, causing users in these areas to become disgruntled or slow down adoption.
Best of breed systems, designed specifically to address processes and common problems in certain functional areas, generally provide the maximum functionality to a set of business process. They pose challenges, such as increased training and support, complex integrations with other systems, possible duplicate data entry / redundant data.
There a number of factors to be considered if you want to thoroughly assess the differences between “best of breed” and integrated systems. These factors are
(1) Implementation Cost
a. Software cost / licenses
b. Integration
c. Customization
d. Hardware
e. Resources
f. Consulting
(2) Implementation timeline
(3) Value to business
(4) Return on investment and Payback period
(5) Fit / Adaptability to company specific business processes
(6) Quality
(7) Maturity
(8) Vendor capability and lifecycle
(9) User
(10) Future Support costs
a. Need for additional hardware
b. Software maintenance fees
c. Need for additional headcount
“Best of breed” applications typically have a shorter implementation cycle with an accelerated payback period. I have seen numbers like 6-12 month implementation time as opposed to 18-24 month for integrated systems…12 month payback for best of breed as opposed to 2-4 years for integrated systems.
In summary, the decision needs to be based on business needs and constraints placed by budget and resource availability. Be mindful that each system has its own benefits and shortcomings and plan accordingly.

"Disclaimer: The views and opinions expressed here are my own only and in no way represent the views, positions or opinions - expressed or implied - of my employer (present and past) "
"Please post your comments - Swati Ranganathan"

How many applications do you need to run your business?

Over the last 10+ years, a number of acronyms have popped up in the enterprise application space. Traditionally most companies started out with in an ERP system and depending upon their business added additional applications to support the business.
What is ERP?
ERP stands for Enterprise Resource Planning. ERP is a way to integrate the data and processes of an organization into one single system. This seems to be the commonly accepted definition of ERP systems, if that is true then why do we need so many other applications?
I am going to post a series of blogs on the different applications and describe their roles, capabilities, maturity and why the need for them appeared and who the “big players” of these markets are.
In this post, I am going to list out the applications seen in the landscape and briefly describe their function.
Some of the applications that you would see in the IT landscape are
• CAD (Computer aided design) to support modeling of hardware and electrical/electronics
• PDM (Product data management) systems to support data management
• PLM (Product lifecycle management) systems to support workflow, engineering change, bill of material management, release to manufacturing etc.
• MES (Manufacturing execution systems) to manage work in progress on the manufacturing floor
• CRM (Customer relationship management) systems manage, track and organize its data / contacts with its current and prospective customers
• BPM (Business process management) systems provide process management capability with workflows
• SCM (Supply chain management) systems provide the ability to manage the entire supply chain and support planning, sourcing, manufacturing, delivery and return logistics.
• KM (Knowledge management) to support knowledge sharing of best practices and lessons learned.
• SRM (Supplier relationship management) to support managing vendor relations and lifecycle.
• PPM (Project Portfolio Management) systems used for analyzing and collectively managing a group of current or proposed projects.
• BI (Business intelligence) systems help the business acquire a better understanding of its commercial context.
• EMM (Enterprise Marketing Management) systems manage marketing’s end-to-end internal processes including Web Analytics, Campaign Management, Digital Asset Management, Web Content Management, Marketing Resource Management, Marketing Dashboards, Lead Management, Event-driven Marketing, Predictive Modeling etc.
• HRMS (Human resource management system) or HRIS (Human resource information system) manage all processes within human resources.
Though this list is long, this list is not complete. Depending upon the industry many other applications exists for e.g. LIMS (Laboratory Information Management System) is important to healthcare, drug and the food industry…In addition, almost all companies have a suite of internal applications to manage issue tracking and resolution, portals to share information with their customers, suppliers and different organizations…
Now if you step back and wonder why so many systems exist, and perform a root cause analysis the usual culprit is lack of capability to support all facets of the business within one application resulting implementation of best of breed / internal applications as opposed to one integrated systems.
In later posts, I will describe the factors driving “best of breed” Vs integrated systems.
With all these different applications, IT organizations are challenged with (1) integration and seamless of flow of information (2) managing application portfolio and associated costs (3) managing platform obsolescence and ensuring that the whole application portfolio is on the current/latest release levels. These challenges would make an interesting post as well :)

"Disclaimer: The views and opinions expressed here are my own only and in no way represent the views, positions or opinions - expressed or implied - of my employer (present and past) "
"Please post your comments - Swati Ranganathan"

Keep Your IT Project On Time

3 succinct tips from HBS on how to keep projects on time.

Key takeaways:

(1) align with your projects to business needs and strategy or you will lose
(2) Focus on immediate and pressing needs, "nice to haves" can follow. I have found the 80/20 rule to work well. This aligns well with my mantra "Think Big, Act Small, Move Quickly"
(3) Anticipate delays and plan well. Risk Mitigation and proper project planning always help in successful project implementation and execution.

Happy Reading! http://hbdm.harvardbusiness.org/email/archive/managementtip.php?date=092109

"Disclaimer: The views and opinions expressed here are my own only and in no way represent the views, positions or opinions - expressed or implied - of my employer (present and past) "
"Please post your comments - Swati Ranganathan"

In Demand – Data Analytic & Reporting Skills

I recently came across a number of articles on the latest hot skill “Data Analytics”.

With the explosion of information in recent years, companies are under severe pressure to capture opportunities ( increase revenue, profit, efficiency and customers) within a limited time period. This has resulted in a substantial increase in positions responsible for data analytics in order to convert massive amount of information (user behavior trending, adoption, etc.) into meaningful data.

By focusing on the technology know-how or purely number crunching abilities, companies might not reap the benefits of hiring additional head count. The ideal hire profile should include good understanding of business operations and processes in order to translate the data into insights.

There has always been a need for people with good analytical skills who can transform information into meaningful strategies for the business to pursuer revenue/cost reduction opportunities…This skill in most cases cannot be taught in school or by courses offered by a number of institutions. This comes about by having hands on experience and innate curiosity and interest in the big picture.

Tips to those who are embarking on this career path, (1) focus on big picture (2) focus on interpreting results and presenting them from a business case (3) technology often changes, methodologies and sound logic rarely do…

For companies, embarking on business intelligence / Data warehouse solutions, focus on business needs and understand your current reporting capabilities and see if your current staff can support the current and future requirements…a new tool might not be productive by itself…a focused training / learning session on adopting best practices in data analysis and reporting might be of great benefit to your current employees and enable them to grow professionally.

"Disclaimer: The views and opinions expressed here are my own only and in no way represent the views, positions or opinions - expressed or implied - of my employer (present and past) "
"Please post your comments - Swati Ranganathan"

IT change management part 1

Change management within IT has gained a lot of traction in the last 5-10 years, in some cases this has been accelerated by the need to comply with SOX regulations and wider acceptance of ITIL concepts and best practices.

In order to help the business meet rapid changes, IT needs to react quickly and without impacting the quality and stability of the environment and the service levels. Changes to IT systems are required due to a number of reasons, some of which are related to
1. Application
2. Hardware
3. Software
4. Network

For e.g. if you have to upgrade your business systems / business applications to the next release or upgrade / change hardware like CPU, RAM or other peripherals, or if you have to make changes to software like operating systems due to new patches or fixes or changes to your network infrastructure.

Change management as evolved from an ad-hoc basis into almost a science with specific goals, metrics, risk management and methodology.

The goal of change management from a business perspective is to ensure

• All authorized changes are based on business needs and are approved
• All changes requests are addressed and implemented in a efficient and conforming manner
• Business risk is managed and minimized
• Standardized methods and procedures are used for handling of all changes
• All changes to the IT infrastructure (software, hardware, applications and network) are recorded and documented

Now you might wonder, why I wrote from a business perspective…the changes should be based on good business reasons, it should be tied with a business approved initiative or have a valid reason such as potential adverse impact to the business. If you have to install a patch and explain the need for this change to a business person they may or may not understand the reasons. If you put it in the context or risk or benefit to their operations (possible impact of downtime to their applications / users), they will become interested very quickly.

How do you go about implementing a change management methodology within IT?

First define your process /policy clearly define
• Scope (which some or all pieces of IT infrastructure should follow this process).
• Roles, responsibilities and procedures related to change management
• Define best practices for change management and configuration of software
• Review frequency of your policies, procedures and standards
• Key performance indicators which indicate your service level and operating level performances.

All business critical applications should be under change control and best practices defined for change management should be adhered to. Without having a proper change control mechanism in place, business could be impacted by poor or no risk assessments and unauthorized changes could occur.

Roles and responsibilities related to change control are essential to ensure proper implementation. There needs to be a distinction between developer, tester or approver and implementer of changes. This can be complicated further, if you have multiple environment such as development, QA and production. Change control is not easy thing to accomplish as it involves participation and adoption of all stakeholders within IT. In some cases, smaller organizations may not be able to assign different people to different roles.

Standard operating procedures must be developed based on industry and software/vendor best practices. For example, changes to codebase of business systems must be stored within a code versioning system. Configuration management of all business systems and operating systems should be considered. There are a number of solutions which can address this. At a minimum, consider a spreadsheet based solution which highlights changes and what files/directories were impacted and tie these to change requests and package updates.

As roles and responsibilities change from a function perspective, change control processes and procedures should be updated to indicate the current state. In addition, based on lessons learned, changes to documentation might be necessary. Setup a reoccurring meeting to discuss policies and procedures on a frequent basis, maybe start out with once a quarter.

KPI’s should highlight ability of IT to react to the business and how quickly the changes were impacted and should also include adverse impact to the business through downtime, missing functionality etc in terms of dollars and hours. Review these KPI’s with the business on a frequent basis and work on areas where improvement is required.

"Disclaimer: The views and opinions expressed here are my own only and in no way represent the views, positions or opinions - expressed or implied - of my employer (present and past) "
"Please post your comments - Swati Ranganathan"

Data migration: Risks

Risk management should be part of every project, especially a large scale migration project. Risks related to schedule, costs and scope should be clearly identified, documented and a plan must be put together to mitigate them.

In my experience, risks specific to data migration come from a number of contributors like

(1) data quality

(2) extraction, transformation and load tool complexity

(3) performance of systems (extraction and target system persistence)

(4) coordination of project activities as related to testing, UAT, system preparation

(5) resource constraints

Data quality:

Without a thorough understanding of the business rules and logic related to how the information is stored within the source and target system all migration projects are at risk.

Even if you understand the rules from a system perspective, try and get a handle on how the business uses this information. In some cases, even after a thorough mapping exercise, gaps could arise due to data issues…in such an event additional cycles will be required to re-map and re-run the extraction, transform and load routines. Don’t underestimate the work effort required to cleanse the data…in some cases, the risk mitigation steps involve leaving the source system as-is and including additional logic

Extraction, transformation and load tool complexity

As business systems add more functionality and modules, data migration becomes an extremely challenging exercise. In the past, data migration of metadata could be easily accomplished by writing data directly into the database(s) by using simple commands and flat files at the database layer. As business systems have matured, most of the times the database layer doesn’t contain the hierarchy and relationship information…these are stored and managed within the application layer. Extraction and loads have to use the application APIs and in some cases, these are not conducive to support extraction and loads in a mass manner. Often, schedules are adversely impacted due to added cycles of development to find/develop routines and software to support the extraction, transformation and load.

I would highly recommend contacting the software vendor and request reference information and talk to other customers/users that have been through a similar exercise and learn from their experience. Benchmark exercises like this will help in setting a timeline for such activities… Risk management could involve adding additional resources to drive closure of risk items. If additional cycles from software vendor are required, engage your vendor management team and actively manage your contacts at the software vendor. Escalations and jeopardy’s should be raised so that executives within your organization and the software vendor are informed about potential impacts and risks…

Performance of systems

Bad performance of business systems could lead to delays and inability to complete a load in the allotted time. We have talked about the complexity of the extraction, transformation and load routines…with added complexity it will be no surprise that most systems are not setup properly to support mass migrations…in fact different settings are required within application /business systems to support migrations and these could be totally different from what is required for day to day operations…

Thorough testing with multiple wash-rinse and repeat cycles are essential to clearly identify performance issues…in some cases, because of a n – tiered architecture, you might run into bottle necks at the application front ends or at the database layers…ensure your best performance people are monitoring the load process and can tune the systems properly.

From an database perspective (Oracle or others…), you might need to increase the memory allocated along with updating indices on a frequent basis as well as maybe even turning off archiving…another thing to do is maybe turn off search indexing within business systems to speed up the load process and perform this activity as a post go-live activity.

The key is to able to load all the data within the allotted time frame, some times risk mitigations might involve loading over a prolonged period, added front ends, additional memory and CPU’s, database/business system tuning.

Project coordination

Most often data migration projects are part of a larger project to implement a new business system. In these large scale implementations, there are a number of activities which must be completed for e.g. system design, configuration, process design, data mapping, unit tests, user acceptance test etc. data migration tests need to be performed so that all elements of testing can be done. This requires a high degree of coordination and any slips in code development, design configuration or testing cycles will impact the overall schedule and time allocated for data migration.

Risk mitigation could involve procuring a separate environment to conduct all data migration tests. In addition, ensure that all project activities which could impact migration are clearly identified and have the necessary dependencies captured within the project plan. Having a project review similar to scrum reviews can be beneficial.

Resource constraints

In an ideal world, all projects would be funded and resourced well with proper resource leveling. In the real world this rarely happens, the same is true with most of the migration projects I have managed. Typically the roles for project manager, business analyst, data experts, process owners and code developers are all merged and melded together and these resources have to wear multiple hats through out the implementation of the business system. In order to mitigate any risks to schedule and costs, clearly identify the resource requirement and secure the resources required ahead of time. The later you start; the chances of securing resources will be limited. Contract resources for execution of the extractions and loads can be viable option but requires clear documentation of the process and thorough knowledge of what needs to be done. If you have the right resource and have a plan, migrations can be handled with a set of contract resources…

"Disclaimer: The views and opinions expressed here are my own only and in no way represent the views, positions or opinions - expressed or implied - of my employer (present and past) "
"Please post your comments - Swati Ranganathan"

Phases of Data migration: Validation

This is a key phase to ensure success of the overall migration effort! Validation sounds easy but how do you go about it?

I have always setup a 3 tiered validation criteria,

• First level validation is to ensure that the records from a count perspective made it in to the target system.
• Second level validation to ensure that the key data elements made it into the target systems. The key data elements I look for are data that are essential to the running of the business. Another condition I have used is select data that is part of the object’s properties and are required fields within the application layer. For e.g. part unit of measure, cost are part of the object’s key attributes in ERP/PLM systems,
• Third level validation is to ensure the metadata for attributes and keywords that are nice to have but don’t have a significant impact to the business if they were incorrectly loaded.

I approach validation from three perspectives with a focus on

• Ensuring proper extraction from source system
• Ensuring proper data transformation into flat files (CSV, XML etc.)
• Ensuring proper load into target system

If you analyze failures or errors, you have to start by reviewing what you extracted. If you have any doubts at this layer, then the success of the overall project will be in doubt. If the data is properly extracted but incorrectly populated into a flat file, then your load will not be successful. If you have been successful in extraction and transformation and have properly tested the loads then you should have the data loaded successfully into the target system.

One key issue always pops up when it comes to validation: WHO is responsible? In most cases, the business owners point to the IT guys and IT guys point to the business owners. In order to be successful, engage both teams and work through the development of validation criteria, success criteria and identify what can be automated, validate the automation routines so that both sides are satisfied.

Automating this activity is almost a must in most cases, when you are faced with gigabytes or even terabytes of data manual lookups will not be sufficient. You could get fancy and dabble with sampling theory. In my opinion, go for 100% checking by putting technology to work!

"Disclaimer: The views and opinions expressed here are my own only and in no way represent the views, positions or opinions - expressed or implied - of my employer (present and past) "
"Please post your comments - Swati Ranganathan"