0% found this document useful (0 votes)
28 views23 pages

Week 03 Agile Methodologies

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

Week 03 Agile Methodologies

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

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.
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
An final
agile product.
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
Customer satisfaction by early and continuous delivery of valuable
1 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
Face-to-face conversation is the best form of communication (co-
6 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 Best architectures, requirements, and designs emerge from self-
1
organizing teams
1 Regularly, the team reflects on how to become more effective, and
1
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
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.
Slide Title
Module Code & Module 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.

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
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 By Face-to-face
delivery of products. communication with all
people involved.
Welcome changing
requirements, even late in Motivate and trust
development. developers.
Agile
Principles
(summarized
version)
Fast Development
High Product Quality
Break bigger system into
small and manageable Maintain good design and
components. simplicity.
Close monitoring of Adopt to latest technologies.
development.
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
Question & Answer

Module Code & Module Title Slide Title SLIDE 21


Slide 21
Next Session

• Process Oriented Methodologies

Module Code & Module Title Slide Title SLIDE 22


Slide 22
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 23


Slide 23

You might also like