Скачать презентацию CHAPTER ELEVEN OVERVIEW Chapter 11 SECTION 11 1 Скачать презентацию CHAPTER ELEVEN OVERVIEW Chapter 11 SECTION 11 1

d259aa40ccba3b981824984818f7b90d.ppt

  • Количество слайдов: 58

CHAPTER ELEVEN OVERVIEW Chapter 11 SECTION 11. 1 – DEVELOPING ENTERPRISE APPLICATIONS • Developing CHAPTER ELEVEN OVERVIEW Chapter 11 SECTION 11. 1 – DEVELOPING ENTERPRISE APPLICATIONS • Developing Software • The Systems Development Life Cycle • Traditional Software Development Methodology: Waterfall • Agile Software Development Methodologies • Developing Successful Software SECTION 11. 2 – PROJECT MANAGEMENT • Managing Software Development Projects • Project Management Fundamentals • Choosing Strategic Projects • Understanding Project Planning • Managing Projects, Resources, and Change • Outsourcing Projects 11 -1

DEVELOPING SOFTWARE Chapter 11 • As organizations’ reliance on software grows, so do the DEVELOPING SOFTWARE Chapter 11 • As organizations’ reliance on software grows, so do the business-related consequences of software successes and failures including: § Increase or decrease revenue § Repair or damage to brand reputation § Prevent or incur liabilities § Increase or decrease productivity 11 -2

INTRODUCTION Chapter 11 • When developing a new system, you have 3 “who” choices… INTRODUCTION Chapter 11 • When developing a new system, you have 3 “who” choices… Insourcing – IT specialists inside your organization 2. Selfsourcing – do-it-yourself approach many end users take with little or no help from IT specialists 3. Outsourcing – a third-party organization (i. e. , let someone do the work and pay them for it) 1. 11 -3

INSOURCING AND THE SDLC Chapter 11 • Systems development life cycle (SDLC) - a INSOURCING AND THE SDLC Chapter 11 • Systems development life cycle (SDLC) - a structured step- by-step approach for developing information systems • 7 distinct phases, each with well-defined activities • Also called a waterfall methodology, an approach in which each phase of the SDLC is followed by another, from planning through implementation 11 -4

SDLC Phases & Major Activities Chapter 11 11 -5 SDLC Phases & Major Activities Chapter 11 11 -5

SDLC as a Waterfall Methodology Chapter 11 11 -6 SDLC as a Waterfall Methodology Chapter 11 11 -6

Phase 1: Planning Chapter 11 • • Planning phase - create a solid plan Phase 1: Planning Chapter 11 • • Planning phase - create a solid plan for developing your information system Three primary planning activities: 1. Define the system to be developed o You can’t build every system, so you make choices based on your organization’s priorities, which may be expressed as critical success factors o Critical success factor (CSF) - a factor simply critical to your organization’s success 11 -7

Phase 1: Planning Chapter 11 2. Set the project scope o Project scope - Phase 1: Planning Chapter 11 2. Set the project scope o Project scope - clearly defines the high-level system requirements o Scope creep - occurs when the scope of the project increases o Feature creep - occurs when developers add extra features that were not part of the initial requirements o Project scope document - a written definition of the project scope and is usually no longer than a paragraph 11 -8

Phase 1: Planning Chapter 11 3. Develop the project plan including tasks, resources, and Phase 1: Planning Chapter 11 3. Develop the project plan including tasks, resources, and timeframes o o o Project plan - defines the what, when, and who questions of system development Project manager - an individual who is an expert in project planning and management, defines and develops the project plan and tracks the plan to ensure all key project milestones are completed on time Project milestones - represent key dates for which you need a certain group of activities performed 11 -9

Phase 1: Planning (Gantt chart) Can use MS-Project to create them) Chapter 11 Sample Phase 1: Planning (Gantt chart) Can use MS-Project to create them) Chapter 11 Sample Project Plan 11 -10

Phase 2: Analysis Chapter 11 • Analysis phase - involves end users and IT Phase 2: Analysis Chapter 11 • Analysis phase - involves end users and IT specialists working together to gather, understand, and document the business requirements for the proposed system 11 -11

Phase 2: Analysis Chapter 11 • Two primary analysis activities: 1. Gather the business Phase 2: Analysis Chapter 11 • Two primary analysis activities: 1. Gather the business requirements o Business requirements - the detailed set of knowledge worker requests that the system must meet in order to be successful o Business requirements address the “why” and “what” of your development activities o Joint application development (JAD) - knowledge workers and IT specialists meet, sometimes for several days, to define or review the business requirements for the system 11 -12

