Systems Development Lifecycle
Systems Development Lifecycle
Confirming Pages
The Systems
Development Life
Cycle Basics
D
Introduction
Organizations must learn how to build and implement systems to remain
competitive. Software that is built correctly can support agile organiza-
tions and 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 productiv-
ity and can even cause a business to fail. Employee involvement along with
using the right implementation methodology when developing software is
critical to the success of an organization.
D.1
LEARNING OUTCOMES
D.1. Summarize the activities associated with the planning phase in the SDLC.
D.2. Summarize the activities associated with the analysis phase in the SDLC.
D.3. Summarize the activities associated with the design phase in the SDLC.
D.4. Summarize the activities associated with the development phase in the SDLC.
D.5. Summarize the activities associated with the testing phase in the SDLC.
D.6. Summarize the activities associated with the implementation phase in the SDLC.
D.7. Summarize the activities associated with the maintenance phase in the SDLC.
Phase 1: Planning
The planning phase involves establishing a high-level plan of the intended project
and determining project goals. Planning is the first and most critical phase of any
systems development effort an organization undertakes, regardless of whether
figure D.1
The Systems
Development 7: Maintenance 1: Planning
Life Cycle
6: Implementation 2: Analysis
SDLC
5: Testing 3: Design
4: Development
figure D.2
Common Activities
Performed During
SDLC Phase Activities
Systems Development
1. Planning Identify and select the system for development
Assess project feasibility
Develop the project plan
2. Analysis Gather business requirements
Create process diagrams
Perform a buy versus build analysis
3. Design Design the IT infrastructure
Design system models
4. Development Develop the IT infrastructure
Develop the database and programs
5. Testing Write the test conditions
Perform the system testing
6. Implementation Determine implementation method
Provide training for the system users
Write detailed user documentation
7. Maintenance Build a help desk to support the system users
Perform system maintenance
Provide an environment to support system changes
the effort is to develop a system that allows customers to order products over the
Internet, determine the best logistical structure for warehouses around the world, or
develop a strategic information alliance with another organization. Organizations
must carefully plan the activities (and determine why they are necessary) to be suc-
cessful. The three primary activities involved in the planning phase are:
1. Identify and select the system for development.
2. Assess project feasibility.
3. Develop the project plan.
figure D.3
Evaluation Criteria for
Determining Software Evaluation Criteria Description
Development Projects Value chain analysis The value chain determines the extent to which the new system will add
value to the organization. Systems with greater value are given priority
over systems with less value.
Strategic alignment Projects that are in line with the organization’s strategic goals and
objectives are given priority over projects not in line with the organiza-
tion’s strategic goals and objectives.
Cost/benefit analysis A cost/benefit analysis determines which projects offer the
organization the greatest benefits with the least amount of cost.
Resource availability Determine the amount and type of resources required to complete the
project and determine if the organization has these resources available.
Project size, duration, Determine the number of individuals, amount of time, and technical
and difficulty difficulty of the project.
figure D.4
Different Types of
Types of Feasibility Studies
Feasibility Studies
Economic feasibility study (often Identifies the financial benefits and costs associated
called a cost-benefit analysis) with the systems development project.
Legal and contractual feasibility Examines all potential legal and contractual ramifica-
study tions of the proposed system.
Operational feasibility study Examines the likelihood that the project will attain its
desired objectives.
Schedule feasibility study Assesses the likelihood that all potential time frames
and completion dates will be met.
Technical feasibility study Determines the organization’s ability to build and
integrate the proposed system.
system. It logs and tracks every single activity performed during the project. If an
activity is missed, or takes longer than expected to complete, the project plan must
be updated to reflect these changes. Updating the project plan must be performed
in every subsequent phase during the systems development effort.
Phase 2: Analysis
The analysis phase involves analyzing end-user business requirements and refin-
ing project goals into defined functions and operations of the intended system.
A good start is essential and the organization must spend as much time, energy,
and resources as necessary to perform a detailed, accurate analysis. The three pri-
mary activities involved in the analysis phase are:
1. Gather business requirements.
2. Create process diagrams.
3. Perform a buy versus build analysis.
figure D.5
Methods for Gathering
Methods for Gathering Business Requirements
Business Requirements
Perform a joint application development (JAD) session where employees meet, sometimes for
several days, to define or review the business requirements for the system.
Interview individuals to determine current operations and current issues.
Review business documents to discover reports, policies, and how information is used
throughout the organization.
A large data storage company implemented a project called Python whose pur-
pose was to control all the company’s information systems. Seven years, tens of
millions of dollars, and 35 programmers later, Python was canceled. At the end
of the project, Python had over 1,800 business requirements of which 900 came
from engineering and were written in order to make the other 900 customer re-
quirements work. By the time the project was canceled, it was unclear what the
primary goals, objectives, and needs of the project were. Management should have
realized Python’s issues when the project’s requirements phase dragged on, bulged,
and took years to complete. The sheer number of requirements should have raised
a red flag.1
figure D.6
Sample Data Flow Diagram
Automated Course Registration
External Application
entity 1
Courses
Inquiry
Check
course Reply
availability
Applications
Inquiry
2
Accept/decline
enrollment Check
applicant Reply
qualification
figure D.7
Buy versus Build Decision Questions Buy versus Build
Decision Questions
Do any currently available products fit the organization’s needs?
Are unavailable features important enough to warrant the expense of in-house development?
Can the organization customize or modify an existing COTS to fit its needs?
figure D.8
Three Key Factors in Buy versus Build Decisions Key Factors in Buy
versus Build Decisions
1. Time to market If time to market is a priority, then purchasing a good base technol-
ogy and potentially building on to it will likely yield results faster than
starting from scratch.
2. Availability The buy versus build decision is a bit more complex to make when
of corporate considering the availability of corporate resources. Typically, the
resources costs to an organization to buy systems such as SCM, CRM, and
ERP are extremely high. These costs can be so high—in the multiple
millions of dollars—that acquiring these technologies might make
the entire concept economically unfeasible. Building these systems,
however, can also be extremely expensive, take indefinite amounts
of time, and constrain resources.
3. Corporate core The more an organization wants to build a technical core competency,
competencies the less likely it will want to buy.
answered either yes or no, then the answer is easy. However, most organizations
cannot answer these questions with a solid yes or no. Most organizations need to
make a trade-off between the lower cost of buying a system and the need for a sys-
tem that meets all of their requirements. Finding a system to buy that meets all an
organization’s unique business requirements is next to impossible.
Phase 3: Design
The design phase involves describing the desired features and operations of the
system including screen layouts, business rules, process diagrams, pseudo code, and
other documentation. The two primary activities involved in the design phase are:
1. Design the IT infrastructure.
2. Design system models.
figure D.9
Sample IT Infrastructure
Ethernet Network
Ethernet Network
Ethernet Network
Phase 4: Development
The development phase involves taking all of the detailed design documents from
the design phase and transforming them into the actual system. The two primary
activities involved in the development phase are:
1. Develop the IT infrastructure.
2. Develop the database and programs.
Phase 5: Testing
According to a report issued in June 2003 by the National Institute of Standards and
Technology (NIST), defective software costs the U.S. economy an estimated $59.5
billion each year. Of that total, software users incurred 64 percent of the costs and
software developers 36 percent. NIST suggests that improvements in testing could
reduce this cost by about a third, or $22.5 billion, but that unfortunately testing
improvements would not eliminate all software errors.2
The testing phase involves bringing all the project pieces together into a special
testing environment to test for errors, bugs, and interoperability, in order to verify
that the system meets all the business requirements defined in the analysis phase.
The two primary activities involved in the testing phase are:
1. Write the test conditions.
2. Perform the system testing.
Company Name
Address
Produces
Name E-mail
Name
Ships
Shipping Customer Orders Item
Item
Price
Has
Verifies
Shopping
Ecommerce Processes Order Creates
Cart
Order
Number
figure D.11
Test Sample Test Conditions
Condition Date Pass/
Number Tested Tester Test Condition Expected Result Actual Result Fail
condition is extremely detailed and states the expected results that should occur
when executing each test condition. Each time the actual result is different from
the expected result, a “bug” is generated and the system goes back to development
for a bug fix.
Test condition 6 in Figure D.11 displays a different actual result than the expected
result because the system failed to allow the user to log on. After this test condition
fails, it is obvious that the system is not functioning correctly and it must be sent
back to development for a bug fix.
A typical system development effort has hundreds or thousands of test condi-
tions. Every single test condition must be executed to verify that the system per-
forms as expected. Writing all the test conditions and performing the actual testing
of the software takes a tremendous amount of time and energy. Testing is critical to
the successful development of any system.
figure D.12
Types of Tests Performed
Types of Tests Performed During the Testing Phase
During the Testing Phase
Application (or system) Verifies that all units of code work together and the total system
testing satisfies all of its functional and operational requirements.
Backup and recovery testing Tests the ability of an application to be restarted after failure.
Documentation testing Verifies that the instruction guides are helpful and accurate.
Integration testing Exposes faults in the integration of software components or
software units.
User acceptance testing Determines whether a system satisfies its acceptance criteria,
(UAT) enabling the customer to decide whether or not to accept a
system.
An error caught within the development process is 10 to 100 times cheaper to cor-
rect than a bug found during the application’s operation.
Phase 6: Implementation
The implementation phase involves placing the system into production so users
can begin to perform actual business operations with the system. The implemen-
tation phase is also referred to as ‘delivery’. The implementation phase is com-
prised of two activities: training and conversion. Each of these activities include
multiple part tasks such as writing detailed user documentation, determining the
conversion method, and providing training for system users. How and what time
during the phase these tasks occurs, often depends upon the conversion method
selected. For example, for a plunge conversion, all training must take place prior to
the conversion. Alternatively, during a parallel conversion, training can be offered
at scheduled intervals as the new system is rolled out. Also, the complexity and
comprehensive nature of the new system can dictate timing and steps necessary to
deliver or implement the system. The two primary activities of the implementation
phase include:
1. System Training
2. Implementation Method
SYSTEM TRAINING
System users require user documentation that details how to use the system. User
documentation typically is provided with the new system. The user documenta-
tion must be presented in language that is easy to understand and digest with
examples and instruction that are simple to follow. Including graphics and sample
problems is recommended. It also must be easily accessed and made available
(and updated) for as long as the system is live. Delivery methods can include
an internal online system such as a private intranet or via hard copy in the form
of manuals. Developing and distributing detailed user documentation is a cost
related to the overall project and must not be overlooked or excluded from cost
estimates. System users find it extremely frustrating to have a new system without
documentation.
IMPLEMENTATION METHOD
An organization must choose the conversion method that most clearly meets its
business objectives and can realistically be deployed to ensure a successful system
implementation. There are four primary implementation methods an organiza-
tion can use (see Figure D.13). For example, if a company is in an industry where
governmental compliance is mandatory and a system will be out of compliance by
a certain date and that date has arrived, a company can only choose a plunge con-
version. Or, let’s say a company has few resources available for system monitoring
and user training. It probably is wise for it to choose a phased conversion so it can
effectively monitor the system and train users.
Phase 7: Maintenance
The maintenance phase involves performing changes, corrections, additions, and
upgrades to ensure the system continues to meet the business goals. This phase
continues for the life of the system because the system must change as the busi-
ness evolves and its needs change, demanding constant monitoring, supporting
the new system with frequent minor changes (for example, new reports or infor-
mation capturing), and reviewing the system to be sure it is moving the organiza-
tion toward its strategic goals. Once a system is in place, it must change as the
2. Phased Conversion Implementing the new Reduces the risks The project team and Ensure the phases
system in phases (e.g., associated with a whole user community often are released quickly
accounts receivables system failure. Gives experience system with all associated
then accounts payable) users time to master a fatigue—the feeling training, collateral, and
until it is evident single phase or module at of just wanting it to be components. It is OK to
that the new system one time which improves over. This effects morale release the next phase
performs correctly and user satisfaction with the and the overall sense of even if you have a few
then implementing the system. excitement that should latent users. They will
remaining phases of the be equated with a new adapt quickly once they
new system. system that is expected realize they must! Be
to deliver positive results. specific regarding the
Again, the benefits of the schedule and the finish
system are not immedi- date for the system
ately realized. implementation.
3. Pilot Conversion Having only a small group Allows time to refine Pilot groups can be Clearly communicate the
of people use the new the process and perceived as being ‘more benefits of pilot testing
system until it is evident troubleshoot potential important’ than others to all users. Establish
that the new system pitfalls. Problems are creating negative feelings the conversion schedule
performs correctly and obvious to only a small about the implementation addressing timeframe for
then adding the remaining user group which helps to causing training to when each user groups
people to the new system. maintain the enthusiasm be a tough process. can expect to be up
and momentum of Getting users on board and running on the new
the implementation is emotionally difficult system.
corporate-wide. at times. Once again,
benefits of the system
implementation are
delayed.
4. Plunge Conversion Discarding the old Reduces costs by only Has the highest amount Calculate the potential
system completely and deploying resources of risk—the system risk and develop
immediately using the to the new system. can fail and stall contingency plans
new system. Eliminates confusion operations. Users to mitigate it. Ensure
among users as to which become aggravated and leadership is on board—
system to use and when. dismayed by the failure. they understand the risks
Hastens training as users Sentiments such as, ‘at and can communicate the
need to get up to speed least we knew the old contingency plans to staff
quickly. Users perceive system worked’, might to generate buy-in and
leadership as intentional arise lowering morale. decrease fears about the
and system benefits can conversion—in essence,
be realized immediately. eliminate panic if the
system fails. Reward
development team with
comp time, extra pay,
or days off if they spend
extra time ensuring a
successful conversion.
PROVIDE AN ENVIRONMENT
TO SUPPORT SYSTEM CHANGES
As changes arise in the business environment, an organization must react to those
changes by assessing the impact on the system. It might well be that the system
needs to adjust to meet the ever-changing needs of the business environment. If so,
an organization must modify its systems to support the business environment.
A change management system includes a collection of procedures to docu-
ment a change request and define the steps necessary to consider the change
based on the expected impact of the change. Most change management systems
require that a change request form be initiated by one or more project stakehold-
ers (users, customers, analysts, developers). Ideally, these change requests are re-
viewed by a change control board (CCB) responsible for approving or rejecting all
change requests. The CCB’s composition typically includes a representative for
each business area that has a stake in the project. The CCB’s decision to accept or
reject each change is based on an impact analysis of the change. For example, if
one department wants to implement a change to the software that will increase
both deployment time and cost, then the other business owners need to agree that
the change is valid and that it warrants the extended time frame and increased
budget.
figure D.14
The Cost of Finding Errors
Cost $$
CHANGING TECHNOLOGY
Many real-world projects have hundreds of business requirements, take years
to complete, and cost millions of dollars. Gordon Moore, co-founder of Intel
Corporation, observed in 1965 that chip density doubles every 18 months. This
observation, known as Moore’s law, simply means that memory sizes, processor
power, and so on, all follow the same pattern and roughly double in capacity every
18 months. As Moore’s law states, technology changes at an incredibly fast pace;
therefore, it is possible to have to revise an entire project plan in the middle of a
project as a result of a change in technology. Technology changes so fast that it is
almost impossible to deliver an information system without feeling the pain of
changing technology. Change management is all about setting realistic expecta-
tions. The importance of this critical factor cannot be understated. Almost nothing
can cause a misalignment between expectations and deliverables more quickly
than a failure to manage change.
Key Terms
Analysis phase D.5 Development phase D.9 Online training D.13
Business requirement D.5 Entity relationship diagram Planning phase D.2
Change control board (ERD) D.9 Process modeling D.6
(CCB) D.15 Feasibility study D.4 Requirements definition
Change management Feature creep D.17 document D.5
system D.15 Graphical user interface Requirements management D.5
Commercial off-the shelf (GUI) D.9 Scope D.17
(COTS) D.6 Group Training D.13 Scope creep D.17
Computer-aided software Help desk D.15 Sign-off D.5
engineering (CASE) D.6 Implementation phase D.12 Systems development life cycle
Critical success factor Joint application development (SDLC) D.2
(CSF) D.4 (JAD) D.6 Test condition D.10
Data flow diagram Maintenance D.15 Testing phase D.9
(DFD) D.6 Maintenance phase D.13 Train-the-Trianer D.13
Data model D.9 Modeling D.9 User documentation D.12
Design phase D.8 Online group training D.13 Workshop training D.13
● Several business requirements were incorrect and the scope has to be doubled.
● Three developers recently quit.
● The deadline has been moved up a month.
Develop a list of options that your company can follow to ensure the project remains on schedule
and within budget.
4. Feasibility studies
John Lancert is the new managing operations director for a large construction company, LMC. John
is currently looking for an associate who can help him prioritize the 60 proposed company projects.
You are interested in working with John and have decided to apply for the job. John has asked you to
compile a report detailing why project prioritization is critical for LMC, along with the different types of
feasibility studies you would recommend that LMC use when determining which projects to pursue.
Notes
APPENDIX D April 2003, [Link],
1. “Python Project Failure,” [Link] accessed November 14, 2003.
.com, accessed November 14, 2003. 3. [Link], accessed
2. Gary McGraw, “Making Essential Software November 14, 2003.
Work,” Software Quality Management,