You are on page 1of 48

AGW 616 MANAGEMENT INFORMATION SYSTEMS Assoc. Professor Dr. Noornina Hj.

Dahlan Graduate School of Business Universiti Sains Malaysia

Associate Professor Dr Noornina Hj Dahlan (gsb@usm)

Lesson 9

Information and Systems Development

Associate Professor Dr Noornina Hj Dahlan (gsb@usm)

Lesson 9: Synopsis
LESSON 9 focuses on the fundamentals of Systems Development and the role of information management in ensuring successful completion of the project.

Associate Professor Dr Noornina Hj Dahlan (gsb@usm)

Lesson 9: Learning Outcomes


Illustrate: Fundamentals of Systems Development (SD) Display: Advantages and Disadvantages of SD models Propose: Applications of Prototyping Synthesise: Challenges in the System Development Life Cycle (SDLC) Technique
Associate Professor Dr Noornina Hj Dahlan (gsb@usm)

INTRODUCTION When developing a new system, you have 3 who choices 1. Insourcing internal IT specialists 2. Selfsourcing DIY (do-it-yourself) with little or no help from IT specialists 3. Outsourcing third-party (let someone do the work and pay them for it)

INSOURCING AND THE SDLC Systems development life cycle (SDLC) - a structured step-by-step approach for developing information systems 7 distinct phases, each with well-defined activities Also called a waterfall methodology, an approach in which each phase of the SDLC is followed by another, from planning through implementation

SDLC Phases & Major Activities

SDLC as a Waterfall Methodology

Phase 1: Planning Planning phase - create a solid plan for developing your information system Three primary planning activities: 1. Define the system to be developed Identify Critical success factor (CSF) - a factor simply critical to your organizations success

Phase 1: Planning 2. Set the project scope Project scope - clearly defines the high-level system requirements

Phase 1: Planning 3. Develop the project plan including tasks, resources, and timeframes Project plan - defines the what, when, and who questions of system development Project milestones - represent key dates for which you need a certain group of activities performed

Phase 1: Planning

Sample Project Plan

Phase 2: Analysis Analysis phase - involves end users and IT specialists working together to gather, understand, and document the business requirements for the proposed system

Phase 2: Analysis Two primary analysis activities: 1. Gather the business requirements Business requirements:
ensure system meets requests address the why and what of system development activities

Phase 2: Analysis 2. Prioritize the requirements Requirements definition document prioritizes the business requirements and places them in a formal comprehensive document

Phase 3: Design Design phase - build a technical blueprint of how the proposed system will work Two primary design activities: 1. Design the technical architecture Technical architecture - defines the hardware, software, and telecommunications equipment required to run the system

Phase 3: Design 2. Design system models This includes GUI screens that users will interface with, database designs, etc Starting with design, users take on less of an active participation role and act more as a quality control function, ensuring that the IT people are designing a system to meet user needs

Phase 4: Development Development phase - take all of your detailed design documents from the design phase and transform them into an actual system Two primary development activities: 1. Build the technical architecture 2. Build the database and programs Both of these activities are mostly performed by IT specialists

Phase 5: Testing Testing phase - verifies that the system works and meets all of the business requirements defined in the analysis phase Two primary testing activities: 1. Write the test conditions Test conditions - the detailed steps the system must perform along with the expected results of each step

Phase 5: Testing 2. Perform the testing of the system Unit testing tests individual units of code System testing verifies that the units of code function correctly when integrated Integration testing verifies that separate systems work together User acceptance testing (UAT) determines if the system satisfies the business requirements

Phase 6: Implementation Implementation phase - distribute the system to all of the knowledge workers and they begin using the system to perform their everyday jobs Two primary implementation activities 1. Write detailed user documentation User documentation - highlights how to use the system

Phase 6: Implementation 2. Provide training for the system users Online training - runs over the Internet or off a CD-ROM Workshop training - is held in a classroom environment and lead by an instructor

Phase 6: Implementation Choose the right implementation method Parallel implementation use both the old and new system simultaneously Plunge implementation discard the old system completely and use the new Pilot implementation start with small groups of people on the new system and gradually add more users Phased implementation implement the new system in phases

