agile & scrum overview

Agile

Frameworks & Methodologies

  • Scrum
  • Extreme Programming (XP)
  • Lean
  • Kanban
  • RUP (Rational Unified Process)
  • Crystal
  • DSDM (Dynamics Systems Development Method)
  • FDD (Feature Driven Development)

Extreme Programming (XP)

  • XP includes some management elements but emphasizes echnical practices more and is therefore more of an agile engineering methodology.
  • In XP, the “customer” works very closely with the development team to define an prioritize granular units of functionality referred to as “user stories”.
  • The development team estimates, plans, and delivers user stories in the form of working, tested software on an iteration by iteration basis (typically every 1-3 weeks).
  • Values
    • Simplicity (do only what is needed)
    • Communication (everyone is part of the team; face-to-face and daily communication)
    • Feedback (early delivery; make any needed changes)
    • Respect (every team member deserves respect)
    • Courage (tell the truth; plan to succeed)

Lean

  • Lean is an iterative agile methodology which owes much of its principles and practices to the Lean Manufacturing approach also known as ‘just-in-time production’, and pioneered by Toyota.
  • 7 Principles
    1. Eliminating waste
    2. Amplifying learning
    3. Deciding as late as possible
    4. Delivering as fast as possible
    5. Empowering the team
    6. Building integrity in
    7. Seeing the whole

Kanban

  • Kanban is an agile methodology for managing the creation of products with an emphasis on continual delivery while not overburdening the team.
  • Underlying mechanism for managing the production line can be applied on software development.

Feature requests -> Software development pipeline -> Improved software

  • 3 basic practices
    1. Visualize what you do today (workflow): seeing all the items in context of each other can be very informative
    2. Limit the amount of work in progress (WIP): this helps balancing the flow-based approach so teams don’t start and commit to too much work at once
    3. Enhance flow: when something is finished, the next highest thing from the backlog pulled into play

Scrum

Scrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.

Scrum is:

  • Lightweight
  • Simple to understand
  • Difficult to master

Certificate number: UC-X8T7QFCG