Phase 2: Analysis Chapter 11 2. Prioritize the requirements o Requirements definition document – Phase 2: Analysis Chapter 11 2. Prioritize the requirements o Requirements definition document – prioritizes the business requirements and places them in a formal comprehensive document o Again, you probably can’t do everything, so prioritizing is important o Users sign off on this document which clearly sets the scope for the project 11 -13

Phase 2: Analysis Chapter 11 Take time during analysis to get the business requirements Phase 2: Analysis Chapter 11 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. 11 -14

Phase 3: Design Chapter 11 • • Design phase - build a technical blueprint Phase 3: Design Chapter 11 • • Design phase - build a technical blueprint of how the proposed system will work Two primary design activities: 1. Design the technical architecture o Technical architecture - defines the hardware, software, and telecommunications equipment required to run the system 11 -15

Phase 3: Design Chapter 11 2. Design system models o This includes GUI screens Phase 3: Design Chapter 11 2. Design system models o This includes GUI screens that users will interface with, database designs (see XLM/C), report formats, software steps, etc • Starting with design, you take on less of an active participation role and act more as a “quality control” function, ensuring that the IT people are designing a system to meet your needs 11 -16

Phase 4: Development Chapter 11 • • Development phase - take all of your Phase 4: Development Chapter 11 • • Development phase - take all of your detailed design documents from the design phase and transform them into an actual system Two primary development activities: 1. Build the technical architecture 2. Build the database and programs o Both of these activities are mostly performed by IT specialists 11 -17

Phase 5: Testing Chapter 11 • • Testing phase - verifies that the system Phase 5: Testing Chapter 11 • • Testing phase - verifies that the system works and meets all of the business requirements defined in the analysis phase Two primary testing activities: 1. Write the test conditions o Test conditions - the detailed steps the system must perform along with the expected results of each step 11 -18

Phase 5: Testing Chapter 11 2. Perform the testing of the system o Unit Phase 5: Testing Chapter 11 2. Perform the testing of the system o Unit testing – tests individual units of code o System testing – verifies that the units of code function correctly when integrated o Integration testing – verifies that separate systems work together o User acceptance testing (UAT) – determines if the system satisfies the business requirements 11 -19

Phase 6: Implementation Chapter 11 • • Implementation phase - distribute the system to Phase 6: Implementation Chapter 11 • • Implementation phase - distribute the system to all of the knowledge workers and they begin using the system to perform their everyday jobs Two primary implementation activities 1. Write detailed user documentation o User documentation - highlights how to use the system 11 -20

Phase 6: Implementation Chapter 11 2. Provide training for the system users o Online Phase 6: Implementation Chapter 11 2. Provide training for the system users o Online training - runs over the Internet or off a CD-ROM o Workshop training - is held in a classroom environment and lead by an instructor 11 -21

Phase 6: Implementation Chapter 11 • Choose the right implementation method § Parallel implementation Phase 6: Implementation Chapter 11 • Choose the right implementation method § Parallel implementation – use both the old and new system simultaneously § Plunge implementation – discard the old system completely and use the new § Pilot implementation – start with small groups of people on the new system and gradually add more users § Phased implementation – implement the new system in phases 11 -22

Phase 7: Maintenance Chapter 11 • • Maintenance phase - monitor and support the Phase 7: Maintenance Chapter 11 • • Maintenance phase - monitor and support the new system to ensure it continues to meet the business goals Two primary maintenance activities: 1. Build a help desk to support the system users o Help desk - a group of people who responds to knowledge workers’ questions 2. Provide an environment to support system changes 11 -23

COMPONENT-BASED DEVELOPMENT Chapter 11 • The SDLC focuses only on the project at hand COMPONENT-BASED DEVELOPMENT Chapter 11 • The SDLC focuses only on the project at hand • Component-based development (CBD) – focuses on building small self-contained blocks of code (components) that can be reused across a variety of applications • CBD focuses on 1. 2. Using already-developed components to build systems quickly Building new components as needed that can be used in all future systems 11 -24

Component-Based Development Methodologies Chapter 11 • Rapid application development (RAD) • Extreme programming (XP) Component-Based Development Methodologies Chapter 11 • Rapid application development (RAD) • Extreme programming (XP) • Agile methodology 11 -25

