Business Driven
TechnologyUnit 5
Transforming Organizations
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
Unit FiveO Chapter Seventeen – Building Software to
Support an Agile Organization
O Chapter Eighteen – Managing Organizational Project
O Chapter Nineteen - Outsourcing in the 21st Century
O Chapter Twenty – Developing a 21st-Century Organization
17-2
LEARNING OUTCOMES1. Identify the business benefits
associated with successful software development
2. Describe the seven phases of the systems development life cycle
3. Summarize the different software development methodologies
4. Explain why software problems are business problems
17-4
DEVELOPING SOFTWAREO Software that is built correctly can
transform as the organization and its business transforms
O Software that effectively meets employee needs will help an organization become more productive and enhance decision making
O Software that does not meet employee needs may have a damaging effect on productivity and can even cause a business to fail
17-5
DEVELOPING SOFTWAREO As organizations’ reliance on software
grows, so do the business-related consequences of software successes and failures including:O Increase or decrease revenueO Repair or damage to brand reputationO Prevent or incur liabilitiesO Increase or decrease productivity
17-6
THE SYSTEMS DEVELOPMENT LIFE
CYCLE (SDLC)OSystems development life cycle (SDLC) – the overall process for developing information systems from planning and analysis through implementation and maintenance
17-7
THE SYSTEMS DEVELOPMENT LIFE
CYCLE (SDLC)1. Planning phase – involves establishing a high-level plan of the intended project and determining project goals
2. Analysis phase – involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended system
• Business requirement – detailed set of business requests that the system must meet in order to be successful 17-8
THE SYSTEMS DEVELOPMENT LIFE
CYCLE (SDLC)3. Design phase – involves describing
the desired features and operations of the system including screen layouts, business rules, process diagrams, pseudo code, and other documentation
4. Development phase – involves taking all of the detailed design documents from the design phase and transforming them into the actual system
17-9
THE SYSTEMS DEVELOPMENT LIFE
CYCLE (SDLC)5. 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 phase
6. Implementation phase – involves placing the system into production so users can begin to perform actual business operations with the system
17-10
THE SYSTEMS DEVELOPMENT LIFE
CYCLE (SDLC)7. Maintenance phase – involves
performing changes, corrections, additions, and upgrades to ensure the system continues to meet the business goals
17-11
SOFTWARE DEVELOPMENT
METHODOLOGIESO There are a number of different
software development methodologies including:
O AgileO WaterfallO Rapid application development (RAD)O Extreme programmingO Rational unified process (RUP)O Scrum
17-12
Waterfall MethodologyO Waterfall
methodology – an activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance
17-13
Agile MethodologyO Agile methodology – aims for
customer satisfaction through early and continuous delivery of components developed by an iterative process
O An agile project sets a minimum number of requirements and turns them into a deliverable product
O Iterative development – consists of a series of tiny projects
17-14
Rapid Application Development
Methodology (RAD)O 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 process
O The prototype is an essential part of the analysis phase when using a RAD methodology
O Prototype 17-15
Rapid Application Development
Methodology (RAD)O Fundamentals of RAD
O Focus initially on creating a prototype that looks and acts like the desired system
O Actively involve system users in the analysis, design, and development phases
O Accelerate collecting the business requirements through an interactive and iterative construction approach
17-16
Extreme Programming Methodology
O 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
17-17
Rational Unified Process (RUP) Methodology
O Rational Unified Process (RUP) – provides a framework for breaking down the development of software into four gatesO Gate One: InceptionO Gate Two: ElaborationO Gate Three: ConstructionO Gate Four: Transition
17-18
SCRUM Methodology
O SCRUM – uses small teams to produce small pieces of deliverable software using sprints, or 30-day intervals, to achieve an appointed goal
O Under this methodology, each day ends or begins with a stand-up meeting to monitor and control the development effort
17-19
Implementing Agile Methodologies
O The Agile Alliance ManifestoO Early and continuous delivery of valuable
software will satisfy the customerO Changing requirements are welcomeO Business people and developers work
togetherO Projects need motivated individualsO Use self-organizing teamsO Reflect on how to become more effective
17-20
DEVELOPING SUCCESSFUL SOFTWARE
O Primary principles for successful agile software development include:
O Slash the budgetO If it doesn’t work, kill itO Keep requirements to a
minimumO Test and deliver frequentlyO Assign non-IT executives to
software projects
17-21
Software Problems Are Business Problems
O Primary reasons for project failure includeO Unclear or missing business requirementsO Skipping SDLC phasesO Failure to manage project scope
O Scope creep – occurs when the scope increasesO Feature creep – occurs when extra features are
added
O Failure to manage project planO Changing technology
17-22
Software Problems Are Business Problems
O Find errors early: the later in the SDLC an error is found - the more expensive it is to fix
17-23