chp4 dev strategies

Upload: achery87

Post on 13-Oct-2015

43 views

Category:

Documents


0 download

TRANSCRIPT

  • CHAPTER 4DEVELOPMENT STRATEGY

    *

    Chapter Objectives Describe software trends, including the concept of software as a serviceExplain software acquisition alternatives, including traditional versus Web-based software development strategiesDescribe software outsourcing options, including the role of service providersExplain advantages and disadvantages of developing software in-house versus other alternatives

    *

    Chapter ObjectivesExplain cost-benefit analysis and financial analysis toolsExplain the differences between a request for proposal (RFP) and a request for quotation (RFQ)Describe the contents of the system requirements document

    *

    Chapter ObjectivesExplain the transition from systems analysis to systems design, and the difference between logical and physical designExplain the transition to systems design and the importance of prototypingDiscuss guidelines for system design, and explain the importance of codes

    *

    IntroductionChapter 4 describes the remaining activities in the systems analysis phaseThe chapter also describes the transition to systems design, prototyping, design guidelines, and using codes to represent values and simplify data entry

    *

    Development Strategies OverviewBack few year ago, company either developed software itself, purchased a package, hired consultant or outside resource to perform workToday, many choices company hasSelecting the best development path is an important decision that requires companies to consider three key issuesThe impact of the internetSoftware outsourcing optionsIn-house software development alternatives

    *

    The Impact of the InternetThe Internet has triggered enormous changes in business methods and operations, and software acquisition is no exceptionThis section examines a trend that views software as a service, the changing market-place for software, and how Web-based development compares to traditional methods

    *

    Software as a ServiceIn traditional model, software vendor develop and sell application packages to customerCustomer purchases licenses, give them right to use swareA new model called Software as a Sevice (SaaS) is changing the picture dramaticallyThe Software and Information Industry Association (SIIA) is an industry group that focuses on the digital economySIIA believes that the concept of software as a service is redefining the way that companies develop and deploy their information systems

    *

    Traditional vs. Web-Based Systems DevelopmentAs system analyst, you must consider whether dev take place in a Web-centric framework or in a traditional environmentDevelopers will focus on Web-based application development, which builds the Web into the application, rather than the other way around 2 major Web-based development environment:IBMs WebSphereMicrosofts .NETAlthough major trend toward Web based systems, many firms rely on traditional system because they are legacy application that not easily to replaceBuilding application in a Web based environment offer great benefits, and greater risks

    *

    Traditional developmentIn a traditional system development environment: System design is influenced by compatibility issues including existing hware and software platformSystems are designed to run on local and wide-area company networksWeb-based features are treated as enhancements rather than core elements of the design

    *

    Web-based developmentIn a Web based system development environment:Systems are developed and delivered in an Internet-based framework such as .NET or WebSphereInternet-based development treats the Web as the platform, rather than just a communication channelWeb-based software usually requires additional layers, called middleware to communicate with the existing software and legacy systems

    *

    Outsourcing Outsourcing is the transfer of information systems development, operation, or maintenance to an outside firm that provides these services, for a fee, on a temporary or long-term basisCan refer to relatively minor programming tasks or the handling of a companys entire IT function

    *

    The Growth of OutsourcingTraditionally, firms outsourced IT tasks as a way of controlling costs and dealing with rapid technological changeToday, outsourcing is a vital business issue that shapes a companys overall IT strategythe most important factor is the potential saving in operating costsA firm that offers outsourcing solutions is called a service provider

    *

    The Growth of OutsourcingTwo popular outsourcing options involve:Application service providers (ASP) A firm that deliver a software application or access to an application by charging usage or subscription feesInternet business services (IBS)Provide powerful Web-based support for transaction such as order processing, billing, crmAnother term for IBS is managed hosting because the operation is managed by the outside firm or host

    *

    Outsourcing FeesA fixed fee model uses a set fee based on a specified level of service and user supportA subscription model has a variable fee based on the number of users or workstations that have accessA usage model or transaction model charges a variable fee based on the volume of transactions or operationsWhen company consider outsourcing, it should estimate usage characteristic to determine which fee structure most desirable

    *

    Outsourcing Issues and ConcernsWhen a company decide to outsource IT funct, it takes important step that affect firms resources, operation and profitabilityMission-critical IT systems should be out-sourced only if the result is a cost-attractive, reliable, business solution that fits the companys long-term business strategyout-sourcing can also affect day-to-day company operations and can raise some concerns

    *

    Outsourcing Issues and ConcernsA company must plan outsourcing carefully to avoid lost revenue, added expenses, and potential litigationThe solution can be only as good as the outsourcing firm that provides the serviceOutsourcing can be especially attractive to a company whose volume fluctuates widelyA major disadvantage of outsourcing is that it raises employee concerns about job security talented IT people prefer position where the firm committed to in-house development

    *

    In-House Software Development OptionsA company can choose to develop its own systems, or purchase, possibly customize, and implement a software packageAlthough many factor influence this decision, the most important consideration is total cost of ownership (TCO)Companies also develop user applications designed around commercial software packages eg Microsoft Office to improve user productivity and efficeincy

    *

    In-House Software Development Options

    *

    Make or Buy DecisionThe choice between developing versus purchasing software often is called a make or buy, or build or buy decisionThe companys IT department makes, builds, and develops in-house softwareA software package is obtained from a vendor or application service provider.The package might be standard commercial program or a customized package design specifically for the purchaser

    *

    Make or Buy DecisionCompanies that develop software for sale are called software vendorsValue-added reseller (VAR) a firm that enhances a commercial package features and configuring it for a particular industryHorizontal application a software package that can be used by many different types organization. Eg accounting packageVertical application in contrast, it is a software package develop to handled information requirements for a specific type of business

    *

    Developing Software In-HouseWhy would a firm choose to develop its own software?Satisfy unique business requirementsMinimize changes in business procedures and policiesMeet constraints of existing systemsMeet constraints of existing technologyDevelop internal resources and capabilities

    *

    Purchasing a Software PackageIf a company decide not to outsource, a commercially available software package might be attractive alternativeAdvantages purchase a sw package over developing in-house include:Lower costsRequires less time to implementProven reliability and performance benchmarksRequires less technical development staffFuture upgrades provided by the vendorAbility to obtain input from other companies who have implemented the software

    *

    Customizing a Software PackageIf the standard version of a software product does not satisfy a firms requirement, they can consider adapting the package to meet its need3 way to customize a software package:You can purchase a basic package that vendors will customize to suit your needsYou can negotiate directly with the software vendor to make enhancements to meet your needs by paying for the changesYou can purchase the package and make your own modifications, if this is permissible under the terms of the software license

  • ROLE OF THE SYSTEMS ANALYST

    *

    Role of the Systems AnalystDecision to outsource, in-house etc need involvement system analystThe evaluation and selection of alternatives is not a simple processWhen selecting hardware and software, systems analysts often work as an evaluation and selection teamA team approach ensures that critical factors are not overlooked and that a sound choice is made

    *

    Role of the Systems AnalystThe primary objective of the evaluation and selection team is to eliminate system alternatives that will not work, rank the system alternatives that will work, and present the viable alternatives to management for a final decision

    *

    Analyzing Cost and BenefitsAt the end of system analysis phase, you must apply financial analysis tools and technique to evaluate dev strategies and decide how the project will move forwardThere are 3 popular tools which are Payback AnalysisReturn on investment (ROI)Net present value (NPV)Research show that nearly 80 percent of total IT costs occur after the purchase and nearly half of these lie outside the IT dept budget

    *

    Financial Analysis ToolsPayback Analysis determine how long it takes an IS to pay for itself through reduced costs and increased benefitReturn on investment (ROI) is a percentage rate that compare the total net benefits (the return) received from a project to the total costs of the projectNet present value (NPV) is the total value of the benefits minus the total value of the costs, with both costs and benefits adjusted to reflect the point in time at which they occur

    *

    Cost-Benefit Analysis ChecklistCompany uses all 3 financial analysis tools to evaluate various development strategiesBest way to apply the tools is to develop a cost benefit checklist with the following steps:-List each development strategy being consideredIdentify all costs and benefits for each alternative. Be sure to indicate when costs will be incurred and benefits realizedConsider future growth and the need for scalabilityInclude support costs for hardware and software

  • THE TRANSITION TO SYSTEM DESIGN

    *

    The Transition to System DesignIf management decides to develop the system in-house, then the transition to the systems design phase beginsNext we discussed preparation for system design and relationship between analysis and design tasks

    *

    Preparing for Systems Design TasksWhen system design begin, it is essential to have an accurate and understandable system requirements documentThe document contain the design for the new systemIn design phase, u must certain that u performed a thorough and accurate system analysis and communicated the results in your system req document

    *

    The Relationship between Logical and Physical DesignYou develop the logical design of an IS during system analysis phase The logical design defines the functions and features of the system and the relationships among its componentsInclude output that system must produced, input needed by system, processes performed by system regardless how it will accomplished physicallyThe physical design of an information system is a plan for the actual implementation of the systemIt is built on the systems logical design, much like a working blueprint

    *

    The Relationship between Logical and Physical DesignBecause logical and physical design are so related, good system design is impossible without careful, accurate system analysisIn fact, the design phase cannot begin until the analysis work is completeEven some overlap is possible, its better to complete the analysis phase

    *

    Systems Design GuidelinesThe systems analyst must understand the logical design of the system before beginning the physical design of any one componentFirst step is to review the system req documentThen ready to start the actual design processBest place is to start withData design, then move to User interfaceSystem design specification (specific input, output design)

  • *

    System Design ObjectivesThe goal of systems design is to build a system that is effective, reliable, and maintainableA system is reliable if it adequately handles errorsA system is maintainable if it is well designed, flexible, and developed with future modifications in mindDesign consideration involve UsersDataArchitecture

    *

    System Design ObjectivesUser considerationsCarefully consider any point where users receive output from, or provide input to, the systemAnticipate future needs of the users, the system, and the organizationProvide flexibilityParameter, defaultData ConsiderationsData should be entered into the system where and when it occurs because delays cause errorsData should be verified when entered to catch errors immediately

  • *

    Design Trade-OffsDesign goals often conflict with each otherMaking a system more flexible might increase maintenance requirementsMost design trade-off decisions that you will face come down to the basic conflict of quality versus costAlthough every project has budget constraint, avoid decisions that achieve short-term savings but might mean higher costs later

    *

    PrototypingPrototyping produces an early, rapidly constructed working version of the proposed information system, called a prototypePrototyping allows users to examine a model that accurately represents system outputs, inputs, interfaces, and processesUsers can test-drive the model in a risk free environment and either approve it or request changesIn some case, the prototype evolves into the final version of the ISIn other case, it intended to validate user requirements and discarded afterwards

  • *

    Prototyping MethodsSome analyst use 2 different prototyping methodsSystem prototypingDesign prototyping / Throwaway prototypingIs important in RADSystem analyst use prototyping to verify user requirements, then it is discardedThe approach called design prototyping or throwaway prototypingDesign prototyping make it possible to capture user input and approval

  • *

    Prototyping MethodsPrototyping offers many benefitsUsers and systems developers can avoid misunderstandingsManagers can evaluate a working model more effectively than a paper specificationAlso consider potential problemsThe rapid pace of development can create quality problemsIn very complex systems, the prototype becomes unwieldy and difficult to manage

    *

    Prototyping ToolsSystems analysts can use powerful tools to develop prototypesMost prototyping is done using:-CASE toolsApplication generatorsReport generatorsScreen generatorsFourth-generation languages (4GLs)

    *

    Limitations of PrototypesA prototype is a functioning system, but it is less efficient than a fully developed systemSystems developers can upgrade the prototype into the final information system by adding the necessary capabilityOtherwise, the prototype is discarded

    *

    Chapter SummaryThis chapter describes system development strategies, the preparation and presentation of the system requirements document, and the transition to the systems design phase of the SDLCAn important trend that views software as a service, rather than a product, has created new software acquisition optionsSystems analysts must consider Web-based development environments

    *

    Chapter SummaryThe systems analysts role in the software development process depends on the specific development strategyThe most important factor in choosing a development strategy is total cost of ownership (TCO)The process of acquiring software involves a series of steps

    *3*3*4*49*49