CHAPTER OVERVIEW
SECTION 9.1 – Developing Enterprise Applications
Developing Software
The Systems Development Life Cycle
Traditional Software Development Methodology: Waterfall
Agile Software Development Methodologies
Developing Successful Software
SECTION 9.2 – Project Management
Managing Software Development Projects
Choosing Strategic Projects
Understanding Project Planning
Managing Projects
Outsourcing Projects
53 trang |
Chia sẻ: thanhlam12 | Lượt xem: 601 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Business Driven Information Systems - Chapter Nine: Systems development and project management corporate responsibility, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHAPTER NINESYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTCorporate ResponsibilityCHAPTER OVERVIEWSECTION 9.1 – Developing Enterprise ApplicationsDeveloping SoftwareThe Systems Development Life CycleTraditional Software Development Methodology: WaterfallAgile Software Development MethodologiesDeveloping Successful SoftwareSECTION 9.2 – Project ManagementManaging Software Development ProjectsChoosing Strategic ProjectsUnderstanding Project PlanningManaging ProjectsOutsourcing ProjectsSECTION 9.1Developing Enterprise ApplicationsLEARNING OUTCOMESDescribe the seven phases of the systems development life cycleSummarize the different software development methodologiesDEVELOPING SOFTWARESoftware that is built correctly can transform as the organization and its business transformsSoftware that effectively meets employee needs will help an organization become more productive and enhance decision makingSoftware that does not meet employee needs may have a damaging effect on productivity and can even cause a business to failDEVELOPING SOFTWAREAs organizations’ reliance on software grows, so do the business-related consequences of software successes and failures including:Increase or decrease revenueRepair or damage to brand reputationPrevent or incur liabilitiesIncrease or decrease productivityTHE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)Systems development life cycle (SDLC) – The overall process for developing information systems from planning and analysis through implementation and maintenanceTHE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)Planning phase – Establishes a high-level plan of the intended project and determines project goalsAnalysis phase – Involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended systemTHE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)Design phase – Establishes descriptions of the desired features and operations of the system including screen layouts, business rules, process diagrams, pseudo code, and other documentationDevelopment phase – Involves taking all of the detailed design documents from the design phase and transforming them into the actual systemTHE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)Testing phase – Involves bringing all the project pieces together into a special testing environment to eliminate errors and bugs, and verify that the system meets all of the business requirements defined in the analysis phaseImplementation phase – Involves placing the system into production so users can begin to perform actual business operations with itTHE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)Maintenance phase – Involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet its business goalsSOFTWARE DEVELOPMENT METHODOLOGIESThere are a number of different software development methodologies includingWaterfallAgileRapid application development (RAD)Extreme programmingRational unified process (RUP)ScrumWaterfall MethodologyWaterfall methodology – A sequence of phases in which the output of each phase becomes the input for the nextAgile MethodologyIterative development – Consists of a series of tiny projectsAgile methodology – Aims for customer satisfaction through early and continuous delivery of useful software components developed by an iterative process using the bare minimum requirementsRapid Application Development Methodology (RAD)Rapid application development methodology– Emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development processPrototype – A smaller-scale representation or working model of the users’ requirements or a proposed design for an information systemThe prototype is an essential part of the analysis phase when using a RAD methodologyExtreme Programming MethodologyExtreme programming (XP) methodology – Breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is completeRational Unified Process (RUP) MethodologyRational Unified Process (RUP) – Provides a framework for breaking down the development of software into four gatesGate One: InceptionGate Two: ElaborationGate Three: ConstructionGate Four: TransitionSCRUM MethodologySCRUM – Uses small teams to produce small pieces of deliverable software using sprints, or 30-day intervals, to achieve an appointed goalUnder this methodology, each day ends or begins with a stand-up meeting to monitor and control the development effortDEVELOPING SUCCESSFUL SOFTWAREPrimary reasons for project failureUnclear or missing business requirementsSkipping SDLC phasesFailure to manage project scope Scope creepFeature creep Failure to manage project planChanging technology DEVELOPING SUCCESSFUL SOFTWAREDEVELOPING SUCCESSFUL SOFTWAREDEVELOPING SUCCESSFUL SOFTWAREDEVELOPING SUCCESSFUL SOFTWAREThe later in the SDLC an error is found the more expensive it is to fix!SECTION 9.2Project ManagementLEARNING OUTCOMESExplain project management and the primary reasons project failIdentify the primary project planning diagramsIdentify the three different types of outsourcing along with their benefits and challengesMANAGING SOFTWARE DEVELOPMENT PROJECTSAnalysts predict investment in MIS projects worldwide is over $1 trillion70 percent will be lost due to failed projectsThe consequences of failed projects includeDamaged brandLost goodwillDissolution of partnershipsLost investment opportunitiesLow moraleMANAGING SOFTWARE DEVELOPMENT PROJECTSThe Project Management Institute (PMI) develops procedures and concepts necessary to support the profession of project management (www.pmi.org) and has three areas of focusThe distinguishing characteristics of a practicing professional (ethics)The content and structure of the profession’s body of knowledge (standards)Recognition of professional attainment (accreditation)MANAGING SOFTWARE DEVELOPMENT PROJECTSProject – Temporary activities undertaken to create a unique product or serviceProject management – The application of knowledge, skills, tools, and techniques to project activities to meet project requirementsProject manager – An individual who is an expert in project planning and management, defines and develops the project plan, and tracks the plan to ensure the project is completed on time and on budgetMANAGING SOFTWARE DEVELOPMENT PROJECTSProject deliverable – Any measurable, tangible, verifiable outcome, result, or item that is produced to complete a project or part of a projectProject milestone – Represents key dates when a certain group of activities must be performedProject management office (PMO) – An internal department that oversees all organizational projectsThe Triple Constraint Project Management Interdependent VariablesThe Triple ConstraintBenjamin Franklin’s timeless advice - by failing to prepare, you prepare to fail - applies to software development projectsThe Hackett Group analyzed 2,000 companies and discoveredThree in 10 major IT projects fail21 percent of the companies state that they cannot adjust rapidly to market changesOne in four validates a business case for IT projects after completionProject ParticipantsProject stakeholder - Individuals and organizations actively involved in the project or whose interests might be affected as a result of project execution or project completionExecutive sponsor - The person or group who provides the financial resources for the projectProject ParticipantsCHOOSING STRATEGIC PROJECTSThree common techniques for selecting projectsFocus on organizational goalsCategorize projectsPerform a financial analysisUNDERSTANDING PROJECT PLANNINGAfter selecting strategic projects and identifying a project manager the next critical component is the project planBuilding a project plan involves two key componentsProject charterProject planUNDERSTANDING PROJECT PLANNINGProject charter - A document issued by the project initiator or sponsor that formally authorizes the existence of a project and provides the project manager with the authority to apply organizational resources to project activities and includesProject scope statementProject objectivesProject constraintsProjects assumptionsUNDERSTANDING PROJECT PLANNINGSMART criteria are useful reminders on how to ensure that the project has created understandable and measurable objectivesUNDERSTANDING PROJECT PLANNINGProject plan – A formal, approved document that manages and controls project executionA well-defined project plan should beEasy to understand and readCommunicated to all key participantsAppropriate to the project’s size, complexity, and criticalityPrepared by the team, rather than by the individual project managerUNDERSTANDING PROJECT PLANNINGTwo primary diagrams used in project planning include PERT and Gantt chartsPERT chartDependencyCritical pathGantt chart UNDERSTANDING PROJECT PLANNING PERT Chart EXPERT – PERT Chart ExampleUNDERSTANDING PROJECT PLANNING MS Project – Gantt Chart ExampleMANAGING PROJECTSManaging a project includesIdentifying requirementsEstablishing clear and achievable objectives.Balancing the competing demands of quality, scope, time, and costAdapting the specifications, plans, and approach to the different concerns and expectations of the various stakeholdersMANAGING PROJECTSA project manager must focus on managing three primary areas to ensure successPeopleCommunicationsChangeOUTSOURCING PROJECTSIn-sourcing (in-house-development) –Uses the professional expertise within an organization to develop and maintain its information technology systems Outsourcing – An arrangement by which one organization provides a service or services for another organization that chooses not to perform them in-houseOUTSOURCING PROJECTSFactors driving outsourcing growth includeCore competenciesFinancial savingsRapid growthThe Internet and globalizationOUTSOURCING PROJECTSOnshore outsourcing Nearshore outsourcingOffshore outsourcingOUTSOURCING PROJECTSBig selling point for offshore outsourcing “inexpensive good work”OUTSOURCING PROJECTSMost organizations outsource their noncore business functions, such as payroll and ITOutsourcing BenefitsOutsourcing benefits includeIncreased quality and efficiency of business processesReduced operating expenses for head count and exposure to risk for large capital investmentsAccess to outsourcing service provider’s expertise, economies of scale, best practices, and advanced technologiesIncreased flexibility for faster response to market changes and less time to market for new products or servicesOutsourcing ChallengesOutsourcing challenges includeLength of contractDifficulties in getting out of a contractProblems in foreseeing future needsProblems in reforming an internal IT department after the contract is finishedThreat to competitive advantageLoss of confidentialityLEARNING OUTCOME REVIEWNow that you have finished the chapter please review the learning outcomes in your text