Enterprise Systems Development_June 2019
Enterprise Systems Development_June 2019
3
ERP Key Characteristics
Contd.
Best Practices
ERP vendors talk to many different businesses
within a given industry as well as academics to
determine the best and most efficient way of
accounting for various transactions and managing
different processes.
The result is claimed to be “industry best
practices”.
The general consensus is that business process
change adds considerably to the expense and risk
of an enterprise systems implementation.
Some organizations rebel against the inflexibility
of these imposed business practices.
4
ERP Key Characteristics
Contd.
Evolving
Enterprise Systems are changing rapidly
Architecturally: Mainframe, Client/Server,
Web-enabled, Object-oriented,
Componentization (Break ERP systems into
separate components )
Functionally: front-office (i.e. sales
management), supply chain (advanced
planning and scheduling), data warehousing,
specialized vertical industry solutions
(business specific application software and
designed for specific domain), etc.
5
Review of ERP Architecture
2 Tier Applicatio
n
Applicatio
Application
Application n
X
Applicatio
n
3 Tier
Databa
se
Applicatio
Applicatio
n
Browser n
Java Application Server
Browser
8
How should we implement
ERP Systems?
People
Project Structure
Should be aligned to processes
Process
Implementation Process (outlined in detail)
Adapt your processes to those of the ERP.
Technology
Hardware
Software
Integrated Systems
9
ERP Key Characteristics
Contd.
Some Assembly Required
Only the software is integrated, not the computing
platform on which it runs.
Most companies have great difficulty integrating
their enterprise software with a package of
hardware, operating systems, database
management systems software, and
telecommunications suited to their specific needs.
Interfaces to legacy systems (Older enterprise
software that is largely no longer being enhanced)
Third-party bolt-on applications
Best of Breed Strategy
10
Development Life Cycle
(SDLC)
SDLC includes a systematic process of planning,
designing, and creating an information system for
organizations.
For complex systems (e.g. ERP), it is often better
to have a structured methodology to coordinate
the design and development tasks properly among
the members of a large systems development
team.
SDLC uses Systems Approach, which basically
states that Complex problems needs to be broken
up into smaller manageable problems using a
systems’ hierarchy, and then developing a solution
for each problem within the hierarchy.
11
Review the Systems
Development Life Cycle
(SDLC) Contd.
It provides a structured
top-down problem
identification and bottom-
up solution process for
managing complex
problems.
SDLC process requires both
technical and nontechnical
problem solving skills,
therefore the development
team must understand
technology as well as the
organization's business
processes, culture, people,
12
Figure 1: Traditional SDLC
Phases of the SDLC
Feasibility study and project planning.
Requirements definition and systems
analysis.
Systems and program design.
Implementation.
Unit testing.
Integration and system testing:
Acceptance, installation, deployment.
Maintenance.
13
SDLC Phases
The SDLC consists of tasks that are divided into
phases or stages.
The SDLC begin when someone in the organization
identifies the need for a new system (to gain a
competitive advantage, improve operational
efficiencies, expand business globally, …).
Investigation Phase
The team should do a thorough analysis of the costs
and benefits.
Cost and benefits that can be quantified (purchasing
new hardware) called tangible, whereas those that
cannot be quantified easily (training employees) are
called intangible.
14
SDLC Phases Contd.
Analysis Phase
To determine the user requirements of
the new system by focusing on the
problems of the current system.
Through observations, interviews and
focus groups, the team must find the
bottlenecks and constrains of the
existing system and find out from the
users their current and future needs.
15
SDLC Phases Contd.
Design Phase
Focus is on the new system’s architecture,
user interface, and reporting requirements.
The functional requirements from the
analysis phase have to be converted to
system and process flow charts, user input
screens, sample reports, and the like.
These requirements are grouped by input,
process and output stages.
The design phase produces the blueprint or
technical specifications of the new system.
16
SDLC Phases Contd.
Implementation Phase
The implementation phase begin with acquisition
of hardware, software, development of custom
applications, new system testing, training, and
data conversion from old to the new system.
Once the system is implemented the
development team hands the system over to the
maintenance staff, which takes care of day-to-
day operations and upgrades.
The systems development process stays in a
continuous cycle to stay current and to provide
needed changes
17
The SDLC Approach
18
Tools Used in Phases of SDLC:
Project Planning
Feasibility study and project planning:
In this phase, the project manager establishes a high-level view
of the intended project and determines its goals.
The software engineer uses his/her technical expertise to
determine the feasibility of the desired goals and to give
cost/time estimates.
Usually the project manager and the software engineer(s) meet
with the users to generate a high-level project plan.
Gantt charts are often used to track progress in the project plan.
As requirements are gathered and specific tasks assigned, this
project plan is refined.
Popular tools used in this phase:
Microsoft project is the industry standard for maintaining project
plans.
19
Tools Used in Phases of SDLC:
Requirements Gathering
Requirements definition and analysis:
In this phase, the SE refines project goals into defined
functions and operations for the intended application.
He/she constantly analyzes end-user information
needs and transforms this information into models
used by the programmers.
UML is the standard modeling language used for OO
system design. It is a very powerful modeling
language and we could spend several semesters just
talking about UML alone. We will only learn the basics.
Popular tools used in this phase:
Rational rose, TogetherJ, EclipseUML, Microsoft Vision,
Edraw.
20
Tools Used in Phases of SDLC:
System and Program Design
System and program design.
System and program design are slightly different.
In system design, the engineer designs the system components and how
they will interact. This includes the presentation layer pieces (e.g. Screen
layouts), the business logic layer pieces (business rules), and the data layer
pieces (data access processes). The SE will determine what technologies
should be used in each layer.
Program design is system design at a finer level. Here the flow and
structure of the actual program code is specified. For example, senior
programmers/analysts will take the UML model and write pseudo-code
detailing the classes, methods, interfaces, package design, etc. More junior
programmers will take this pseudo-code and transform it into actual code
(e.g. with java).
Popular tools used in this phase:
Visio is a very popular tool for drawing flow charts and etc.
For program design, Rational rose, TogetherJ, and EclipseUML are excellent
resources for class diagrams. They all have the ability to transform
changes to a UML model into code and vice-versa.
21
Tools Used in Phases of SDLC:
Implementation
Implementation
This is where the real code is written based on the system and
program design. IDE’s (Integrated Development Environments)
provide many helpful tools that assist programmers in this phase
of development.
Examples of these views include:
Varying views, debuggers, code completion, code organization,
color schemes, and built-in plug-ins to help with other phases.
Application Servers are needed to run servlets (Java’s version of
server-side program). The engineer will write code in the IDE for
objects that will execute in the application server.
Source code repositories are tools used to manage source code
among several developers. They allow developers to check code
out. They also maintain version control allowing developers to
see what changes were made by other developers.
22
Tools Used in Phases of SDLC:
Implementation contd.
Popular tools used in this phase:
IDE’s
Eclipse, Visual Café, Visual Age, JDeveloper, Kawa
Application Servers:
WebLogic, WebSphere, Tomcat
All app servers vary in different respects, but almost
all work the same way for basic functionality.
So, by learning one, it is easier to learn the others.
Source code repository and version control systems
Concurrent Versions System (CVS), ClearCase,
Polytron Version Control System (PVCS), etc.
23
Tools Used in Phases of SDLC:
Testing
Testing
Testing is an extremely important part of system development. Many
companies have teams dedicated to testing and QA alone.
There are different levels of testing that are needed throughout the SDLC.
Unit testing
This includes the testing of individual components. You have complete
control over the test data and test cases and you run the tests yourself.
Integration testing
In this stage of testing, the SE often collaborate with a small number of
other developers to test the integration of various system components.
System testing.
Brings all the pieces together into a special testing environment, then
checks for errors, bugs and interoperability.
These tests are often performed by a QA team.
Popular tools used in this phase:
JUnit is used for unit and integration testing.
24
Tools Used in Phases of SDLC:
Deployment
Delivery and Deployment
This is the final stage of initial development,
where the software is put into production and
runs actual business.
This part of the project is most often done by
a build engineer, but software engineers
should be familiar with the deployment tools
used by the build engineer.
The SE will often use the same tool for
development and testing.
Popular tools used in this phase:
Apache Ant, GNU Make
25
Tools Used in Phases of SDLC
Maintenance
What happens during the rest of the
software's life: changes, correction, additions,
moves to a different computing platform and
more.
This, the least glamorous and perhaps most
important step of all, goes on seemingly
forever.
Most junior developers start here to learn the
systems.
Popular tools used in this phase:
All of the tools above
26
Prototyping
This approach does not go through the analysis
and design phases.
It implements a skeleton or a prototype of the
actual system with a focus on data input (user
interface) and output (screen display).
The idea is to demonstrate the system functionality
to the users and get their feedback on the
prototype.
Their feedback is incorporated into the new system
and demonstrated back to the users.
This approach has proven to be very effective with
user interactive systems because the prototype is
eventually converted into a full-scale system.
28
Prototyping Contd.
End user development is another rapid
development approach
End User Development (EUD)
Lets end users create their own
applications
Users are trained by the IT staff to
develop customized applications. (e.g.
small decision-making application with
an Excel spreadsheet or departmental
employee tracking system with an
Access database).
29
Prototype Development
30
Differences between ERP and
Other Software
ERP Other Packaged Software
Millions of dollars Hundreds to Thousands
Mission critical Support or productivity
improvement
One to several years Almost instantly
32
ERP Life Cycle
ERP lifecycle is in which highlights the different stages in
implementation of An ERP.
Different phases of ERP
Pre evaluation Screening
Evaluation Package
Project Planning
GAP analysis
Reengineering
Team training
Testing
Post implementation
33
ERP implementation Lifecycle
Company Go ahead ERP Vendors
Pre-Evaluation Screening
Management
Package Evaluation
Project Planning
Going Live
34
Pre-Evaluation Screening
Pre-Evaluation Screening is the phase which
starts when company decides to go for a ERP
System, the search for perfect solution starts.
Decision for perfect package
Number of ERP vendors
Screening eliminates the packages that are
not at all suitable for the company’s business
processes.
Selection is done on best few package
available.
35
Package Evaluation
Package Evaluation process is one of the most
important phase of the ERP implementation ,
because the package you select will decide failure
or success of project.
There is little room for error in this as ERP packages
are so expensive once purchased can not switch to
another.
While making the analysis the important point is
nothing is perfect , important here is whether it is a
perfect fit or good fit.
It is impossible to get a system which will perform
exactly as the company does business but aim is to
get least no of differences.
36
Package Evaluation Contd.
Few important points to remember while
evaluating software includes.
Flexibility and Scalability.
Complexity
User Friendliness
Technology
Quick Implementation
Amount of Customization Required
Ability to support multi site planning and control.
Local support infrastructure .
Total cost i.e. license , training, customization
etc.
37
Project Planning Phase
This is the phase which plans that designs the
implementation process.
In this phase details of how to go about
implementation , schedules and deadlines etc are
decided.
Roles and responsibilities are identified and
assigned.
This is phase which will decide when to begin, how
to do it and when the project is supposed to be
completed and what to do in contingencies.
Their is a committee for this and which is suppose
to meet periodically through out cycle to review
process and chart future course of action .
38
Project Planning Phase:
Project schedule
This is the phase that designs the implementation process.
In this phase the details of how to go about the
implementation are decided.
Time schedules, deadlines, etc. for the projects are arrived
at and the project plan is developed.
Roles are identified and responsibilities are assigned.
The resources that will be used for implementation efforts
are decided & the people who are going to be in-charge of
implementation are identified.
Team members are selected and task is allocated.
This phase decides when to begin the project, how to do it
and when is it suppose to be completed.
Planning is done by the committee constituted by team
leaders.
39
Project Planning Phase
Decision of the phase
This phase plans ‘what to do’ in case of contingencies, how to
monitor the progress of the implementation.
This phase also decides what control measures should be
installed and what corrective measures or actions should be
taken when things get out of control.
Team leader
The project planning is usually done by a committee
constituted by the team leaders of each implementation
group.
The committee will be headed by the ERP in-charge (i.e. the
Chief Information Officer (CIO) or Chief Operations Officer
(COO).
The committee will meet periodically to review the progress
and chart the future course of action.
40
PROJECT PLANNING PHASE
Project schedule
Decision of phase
Team leader
42
Different ways of finding
gaps
One of the most affordable, but most difficult,
solutions entails altering the business to ‘fit’ the
ERP package.
Another solution is that the company can simply
agree to live without a particular function.
Other solutions include:
Pinning your hopes on an upgrade or updating
of software.
Identifying a third-party product that might fill
the gap.
Designing a custom program.
Altering the ERP source code.
43
Gap Analysis
GAP ANALYSIS
44
RE-ENGINEERING:
It is in this phase that the human factors are taken into account.
Two different connotations
1st one is the controversial, involving the use of ERP to aid in
downsizing efforts.
There have been occasions where high level executives have
invoked the reengineering slogan & purchased an ERP package
with the aim of reducing number of employees.
While every implementation is going to involve some change in
job responsibilities, so it is the best to treat ERP as an investment
as well as cost-cutting measure, rather than a downsizing tool.
‘Downsizing’ is a business practice that may have its place, but it
should not be cloaked within the glossier slogan of
‘reengineering’.
The 2nd use of the word re-engineering in the ERP field refers to an
ERP implementation model initially designed and used.
45
RE-ENGINEERING:
The BPR approach to an ERP implementation implies
two separate, but closely linked implementations
involved on an ERP site i.e. a technical
implementation and a business process
implementation.
The BPR approach emphasis the human element of
necessary changes within the organization, which is
generally more time consuming and has received its
share of criticism for creating bloated budgets and
extended projects.
The ERP market shifts to a mid-market focus and as
all implementation are becoming more cost sensitive;
the BPR approach has come under some real scrutiny.
46
RE-ENGINEERING
Downsizing effort
bPR APPROACH
47
Configuration
Importance of Configuration
This is the main functional area of the ERP
implementation.
Business processes have to be understood and
mapped in such a way that the arrived solution
matches with the overall goals of the company.
The Prototype
A prototype- a simulation of the actual business
processes of the company- will be used.
The prototype allows for thorough testing of the
‘to be’ model in a controlled environment.
48
CONFIGURATION
49
Implementation Team
Training
When the configuration is taking place the
implementation team is being trained not how to use the
system, but how to implement it.
This is the phase where the company trains its
employees to implement and later run the system.
The ERP vendors and the hired consultants will leave
after the implementation is over.
Good in-house team
For the company to be self sufficient in running the ERP
system, it should have a good in-house team that can
handle the various situations i.e. employees who have
the right attitude, people who are willing to change,
learn new things and are not afraid of technology and
good functional knowledge.
50
Testing
This is the phase where you try to break the
system.
Here we reach a point where we are testing real
case scenarios.
The system is configured and now we must come
up with extreme case scenarios- system
overloads, multiple users logging on at the same
time with the same query, users entering invalid
data, hackers trying to access restricted areas etc
The test case must be designed specifically to
find the weak links in the system and these bugs
should be fixed before going live.
51
Going Live
On the technical side, the work is almost
complete- data conversions is done, databases
are up & running, and on the functional side,
the prototype is fully configured and tested and
ready to go operational.
The system is officially proclaimed operational,
even though the implementation team must
have been testing it & running successfully for
some time.
But once the system is ‘live’, the old system is
removed and the new system is used for doing
business
52
End User Training
Success and failure
The success or failure of an ERP system depends on how the
actual users use the system.
The most successful implemented ERP packages fail due to
lack of end user training.
People are divided into groups
ERP system changes the job descriptions of the people, so it
is important to identify the people who are going to use the
system. The current skills of the people are identified and
they are divided into groups.
Every group is provided training on the new system.
Training sections
The training section gives the overall view of the system and
how the individual actions will be affecting the entire system.
53
END USER TRAINING
Success or failure
Lack of training
55
POST IMPLEMENTATION
56
IMPLEMENTATION TEAM TRAINING
RIGHT ATTITUDE
WILLING TO CHANGE
LEARN NEW THINGS AND NOT AFRAID OF
TECHNOLOGY
57
ERP Implementation Plan
There are three major implementation plan:
Comprehensive (most expensive, lengthy and costly
approach)
Involves implementation of the full functionality of the
ERP software in addition to industry-specific modules
Requires a high level of business process re-engineering
Middle-of-the-Road
Involves some changes in the core ERP modules and a
significant amount of business process re-engineering
Vanilla (minimum cost and time required)
Utilizes core ERP functionality and use the best practice
business processes built into the software. Company
require to align business processes to the ERP, rather
than modify the software. Business process re-
engineering is eliminated.
58
ERP Implementation
Methodology
Methodology refer to a systematic
approach to solving a business problem.
ERP methodology builds on the theory
that the enterprise can maximize its
returns by maximizing the utilization of
its fixed supply of resources.
An ERP development life cycle provides
a systematic approach to implementing
ERP software in the changing but limited-
resource organizational environment.
59
ERP Implementation
Methodology
There are many different vendor-driven
methodologies that use traditional ERP
development life cycle or rapid ERP life cycles
(e.g. Total Solution, FastTrack, Rapid-Re, ASAP and
BIM).
The traditional ERP life cycle accomplishes
one stage at a time and requires formal milestone
approvals prior to moving to the next stage.
In a rapid ERP life cycle, once a company
commits to the implementation, employees are
empowered to make the decisions to keep the
project moving forward.
60
Rapid Application
Development Process
61
Traditional ERP Life Cycle
62
Traditional ERP Life Cycle
The traditional ERP life cycle has a deliverable
at the end of each stage that is reviewed by
management and upon which a decision is
made either to continue with the project or not.
The traditional ERP life cycle includes the
following major stages:
Scope and Commitment Stage
This is similar to the investigation stage in
SDLC. In addition to conducting the feasibility
study, a scope of the ERP implementation is
developed within the resource and time
requirement.
63
Traditional ERP Life Cycle
Scope and Commitment Stage
A number of characteristics of the ERP
implementation are defined. How large will
the ERP implementation need to be defined
at the planning stage?
Develop a long-term vision for the new
system and a short-term implementation
plan and top management’s commitment
for both the vision and implementation
plan..
Vendor Selection is another key activity
towards the end of this stage
64
List of Scopes and
Commitments
65
Traditional ERP Life Cycle
Contd.
Analysis and Design Stage
Analysis of user requirements
ERP team has first to make a decision on
the software and decide on the consultant
and SMEs (subject Matter Experts).
Map the differences between the current
business process and the embedded
process in the ERP software, and to develop
long term plan on whether to change the
business process or to customize the ERP
software to support existing processes.
66
Traditional ERP Life Cycle
Contd.
Design a change management plan, a
list of embedded processes, user
interface screens, and customizable
reports in the ERP software that will
need customization.
Creating plans for data conversion,
system conversion and training
Team must develop a detailed change
management strategy and execution
plan for the release of the new system
67
Traditional ERP Life Cycle
Contd.
Acquisition & Development Stage
Similar to acquisition and testing stage of traditional
SDLC. Organization has to purchase the license and
build the production version of the software to be
made available to the end-users.
The entire production platform must be configured
and built with necessary hardware, network,
security, software, database and real production
data.
The tasks identified in the gap analysis are executed
at this stage. These include customization of
embedded software rules, data in the database
tables, input screen and reports that come with ERP
system.
68
Traditional ERP Life Cycle
Contd.
Acquisition & Development Stage
While the technical team is working on the
installation, the change management
team works with end-users on implementing
the changes in business processes and
preliminary training with the sandbox of the
software.
Data team similarly works on migrating
data from the old system to the new system.
Finally, the ERP system needs to be
configured with proper security.
69
Traditional ERP Life Cycle
Contd.
Implementation Stage
Focus is on installing and releasing the
system to the end-users (Go-Live) and
on monitoring the system release to the
end-users.
Errors found in the production version
have to go through the help desk.
Any changes are then made to the
development version, retest and
migrated to the production system a
regularly scheduled updates
70
Traditional ERP Life Cycle
Contd.
System conversion is a major activity and needs to be
managed carefully (4 Phases or approaches)
Phased: gradual movement of the company from the
existing legacy system to the ERP implementation
Pilot: implements a small version of the final system
Parallel: has the most upfront cost because ERP system is
implemented and used in conjunction with the legacy
system.
Direct Cut or big bang: is the highest risk approach but
the most straightforward and clean. The company move
from the legacy system directly to use the ERP system.
Feedback received from system usage needs to be
transferred to the post-implementation team for ongoing
system support.
71
ERP Conversion Approaches
72
Traditional ERP Life Cycle
Contd.
Operation Stage
This is often managed by the operation team
with assistance from implementation team.
Handover or knowledge transfer is the major
activity as support for the new system which is
transferred to the help desk and support staff.
Training of new users to the system as ERP
modules are released.
Managing of new releases of the software,
installation of patches and upgrades.
Managing the software contract with the ERP
vendor
73
ERP Life Cycle Phases
Summary
74
Rapid ERP life cycles
Total Solution (Ernst & Young, LLP)
Phases
Value Proposition. Does the solution make sound
business sense?
Reality Check. Is the organization ready for
change?
Aligned approach. Setting the right expectations
that deliver both short-term and long-term value.
Success Dimension. Getting the right blend of
people, skills, methods, and management in the
team.
Delivering Value. Measuring results and
celebrating success.
75
Rapid ERP life cycles Contd.
Fast Track (Deloitte & Touche)
Phases
Scoping and Planning: Project definition and
scope. Project planning is initiated.
Visioning and Targeting: Needs assessment.
Vision and targets identified. As-is modeling.
Redesign: To-be Modeling. Software design
and development.
Configuration: Software development.
Integration test planning.
Testing and Delivery: Integration testing.
Business and system delivery.
76
Rapid ERP life cycles Contd.
Fast Track (Deloitte & Touche)
Areas (groups) as an individual thread to be woven into a
cohesive fabric through its five phase work plan.
Project Management (project organization, risk management,
planning, communications, budgeting, quality assurance).
IT Architecture (hardware and network selection, installation,
operations, design, development).
Process and Systems Integrity (security, audit control).
Change Leadership (leadership, commitment, organizations
design, change-readiness, policies, performance
measurements).
Training and Documentation (needs assessment, training
design and delivery, management, end-users, operations,
and helpdesk.
77
Rapid ERP life cycles Contd.
Accelerated SAP (ASAP)
Project Preparation. Proper planning and assessing
organizational readiness is essential.
Business Blueprint. The engineer delivers a complete
toolkit of predefined business processes.
Realization. Based on the business blueprint steps are
taken to configure the R3 system (is the former name of
the main enterprise resource planning software produced
by SAP AG).
Final Preparation. In this phase, the R3 system is fine-
tuned. Necessary adjustments are made.
Go-Live and Support. Procedures and measurements are
developed to review the benefits of the R3 investment on
an ongoing basis.
78
Business Integration
Methodology (BIM)
Business Integration Methodology (Accenture)
The Planning Phase. Help define appropriate strategies
and approaches for achieving an enduring competitive
advantage and building stakeholder value.
The Delivering Phase. Translates the business
architecture into a specific business capability.
The Managing Phase. The Managing Phase is the
directs, coordinates, and monitors the activities
outlined in the other phases, in order to achieve
improved business results.
The Operating Phase. Operates the new business
capabilities that were created in the Delivering Phase.
79
Comparing and Contrasting
SDLC with ERPLC
80
Comparing and Contrasting
SDLC with ERPLC Contd.
81
Implications for Management
It is critical to have solid top management
commitment.
It is important to have strong and experienced
program management.
It is a good practice to minimize the type and
number of customizations that are implemented.
It is critical to emphasize training and change
management.
Effective and frequent communication keeps
everyone on the same page and give the greatest
chance of problems being identified early.
82
Summary
A review of the systems development life cycle—
both traditional and alternative approaches—and
points out the benefits and limitations of the
traditional and the newer approaches.
The ERP life cycle has variations from the SDLC
process. The key reason is that organizations buy
ERP as prepackaged software, and then have to
customize them as well as change their company’s
business processes.
There are three routes for the company in choosing
an appropriate implementation strategy; they are:
a comprehensive, vanilla, or middle-of-the-road
strategy.
83
Summary Contd.
There are rapid implementation methodologies
developed by ERP consulting firms. These are:
Total Solution, Fast-Track, Rapid-Re, ASAP, BIM.
Accelerated implementation approaches are very
popular and require the use of experienced
consultants to leverage the knowledge of
techniques that have worked well with other
organizations.
ERP applications generally do not require the
rigorous traditional SDLC process.
ERP software is mission critical, has a major impact
on the organization business processes, and
impacts a lot of people.
84
Exercise Contd.
List the major tasks in the scope and
commitment phase of the ERP life cycle.
List the major tasks in the analysis and
design phase of the ERP life cycle.
List the major tasks in the acquisition and
development phase of the ERP life cycle.
What is the role of change management
in the ERP life cycle?
List the major differences between the
ERP life cycle and SDLC.
86