Rapid Application Development (RAD) Chapter 11 • Rapid application development (RAD) (also called rapid Rapid Application Development (RAD) Chapter 11 • 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 • Prototypes are models of the software components • The development team continually designs, develops, and tests the component prototypes until they are finished 11 -26

Agile Methodology Chapter 11 • Agile methodology - a form of XP, aims for Agile Methodology Chapter 11 • Agile methodology - a form of XP, aims for customer satisfaction through early and continuous delivery of useful software components 11 -27

So. A – An Architecture Perspective Chapter 11 • Service-oriented architecture (So. A) – So. A – An Architecture Perspective Chapter 11 • Service-oriented architecture (So. A) – perspective that focuses on the development, use, and reuse of small selfcontained blocks of code (called services) to meet all application software needs • All CBD methodologies adhere to an So. A • Services are the same as components, which are the same as small self-contained blocks of code • More in Chapter 7 11 -28

SELFSOURCING Chapter 11 • • • Selfsourcing (end-user development) – the development and support SELFSOURCING Chapter 11 • • • Selfsourcing (end-user development) – the development and support of IT systems by end users with little or no help from IT specialists Do-it-yourself systems development approach Can relieve IT specialists of the burden of developing many smaller systems 11 -29

Selfsourcing Approach Chapter 11 • Is similar to traditional SDLC • Big exception is Selfsourcing Approach Chapter 11 • Is similar to traditional SDLC • Big exception is that design, development, testing, and implementation are replaced by the process of prototyping • Prototyping is the process of building models, and – in this case – continually refining those models until they become the final system 11 -30

Selfsourcing Approach Chapter 11 11 -31 Selfsourcing Approach Chapter 11 11 -31

Selfsourcing Advantages Chapter 11 • Improves requirements determination • Increases end user participation and Selfsourcing Advantages Chapter 11 • Improves requirements determination • Increases end user participation and sense of ownership • Increases speed of systems development • Reduces invisible backlog § Invisible backlog – list of all systems that an organization needs to develop but – because of the prioritization of systems development needs – never get funded because of the lack of organizational resources 11 -32

Selfsourcing Disadvantages Chapter 11 • Inadequate end user expertise leads to inadequately developed systems Selfsourcing Disadvantages Chapter 11 • Inadequate end user expertise leads to inadequately developed systems • Lack of organizational focus creates “privatized” IT systems • Insufficient analysis of design alternatives leads to subpar IT systems • Lack of documentation and external support leads to short-lived systems 11 -33

The Right Tool for the Job Chapter 11 • End users must have development The Right Tool for the Job Chapter 11 • 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 11 -34

PROTOTYPING Chapter 11 • Prototype – a model of a proposed product, service, or PROTOTYPING Chapter 11 • Prototype – a model of a proposed product, service, or system • 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 11 -35

The Prototyping Process Chapter 11 • The prototyping process involves four steps: 1. Identify The Prototyping Process Chapter 11 • The prototyping process involves four steps: 1. Identify basic requirements 2. Develop initial prototype 3. User review 4. Revise and enhance the prototype 11 -36

Advantages of Prototyping Chapter 11 • Encourages active user participation • Helps resolve discrepancies Advantages of Prototyping Chapter 11 • 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 11 -37

Disadvantages of Prototyping Chapter 11 • Leads people to believe the final system will Disadvantages of Prototyping Chapter 11 • 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 11 -38

OUTSOURCING Chapter 11 • • Outsourcing – the delegation of specified work to a OUTSOURCING Chapter 11 • • Outsourcing – the delegation of specified work to a third party for a specified length of time, at a specified cost, and at a specified level of service The third “who” option of systems development, after insourcing and selfsourcing 11 -39

OUTSOURCING Chapter 11 • The main reasons behind the rapid growth of the outsourcing OUTSOURCING Chapter 11 • The main reasons behind the rapid growth of the outsourcing industry include the following: § Globalization § The Internet § Growing economy and low unemployment rate § Technology § Deregulation 11 -40

Outsourcing Options Chapter 11 • IT outsourcing for software development can take one of Outsourcing Options Chapter 11 • IT outsourcing for software development can take one of four forms: 1. Purchase existing software 2. Purchase existing software and pay the publisher to make certain modifications 3. Purchase existing software and pay 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 11 -41

Outsourcing Process Chapter 11 • Like selfsourcing, the selfsourcing process looks similar to the Outsourcing Process Chapter 11 • Like selfsourcing, the selfsourcing process looks similar to the traditional SDLC • Big exception here is that you “outsource” most of the work to another company 11 -42

Outsourcing Options Chapter 11 • There are three different forms of outsourcing: 1. Onshore Outsourcing Options Chapter 11 • 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 11 -43

Offshore Outsourcing Chapter 11 • Primary outsourcing countries are: § India § China § Offshore Outsourcing Chapter 11 • Primary outsourcing countries are: § India § China § Eastern Europe (including Russia) § Ireland § Israel § Philippines 11 -44

The Advantages and Disadvantages of Outsourcing Chapter 11 • Advantages: § Focus on unique The Advantages and Disadvantages of Outsourcing Chapter 11 • 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 11 -45

The Advantages and Disadvantages of Outsourcing Chapter 11 • Disadvantages: § Reduces technical know-how The Advantages and Disadvantages of Outsourcing Chapter 11 • Disadvantages: § Reduces technical know-how for future innovation § Reduces degree of control § Increases vulnerability of your strategic information § Increases dependency on other organizations 11 -46

THE SYSTEMS DEVELOPMENT LIFE CYCLE Chapter 11 • Systems development life cycle (SDLC) – THE SYSTEMS DEVELOPMENT LIFE CYCLE Chapter 11 • Systems development life cycle (SDLC) – the overall process for developing information systems from planning and analysis through implementation and maintenance 11 -47

WATERFALL METHODOLOGY Chapter 11 • Waterfall methodology – an activity-based process in which each WATERFALL METHODOLOGY Chapter 11 • Waterfall methodology – an activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance 11 -48

AGILE METHODOLOGY Chapter 11 Agile methodology – aims for customer satisfaction through early and AGILE METHODOLOGY Chapter 11 Agile methodology – aims for customer satisfaction through early and continuous delivery of components developed by an iterative process • § § Rapid application development methodology (RAD) Extreme programming (XP) methodology Rational Unified Process (RUP) SCRUM 11 -49

DEVELOPING SUCCESSFUL SOFTWARE Chapter 11 Primary principles for successful agile software development include: • DEVELOPING SUCCESSFUL SOFTWARE Chapter 11 Primary principles for successful agile software development include: • § § § Slash the budget If it doesn’t work, kill it Keep requirements to a minimum Test and deliver frequently Assign non-IT executives to software projects 11 -50

THE TRIPLE CONSTRAINT Chapter 11 • Project management interdependent variables 11 -51 THE TRIPLE CONSTRAINT Chapter 11 • Project management interdependent variables 11 -51

PROJECT MANAGEMENT FUNDAMENTALS Chapter 11 • Project management role 11 -52 PROJECT MANAGEMENT FUNDAMENTALS Chapter 11 • Project management role 11 -52

CHOOSING STRATEGIC PROJECTS Chapter 11 • Three common techniques for selecting projects Focus on CHOOSING STRATEGIC PROJECTS Chapter 11 • Three common techniques for selecting projects Focus on organizational goals 2. Categorize projects 3. Perform a financial analysis 1. 11 -53

UNDERSTANDING PROJECT PLANNING Chapter 11 • Building a project plan involves two key components: UNDERSTANDING PROJECT PLANNING Chapter 11 • Building a project plan involves two key components: § Project 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 § Project plan – a formal, approved document that manages and controls project execution 11 -54

PROJECT PLAN Chapter 11 Two primary diagrams used in project planning include PERT and PROJECT PLAN Chapter 11 Two primary diagrams used in project planning include PERT and Gantt charts • § PERT chart – a graphical network model that depicts a project’s tasks and the relationships between those tasks o o § Dependency Critical path Gantt chart – a simple bar chart that depicts project tasks against a calendar 11 -55

MANAGING PROJECTS Chapter 11 • Managing a project includes: § Identifying requirements § Establishing MANAGING PROJECTS Chapter 11 • Managing a project includes: § Identifying requirements § Establishing clear and achievable objectives. § Balancing the competing demands of quality, scope, time, and cost § Adapting the specifications, plans, and approach to the different concerns and expectations of the various stakeholders • Primary areas of focus: § Managing people; Managing communications; Managing change 11 -56

OUTSOURCING PROJECTS Chapter 11 • Reasons companies outsource 11 -57 OUTSOURCING PROJECTS Chapter 11 • Reasons companies outsource 11 -57

OUTSOURCING PROJECTS Chapter 11 • Outsourcing benefits include: • Outsourcing challenges § Increased quality OUTSOURCING PROJECTS Chapter 11 • Outsourcing benefits include: • Outsourcing challenges § Increased quality and efficiency § Contract length § Reduced operating expenses, § Competitive edge § Outsourcing non-core processes § Confidentiality § Reduced exposure to risk § Scope definition § Economies of scale, expertise, and best practices § Access to advanced technologies § Increased flexibility § Avoid costly outlay of capital funds § Reduced headcount and associated overhead expense § Reduced time to market for products or services 11 -58