Agile
Abdalmajid Abdalla 15/25/2020
Agenda
• About the presenter
• Introduction
• Agile
• Examples of Agile Methodologies
Abdalmajid Abdalla 25/25/2020
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
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
Introduction…
• Feasibility Study (SDLC)
Abdalmajid Abdalla 55/25/2020
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
Introduction…
• Let’s try something
• Must have at least two entrances.
• Must have a roof of uniform color.
• Etc.…
Abdalmajid Abdalla 75/25/2020
Introduction…
• So, what happened?
• Did the customer get what was wanted?
• Were the actual needs met?
• Why?
Abdalmajid Abdalla 85/25/2020
Introduction…
• After 30 years of SDLC
• What we’re doing is not working!
• Lets see this figures
Abdalmajid Abdalla 95/25/2020
Introduction…
• It’s All About…
Change!
Abdalmajid Abdalla 105/25/2020
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
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
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
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
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
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
References
• http://agilemanifesto.org/ - Agile manifesto
• http://agilemanifesto.org/principles.html - Agile principles
• https://www.classes.cs.uchicago.edu/archive/2014/fall/51210-
1/required.reading/Standish.Group.Chaos.2009.pdf - Standish Group
Chaos 2009
Abdalmajid Abdalla 175/25/2020

Agile Concepts

  • 1.
  • 2.
    Agenda • About thepresenter • 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 allwork 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
  • 5.
    Introduction… • Feasibility Study(SDLC) Abdalmajid Abdalla 55/25/2020
  • 6.
    Introduction… • Classic SDLCCharacteristics • 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 trysomething • Must have at least two entrances. • Must have a roof of uniform color. • Etc.… Abdalmajid Abdalla 75/25/2020
  • 8.
    Introduction… • So, whathappened? • Did the customer get what was wanted? • Were the actual needs met? • Why? Abdalmajid Abdalla 85/25/2020
  • 9.
    Introduction… • After 30years of SDLC • What we’re doing is not working! • Lets see this figures Abdalmajid Abdalla 95/25/2020
  • 10.
    Introduction… • It’s AllAbout… Change! Abdalmajid Abdalla 105/25/2020
  • 11.
    Agile • Agile isnot • 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 • “Weare 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 theAgile 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 theAgile 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 weare 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
  • 17.
    References • http://agilemanifesto.org/ -Agile manifesto • http://agilemanifesto.org/principles.html - Agile principles • https://www.classes.cs.uchicago.edu/archive/2014/fall/51210- 1/required.reading/Standish.Group.Chaos.2009.pdf - Standish Group Chaos 2009 Abdalmajid Abdalla 175/25/2020