2. Agenda
• About the presenter
• Introduction
• Agile
• Examples of Agile Methodologies
Abdalmajid Abdalla 25/25/2020
3. About the presenter
• Abdalmajid Abdalla
• BSc - UoK Computer Sciences
• MSc - UoK Computer Sciences – Software Engineering
• More than 5 yeas as Software Engineer
• Gitlab : https://gitlab.com/majidsd
• GitHub : https://github.com/majidsd
• Personal Site : https://majid.sd
Abdalmajid Abdalla 35/25/2020
4. Introduction
• Almost all work is done as a “project”
• All projects have a plan, execute, inspect, accept model
• In Business projects are “managed” to ensure accountability and
control.
• Project Management has become a practice and career unto itself.
• There are myriad methods and tools for project management.
• All are about “delivered on time and on budget”.
Abdalmajid Abdalla 45/25/2020
6. Introduction…
• Classic SDLC Characteristics
• Requirements & Tasks are expected to be well defined at outset.
• Methodology is highly document driven.
• Project roles are highly structured and well defined.
• Communication is through PM and Sponsor.
• Typically long cycle.
Abdalmajid Abdalla 65/25/2020
7. Introduction…
• Let’s try something
• Must have at least two entrances.
• Must have a roof of uniform color.
• Etc.…
Abdalmajid Abdalla 75/25/2020
8. Introduction…
• So, what happened?
• Did the customer get what was wanted?
• Were the actual needs met?
• Why?
Abdalmajid Abdalla 85/25/2020
9. Introduction…
• After 30 years of SDLC
• What we’re doing is not working!
• Lets see this figures
Abdalmajid Abdalla 95/25/2020
11. Agile
• Agile is not
• Methodology
• Specific way of developing software
• Framework or process
• So what is Agile
• Agile is set of values and principles.
• Can be seen as beliefs that team can use to make a decisions about how to do
the work of developing a software.
Abdalmajid Abdalla 115/25/2020
12. Agile Manifesto
• “We are uncovering better ways of developing software by doing it
and helping others do it, Through this work we have come to value:
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
• That is, while there is value in the items on the right, we value the
items on the left more.”
Abdalmajid Abdalla 125/25/2020
13. Principles behind the Agile Manifesto
• We follow these principles:
• Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software.
• Welcome changing requirements, even late in development. Agile processes
harness change for the customer's competitive advantage.
• Deliver working software frequently, from a couple of weeks to a couple of
months, with a preference to the shorter timescale.
• Business people and developers must work together daily throughout the
project.
• Build projects around motivated individuals. Give them the environment and
support they need, and trust them to get the job done.
Abdalmajid Abdalla 135/25/2020
14. Principles behind the Agile Manifesto…
• The most efficient and effective method of conveying information to and
within a development team is face-to-face conversation.
• Working software is the primary measure of progress.
• Agile processes promote sustainable development. The sponsors, developers,
and users should be able to maintain a constant pace indefinitely.
• Continuous attention to technical excellence and good design enhances
agility.
• Simplicity--the art of maximizing the amount of work not done--is essential.
• The best architectures, requirements, and designs emerge from self-
organizing teams.
• At regular intervals, the team reflects on how to become more effective, then
tunes and adjusts its behavior accordingly.
Abdalmajid Abdalla 145/25/2020
15. Examples
• If we are in a case that need requirement from customer? “Sign it”
• If developer is working on feature, then needed a database? “Full or
just what he need”
• The Idea is making decisions based on Values and Principles that the
team decide to follow.
• We have to put in our mind to not mimic others to be Agile, because
by following Values and Principles team will make practices and the
practice may change with the time.
Abdalmajid Abdalla 155/25/2020
16. Agile Methodologies
• Scrum
• Extreme Programming (XP)
• Adaptive Software Development (ASD)
• Crystal Methodologies
• Dynamic Systems Development Method (DSDM)
• Feature-Driven Development (FDD)
• Etc.…
Abdalmajid Abdalla 165/25/2020