Phase 7: Maintenance Maintenance phase - monitor and support the new system to ensure it continues to meet the business goals Two primary maintenance activities: 1. Build a help desk to support the system users Help desk - a group of people who responds to knowledge workers questions 2. Provide an environment to support system changes

COMPONENT-BASED DEVELOPMENT The SDLC focuses only on the project at hand Component-based development (CBD) focuses on building small self-contained blocks of code (components) that can be reused across a variety of applications CBD focuses on 1. Using already-developed components to build systems quickly 2. Building new components as needed that can be used in all future systems

Component-Based Development Methodologies


Rapid application development (RAD) Agile methodology

Rapid Application Development (RAD) Rapid application development (RAD) (also called rapid prototyping) - emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development process Prototypes are models of the software components The development team continually designs, develops, and tests the component prototypes until they are finished

Rapid Application Development (RAD)

Build new software components

Use alreadyexisting software components

Agile Methodology
Agile methodology - aims for customer satisfaction through early and continuous delivery of useful software components

SELFSOURCING Selfsourcing (end-user development) the development and support of IT systems by end users with little or no help from IT specialists Do-it-yourself systems development approach

Selfsourcing Approach Is similar to traditional SDLC Big exception is that design, development, testing, and implementation are replaced by the process of prototyping Prototyping is the process of building models, and in this case continually refining those models until they become the final system

Selfsourcing Approach

Selfsourcing Advantages Improves requirements determination Increases end user participation and sense of ownership Increases speed of systems development Reduces invisible backlog Invisible backlog list of all systems that an organization needs to develop but because of the prioritization of systems development needs never get funded because of the lack of organizational resources

Selfsourcing Disadvantages Inadequate end user expertise leads to inadequately developed systems Lack of organizational focus creates privatized IT systems Insufficient analysis of design alternatives leads to subpar IT systems Lack of documentation and external support leads to short-lived systems

PROTOTYPING Prototype a model of a proposed product, service, or system Prototyping - the process of building a model that demonstrates the features of a proposed product, service, or system

The Prototyping Process


The prototyping process involves four steps:
1. 2. 3. 4. Identify basic requirements Develop initial prototype User review Revise and enhance the prototype

The Prototyping Process

Advantages of Prototyping Encourages active user participation Helps resolve discrepancies among users Gives users a feel for the final system Helps determine technical feasibility Helps sell the idea of a proposed system

Disadvantages of Prototyping Leads people to believe the final system will follow Gives no indication of performance under operational conditions Leads the project team to forgo proper testing and documentation

OUTSOURCING
Outsourcing the delegation of specified work to a third party for a specified length of time, at a specified cost, and at a specified level of service

Outsourcing Options IT outsourcing for software development can take one of four forms: 1. Purchase
1.existing software 2. existing software
1. and pay the publisher to make certain modifications 2. and pay the publisher for the right to make modifications yourself

2. Outsource the development of an entirely new and unique system

Outsourcing Process
Like selfsourcing, the outsourcing process looks similar to the traditional SDLC Big exception here is that you outsource most of the work to another company

Outsourcing Process

When outsourcing, youll develop two vitally important documents a request for proposal and a service level agreement

The Advantages and Disadvantages of Outsourcing Advantages: Focus on unique core competencies Exploit the intellect of another organization Better predict future costs Acquire leading-edge technology Reduce costs Improve performance accountability

The Advantages and Disadvantages of Outsourcing Disadvantages: Reduces technical know-how for future innovation Reduces degree of control Increases vulnerability of your strategic information Increases dependency on other organizations

Memory Recall What are the fundamentals of Systems Development (SD)? What are the advantages and disadvantages of SD models?

Associate Professor Dr Noornina Hj Dahlan (gsb@usm)

Issues Arising
Under what circumstances are the prototyping method more popular than SDLC? Why is it necessary for managers to understand systems development?

Associate Professor Dr Noornina Hj Dahlan (gsb@usm)

Thank You!

You might also like