One of the blogs I frequent is AKF Partners. They write some top quality content there. A recent post introduced what they call the D-I-D approach to scalability. This stands for Design, Implement, and Deploy. It advocates planning for scalability. *GASP* Say what?! Plan for scalability? I kid.. I kid... This is something that's all to rare and I usually get told that planning for scalability is a waste of time. I 100% disagree with that attitude and do like that approach AKF is espousing. I posted some comments to their blog entry and will just dupe those here. Nothing like quoting yourself anyway right?
My comments:
Excellent write up. Thank you. This is almost exactly what I advocate day after day regarding planning for scalability. I like that you’d put a bit of a framework around it.
Personally, I treat scalability concerns the same as any other “feature” in a project in a Agile Development context. It’s brought up and discussed briefly in scrums, possibly handled in a follow up meeting, and then either put on the backlog to be prioritized w/ everything else or worked on next if necessary.
It’s often very, very difficult to get some teams to think pro-actively about scalability AND agree to table it for later. I think this is because sometimes when you have these discussions people realize that they need to “fix” something and can’t really help themselves.
Of course, these days with cloud computing gaining so much traction and resources being available on-demand more than ever at a moments notice it’s getting easier. But, if you don’t architect for scalability at the outset you may find when you get the implementation and deployment phases that it’s impossible to do what needs to be done. But, that’s a whole other topic I suppose.
Cheers!