Agile Software Development, Scrum, Extreme Programing, XP, Test Driven Development, TDD, Feature Driven Development, FDD, Lean, DSDM, Behavior Driven Development, BDD, Refactoring, Pair Programming, Kanban
 

Performance Tuning: An Agile Approach

This presentation describes how agile techniques have been successfully applied to meeting performance requirements. The principle of rapid feedback encourages us to put working software in customers’ hands early and often, to discover the real performance issues. We measure relentlessly to identify bottlenecks and choose among alternate strategies, always favoring hard evidence over performance folklore. We use refactoring techniques and clean code principles to encapsulate performance-sensitive algorithms and keep the code base supple. Automated regression tests help us measure and track key performance areas as the system evolves. System performance need not force us to abandon good development practices and search desperately for a performance super-hero to save the day at the last minute. By applying the same principles we’ve learned as agile developers, we can turn performance tuning from a nightmare into a competitive advantage.