500 likes | 748 Views
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
E N D
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
SECTION 9.1 Developing Enterprise Applications
LEARNING OUTCOMES • Explain the business benefits associated with successful software development • Describe the seven phases of the systems development life cycle • Summarize the different software development methodologies
DEVELOPING SOFTWARE • Software that is built correctly can transform as the organization and its business transforms • Software that effectively meets employee needs will help an organization become more productive and enhance decision making • Software that does not meet employee needs may have a damaging effect on productivity and can even cause a business to fail
DEVELOPING SOFTWARE • 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
THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC) • Systems development life cycle (SDLC) – The overall process for developing information systems from planning and analysis through implementation and maintenance
THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC) • Planning phase – Establishes a high-level plan of the intended project and determines project goals • Analysis phase – Involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended system • Business requirement – Specific business requests the system must meet to be successful
THE 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 documentation • Development phase – Involves taking all of the detailed design documents from the design phase and transforming them into the actual system
THE 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 phase • Implementation phase – Involves placing the system into production so users can begin to perform actual business operations with it
THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC) • Maintenance phase – Involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet its business goals
SOFTWARE DEVELOPMENT METHODOLOGIES • There are a number of different software development methodologies including • Waterfall • Agile • Rapid application development (RAD) • Extreme programming • Rational unified process (RUP) • Scrum
Waterfall Methodology • Waterfall methodology – A sequence of phases in which the output of each phase becomes the input for the next
Agile Methodology • Iterative development – Consists of a series of tiny projects • Agile methodology – Aims for customer satisfaction through early and continuous delivery of useful software components developed by an iterative process using the bare minimum requirements
Rapid 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 process • Prototype – A smaller-scale representation or working model of the users’ requirements or a proposed design for an information system • The prototype is an essential part of the analysis phase when using a RAD methodology
Extreme Programming Methodology • Extreme programming (XP) methodology – Breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is complete
Rational Unified Process (RUP) Methodology • Rational unified process (RUP) – Provides a framework for breaking down the development of software into four gates • Gate one: inception • Gate two: elaboration • Gate three: construction • Gate four: transition
SCRUM Methodology • Scrum– Uses small teams to produce small pieces of deliverable software using sprints, or 30-day intervals, to achieve an appointed goal • Under this methodology, each day ends or begins with a stand-up meeting to monitor and control the development effort
DEVELOPING SUCCESSFUL SOFTWARE • Primary reasons for project failure • Unclear or missing business requirements • Skipping SDLC phases • Failure to manage project scope • Scope creep • Feature creep • Failure to manage project plan • Changing technology
DEVELOPING SUCCESSFUL SOFTWARE • The later in the SDLC an error is found the more expensive it is to fix!
SECTION 9.2 Project Management
LEARNING OUTCOMES • Explain project management, the triple constraint, and project stakeholder and executive sponsor’s roles in choosing strategic projects • Explain how project stakeholder’s choose strategic projects • Describe the two primary diagrams most frequently used in project planning
LEARNING OUTCOMES • Identify the three primary areas a project manager must focus on managing to ensure success • Explain the three different types of outsourcing along with their benefits and challenges
MANAGING SOFTWARE DEVELOPMENT PROJECTS • Analysts predict investment in MIS projects worldwide is more than $1 trillion • 70 percent will be lost due to failed projects • The consequences of failed projects include • Damaged brand • Lost goodwill • Dissolution of partnerships • Lost investment opportunities • Low morale
MANAGING SOFTWARE DEVELOPMENT PROJECTS • The Project Management Institute (PMI) develops procedures and concepts necessary to support the profession of project management (www.pmi.org) and has three areas of focus • The 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 PROJECTS • Project – Temporary activities undertaken to create a unique product or service • Project management – The application of knowledge, skills, tools, and techniques to project activities to meet project requirements • 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 the project is completed on time and on budget
MANAGING SOFTWARE DEVELOPMENT PROJECTS • Projectdeliverable – Any measurable, tangible, verifiable outcome, result, or item that is produced to complete a project or part of a project • Project milestone – Represents key dates when a certain group of activities must be performed • Project management office (PMO) – An internal department that oversees all organizational projects
The Triple Constraint Project Management Interdependent Variables
The Triple Constraint • Benjamin Franklin’s timeless advice - by failing to prepare, you prepare to fail - applies to software development projects • The Hackett Group analyzed 2,000 companies and discovered • 3 in 10 major IT projects fail • 21 percent of the companies state that they cannot adjust rapidly to market changes • 1 in 4 validates a business case for IT projects after completion
Project Participants • Project stakeholder - Individuals and organizations actively involved in the project or whose interests might be affected as a result of project execution or project completion • Executive sponsor - The person or group who provides the financial resources for the project
Project Participants Project Management Role
CHOOSING STRATEGIC PROJECTS • Three common techniques for selecting projects • Focus on organizational goals • Categorize projects • Perform a financial analysis
UNDERSTANDING PROJECT PLANNING • After selecting strategic projects and identifying a project manager the next critical component is the project plan • Building a project plan involves two key components • Project charter • Project plan
UNDERSTANDING PROJECT PLANNING • 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 and includes • Project scope statement • Project objectives • Project constraints • Projects assumptions
UNDERSTANDING PROJECT PLANNING • SMART criteria are useful reminders on how to ensure that the project has created understandable and measurable objectives
UNDERSTANDING PROJECT PLANNING • Project plan – A formal, approved document that manages and controls project execution • A well-defined project plan should be • Easy to understand and read • Communicated to all key participants • Appropriate to the project’s size, complexity, and criticality • Prepared by the team, rather than by the individual project manager
UNDERSTANDING PROJECT PLANNING • Two primary diagrams used in project planning include PERT and Gantt charts • PERT chart • Dependency • Critical path • Gantt chart
UNDERSTANDING PROJECT PLANNING PERT Chart EXPERT – PERT Chart Example
UNDERSTANDING PROJECT PLANNING MS Project – Gantt Chart Example
MANAGING PROJECTS • 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
MANAGING PROJECTS • A project manager must focus on managing three primary areas to ensure success • People • Communications • Change
OUTSOURCING PROJECTS • In-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-house
OUTSOURCING PROJECTS • Factors driving outsourcing growth include • Core competencies • Financial savings • Rapid growth • The Internet and globalization
OUTSOURCING PROJECTS • Onshore outsourcing • Nearshore outsourcing • Offshore outsourcing
OUTSOURCING PROJECTS • Big selling point for offshore outsourcing “inexpensive good work”
OUTSOURCING PROJECTS • Most organizations outsource their noncore business functions, such as payroll and IT
Outsourcing Benefits • Outsourcing benefits include • Increased quality and efficiency of business processes • Reduced operating expenses for head count and exposure to risk for large capital investments • Access to outsourcing service provider’s expertise, economies of scale, best practices, and advanced technologies • Increased flexibility for faster response to market changes and less time to market for new products or services
Outsourcing Challenges • Outsourcing challenges include • Length of contract • Difficulties in getting out of a contract • Problems in foreseeing future needs • Problems in reforming an internal IT department after the contract is finished • Threat to competitive advantage • Loss of confidentiality