DPC2019 Keynote: Agility ≠ Speed - Kevlin Henney

Discover how agility doesn't necessarily mean speed, and why prioritizing business value and velocity can lead to poor decisions. Learn how to measure progress, communicate effectively, and make informed decisions in software development.

Key takeaways
  • Speed and agility are often misunderstood and prioritized over other aspects of software development.
  • Quality of estimation is crucial, but often ignored, and measuring progress should focus on the right things.
  • Knowledge is a key aspect of software development, and treating it as a commodity can lead to poor decisions.
  • The concept of “stuff” (S) is poorly defined and often confused with “business value”.
  • Prioritizing by business value is not effective and can lead to poor decisions.
  • Communication and collaboration are essential for successful software development.
  • Estimation should focus on the relationships between tasks rather than time.
  • Velocity is a flawed measure of progress and can be misleading.
  • Scrum and other Agile frameworks are often misunderstood and misapplied.
  • Speed is not the same as agility, and prioritizing speed can lead to poor decisions.
  • The OODA loop is a useful model for understanding decision-making and problem-solving.
  • Human communication is complex and often misunderstood, and treating it as a mechanical process can lead to poor outcomes.
  • The structure of code and design processes is often overlooked and underemphasized.
  • Prioritizing “stuff” (S) over other factors can lead to poor decisions and_create technical debt.
  • Complexity and uncertainty are natural aspects of software development, and ignoring them can lead to poor outcomes.