March 8, 2026
System
Development
Methodologies
Structured Frameworks for Successful Software
Projects
Agenda
Intro to System Development Methods
Spiral Model Overview & Phases
Agile Methodology & Team Roles
Rapid Application Development (RAD)
Joint Application Development (JAD)
Comparison of Methodologies
Workflow Automation Example
University Course Registration Example
Class Practical Exercise
Introduction to System Development
Introduction
Methodologies
What is a System
Purpose and Role Key Questions Answered
Development Methodology?
A structured framework guiding teams It serves as a professional roadmap for the Defines how the system is designed, exact
through designing, building, testing, and entire Software Development Life Cycle steps and order, participant roles, and
deploying software systems to ensure (SDLC), defining phases, documentation, approaches to risk management and
consistency, quality, and efficiency. roles, testing, and project management. requirement changes.
Importance for Project
Defined Team Roles
Success
Methodologies reduce risks of scope creep, Clarifies roles such as Project Manager,
missed deadlines, and failure by improving Systems Analyst, Developers, Testers, and
planning, quality, and adaptability Users, promoting better collaboration and
throughout the project. accountability.
Importance of System Development
Importance
Methodologies
Improved Project Success Rates Better Collaboration and Role Enhanced Quality and Security
Clarity
Structured methodologies prevent Clearly defined roles for managers, Built-in testing, documentation, and
scope creep, budget overruns, and analysts, developers, and testers feedback loops improve system
delays, boosting chances of on-time, enable seamless teamwork. Example: reliability and security. Kenyan
on-budget delivery. Example: Early M-Pesa integration projects with mobile banking systems prioritize
NHIF online system failures due to Safaricom engineers and banks these to protect users and data.
lack of methodology. working jointly.
Spiral Model
Spiral Model Overview
The Spiral Model, introduced by Barry Boehm in 1986, is a risk-driven
software development methodology that combines iterative design and
systematic risk analysis. Each cycle of the spiral represents a
development phase where planning, risk evaluation, engineering, and
user feedback occur repeatedly. This approach is particularly suited for
large, complex, and high-risk projects where requirements may evolve or
uncertainties must be managed carefully. In Kenya, the model was
effectively applied in the development of the Kenya Revenue Authority's
iTax system, where multiple iterations with thorough risk assessments
ensured robust security and seamless data integration throughout the
project lifecycle.
Spiral Model
Spiral Model Phases
Planning Risk Analysis Engineering Evaluation
Define objectives, gather Identify technical, business, Develop system components: Users review prototypes,
requirements, estimate costs, and security risks. Create coding, integration, database provide feedback, and validate
and check feasibility. Example: mitigation plans for issues like setup, and unit testing to requirements to guide the next
Kenya Telecom plans a mobile fraud, cyber-attacks, and ensure quality and iteration.
money service with customer database failures. functionality.
needs and CBK rules.
Requirements document Risk assessment Working prototypes User feedback
Feasibility report Mitigation strategies Integrated modules Evaluation summary
Cost estimates Updated timeline Test cases and results Refined requirements
Initial project plan
Spiral Model
Spiral Model Pros and Cons
Advantages Disadvantages
• Early and continuous identification and • High cost and longer timeframes due to multiple
mitigation of risks reduces project failures. iterations and detailed risk analysis.
• Ideal for large, complex, and high-risk projects • Requires experienced risk analysts and project
requiring thorough planning. managers to effectively implement.
• Strong user feedback incorporated at every • Complex to manage and document compared to
iteration improves system quality and relevance. simpler methodologies.
• Flexible to evolving requirements through • Not suitable for small or low-risk projects because
iterative cycles. of overhead and resource demands.
Agile
Agile
Methodology
Overview Agile is an iterative, incremental approach focusing on
fast delivery of working software and flexibility to changing
needs. Projects are divided into short sprints (2–4 weeks)
allowing frequent reassessment and user feedback.
The Agile Manifesto values individuals and interactions
over processes, working software over documentation,
customer collaboration over contracts, and responding to
change over following a plan.
Roles
Agile Team Roles
Product Owner Defines product priorities, manages the backlog, and ensures the team delivers
value aligned with customer needs and business goals.
Scrum Master Facilitates Agile processes, removes obstacles for the team, and ensures
adherence to Agile principles and sprint goals.
Development Team Cross-functional members who design, code, test, and deliver working software
in each sprint; self-organized and collaborative.
Agile
Agile Methodology Pros and Cons
Advantages Disadvantages
• Very fast delivery of usable features in short • Less emphasis on comprehensive documentation,
sprints (2–4 weeks). which can affect long-term maintenance.
• Highly flexible to changing requirements and • Requires experienced, self-organized teams to
market needs. manage workflow effectively.
• Continuous customer involvement ensures • Difficult to predict exact project timelines and final
product meets user expectations. delivery dates.
• Improves team collaboration and communication • Can struggle with scope creep if changes are not
through regular meetings (e.g., daily stand-ups). managed properly.
RAD
Rapid Application Development (RAD) focuses on fast software
Rapid Application delivery by building quick prototypes and refining them through
Development continuous user feedback instead of lengthy upfront planning. It suits
projects needing rapid results and flexibility.
(RAD) Overview
In Kenya, SMEs use RAD to quickly develop inventory systems for
supermarkets, pharmacies, and schools, often leveraging low-code tools
like Microsoft Power Apps. This approach ensures high user
involvement and reduces overall project time while delivering practical
solutions rapidly.
RAD
RAD Advantages and Disadvantages
Advantages Disadvantages
• Extremely fast development cycle enabling quick • Not scalable for very large or complex systems due
delivery of functional prototypes. to limited formal structure.
• High user involvement from the start ensures the • Documentation tends to be weak or minimal,
product closely meets user needs. which can affect future maintenance.
• Significantly reduces overall project time • Requires highly skilled developers to manage rapid
compared to traditional methodologies. changes and iterative prototyping effectively.
• Encourages early and continuous feedback for • May lead to overlooked long-term planning and
rapid refinement. integration challenges.
JAD
Joint Application Development (JAD) Overview
Joint Application Development (JAD) is a collaborative
methodology that brings users, managers, and developers
together in intensive, structured workshops to rapidly and
accurately define system requirements. These sessions foster
direct communication, minimizing misunderstandings and
accelerating consensus on project needs. In Kenya, JAD was
effectively used in the development of Huduma Centre systems,
where government officials, citizens, and IT teams met in
workshops to co-design efficient citizen service workflows,
ensuring that the final system met actual user needs and
improved service delivery.
JAD
JAD Benefits and Challenges
Benefits Challenges
• Gather requirements in days instead of months, • Scheduling all relevant stakeholders
speeding up project initiation. simultaneously can be difficult and time-
consuming.
• Reduces misunderstandings by involving all key
stakeholders early in the process. • Managing conflicting opinions requires a strong,
skilled facilitator to keep discussions productive.
• Increases user satisfaction through active
participation and consensus building. • Workshops can become lengthy and intense,
risking participant fatigue and reduced focus.
Methodolo User
Comparison Best For Speed Risk Handling Documentation Kenyan Example
gy Involvement
Comparison
of Spiral
Large, complex,
high-risk
Medium Excellent High High iTax system
Methodolog
ies
Changing Safaricom App,
Agile Fast Moderate Low Very High
requirements Flutterwave
Rapid SME inventory
RAD Very Fast Low Low High
development systems
Each system development
methodology offers unique strengths
and is suited to different project
needs, balancing speed, risk
management, documentation, and
user involvement, with practical Requirements Huduma Centre
JAD Medium Moderate Medium Very High
gathering systems
Kenyan examples illustrating their
effectiveness.
Automation
Workflow Automation Example in Telecom
Traditional Manual Workflow Automated Modern Workflow
• Customer submits request manually, often in person or • Customer registers through a mobile app or online portal
via phone. instantly.
• Manual verification of customer identity and SIM card • Automatic ID verification using digital databases and
activation. biometrics.
• Service setup requires multiple manual steps, prone to • Instant SIM activation with real-time service provisioning.
delays.
• Improved accuracy, reduced wait times, and better
• High risk of errors and longer customer wait times. customer experience.
Practical Example
Practical Example: University Course Registration
JAD for Requirements Agile for Development RAD for Prototyping Spiral for High-Risk
Gathering Integration
Conduct intensive workshops Develop course registration Create quick prototypes of the Apply Spiral methodology for
with students, lecturers, and modules in short, iterative user interface and registration complex, high-risk
administrators to define clear, sprints allowing continuous workflows to gather user components like payment
accurate registration needs feedback, early delivery of feedback and refine the processing and security
quickly and reduce features, and adaptability to system rapidly with high user integration, ensuring
misunderstandings early on. changing academic involvement. thorough risk analysis and
requirements. iterative improvements.
Exercise
Class Practical Design a Mobile Food Ordering System for a Nairobi
Exercise restaurant chain by: 1) Choosing a methodology like Agile for
flexibility, Spiral for risk management, or RAD for rapid
prototyping. 2) Mapping the workflow from order placement
to delivery and feedback. 3) Identifying risks such as
payment security, delivery delays, and system downtime with
mitigation plans. 4) Defining prototype features like user-
friendly menus, real-time order status, secure payments, and
feedback options.