ifacethoughts

Standards As Requirements

One of the challenging tasks of software development is identifying the right requirements. Though there are many established techniques and practices for eliciting and gathering requirements, I have seen that every professional has his/her own way of doing it. And like estimation, it is not science, soft skills and cognitive thinking contribute a lot of the effectiveness. When I am involved in one of these discussions, I try to look at standards and best practices as requirements. Of course, this can put additional load, but it helps a lot, especially if you are developing an industry-wide product.

A note – I am loosely tying the word standards to the group of established standards, laws and best practices.

Standards Are Implicit Requirements

Whenever I have mentioned this, I have first received a negative reaction. So let me illustrate what I mean by using standards as requirements.

If I am developing a web site, something as simple as a blog, the usual suspects are ability to add/manage posts, categorize them, syndicate and probably through a WYSIWYG editor. And of course these are needs of the domain of blogging and are extremely important. But there are some requirements which do not figure in the documents, like the blog should carry valid (X)HTML code, or that the text should be readable, or that the content should be syndicated using standard protocols. They seem very obvious, but they never explicitly figure in the list or in the evaluations.

There can be many more considered. In fact you will find a mesh of standards, if you consider an enterprise application like ERP.

Evaluate Standards

There are various types of standards that you might need to consider. There are industry wide vendor neutral standards, vendor specific standards, technical standards, laws of the land and sometimes standards specific to your customer.

I qualified standards as guidelines instead of rules because it is important to evaluate them and study their applicability to the problem at hand. Standards for namesake do not provide any benefit, they can in fact turn out to be an overhead. Though many standards can overlap across problems, every single problem is unique by itself, and its users might benefit differently from the standards. For example, if you are developing an application for a closed group of users you can choose to apply accessibility as per the need. Standards should be subject to cost-benefit analysis, just like every other requirement. However, it is extremely important that you understand benefits of using and dangers of ignoring the standards well enough to take the decision.

Standards benefit the users, and so indirectly benefit makers and owners of the software. Considering the standards can give you a ready-made set of requirements, which can make your product ready for the industry and interoperable with other tools in the industry.

Discussion [Participate or Link]

  1. Christina Cramer said:

    I like your thoughts about standards as requirements.
    do you by any chance know if there is scientific research about this topic?

  2. On IT Project Failures | iface thoughts said:

    […] aspects, which can help us articulate our problem – standards. Standards can help us realize the unsaid requirements, which usually raise their head later, and can be significant enough to double your […]

  3. Andrea Hill said:

    I think standards are a great example of something that should be in the requirements. They’re testable and make sense from a QA perspective. Often I think people push back on such things just because “it’s harder that way”.

Say your thought!

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.

freshthoughts

contactme

Abhijit Nadgouda
iface Consulting
India
+91 9819820312
My bookmarks

badgesand...

This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.