With the latest trend towards “cloud computing”, it’s worth taking a moment to stop and think about how requirements practices change for cloud computing projects. Bill Flowers did just that here at RQNG.
My two cents on this topic is that in some cases, your requirements practices don’t change at all for a cloud computing project. For example, if you are doing a vendor selection project, you may not know if you are going to end up with a cloud solution or not when you do the bulk of your requirements elicitation. So really those projects practices shouldn’t look different.
And for all other projects, I’ll expand a bit on Bill’s comments. I think you use the same basic practices, but with a slightly different emphasis within your requirements models. For example, your system context diagrams, data flow diagrams (DFDs), and process flow models are even more important than ever.
System context diagrams are particularly important and help you upfront to understand the landscape of all systems touching the system you are deploying, and you should indicate which of those systems are in a cloud and which are not. With this diagram, you must then focus on what data is passed between systems – thus the need for strong DFDs – because someone will have to implement a solid design to pass that data. In addition, mapping out your process flows with swimlanes (most likely with systems as the lanes), indicating where you move from one system to another will help you identify those integration points where people or data move between systems. You have to think about things such as – when my user moves from one step to another in the process, do they now have to login to another system because it’s in the cloud outside our internal IT network? Does my data actually get passed so they can perform the next step on it?
So in the end, I think if you are working with a cloud solution, you most certainly can make use of your requirements best practices. I also think it’s a good idea to keep the solution in mind when you are eliciting requirements so you put appropriate emphasis on the right requirements models and consider constraints as you go – but I’d make that statement about any kind of solution, so it’s not really specific to cloud computing!