SYSTEMS DEVELOPMENT
METHODOLOGIES
6-1
SYSTEMS DEVELOPMENT
METHODOLOGIES
• Developers have different development methodologies:
• Waterfall methodology
• Rapid application development (RAD)
• Extreme programming (XP)
• Agile methodology
6-2
Waterfall Methodology
• Waterfall methodology - a sequential, activity-based process in which
each phase in the SDLC is performed sequentially from planning through
implementation
6-3
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
• Prototype - a smaller-scale, representation, or working model of the user’s
requirements or a proposed design for an information system
6-4
Rapid Application Development
(RAD)
6-5
Extreme Programming (XP)
• Extreme programming (XP) - breaks a project into tiny phases and
developers cannot continue on to the next phase until the first phase is
complete
6-6
Agile Methodology
• Agile methodology - a form of XP, aims for customer satisfaction
through early and continuous delivery of useful software components
6-7
OUTSOURCING
• Two primary choices to build IT systems (of great size and
complexity):
1. Insourcing - involves choosing IT specialists within your organization to
develop the system
2. Outsourcing - the delegation of specific work to a third party for a specified
length of time, at a specified cost, and at a specified level of service
6-8
OUTSOURCING
6-9
OUTSOURCING
• The main reasons behind the rapid growth of the outsourcing industry
include the following:
• Globalization and the Internet
• Growing economy and low unemployment rate
• Technology and deregulation
• Request for proposal (RFP) – outsourcing document that informs
vendors of your logical requirements
6-10
Outsourcing Options
• IT outsourcing for software development can take one of four forms:
1. Purchase existing software
2. Purchase existing software and paying the publisher to make certain
modifications
3. Purchase existing software and paying the publisher for the right to make
modifications yourself
4. Outsource the development of an entirely new and unique system for which
no software exists
6-11
Outsourcing Options
6-12
Outsourcing Options
• There are three different forms of outsourcing:
1. Onshore outsourcing - the process of engaging another company within the
same country for services
2. Nearshore outsourcing - contracting an outsourcing arrangement with a
company in a nearby country
3. Offshore outsourcing - contracting with a company that is geographically far
away
6-13
Offshore Outsourcing
• Primary outsourcing countries are:
• India
• China
• Eastern Europe (including Russia)
• Ireland
• Israel
• Philippines
6-14
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
6-15
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
6-16
The Advantages and Disadvantages of
Outsourcing
6-17
Business Process Outsourcing (BPO)
• Business process outsourcing (BPO) is using a contractual service to
completely manage, deliver and operate one or more (typically IT or call
center-intensive) business processes or functions
6-18
Business Process Outsourcing (BPO)
6-19
PROTOTYPING
• Prototyping - the process of building a model that demonstrates the
features of a proposed product, service, or system
• Proof-of-concept prototype - used to prove the technical feasibility of a
proposed system
• Selling prototype - used to convince people of the worth of a proposed system
6-20
The Prototyping Process
• The prototyping process involves four steps:
1. Identify basic requirements
2. Develop initial prototype
3. User review
4. Revise and enhance the prototype
6-21
The Prototyping Process
6-22
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
6-23
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
6-24
END-USER DEVELOPMENT
• End-user development (EUD) is the collection of techniques and
methodologies for the creation of non-trivial software applications by
end users
• A successful strategy relies on two keys:
1. Knowing which applications are good candidates
2. Providing end users with the right tools
6-25
Which Applications to Offload
• Infrastructure-related
• Mission-critical including ERP, CRM, Business Intelligence and e-business
• High value to the enterprise not just a single line of business
• Support large numbers of concurrent users’ for example, call center
applications
6-26
The Right Tool for the Job
• End users must have development tools that:
• Are easy to use
• Support multiple platforms
• Offer low cost of ownership
• Support a wide range of data types
6-27
The Right Tool for the Job
• Not all end-user development is greatly accepted because of:
• Version control
• Low quality
• Loss of control
6-28