AGILE SOFTWARE
DEVELOPMENT
Software and System Engineering
Technische Universität Ilmenau
What is Agile Software Development?
■ Agile software development is
a group of software development
methodologies based on iterative
and incremental development,
where requirements and solutions
evolve through collaboration
between self-organizing, cross-functional teams.
2Software and System Engineering
Agile Manifesto
Individual and Interaction over Process andTools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
The manifesto set out to establish principles to guide a better approach
to software development.
https://agilemanifesto.org/
3Software and System Engineering
Agile Manifesto 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.
■ The most efficient and effective method of conveying information to and
within a development team is face-to-face conversation.
4Software and System Engineering
Agile Manifesto Principles Cont..
■ 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 behaviour accordingly.
5Software and System Engineering
Differences between Agile development and
traditional development:
■ Agile is based on the adaptive software development methods where as the
traditional SDLC models like waterfall model is based on predictive approach.
6Software and System Engineering
Agile Software Development: Jinjin LiTechnische Universitat Berlin
Differences between Agile development
and traditional development:
Software and System Engineering 7
https://www.visual-paradigm.com/scrum/what-is-agile-software-development/
When Agile?
■ You can't estimate the time you'll need and don't know the full scope of
requirements
■ You don't know whether there's a need on the market for your software
■ You can afford to iterate and don't need to deliver a fully functional software at
once
■ Clients don't have a fixed budget/schedule
8Software and System Engineering
Problems with Agile
■ Documentation tends to get side-tracked, which makes it harder for new
members to get up to speed.
■ It can be difficult to keep the interest of customers who are involved in the
process.
■ It's more difficult to measure progress than it is inWaterfall because progress
happens across several cycles.
■ Agile demands more time and energy from everyone because developers and
customers must constantly interact with each other.
■ Transfer of technology to new team members may be quite challenging due to
lack of documentation.
9Software and System Engineering
ThankYou
Software and System Engineering 10
References
https://cse.buffalo.edu/~hartloff/CSE442-Fall2015/slides/20-Scrum.pptx
https://www.researchgate.net/publication/264626696_A_STUDY_OF_AGILE_SOFTWAR
E_DEVELOPMENT_MODEL
https://www.tutorialspoint.com/sdlc/pdf/sdlc_agile_model.pdf
https://www.visual-paradigm.com/scrum/what-is-agile-software-development/
https://activecollab.com/blog/project-management/agile-project-management-
advantages-disadvantages
Software and System Engineering 11

Agile Software Development

  • 1.
    AGILE SOFTWARE DEVELOPMENT Software andSystem Engineering Technische Universität Ilmenau
  • 2.
    What is AgileSoftware Development? ■ Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. 2Software and System Engineering
  • 3.
    Agile Manifesto Individual andInteraction over Process andTools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan The manifesto set out to establish principles to guide a better approach to software development. https://agilemanifesto.org/ 3Software and System Engineering
  • 4.
    Agile Manifesto 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. ■ The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 4Software and System Engineering
  • 5.
    Agile Manifesto PrinciplesCont.. ■ 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 behaviour accordingly. 5Software and System Engineering
  • 6.
    Differences between Agiledevelopment and traditional development: ■ Agile is based on the adaptive software development methods where as the traditional SDLC models like waterfall model is based on predictive approach. 6Software and System Engineering Agile Software Development: Jinjin LiTechnische Universitat Berlin
  • 7.
    Differences between Agiledevelopment and traditional development: Software and System Engineering 7 https://www.visual-paradigm.com/scrum/what-is-agile-software-development/
  • 8.
    When Agile? ■ Youcan't estimate the time you'll need and don't know the full scope of requirements ■ You don't know whether there's a need on the market for your software ■ You can afford to iterate and don't need to deliver a fully functional software at once ■ Clients don't have a fixed budget/schedule 8Software and System Engineering
  • 9.
    Problems with Agile ■Documentation tends to get side-tracked, which makes it harder for new members to get up to speed. ■ It can be difficult to keep the interest of customers who are involved in the process. ■ It's more difficult to measure progress than it is inWaterfall because progress happens across several cycles. ■ Agile demands more time and energy from everyone because developers and customers must constantly interact with each other. ■ Transfer of technology to new team members may be quite challenging due to lack of documentation. 9Software and System Engineering
  • 10.
  • 11.