System Development Methods
CT00046-3-2
Agile Methodologies
Topic & Structure of the Lesson
Understanding Agile Methodologies
Agile Principles
Module Code & Module Title Slide Title SLIDE 2
Slide 2
Slide 3 (of 17)
Learning Outcomes
By the end of this lecture, you should be able to :
1. Identify and explain the underlying principles of Agile
methodologies.
2. List popular methodologies adopting Agile Principles.
3. Describe the advantages and disadvantages of Agile
Methodologies.
Module Code & Module Title Slide Title SLIDE 3
Slide 3
Slide 4 (of 17)
Key Terms you must be able to use
If you have mastered this topic, you should be able to use the
following terms correctly in your assignment and exam:
Agile Methodologies
Agile Principles
Module Code & Module Title Slide Title SLIDE 4
Slide 4
Slide 5 (of 19)
Modern Information System (IS) Methodologies
Developed in the mid 80’s to 90’s
Focus on fast delivery of software and customer satisfaction.
– Compare with the Traditional Methodologies focus on
product excellence and documentation.
Flexible stages
Most Methodologies adopt Agile Principles.
Example of modern methodologies:
RAD
XP
Scrum
Module Code & Module Title Slide Title SLIDE 5
Slide 5
Agile Methodologies
Agile Methodologies are a set of Modern IS Methodologies which
shares some of the Agile Principles.
Agile Principles are defined in ‘The Agile Manifesto’, developed by
software developers in 2001 (https://agilemanifesto.org/):
Value responding to change over following a plan.
Value individuals and interactions over processes and tools.
Value working software over comprehensive documentation.
Value customer collaboration over contract
negotiation.
Agility (in a software development sense)
means:
Being flexible.
Being in control.
Able to adapt to changing environment.
Module Code & Module Title Slide Title SLIDE 6
Slide 6
Agile Methodologies (Cont.)
Stresses intense team-based effort.
Some Agile methodologies adopt both iterative and incremental approaches
which means:
Breaks development process down into cycles or iterations that add
functionality. Each iteration is designed, build, and tested in an ongoing
process. Attempts to reduce major risks by incremental steps in short time
intervals.
Also, agile methodologies attempt to develop a system incrementally, by
building a series of prototypes and constantly adjusting them to user
requirements. As the agile process continues, developers revise, extend,
and merge earlier versions into
the final product.
An agile approach emphasizes continuous
feedback, and each incremental step is
affected by what was learned in the prior
steps.
Module Code & Module Title Slide Title SLIDE 7
Slide 7
The Agile Manifesto
is based on twelve principles
1 Customer satisfaction by early and continuous delivery of valuable software
2 Welcome changing requirements, even in late development
3 Working software is delivered frequently (weeks rather than months)
4 Close, daily cooperation between business-people and developers
5 Projects are built around motivated individuals, who should be trusted
6 Face-to-face conversation is the best form of communication (co-location)
7 Working software is the principal measure of progress
8 Sustainable development, able to maintain a constant pace
9 Continuous attention to technical excellence and good design
1 Simplicity - the art of maximizing the amount of work not done—is essential
0
1 Best architectures, requirements, and designs emerge from self-organizing teams
1
1 Regularly, the team reflects on how to become more effective, and adjusts accordingly
2
Module Code & Module Title Slide Title SLIDE 8
Slide 8
Agile Principles
1)Customer satisfaction by early and continuous delivery of
valuable software
The analysis by MIT Sloan Management Review (Alan, 2001) found
several practices that contribute to the final system quality. This
includes ‘the less functional the initial delivery, the higher the quality
in the final delivery’. Besides, ‘the more frequent the deliveries, the
higher the final quality’.
Agile practice strives to deliver a rudimentary system within the first
few week of the start of the project. Then, continue to deliver systems
of increasing functionality every two weeks.
Users may choose to put these system into production if it is functional
enough, or to review existing one and report on changes they want
made.
Module Code & Module Title Slide Title SLIDE 9
Slide 9
Agile Principles (Continue)
2) Welcome changing requirements, even in late development
Agile participants are not afraid of change. They view changes to the
requirements as good things, as the team take this as learning phase to
understand more about what it will take to satisfy the market.
Team keeps the structure of its software flexible so that when
requirements change, the impact to the system is minimal.
3) Working software is delivered frequently (weeks rather than months)
Working software will be delivered early (after the first few weeks)
and often (every few weeks thereafter), instead of delivering bundles
of documents or plans. The main goal is to delivery product that
satisfies the user’s needs.
Module Code & Module Title Slide Title SLIDE 10
Slide 10
Agile Principles (Continue)
4) Close, daily cooperation between business-people and developers
Significant and frequent interaction between business users, developers,
and stakeholders is required. A software project must be continuously
guided.
5) Projects are built around motivated individuals, who should be trusted
Provide required environment and support what project team members
need and trust them to get the job done.
In an agile project, people are the most crucial factor of success, besides
other factors i.e., process, environment, management, etc. – which are
subject to change if they are having an adverse effect upon the people. For
example, if the office environment or the process steps are obstacles to the
team, then these must be changed.
Module Code & Module Title Slide Title SLIDE 11
Slide 11
Agile Principles (Continue)
6) Face-to-face conversation is the best form of communication (co-
location)
Face-to-face conversation is the primary mode of communication.
An agile project team does not demand written specifications, plans, or
designs. Team members may create them if they perceive an immediate
and significant need, but they are not the default. The default is
conversation.
7) Working software is the principal measure of progress
Agile projects measure their progress by measuring the amount of
software that is meeting the user’s need.
They don’t measure their progress in terms of phase that they are in or by
the quantity of documentation that has been produced.
They are 30% done when 30% of the main functionality is working.
Module Code & Module Title Slide Title SLIDE 12
Slide 12
Agile Principles (Continue)
8) Sustainable development, able to maintain a constant pace
An agile project team does not take off at full speed and try to maintain
that speed for duration. Rather, they run at a fast, but sustainable, pace.
Team works at a rate that allows them to maintain the highest quality
standards for the duration of the project.
9) Continuous attention to technical excellence and good design
High quality is the key to high speed. The way to go fast is to keep the
software as clean and robust as possible. Thus, all agile team members are
committed to producing only the highest quality code they can.
10)Simplicity—the art of maximizing the amount of work not done—is
essential
An agile project team take the simplest path that is consistent with their
goals, they focus on the desired outcome.
The simplest and highest-quality work will be done, and that it will be easy
to change when problems arise.
Module Code & Module Title Slide Title SLIDE 13
Slide 13
Agile Principles (Continue)
11) Best architectures, requirements, and designs emerge from self-
organizing teams
An agile team is a self-organizing team. Responsibilities are not handed to
individual team members, it is communicated to the team, and the team
determines the best way to fulfill them.
Agile team members work together on all aspects of the project. The team
shares responsibilities, and each team member has influence over them.
12)Regularly, the team reflects on how to become more effective, and
adjusts accordingly
An agile team continually adjusts its organization, rules, conventions,
relationships, etc. They know that its environment is continuously
changing, and they must change with that environment to remain agile.
Module Code & Module Title Slide Title SLIDE 14
Slide 14
Agile Principles
(summarized version)
Customer Satisfaction Teamwork
By fast and frequent delivery of By Face-to-face communication
products. with all people involved.
Welcome changing requirements, Motivate and trust developers.
even late in development.
Agile Principles
(summarized
version)
Fast Development High Product Quality
Break bigger system into small and Maintain good design and
manageable components. simplicity.
Close monitoring of development. Adopt to latest technologies.
Module Code & Module Title Slide Title SLIDE 15
Slide 15
Popular IS Methodologies Adopting
Agile Principles
Extreme Programming (XP).
For advance / heavy coding projects
SCRUM
A ‘team-work’ based methodology
Rapid Application Development (RAD)
Used for small and fast projects
Dynamic Systems Development Method (DSDM). Agile
Improvement on RAD, focus on rapid prototyping
based on users’ feedback.
Feature Driven Development (FDD).
For long-term projects that frequently
change and add features in regular,
predictable iterations
Module Code & Module Title Slide Title SLIDE 16
Slide 16
Popular IS Methodologies Adopting
Agile Principles (Cont.)
Lean software development.
Focuses on identifying and eliminating waste, while
improving the software quality continuously.
Dialogue-Driven Development (aka d3).
Put users’ interaction and communication as the highest
priority in a successful project.
Kanban Methods
Agile
Allows you to get a whole picture of a project by
visualizing the workload and the development progress.
• Most of the above Methodologies share
most (or all) of the Agile Principles.
Module Code & Module Title Slide Title SLIDE 17
Slide 17
Advantages of Agile Methodologies
Customer satisfaction with frequent delivery of the
working product.
Gives customers/users ‘power’ to change their minds
anytime and send new requirements.
Gives more ‘control’ to core developers to make
decisions
Emphasize the use of the latest design and
technologies
Encourage close communication and teamwork.
Module Code & Module Title Slide Title SLIDE 18
Slide 18
Disadvantages of Agile Methodologies
Users/customers not available at all times.
Developer - difficult to determine final cost and development time
as requirements keep changing
Developer – difficult to plan and deliver workable products
frequently.
Experts' developers and CASE Tools are expensive
Often lack comprehensive documentation
Module Code & Module Title Slide Title SLIDE 19
Slide 19
Summary
The Agile Methodologies are a set of Modern IS Methodologies that shares some
of the Agile Principles.
Agility in a software development sense means being flexible, being in control,
and being able to adapt to changing environments.
The Agile principles focus on customer satisfaction, fast development, teamwork,
and high product quality.
Popular methodologies that share some Agile principles include XP, RAD, FDD,
DSDM, Lean, D3, and Kanban.
In Agile methodologies, developers might face difficulties to determine the final
cost, development time, and delivering workable products frequently as
requirements keep changing.
Module Code & Module Title Slide Title SLIDE 20
Slide 20
Next Session
• Process Oriented Methodologies
Module Code & Module Title Slide Title SLIDE 21
Slide 21
References
Tilley, S. (2019). Systems Analysis and Design 12th Edition.
Cengage Learning. ISBN-13: 978-0357117811. ISBN-10:
0357117816
Pressman, R., & Maxim, B. (2019). Software Engineering: A
Practitioner's Approach 9th Edition. McGraw Hill. ISBN-13:
978-1259872976. ISBN-10: 1259872971
Dennis, A., Wixom, B,. & Roth, R.M. (2021). Systems
Analysis and Design 8th Edition. Wiley. ISBN: 978-1-119-
80378-2
Module Code & Module Title Slide Title SLIDE 22
Slide 22