Building an Organization’s
Information Systems
ISB Session 11
Context
• In today’s context, every business organization has multiple
information systems
• Yet, to keep pace with competition, businesses are having to
constantly invest in building information systems
• Building Information Systems include
– New systems built from scratch
– Enhancements / Extensions to existing systems
– Integration of new systems with existing ones
– Transformation of older systems (converting monolithic
applications to microservices) etc.
Options in Building Systems
• An organization may choose to
– Build or develop the system in-house
– Outsource system development Build / Buy / Outsource
– Buy an off-the-shelf product is an important decision
• The choice would depend on
– Availability of ready-made products in the market for the
intended functionality
– Existence / Non-existence of a competent in-house team for
system development
– Core competency being in a different domain other than
IT/IS
Systems Development and
Organizational Change
• Systems development induces various degrees of
organizational change
– From incremental to far-reaching
• IT-enabled organizational change can be categorized
as below based on the degree of impact
– Automation
– Rationalization
– Business Process Redesign / Reengineering
– Paradigm Shifts
Automation
• Automation is the most common or basic form of
IT-enabled organizational change
• Automation increases efficiency by replacing
manual tasks
• Eg. Automation in banks:
• Giving bank tellers instant access to customer
deposit records
Rationalization
• Rationalization is a slightly deeper form of Organizational
change – that follows quickly from early automation
• Rationalization ensues when automation reveals new
bottlenecks in production / procedures, making the existing
arrangement cumbersome
• Rationalization streamlines standard operating procedures
(SOPs)
• Eg. Earlier, banks had to collect a lot of details from the
customer to create a new bank account and verify them;
now by linking with Aadhar card, this business process is
a lot more streamlined.
Business Process Redesign (BPR)
• BPR is an even more powerful type of organizational
change compared to Automation and Rationalization
• Business Processes are analyzed, simplified and
redesigned (possibly benchmarked with best
approaches)
• BPR reorganizes workflows, combining steps to cut
waste and eliminate repetitive, paper-intensive tasks
Business Process Redesign
• Sometimes the new design eliminates roles / jobs as
well
• Eg. Ford Motor Company’s invoice less processing
• Headcount in Accounts Payable section was reduced
by 75% (500 employees) when this particular BPR
happened
• Time spent on resolving discrepancies between
Purchase Orders, receiving documents and invoices
was cut down
Paradigm Shifts
• Paradigm shifts rethink the nature of business, define a new
business model, change the very nature of an organization
• Eg. Schneider National
• Originally, it was a long-haul trucking and transportation firm
• Over years of experience, they learnt how to manage logistics
very well
• That helped them transition to a new business model – from
being a mere logistics company to becoming a company that
provides solutions to manage logistics efficiently for other
logistics companies
Organizational Change Carries
Risks and Rewards
Approaches to
Systems Building / Development
Overview of Systems Development
• Systems development includes activities that go into
producing an information system solution to an
organizational problem or opportunity, like
• Systems analysis
• Systems design
• Programming
• Testing
• Conversion
• Production and maintenance
The Systems Development Process
Building a system can be broken down into six core activities.
Systems Analysis
• Systems analysis involves the analysis of the problem(s)
that will be solved by system and the main objectives
• An important part of this phase is establishing the
information requirements (who needs what
information, where, when and how)
• It also includes feasibility study
• Is the proposed solution feasible from financial, technical,
organizational standpoint
• Is the proposed solution a good investment?
• Is the required technology and skill available?
• Will the end users embrace the solution?
Systems Design
• Systems design describe system specifications that will
deliver functions identified during systems analysis
• Systems design should address all managerial,
organizational, and technological components of the
system solution
• End users must have sufficient control over the design
process
• Systems should reflect the business priorities and
information needs of end users
• Insufficient user involvement in design effort is a major
cause of system failure
Programming and Testing
• Programming
– System specifications from design stage are translated into
software program code
• Testing
– Testing is done to ensure the system produces right results
– Predefined test cases are passed through the system to check if
the system is robust enough
– Testing procedures can be manual or automated or both
– There are multiple testing procedures depending on the
purpose - Unit testing, System testing or Integration testing,
User Acceptance testing, Regression testing, etc.
Types of Testing
– Unit testing: Tests each module or unit in the system
separately
– System testing / Integration testing: Tests functioning of the
system as a whole; ensures all pieces work together
– User Acceptance testing (UAT) : Makes sure the system is
ready to be used in production setting
– Regression testing: Makes sure if the introduction of a change
in code does not affect existing code / functionality
– Other popular testing approaches:
– Alpha testing, Beta testing, A/B testing, Sandbox testing,
Black box testing etc.
Conversion
– Process of changing from old system to new system
– Four main strategies
1. Parallel strategy
2. Direct cutover
3. Pilot study
4. Phased approach
– Requires end-user training
– Finalization of detailed documentation showing how
system works from technical and end-user standpoint
Production and Maintenance
– System reviewed to determine if any revisions needed
– May prepare formal post-implementation audit document
– Maintenance
• Changes in hardware, software, documentation, or
procedures to a production system to correct errors,
meet new requirements, or improve processing
efficiency
• 20% debugging, emergency work
• 20% changes to hardware, software, data, reporting
• 60% of work: User enhancements, improving
documentation, recoding for greater processing
efficiency
Summary of Systems Development
Activities
CORE ACTIVITY DESCRIPTION
Systems analysis Identify problem(s)
Specify solutions
Establish information requirements
Systems design Create design specifications
Programming Translate design specifications into code
Testing Unit test
Systems test
Acceptance test
Conversion Plan conversion
Prepare documentation
Train users and technical staff
Production and maintenance Operate the system
Evaluate the system
Modify the system
Traditional Systems Development
Methodology
Waterfall Approach to Product Development
Application Development for the
Digital Firm
• Rapid application development (RAD)
• Joint application design (JAD)
• Agile development
• Component-based development
• Web services, Micro services
Waterfall Vs. Agile Methodology
Core values in the “Agile” Manifesto
1. Individuals and interactions over processes and
tools
2. Working software over comprehensive
documentation
3. Customer collaboration over contract negotiation
4. Responding to change over following a plan
Popular Agile Processes
• Scrum
– Sprints
• Extreme Programming
– Pair Programming
– Short product cycles and automated tests
• Kanban
– Continuous flow for incoming and completed
features rather than sprint cycles
– Visual tracking system – kanban boards
Transitioning from Monolithic applications to Micro
services
Cost Analysis
Source:
What do Microservices and
Containers enable?
• DevOps (Continuous Integration and Continuous Delivery)
• Time to Market / Agility
• Polyglot Programming
• Build once, Run Anywhere
• On demand scaling
• Enhanced Developer Productivity