Learning Outcomes
After reading this article, you will be able to explain the purpose and main stages of the Systems Development Life Cycle (SDLC) and contrast it with agile approaches for systems change. You will recognise which development strategy is most suitable for different business situations, including key considerations for people, project risk, and controls. You will also identify critical success factors and typical issues encountered during systems implementation and change.
ACCA Business and Technology (BT) Syllabus
For ACCA Business and Technology (BT), you are required to understand how business information systems are developed and changed. Focus your revision on:
- The stages, activities, and objectives of the Systems Development Life Cycle (SDLC)
- Differences between traditional (waterfall) and agile development methods
- Factors affecting the success and failure of systems development projects
- Recognition and management of risks and controls in systems development and change
- The roles of users, managers, and IT professionals during systems change
- Impact of system change on the business, including staff considerations
Test Your Knowledge
Attempt these questions before reading this article. If you find some difficult or cannot remember the answers, remember to look more closely at that area during your revision.
- Name the four main stages of the Systems Development Life Cycle (SDLC).
- What is one key difference between SDLC and agile approaches?
- List two common risks when implementing a new business information system.
- In agile development, how are user requirements handled compared to the SDLC?
- True or false? Systems development projects usually fail due to technical reasons only.
Introduction
Organisations depend on information systems to support transactions, reporting, and decision-making. As technology, business processes, and requirements change, organisations must update or replace these systems. The process of introducing new systems or making significant changes must be carefully managed to reduce risk, ensure user acceptance, and realise expected benefits.
Two main approaches are used: the structured Systems Development Life Cycle (SDLC) and agile methodologies. Each has strengths and limitations depending on the scale of change, uncertainty of requirements, and organisational needs.
Key Term: Systems Development Life Cycle (SDLC)
An organised framework describing structured phases for developing and implementing an information system, from feasibility study to maintenance.
SDLC: The Traditional Approach
The SDLC is a linear and sequential process for developing systems, sometimes called the 'waterfall' approach. It typically includes clearly defined stages, each with specific objectives and deliverables.
Stages of the SDLC
-
Feasibility Study and Planning
Assess if the project is desirable, feasible, and viable. Involves high-level definition of goals, potential solutions, resource requirements, and initial risks. -
Systems Analysis
Investigate current business processes, gather detailed requirements, and define what the new system must achieve. User input is critical. -
Systems Design
Develop the technical and process specification for the solution. This includes defining how the requirements will be met using hardware, software, procedures, and controls. -
Systems Development (Implementation)
Build/configure the system according to the design. Activities include software coding, data conversion, creation of procedures, and testing. -
Testing
System is rigorously tested to check that it meets design specifications and business requirements. Key types: unit, interface, system, and user acceptance testing. -
Deployment and Conversion
The system is installed, users are trained, and data is converted. May be done in phases or as a single 'big bang' switchover. -
Maintenance and Review
Ongoing support, bug fixes, enhancements, and monitoring to ensure the system continues to perform as required.
Key Term: Waterfall Model
A strict, sequential SDLC approach where each stage must be completed before the next begins, with minimal overlap.
Advantages and Disadvantages of SDLC
| Advantages | Disadvantages |
|---|---|
| Clear structure and milestones | Inflexible if requirements change |
| Careful documentation | Long time before user sees results |
| Strong project control | Users may be disengaged early |
| Thorough testing and controls | High failure rate if requirements unclear |
Worked Example 1.1
A mid-sized retailer wants to replace its manual stock management with an automated system. Management knows exactly what reports it wants but says requirements won't change once defined. Should the SDLC approach be used, or an agile method? Why?
Answer:
The SDLC is suitable because requirements are clear and stable, allowing for structured planning, specification, and implementation.
Agile Approaches: An Alternative Method
Agile methods have gained popularity when requirements are unclear, or change frequently. Agile approaches focus on flexibility, close user-developer collaboration, and iterative delivery of working software.
Key Term: Agile Development
An approach to system development that delivers solutions incrementally through short cycles, encouraging user feedback and rapid adjustment to change.
Key Principles of Agile Methods
- Projects divided into small, manageable increments called 'cycles' or 'sprints'
- Requirements are prioritised and can change based on user feedback
- Ongoing collaboration between users and developers
- Frequent demonstrations of working solutions
- Emphasis on simplicity, communication, and direct user involvement
Advantages and Disadvantages of Agile
| Advantages | Disadvantages |
|---|---|
| High flexibility and responsiveness | Needs frequent user involvement |
| Early delivery of useful features | Documentation may be lighter |
| Easily accommodates changing needs | May lead to scope creep if control is weak |
| Continuous user feedback | Less suitable for large, regulated systems |
Worked Example 1.2
A start-up is developing a web application but expects requirements to change as they learn more about the market. Which approach—SDLC or agile—should they use? Explain.
Answer:
Agile is more appropriate because requirements are evolving. Short sprints and continuous feedback will allow for rapid response to market changes.
Roles Involved in Systems Development
Effective systems development requires clear roles:
- Users: Define needs, provide feedback, test solutions
- Managers: Approve resources, monitor progress
- IT professionals: Analyse, design, build, and support technical solutions
- Project manager: Plans, coordinates, and communicates between all parties
Failure in any role—such as low user engagement or weak management oversight—can increase the risk of project failure.
Key Term: User Acceptance Testing (UAT)
The final phase of testing where end users validate that the system meets their requirements and is ready for use.
Risk Factors and Controls
Systems development projects are inherently risky. Common risks include scope creep (uncontrolled changes), insufficient user buy-in, underestimated costs, technical failures, or poor change management.
Controls to reduce risk:
- Clear documentation of requirements and changes
- Project milestones and progress reviews
- Segregation of duties (avoid conflicts of interest)
- Testing against business needs, not just technical criteria
- Strong training and support for users
Exam Warning
Projects often fail not due to technology, but because users are not involved or management has unrealistic expectations. Always highlight people and communication risks.
Critical Success Factors
To increase the likelihood of success:
- Ensure user involvement from the outset
- Gain consistent senior management support
- Define measurable objectives and success criteria
- Allow for adequate testing and user training
- Plan for ongoing maintenance and support
Change Management and Implementation
System changes often fail if the impact on people and business processes is overlooked. Effective change management practices include:
- Clear communication of purpose and benefits
- Involving staff in system design and testing
- Staged rollout to manage disruption
- Training and support throughout and after implementation
Worked Example 1.3
A hospital introduces a new electronic health record system. Nurses are not properly trained, and communication is poor. What risks arise, and how can they be managed?
Answer:
Risks: User resistance, errors entering records, disruption of patient care.
Management: Provide timely training, ongoing support, and involve staff early to build ownership.
Comparison: SDLC vs. Agile
| SDLC (Waterfall) | Agile | |
|---|---|---|
| Requirements | Defined upfront | Evolving |
| Process | Sequential stages | Iterative cycles |
| User involvement | Heavy at start/end | Continuous |
| Flexibility | Low | High |
| Documentation | Comprehensive | Focused, lighter |
| Testing | End of process | Throughout each cycle |
Summary
Systems development and change are essential for business progress but bring risk. The SDLC provides structure and control, suitable for stable projects. Agile methods suit situations where requirements change. Whatever the approach, user involvement, planning, control, good communication, and ongoing support are critical to success.
Key Point Checklist
This article has covered the following key knowledge points:
- Define the stages and objectives of the SDLC and waterfall model
- Explain key characteristics and processes of agile development
- Compare advantages, disadvantages, and suitable contexts for each approach
- Identify critical roles, risks, and controls for successful systems change
- Summarise people and communication issues in systems development
- Recognise the importance of user acceptance and change management during system implementation
Key Terms and Concepts
- Systems Development Life Cycle (SDLC)
- Waterfall Model
- Agile Development
- User Acceptance Testing (UAT)