Chapter 6Chapter 6
SYSTEMS DEVELOPMENTSYSTEMS DEVELOPMENT
Phases, Tools, and Phases, Tools, and TechniquesTechniques
Opening Case:Opening Case:Cameras Use Film?Cameras Use Film?
Opening Case:Opening Case:Cameras Use Film?Cameras Use Film?
Kodak 35mm film sales dropped Kodak 35mm film sales dropped from $7 billion in 2004 to an from $7 billion in 2004 to an estimated $1.9 billion in 2010estimated $1.9 billion in 2010
Many retailers no longer process Many retailers no longer process 35mm film35mm film
Web sites like SnapFish, Photo Web sites like SnapFish, Photo Bucket, and Flickr are now the Bucket, and Flickr are now the normnorm
INTRODUCTIONINTRODUCTION Information systems are the support structure Information systems are the support structure
for meeting the company’s strategies and goalsfor meeting the company’s strategies and goals
New systems are created --New systems are created -- because employees request it because employees request it to obtain a competitive advantageto obtain a competitive advantage
Billions of dollars spent yearly on acquisition, Billions of dollars spent yearly on acquisition, design, development, implementation, and design, development, implementation, and maintenance of IT systemsmaintenance of IT systems
Companies depend on information more than Companies depend on information more than ever ever
THE SYSTEMS THE SYSTEMS DEVELOPMENT LIFE CYCLEDEVELOPMENT LIFE CYCLE
Systems development life cycle (SDLC)Systems development life cycle (SDLC)
Defining SuccessDefining Success On timeOn time On budgetOn budget Meets requirementsMeets requirements
DeliverableDeliverable MilestoneMilestone
SDLC Phases & Major SDLC Phases & Major ActivitiesActivities
SDLC as a Waterfall SDLC as a Waterfall MethodologyMethodology
Phase 1: PlanningPhase 1: Planning
Planning phasePlanning phase create a solid plan for developing your create a solid plan for developing your
information system information system Three primary planning activities:Three primary planning activities:
1.1. Define the system to be developedDefine the system to be developed You can’t build every system, so you make You can’t build every system, so you make
choices based on your organization’s priorities, choices based on your organization’s priorities, which may be expressed as critical success which may be expressed as critical success factorsfactors
Critical success factor (CSF)Critical success factor (CSF) - a factor critical - a factor critical to your organization’s success to your organization’s success
Phase 1: PlanningPhase 1: Planning
2.2. Set the project scopeSet the project scope Project scope Project scope - - clearly defines the clearly defines the
high-level system requirements high-level system requirements Scope creep Scope creep -- occurs when the scope occurs when the scope
of the project increasesof the project increases Feature creep Feature creep - - occurs when occurs when
developers add extra features that were developers add extra features that were not part of the initial requirementsnot part of the initial requirements
Project scope documentProject scope document –– written written document of the project scopedocument of the project scope
Phase 1: PlanningPhase 1: Planning3.3. Develop the project plan including Develop the project plan including
tasks, resources, and timeframestasks, resources, and timeframes Project planProject plan
Project managerProject manager
Project milestonesProject milestones
Phase 1: PlanningPhase 1: Planning
Sample Project Plan
Phase 2: AnalysisPhase 2: Analysis Analysis phaseAnalysis phase
involves end users and IT specialists working involves end users and IT specialists working together to gather, understand, and document the together to gather, understand, and document the business requirements for the proposed system business requirements for the proposed system
Two primary analysis activities:Two primary analysis activities:1.1.Gather the business requirementsGather the business requirements
Business requirements Business requirements - the detailed set of - the detailed set of knowledge worker requests that the system knowledge worker requests that the system must meet in order to be successfulmust meet in order to be successful
Joint application developmentJoint application development ( (JADJAD) - ) - knowledge workers and IT specialists meet, knowledge workers and IT specialists meet, sometimes for several days, to define or review sometimes for several days, to define or review the business requirements for the system the business requirements for the system
Phase 2: AnalysisPhase 2: Analysis
2.2. Prioritize the requirementsPrioritize the requirements Requirements definition Requirements definition
document -document -prioritizes the business prioritizes the business requirements and places them in a requirements and places them in a formal comprehensive document formal comprehensive document
Users sign off on this document which Users sign off on this document which clearly sets the scope for the projectclearly sets the scope for the project
Phase 2: AnalysisPhase 2: Analysis
Take time during analysis to get the business requirements correct. If you find errors, fix them immediately. The cost to fix an error in the early stages of the SDLC is relatively small. In later stages, the cost is huge.
Phase 3: DesignPhase 3: Design Design phaseDesign phase
build a technical blueprint of how the build a technical blueprint of how the proposed system will work proposed system will work
Two primary design activities:Two primary design activities:1.1. Design the technical architecture Design the technical architecture
the hardware, software, and the hardware, software, and telecommunications equipment required to telecommunications equipment required to run the system run the system
2.2. Design system modelsDesign system models GUI screens that users will interface with, GUI screens that users will interface with,
database designs (see XLM/C), report database designs (see XLM/C), report formats, software steps, etcformats, software steps, etc
Phase 3: DesignPhase 3: Design Starting with design, you take on Starting with design, you take on
less of an active participation role less of an active participation role and act more as a “quality control” and act more as a “quality control” function, ensuring that the IT people function, ensuring that the IT people are designing a system to meet your are designing a system to meet your needsneeds
Phase 4: DevelopmentPhase 4: Development Development phaseDevelopment phase
take all of your detailed design take all of your detailed design documents from the design phase and documents from the design phase and transform them into an actual system transform them into an actual system
Two primary development activities:Two primary development activities:1.1. Build the technical architectureBuild the technical architecture2.2. Build the database and programs Build the database and programs
Both of these activities are mostly performed Both of these activities are mostly performed by IT specialistsby IT specialists
Phase 5: TestingPhase 5: Testing Testing phaseTesting phase
verifies that the system works and meets all of the verifies that the system works and meets all of the business requirements defined in the analysis phase business requirements defined in the analysis phase
Two primary testing activities:Two primary testing activities:1.1. Write the test conditionsWrite the test conditions
Test conditionsTest conditions - the detailed steps the system - the detailed steps the system must perform along with the expected results of must perform along with the expected results of each step each step
2.2. Perform the testing of the systemPerform the testing of the system Unit testing Unit testing – tests individual units of code– tests individual units of code System testingSystem testing – verifies that the units of code – verifies that the units of code
function correctly when integratedfunction correctly when integrated Integration testingIntegration testing – verifies that separate – verifies that separate
systems work togethersystems work together User acceptance testing (UAT) User acceptance testing (UAT) – determines – determines
if the system satisfies the business requirements if the system satisfies the business requirements
Phase 6: ImplementationPhase 6: Implementation Implementation phaseImplementation phase
distribute the system to all of the knowledge workers distribute the system to all of the knowledge workers and they begin using the system to perform their and they begin using the system to perform their everyday jobs everyday jobs
Two primary implementation activitiesTwo primary implementation activities
1.1. Write detailed user documentationWrite detailed user documentation User documentationUser documentation - highlights how to use the - highlights how to use the
system system
2.2. Provide training for the system usersProvide training for the system users Online trainingOnline training - runs over the Internet or off a - runs over the Internet or off a
CD-ROM CD-ROM Workshop training Workshop training - - is held in a classroom is held in a classroom
environment and lead by an instructor environment and lead by an instructor
Phase 6: ImplementationPhase 6: Implementation
Choose the right implementation Choose the right implementation methodmethod Parallel implementationParallel implementation
Plunge implementationPlunge implementation
Pilot implementationPilot implementation
Phased implementationPhased implementation
Phase 7: Maintenance Phase 7: Maintenance Maintenance phaseMaintenance phase
monitor and support the new system to monitor and support the new system to ensure it continues to meet the business goals ensure it continues to meet the business goals
Two primary maintenance activities:Two primary maintenance activities:1.1. Build a help desk to support the system users Build a help desk to support the system users
Help deskHelp desk - a group of people who responds to - a group of people who responds to knowledge workers’ questions knowledge workers’ questions
2.2. Provide an environment to support system Provide an environment to support system changes changes
Sourcing the ProjectSourcing the Project
Three choices for building a system Three choices for building a system include:include: InsourcingInsourcing SelfsourcingSelfsourcing OutsourcingOutsourcing
SelfsourcingSelfsourcing
SelfsourcingSelfsourcing (also called (also called knowledge worker development knowledge worker development oror end user development end user development))
SelfsourcingSelfsourcing AdvantagesAdvantages
Improves requirements determinationImproves requirements determination Increases knowledge worker participation and sense Increases knowledge worker participation and sense
of ownershipof ownership Increases speed of systems developmentIncreases speed of systems development
Potential pitfalls and risksPotential pitfalls and risks Inadequate knowledge worker expertise leads to Inadequate knowledge worker expertise leads to
inadequately developed systemsinadequately developed systems Lack of organizational focus creates “privatized” IT Lack of organizational focus creates “privatized” IT
systemssystems Insufficient analysis of design alternatives leads to Insufficient analysis of design alternatives leads to
subpar IT systemssubpar IT systems Lack of documentation and external support leads to Lack of documentation and external support leads to
short-lived systemsshort-lived systems
OUTSOURCINGOUTSOURCING
Developing strategic partnershipsDeveloping strategic partnerships
OutsourcingOutsourcing
Developing Strategic Developing Strategic PartnershipsPartnerships
IT outsourcing takes on 1 of 4 forms:IT outsourcing takes on 1 of 4 forms:1.1. Purchasing existing softwarePurchasing existing software
2.2. Purchasing existing software and pay the Purchasing existing software and pay the publisher to make certain modificationspublisher to make certain modifications
3.3. Purchasing existing software and pay the Purchasing existing software and pay the publisher for the right to make publisher for the right to make modifications yourselfmodifications yourself
4.4. Outsourcing the development of an Outsourcing the development of an entirely new and unique system for which entirely new and unique system for which no software existsno software exists
Outsourcing OptionsOutsourcing Options
There are three different forms of There are three different forms of outsourcing:outsourcing:1.1. Onshore outsourcingOnshore outsourcing - - the process of the process of
engaging another company within the engaging another company within the same country for servicessame country for services
2.2. Nearshore outsourcingNearshore outsourcing - contracting an - contracting an outsourcing arrangement with a company outsourcing arrangement with a company in a nearby countryin a nearby country
3.3. Offshore outsourcingOffshore outsourcing - contracting with - contracting with a company that is geographically far awaya company that is geographically far away
OutsourcingOutsourcing AdvantagesAdvantages
Focus on unique core competenciesFocus on unique core competencies Exploit the intellect of another organizationExploit the intellect of another organization Better predict future costsBetter predict future costs Acquire leading-edge technologyAcquire leading-edge technology Reduce costsReduce costs Improve performance accountabilityImprove performance accountability
DisadvantagesDisadvantages Reduces technical know-how for future innovationReduces technical know-how for future innovation Reduces degree of controlReduces degree of control Increases vulnerability of strategic informationIncreases vulnerability of strategic information Increases dependency on other organizationsIncreases dependency on other organizations
PROTOTYPINGPROTOTYPING
PrototypingPrototyping
Prototype Prototype
Proof-of-concept prototype Proof-of-concept prototype
Selling prototype Selling prototype
Prototyping Prototyping AdvantagesAdvantages
Encourages active knowledge worker participation Encourages active knowledge worker participation Helps resolve discrepancies among knowledge workers Helps resolve discrepancies among knowledge workers Gives users a feel for the final system Gives users a feel for the final system Helps determine technical feasibilityHelps determine technical feasibility Helps sell the idea of a proposed system Helps sell the idea of a proposed system
DisadvantagesDisadvantages Leads people to believe the final system will follow Leads people to believe the final system will follow
shortlyshortly Gives no indication of performance under operational Gives no indication of performance under operational
conditionsconditions Leads the project team to forgo proper testing and Leads the project team to forgo proper testing and
documentationdocumentation