Bài giảng Business Driven Technology - Chapter 17 Building Software to Support an Agile Organization

Tài liệu Bài giảng Business Driven Technology - Chapter 17 Building Software to Support an Agile Organization: UNIT FIVETransforming OrganizationsUNIT FIVEChapter Seventeen – Building Software to Support an Agile OrganizationChapter Eighteen – Managing Organizational ProjectsChapter Nineteen - Outsourcing in the 21st CenturyChapter Twenty – Developing a 21st Century OrganizationCHAPTER 17Building Software to Support an Agile OrganizationLEARNING OUTCOMES17.1 Identify the business benefits associated with successful software development17.2 Describe the seven phases of the systems development life cycle17.3 Summarize the different software development methodologiesLEARNING OUTCOMES17.4 Define the relationship between the systems development life cycle and software development17.5 Compare the waterfall methodology and the agile methodologyTHE CRUCIAL ROLE OF SOFTWARECompanies are impacted by software solutions that enable them to improve their cost structure, manage people better, and develop and deliver new products to marketSoftware built correctly can support nimble organizations and can...

ppt30 trang | Chia sẻ: honghanh66 | Lượt xem: 671 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Business Driven Technology - Chapter 17 Building Software to Support an Agile Organization, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
UNIT FIVETransforming OrganizationsUNIT FIVEChapter Seventeen – Building Software to Support an Agile OrganizationChapter Eighteen – Managing Organizational ProjectsChapter Nineteen - Outsourcing in the 21st CenturyChapter Twenty – Developing a 21st Century OrganizationCHAPTER 17Building Software to Support an Agile OrganizationLEARNING OUTCOMES17.1 Identify the business benefits associated with successful software development17.2 Describe the seven phases of the systems development life cycle17.3 Summarize the different software development methodologiesLEARNING OUTCOMES17.4 Define the relationship between the systems development life cycle and software development17.5 Compare the waterfall methodology and the agile methodologyTHE CRUCIAL ROLE OF SOFTWARECompanies are impacted by software solutions that enable them to improve their cost structure, manage people better, and develop and deliver new products to marketSoftware built correctly can support nimble organizations and can transform as the organization and its business transformsDEVELOPING SOFTWARESoftware 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 – involves establishing a high-level plan of the intended project and determining project goalsAnalysis phase – involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended systemBusiness requirement – detailed set of business requests that the system must meet in order to be successfulTHE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC))Design phase – involves describing 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 test for errors, bugs, and interoperability 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 the systemTHE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)Maintenance phase – involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet the business goalsSOFTWARE DEVELOPMENT METHODOLOGIESThere are a number of different software development methodologies including:AgileWaterfallRapid application development (RAD)Extreme programmingRational unified process (RUP)ScrumWaterfall MethodologyWaterfall methodology – an activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenanceAGILE SOFTWARE DEVELOPMENT METHODOLOGIESAgile methodology – aims for customer satisfaction through early and continuous delivery of components developed by an iterative processAn agile project sets a minimum number of requirements and turns them into a deliverable productIterative development – consists of a series of tiny projectsRapid Application Development Methodology (RAD)Rapid application development methodology (RAD) – emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development processThe prototype is an essential part of the analysis phase when using a RAD methodologyPrototype – a smaller-scale representation or working model of the users’ requirements or a proposed design for an information systemRapid Application Development Methodology (RAD)Fundamentals of RADFocus initially on creating a prototype that looks and acts like the desired systemActively involve system users in the analysis, design, and development phasesAccelerate collecting the business requirements through an interactive and iterative construction approachExtreme 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 effortImplementing Agile MethodologiesThe Agile Alliance ManifestoEarly and continuous delivery of valuable software will satisfy the customerChanging requirements are welcomeBusiness people and developers work togetherProjects need motivated individualsUse self-organizing teamsReflect on how to become more effectiveDEVELOPING SUCCESSFUL SOFTWAREPrimary principles for successful agile software development include:Slash the budgetIf it doesn’t work, kill itKeep requirements to a minimumTest and deliver frequentlyAssign non-IT executives to software projectsSOFTWARE PROBLEMS ARE BUSINESS PROBLEMSPrimary reasons for project failure includeUnclear or missing business requirementsSkipping SDLC phasesFailure to manage project scope Scope creep – occurs when the scope increasesFeature creep – occurs when extra features are addedFailure to manage project planChanging technology SOFTWARE PROBLEMS ARE BUSINESS PROBLEMSFind errors early: the later in the SDLC an error is found - the more expensive it is to fixCHAPTER SEVENTEEN Opening Case Study QuestionsIdentify the benefits associated with successful software developmentWhich of the seven phases of the systems development life cycle is the most critical to the development of an e-espionage application?CHAPTER SEVENTEEN Opening Case Study QuestionsWhich of the seven phases of the systems development life cycle is the least critical to the development of an e-espionage application?If you were consulting to the government on building an e-espionage application which development methodology would you recommend and why?CHAPTER SEVENTEEN CASE Software Developing AndroidsAndroid - Google developed open mobile phone platform, is a development operating system for mobile phones – designed to compete head-to-head with Apple’s iPhoneVirtually anyone can download an Android software development kit from Google and write an application for AndroidIt is posed to be the next big threat to competitors in the software industryCHAPTER SEVENTEEN CASE QUESTIONSList and describe the seven phases in the systems development life cycle and determine which phase you think is most important to an individual developing an application for AndroidIdentify the primary difference between the different software development methodologies. Which methodology would you recommend an individual developing an application for Android use and why?CHAPTER SEVENTEEN CASE QUESTIONSWhat are the common reasons why software projects fail and how can an Android developer mitigate these risks?If you could develop software for Android what would it be and what business purpose would it serve? How could you ensure the successful development of the software?

Các file đính kèm theo tài liệu này:

  • pptchap017_951.ppt