Performance is a feature

1 minute read

Now that is a widespread title for blog articles ! Just search Google, and you’ll find “Performance is a feature” in Coding Horror and others.

A Dragster at full speed

What’s in it for us ?

If performance is indead a feature, then it can be managed like any feature :

  • It should result from use cases

    During use case X, the user should not wait more than Y seconds for Z

  • It can be split into user stories
  • Story 1: During use case X, the user should not wait more than 2*Y seconds for Z
  • Story 2: During use case X, the user should not wait more than Y seconds for Z
  • They can be prioritized against other stories
  • Let’s forget about performance for now and deliver functionality A as soon as ready, we’ll speed things up later.
  • Let’s fix basic performance constraints for use case X for now, every story will have to comply with these constraints later.
  • The performance on these use cases should be automatically tested and non regressed
  • If we slow things too much and these tests breaks, we’ll have to optimize the code.
  • But as long as we don’t break the tests, it’s ok to unoptimize the code !

Maybe that’s a chance to stop performance related gut feeling quarrels !

I usually write about 15 minutes worth of reading per month. I won't transfer your email. No Spam, unsubscribe whenever you want.

As a gift for subscribing, you'll receive an illustrated mini-ebook "How to start a team coding dojo"!

Leave a comment