Description:
We've all heard of test-driven development (TDD) (Beck 2003; Astels 2003), as an evolutionary approach to development which combines test-first development. You write a test before you write just enough production code to fulfill that test and then refactoring. Now in 2022 with the increased attention to full-stack operations and scalability, the importance of engineering attention to system performance is shifting left. This talk with introduce the adapted concepts of TDD to performance engineering and scalability: Performance-driven Development. One way to think of this is that you must think through your non-functional requirements or system design before your write your code. This implies PDD can be an inherent principle for agile requirements and agile design techniques. Another common experience in shifting-left performance testing is that PDD is a programming technique - a skill set for writing performant, efficient code and configurations that scale and are reliable.
Key Takeaways:
What is PDD and how is it different from TDD, Agile Development, early performance testing and abstracted performance engineering practices
An overview of different suggested implementation strategies to begin adoption or change to a PDD model
Simple things you can change to start driving development via non-functional performance requirements.