0% found this document useful (0 votes)
2 views40 pages

Module Modelling

Guidelines on module modelling

Uploaded by

merickalexandre6
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views40 pages

Module Modelling

Guidelines on module modelling

Uploaded by

merickalexandre6
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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

You might also like