Chapter 9 - Systems Development
Types of Feasibility
Economic - cost-effetivness Operational - solve problems, meet requirements Schedule - completed on time? Technical - practicality, resources available. Political - will it be accepted? Legal - implement within obligations and constraints.
Balance of the triple constraint
If one changes, one or more will be affected.
Methods for gathering business requirements
Joint Application Development (JAD) session, interveiws, questionaires/surveys, observations, business reports.
Types of implementation
Parallel Plunge Pilot Phased
Primary reasons projects fail
Unclear or missing business requirements. Skipped SDLC phases. Changing technology. The cost of finding errors. Balance of the triple constraints.
agile methodology
aims for customer satisfaction through early and continuous delivery of useful software components developed by an iterative process using the bare minimum requirements. Fast and efficient, lower cost and fewer features. Rapid feedback and room for adjustments
Outsourcing
an arrangement by which one organization provides a service or services for another organization that chooses not to perform them in-house.
legacy system
an old system that is fast approaching or beyond it's useful life within an organization
web service
an open-standards way of supporting interoperability. Web services are application programming interfaces (API) that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services.
computer-aided software engineering (CASE)
are software suites that automate systems analysis, design, and development.
Planning Phase
establishes a high-level plan of the intended project and determines project goals. Activities include Brainstorming, Prioritizing and choosing projects, setting project scope and developing the project plan.
design phase
establishes descriptions of the desired features and operations of the system, including screen layouts, business rules, process diagrams, pseudocode, and other documentation.
object oriented languages
group data and corresponding processes into objects
Waterfall methodology
oldest and best known methodology. a sequence of phases in which the output of each phase becomes the input for the next (see Figure 9.11). In the SDLC, this means the steps are performed one at a time, in order, from planning through implementation and maintenance. Inflexible and expensive
Rational Unified Process (RUP)
owned by IBM, provides a framework for breaking down the development of software into four gates.
critical path
the sequence of activities that determine the earliest date by which the project can be completed.
6 types of testing
Alpha Testing Development Testing Integration Testing System testing User acceptance testing unit testing
outsourcing models
Onshore outsourcing—engaging another company within the same country for services. Nearshore outsourcing—contracting an outsourcing arrangement with a company in a nearby country. Often this country will share a border with the native country. Offshore outsourcing—using organizations from developing countries to write code and develop systems. In offshore outsourcing the country is geographically far away.
Steps of SDLC
Planning Analysis Design Development Testing Implementation Maintenence
In-Sourcing (in-house development)
uses the professional expertise within an organization to develop and maintain its information technology systems.
PERT chart
(Program Evaluation and Review Technique) chart is a graphical network model that depicts a project's tasks and the relationships between them.
Advantages of prototyping
- encourages user participation. - Prototypes evolve through iteration, which supports change better. - have a physical quality allowing users to see, touch, and experience the system as it is developed. - tend to detect errors earlier. - accelerates the phases of the SDLC, helping to ensure success.
Disadvantages of the waterfall methodology
- flaws in identifying problems will be carried through - unexpected contingencies can mess up plan - Assumes it can fix all problems in advanced which is not realistic
Gates of RUP
1. Inception 2. Elaboration 3. Construction 4. Transition
Common Reasons for Outsourcing
Core competencies. Many companies have recently begun to consider outsourcing as a way to acquire best-practices and the business process expertise of highly skilled technology resources for a low cost. Technology is advancing at such an accelerated rate that companies often lack the technical resources required to keep current. Financial savings. It is far cheaper to hire people in China and India than pay the required salaries for similar labor in the United States. Rapid growth. Firms must get their products to market quickly and still be able to react to market changes. By taking advantage of outsourcing, an organization can acquire the resources required to speed up operations or scale to new demand levels. The Internet and globalization. The pervasive nature of the Internet has made more people comfortable with outsourcing abroad as India, China, and the United States become virtual neighbors.
Gates (in detail)
Gate one: inception. This phase ensures that all stakeholders have a shared understanding of the proposed system and what it will do. Gate two: elaboration. This phase expands on the agreed-upon details of the system, including the ability to provide an architecture to support and build it. Gate three: construction. This phase includes building and developing the product. Gate four: transition. Primary questions answered in this phase address ownership of the system and training of key personnel.
Outsourcing Benefits
Increased quality and efficiency of business processes. Reduced operating expenses for head count and exposure to risk for large capital investments. Access to outsourcing service provider's expertise, economies of scale, best practices, and advanced technologies. Increased flexibility for faster response to market changes and less time to market for new products or services.
Types of system reports
Internal report Detailed internal report Summary internal report Exception reporting Information System Control Report Information System audit report post-implementation report
Outsourcing Challenges
Length of contract. Most companies look at outsourcing as a long-term solution with a time period of several years. Training and transferring resources around the globe is difficult and expensive, hence most companies pursuing offshore outsourcing contract for multiple years of service. The following are a few of the challenges facing the length of the contract: It can be difficult to break the contract. Forecasting business needs for the next several years is challenging and the contract might not meet future business needs. Recreating an internal MIS department if the outsource provider fails is costly and challenging. Threat to competitive advantage. Many businesses view MIS as a competitive advantage and view outsourcing as a threat because the outsourcer could share the company's trade secrets. Loss of confidentiality. Information on pricing, products, sales, and customers can be a competitive asset and often critical for business success. Outsourcing could place confidential information in the wrong hands. Although confidentiality clauses contained in the contracts are supposed to protect the company, the potential risk and costs of a breach must be analyzed.
Primary Forms of Agile Metholdology
Rapid prototyping or rapid application development methodology. Extreme programming methodology. Rational unified process (RUP) methodology. Scrum methodology.
Types of Organizational Projects
Sales Marketing Finance Accounting MIS
Service-Oriented Architecture (SOA)
a business-driven enterprise architecture that supports integrating a business as linked, repeatable activities, tasks, or services. SOA ensures that MIS systems can adapt quickly, easily, and economically to support rapidly changing business needs. SOA promotes a scalable and flexible enterprise architecture that can implement new or reuse existing MIS components, creating connections among disparate applications and systems.
software engineering
a disciplined approach for constructing information systems through the use of common methods, techniques, or tools.
Project plan
a formal, approved document that manages and controls the entire project.
dependency
a logical relationship that exists between the project tasks, or between a project task and a milestone.
Extensible Markup Language (XML)
a markup language for documents, containing structured information. The technical specifics of XML's capabilities go beyond the scope of this book, but for our purposes, they support things such as ebusiness transactions, mathematical equations, and a thousand other kinds of structured data.
prototyping
a modern design approach by which the designers and system users use an iterative approach to building the system.
Change Agent
a person or event that is the catalyst for implementing major changes for a system to meet business changes.
scripting language
a programming method that provides for interactive modules to a website
Control objects for Information and related technology (COBIT)
a set of best practices that helps an organization maximize the benefits of an information system, at the same time establishing appropriate controls to ensure minimum errors.
methodology
a set of policies, procedures, standards, processes, practices, tools, techniques, and tasks that people apply to technical and management challenges. Firms use a methodology to manage the deployment of technology with work plans, requirements documents, and test plans, for instance. A formal methodology can include coding standards, code libraries, development practices.
Gantt Chart
a simple bar chart that lists project tasks vertically against the project's time frame, listed horizontally
SOA Service
a simple business task
Project
a temporary activity a company undertakes to create a unique product, service, or result.
kill-switch
a trigger that enables a project manager to close the project before completion.
Project manager
an individual who is an expert in project planning and management, defines and develops the project plan, and tracks the plan to ensure that the project is completed on time and on budget. The project manager is the person responsible for executing the entire project and defining the project scope that links the project to the organization's overall business goals.
Extreme programming (XP)
breaks a project into four phases, and developers cannot continue to the next phase until the previous phase is complete. The delivery strategy supporting XP is that the quicker the feedback the more improved the results. XP has four basic phases: planning, designing, coding, and testing.
testing phase
brings all the project pieces together into a special testing environment to eliminate errors and bugs and verify that the system meets all the business requirements defined in the analysis phase
discovery prototyping
builds a small-scale representation or working model of the system to ensure that it meets the user and business requirements.
iterative development
consists of a series of tiny projects. It has become the foundation of multiple agile methodologies
bugs
defects of the code in an information system
Project scope
describes the business need (the problem the project will solve) and the justification, requirements, and current boundaries for the project.
test conditions
detail the steps the system must perform along with the expected result of each step
Rapid Application Development (RAD)
emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system, to accelerate the systems development process
analysis phase
firm analyzes its end-user business requirements and refines project goals into defined functions and operations of the intended system. Activities include gathering business requirements and defining restraints.
Data Flow Diagram (DFD)
illustrates the movement of information between external entities and the processes and data stores within the system
process modeling
involves graphically representing the processes that capture, manipulate, store, and distribute information between a system and its environment. One of the most common diagrams used in process modeling is the data flow diagram
Preventative maintenance
makes system changes to reduce the chance of future system failure.
Corrective Maintenance
makes system changes to repair design flaws, coding errors, or implementation issues.
software customization
modifies software to meet specific user or business requirements
Maintenance Phase
organization performs changes, corrections, additions, and upgrades to ensure that the system continues to meet business goals. This phase continues for the life of the system because the system must change as the business evolves and its needs change, which means conducting constant monitoring, supporting the new system with frequent minor changes (for example, new reports or information capturing), and reviewing the system to be sure it is moving the organization toward its strategic goals.
requirements definition document
prioritizes all of the business requirements by order of importance to the company. Users must sign off on all requirements.
fourth generation languages
programming languages that look similar to human languages. For example, a typical 4GL command might state, "FIND ALL RECORDS WHERE NAME IS 'SMITH'."
off-the-shelf application software
supports general business processes and does not require any specific software customization to meet the organization's needs
Project management
the application of knowledge, skills, tools, and techniques to project activities to meet project requirements
Loose Coupling
the capability of services to be joined on demand to create composite services or disassembled just as easily into their functional components.
Interoperability
the capability of two or more computer systems to share data and resources, even though they are made by different manufacturers.
feasibility
the measure of the tangible and intangible benefits of an information system.
Implementation phase
the organization places the system into production so users can begin to perform actual business operations with it. In this phase, the detailed user documentation is created that highlights how to use the system and how to troubleshoot issues or problems. Training is also provided
Systems development life cycle (SDLC)
the overall process for developing information systems, from planning and analysis to implementation and analysis. The SDLC is the foundation for all systems development methods, and hundreds of activities are associated with each phase. These activities typically include determining budgets, gathering system requirements, and writing detailed user documentation.
requirements management
the process of managing changes to the business requirements throughout the project. Projects are typically dynamic in nature, and change should be expected and anticipated for successful project completion.
conversion
the process of transferring information from a legacy system to a new system
business requirements
the specific business requests the system must meet to be successful, so the analysis phase is critical because business requirements drive the entire systems development effort.
development phase
transforms all the detailed design documents from the design phase into the actual system. In this phase, the project transitions from preliminary designs to actual physical implementation
Scrum Methodology
uses small teams to produce small pieces of software using a series of sprints, or 30-day intervals, to achieve an appointed goal.