Agility - alexdaube/My-Software-Engineering-Guide GitHub Wiki

Agility

Values

  • Individuals and Interactions => over processes and tools
  • Working Software => over comprehensive documentation
  • Customer Collaboration => over contract negotiation
  • Responding to change => over following a plan

Principles

  • Satisfy the client is the priority
  • Welcome changes
  • Deliver production code often
  • Constant communication between team and client
  • Build project around motivated people
  • Interaction between individual is key
  • Measure advancement in term of features done
  • Sustainable and constant working pace
  • Continuous attention to detail toward conception and quality
  • Favor simplicity
  • Auto-organised teams. People make decisions
  • Adjust regularly to be more efficient

What?

  • Is iterative and incremental
  • Realize in the spirit of collaboration with minimal formalities
  • Creates a product high in quality while fulfilling the client's demands

Processuses

  • eXtreme Programming(XP)
  • Dynamic Software Development Method(DSDM)
  • Crystal
  • Feature Driven Development(FDD)
  • Lean Software Development
  • Test Driven Development(TDD)
  • Kanban
  • SCRUM

Agile vs Structured?

  • Formalism does not mean Discipline
  • Documentation does not mean Communication
  • Documentation does not mean Comprehension
  • Rigueur does not mean Quality

The Goal of agility is to augment the level of client satisfaction while making the work of the developper easier