Friday, January 31, 2014

Thoughts on Software Requirements specs

After slogging through the 80+ pages of the Volere template plus the "example" specs created with the template, I have to say that I certainly have a greater appreciation for just how much detail you can put in a software/project requirement spec (now, whether all of it is relevant...well I guess that depends on what you're designing). The Volere template certainly seems to include everything you'd ever consider putting in a project specification, but, based on some of the sections and the examples (e.g. a universal remote), the template is for more than just software projects. It can obviously also be adapted to other large-scale systems (like the library-management example). I'm pondering whether the generality of the project template can impose some limitations on what you can actually do with it. When I went through it, I pulled out a few things from the project requirements section, but a lot of the information they wanted was not relevant to my project. Obviously, this is to be expected from a general template, but it also means that you have to search through all 80+ pages to find and pull out the pieces you are looking for. As someone who does not have much experience writing formal software specifications, I found the template to be somewhat confusing, especially when I tried to determine what exactly I needed for my project. To me, I think it would have been easier to start from something designed specifically for software requirements, such as maybe a more detailed spec based on something similar to the example in the Wikipedia article on Software Requirements specs, and work that into my project. I'd imagine that once I become more proficient at writing software specifications, I'll be able to more easily sift through a more generalized requirements spec like Volere, but right now, it is quite a daunting task!

No comments:

Post a Comment