what is Agile?

How we used to do things - whaterfall

Vs Agile

It's the story how we went from

To

The Agile Manifesto

A bit of History

In 2001 this new management paradigm begin to pick up - agile was formalized when 17 people met at a ski resort in Utah and created the agile manifesto

what is agile?

  • In a nutshell, it’s incrementally delivery vs all at once
  • Agile is a time-boxed iterative approach to software delivery, that builds software incrementally instead of trying to deliver it all at once near the end
  • It works by breaking projects down to little bits of USER functionality, called User Stories, prioritizing them, and continuously delivering them in a short week cycle iterations

Why we use Agile methods?

  • Improves customer involvement
  • Increase Quality
  • Simplify Releases
  • Drives down risk

Advantages

  • Customer satisfaction is rapid
  • People and interactions are emphasized rather than process and tools (customers/developer/product/tests are constantly interacting)
  • Regular adaptation to changing circumstances
  • Even late changes in requirements are welcomed - NOT in waterfall

Disadvantages

  • Sometimes in big projects, it’s difficult to assess the effort at the beginning
  • Projects can easily get taken off track if the customer is not clear what the final outcome they want - they can change it so often

  • You need seasoned developers to drive this process

The agile manifesto

Individual and Interactions Over Processes and Tools
Working Product 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

 

Agile software development principles

  • Customer satisfaction by early and continuous delivery of valuable software
  • Welcome changing requirements, even in late development
  • Deliver working software frequently (weeks rather than months)
  • Close, daily cooperation between business people and developers
  • Projects are built around motivated individuals, who should be trusted
  • Face-to-face conversation is the best form of communication (co-location)
  • Working software is the primary measure of progress
  • Sustainable development, able to maintain a constant pace
  • Continuous attention to technical excellence and good design
  • Simplicity—the art of maximizing the amount of work not done—is essential
  • Best architectures, requirements, and designs emerge from self-organizing teams
  • Regularly, the team reflects on how to become more effective, and adjusts accordingly

Agile methodologies

  • Scrum (Our focus)
  • Extreme Programming (XP)
  • Dynamic Systems Development Method (DSDM)
  • Feature Driven Development (FDD)
  • Lean and Kanban Software Development
  • Crystal

scrum

scrum roles

Product owner (po)

  • Responsible for maximizing the ROI of the development effort
  • Responsible for Project Vision
  • Responsible for re-prioritizing the backlog, and adjusting long-term expectations (release plan)
  • The final arbiter of requirement questions and conflicts
  • Decides whether to ship
  • Consider stack-holder interests
  • Has a leadership role

scrum master

  • Is the core of the team
  • Responsible for the Scrum planning for a sprint
  • Manages impediments/conflicts
  • Part of the team - does not need to be the manager
  • Responsible for scrum ceremonies (daily stand up, demo, retro)

scrum team

  • Works to achieve sprint goals
  • Takes part in ceremonies
  • Attend Daily stand up
    • What was done yesterday?
    • What is the plan for today?
    • Any impediments?

The Process & Ceremonies

  • Sprint planning meeting
  • Sprint execution
  • Daily Scrum
  • Sprint review/retro
    • What to continue?
    • What to change?
    • What to drop?

QA

What is Agile

By Eyal Mrejen

What is Agile

  • 70