Federal University of Lafia
1
CSC 316/INS204
(Systems Analysis & Design)
Agile Modelling
& Prototyping
Dr. Haruna Umar Adoga & Mrs Jemimah
Yisa
Department of Computer Science
Faculty of Computing
Federal University of Lafia
2
Module Objectives
• Understand the fundamentals of Agile Modelling.
• Explore different types of prototyping and their significance.
• Learn how Agile development integrates user feedback for iterative
improvements.
• Identify best practices for prototyping in Agile methodologies.
• Apply Agile principles to improve software development efficiency.
3
Learning Outcomes
• By the end of this module, you should be able to:
• Define Agile Modelling and its core principles.
• Differentiate between various types of prototypes.
• Explain the role of user feedback in Agile prototyping.
• Describe how Agile modelling enhances system analysis and design.
• Develop a simple prototype following Agile best practices.
• Apply Agile techniques to refine software development processes.
4
What is Prototyping?
• A prototype is a preliminary
version of a system used for
testing and refinement.
• It helps visualize design
concepts before full-scale
implementation.
• Prototyping is essential in
systems development to gather
feedback and improve usability.
5
Purpose of Prototyping
• Validate system
requirements.
• Identify user needs and
expectations.
• Reduce the risk of system
failure.
• Improve communication
between stakeholders.
• Facilitate iterative system
development.
6
Types of Protypes - Patched-Up
• Definition: A prototype built
quickly by combining existing
components or code (even if
imperfect) to validate a concept.
Often unstable or "hacked
together."
• Agile Context: Used for rapid
experimentation, common in early-
stage problem-solving (e.g.,
proof-of-concept).
7
Types of Prototype - Non-Operational
• Definition: A visual or conceptual
model that demonstrates design
or workflow but lacks functional
code (e.g., wireframes,
storyboards, paper prototypes).
• Agile Context: Used in sprint
reviews to gather stakeholder
feedback on UX/UI before
development.
8
Types of Prototypes - First-of-a-Series
• Definition: A prototype that
serves as the baseline for
future iterations (e.g., the first
version of a product line).
• Agile Context: Used in long-
term projects where the initial
prototype sets the architecture
for future work.
9
Types of Prototypes - Selected Features
• Definition: Focuses on building
only a subset of critical features
to test feasibility or user
response (e.g., a login flow or
payment gateway).
• Agile Context: Common in MVP
Minimum Viable Product)
development, where teams
prioritize high-risk features early.
10
Why Prototyping Matters in Agile Development
• Feedback-driven: Aligns
with Agile’s focus on
iterative feedback and
adaptation.
• Risk Reduction: Selected
features and non-
operational prototypes
help mitigate risks early.
• Efficiency: Patched-up
and throwaway prototypes
avoid overinvestment in
unvalidated ideas.
11
Why Prototyping Matters in Agile Development - Example
• A team building a fintech
app might:
• Use a non-operational
prototype Figma mockups)
to validate the UI.
• Build a selected features
prototype (payment
processing) for
an incremental MVP.
• Refine it into
an evolutionary
prototype as they scale.
12
Prototyping Process
[Link] Requirements – Gather initial
user requirements.
[Link] Initial Prototype – Create a
basic version of the system.
[Link] Evaluation – Collect feedback from
users.
[Link] Prototype – Modify based on
feedback.
[Link] Process – Iterate until
requirements are met.
[Link] Product Development – Convert
the refined prototype into a production-
ready system.
13
Advantages of Prototyping
• Encourages user involvement.
• Helps identify potential issues
early.
• Enhances system flexibility and
adaptability.
• Provides a clear understanding of
system functionality.
• Reduces overall development
time and costs.
14
Disadvantages of Prototyping
• Can lead to scope creep if not well managed.
• Users may confuse prototype with the final
system.
• May increase development costs if excessive
iterations are required.
• May lead to suboptimal designs if shortcuts are
taken.
15
Some Tools for Prototyping - Wireframing
1. Figma – Free for individuals, real-time collaboration.
2. Balsamiq – Quick low-fidelity wireframes (limited free plan).
3. [Link] ([Link]) – Free & open-source, great for wireframes.
4. Pencil Project – Free desktop app for UI/UX wireframing.
Prototyping:
1. InVision – Clickable prototypes, collaboration features.
2. Axure RP – Advanced UX prototyping with logic.
3. Adobe XD – Interactive design & animation, free plan available.
16
Case Study: Successful Prototyping
• Example: An e-commerce platform.
• Used rapid prototyping to test user
interface (UI) designs.
• Iterative feedback helped refine
checkout and payment processes.
• Result: Increased user satisfaction and
reduced abandonment rates.
17
Best Practices in Prototyping
• Define clear objectives and scope.
• Involve stakeholders early and continuously.
• Choose the right prototyping method.
• Collect and incorporate feedback iteratively.
• Balance speed and quality.
18
Guidelines for Prototype Development
[Link] in Manageable Modules
1. Break down the system into smaller, functional
components.
2. Focus on key features rather than the entire system.
[Link] the Prototype Rapidly
1. Develop a working model quickly.
2. Prioritize speed over perfection in initial iterations.
[Link] the Prototype in Successive Iterations
1. Gather user feedback and refine accordingly.
2. Improve functionality based on evolving requirements.
[Link] the User Interface
1. Ensure ease of use and intuitive design.
2. Focus on user experience to enhance system adoption.
19
Agile Modelling Overview
• Agile methods prioritise user-
centred, iterative system
development.
• Focus on collaboration,
adaptability, and continuous
feedback.
• Credited with rescuing many
failing structured
methodology projects.
20
Values and Principles of Agile Modelling
• Agile is not just results-driven; it
is based on values, principles,
and practices.
• Encourages collaboration among
programmers and customers.
• Stems from Beck's Extreme
Programming (XP) methodology.
21
The Four Core Values of Agile
[Link]
1. Ensures clarity and minimizes errors.
2. Practices like pair programming, task estimation, and unit
testing rely on strong communication.
[Link]
1. Start with the simplest solution and refine as needed.
2. Avoid unnecessary complexity.
[Link]
1. Continuous testing and functional user feedback ensure
iterative improvement.
2. Helps refine software early and often.
[Link]
1. Willingness to refactor, rethink, and adapt when
necessary.
2. Encourages innovation and risk-taking for better
solutions.
22
The Importance of Humility in Agile
l e
• Analysts should embrace user
feedback and acknowledge potential
m b
mistakes.
• Avoid "guru syndrome"; instead, foster
H u
a culture of learning and
improvement.
B e
• Maintain a balance between expertise
and user-driven development.
23
Agile Core Practices
[Link] Releases
1. Deliver most critical features first and improve later.
2. Frequent iterations enhance adaptability.
2.40-Hour Workweek
1. Ensures developers work efficiently without burnout.
2. Reduces errors and enhances productivity.
[Link]-Site Customer
1. Business expert collaborates closely with developers.
2. Helps with prioritization and decision-making.
[Link] Programming
1. Two developers collaborate, improving code quality.
2. Frequent pairing enhances problem-solving.
24
Agile Core Practices, Resources, Activities and Values
25
Some Agile Concepts: Story, Epic, Theme, and Feature
• User Story – A small, specific user requirement.
Example: "As an employee, I want to download my payslip so that I can keep a record."
• Epic – An enormous user requirement broken into multiple user stories.
Example: "Employee Payroll Management" (includes stories like viewing payslips,
updating bank details, tax deductions, etc.)
• Theme – A collection of related epics that align with a business objective.
Example: "Payroll & Compliance" (includes epics for salary processing, tax reporting, and
benefits management.)
• Feature – A functionality that delivers value, often spanning multiple stories.
Example: "Automated Payroll Processing" (ensures salaries, deductions, and payments
are automated.)
26
Why Use User Stories?
• Focuses on spoken interaction rather than just written
documentation. User Story
• Helps developers understand business user requirements As a <role>
through ongoing discussions.
I want <goal>
• Prevents misunderstandings and improves collaboration. So that <benefit>
• Encourages collaboration between developers and
stakeholders.
• Helps prioritise development work based on user value. Acceptance Criteria:
27
Employee User Stories (Payroll System)
• "As an employee, I want to view my payslip so that I
can check my salary breakdown."
e e s
• "As an employee, I want to update my bank details so
that my salary is deposited into the correct account."
l y
o or i e
• "As an employee, I want to submit tax declaration
m p S t
forms so that my tax is correctly deducted from my
salary." E er
• "As an employee, I want to request leave so that my
absence is recorded for payroll processing." U s
28
HR/Payroll Administrator User Stories (Payroll System)
• "As an HR manager, I want to generate payroll reports
to analyse salary expenses."
e s
• "As a payroll administrator, I want to calculate
deductions (tax, insurance, benefits) to process
m i n
t o ri
salaries correctly."
• "As an HR manager, I want to manage employee salary
structures so payroll calculations remain accurate."
d
A er S
• "As an HR manager, I want to approve overtime
requests so that extra work is compensated U s
accordingly."
29
Finance Manager User Stories (Payroll System)
• "As a finance manager, I want to release salary
payments so that employees get paid on time."
c e
• "As a finance manager, I want to track payroll expenses
a n e r s
so that I can monitor the company’s cash flow."
i n a g r ie
• "As a finance manager, I want to generate tax reports F a n to
so that I can submit them to the government."
• "As a finance manager, I want to set up automatic M er S
salary processing so that payments are made without
U s
delays."
30
Admin/User Management User Stories (Payroll System)
• "As an administrator, I want to assign roles
and permissions so payroll data remains
e s
secure."
m i n
t o ri
• "As an administrator, I want to enable two-
factor authentication to protect payroll d
A er S
access."
• "As an administrator, I want to audit payroll U s
logs to track any modifications or errors."
31
Lessons Learned from Agile Modelling
32
Scrum Framework
• What is Scrum?
• Scrum is an Agile framework that enables teams to work collaboratively to
deliver high-value software in an iterative and incremental manner.
• It emphasizes adaptability, transparency, and continuous improvement
33
Components of Scrum
• Product Backlog – List derived from product
specifications.
t s
• Sprint Backlog – Dynamic list of tasks for the
m e n
next sprint.
r u on
• Sprint – 30-day cycle to develop and
demonstrate software. c
S mp
• Daily Scrum – Short meetings to track progress
and address obstacles.
• Demo – Present working software to the C o
customer.
34
Scrum Roles
• Product Owner – Defines priorities and ensures that
e s
the team is delivering value to the business.
• Scrum Master – Facilitates Scrum practices, removes R ol
blockers, and helps the team work efficiently.
u m
• Development Team – Cross-functional team c r
members responsible for delivering high-quality
increments.
S
35
Why Use Scrum?
• Encourages continuous feedback and improvement.
• Enhances team collaboration and transparency.
• Delivers working software quickly and efficiently.
• Helps teams adapt to changing requirements and
priorities.
36
How Scrum Supports Agile Modelling
• Iterative Development: Both emphasize small, frequent improvements.
• Collaboration: Scrum’s stand-ups and reviews align with Agile Modelling’s
stakeholder involvement.
• Incremental Delivery: Agile Modelling supports Scrum’s need for evolving,
functional software.
• User Feedback: Agile Modelling helps refine the backlog with real-time input.
• Flexibility: Both adapt to changing requirements and evolving system needs.
37
Key Takeaways
• Agile focuses on adaptability, continuous feedback, and user involvement.
• User stories enhance communication and understanding between developers and users.
• Agile modelling enhances software development efficiency and user satisfaction.
• The four core values and practices drive successful development.
• Scrum provides a structured yet flexible framework for agile teams.
• Humility and collaboration ensure the best outcomes.
• Best practices include defining clear objectives, involving users early, choosing the right
prototype type, and iterating based on feedback.
• Applying Agile techniques improves efficiency, adaptability, and overall software quality.
38
References
1. Systems Analysis and Design (11th Edition) - Authors: Kenneth E. Kendall, Julie E. Kendall -ISBN:
978-0136089162
2. Modern Systems Analysis and Design (9th Edition) Authors: Jeffrey A. Hoffer, Joey F. George,
Joseph S. Valacich Year: 2016 ISBN: 978-0134204925
3. Software Engineering: A Practitioner's Approach (9th Edition)Authors: Roger S. Pressman, Bruce
R. Maxim Year: 2019 ISBN: 978-0078022128
39
THANK YOU!
40