Question

This question is just out of interest, and perhaps could be useful for my thesis.

A web application, especially when your business is relying on it financially, needs to meet certain requirements in order to survive. I'd like to hear what kind of (software) quality attributes you find most important (name a few) regarding to web applications.

I give my share: performance (when visitors have to wait more than 2 seconds, 50% or more will leave your site, meaning less possible sales).

security , atleast be aware of OWASP

reliability, your web app must be able to handle faulty input, but also loads of them.

maintainability, in this world being able to change fast and adapt to your users need to increase sales is vital for survival.

Was it helpful?

Solution

This question is interesting and you have already mentioned interesting non-functional requirements (aka qualtities).

I think however that in the case of e-commerce website, the most critical qualities are the ones that impact the end user. My ranking would be the following:

  1. Security (and reliability). As a user, I want the system to be secure so that I am confident using it. But security is not visible as-is, and need to be reflected in the usability. If there is an outage, the best to regain confidence of the customer is IMO to be transparent with what happened.
  2. Usability. As a user, I want the feel at ease with the system. I don't need something fancy, but something usable, which provide the feature that make me feel comfortable with it. Usability also relate to the overall impression of security, e.g. the email that I receive to confirm a registration can give me a better or worse impression of the system, or the the way my credit card is shown (usually only the last digit), etc. all these usability details can increase my trust in the system.
  3. Availability. As a user, if the site is down or there are instability I get a really bad impression. Make sure you can degrade the quality of service and at least have a nice page indicating scheduled maintenance or service saturation.
  4. Performance (and response time). Performance would come only then. I don't want to have to wait excessively, but as long as I get a feedback about what's going on, I can wait a bit.

The other qualities are important for the company powering the e-commerce website. But you could ultimately be successful even without them. My ranking would be the following:

  1. Scalability. Retro-fitting scalability afterward is hard. It's then important to have an architecture that can scale if the business is going well. Would be too bad to miss a business opportunity because of a poor architecture.
  2. Robustness. Your system need to be robust if you don't want that your hotline gets overwhelmed by angry customer calls. 24/7 support can generate important costs.
  3. Operability (and manageability). It can be expensive to keep a system up and running if it requires lots of administrative maintenance. It's then interesting to keep the administration costs down.
  4. Maintainability. Of course nice to have to keep the development cost downs in face of changing requirements.

EDIT: I just bumped on this other answer which showed the importance of low response time. So it's indeed a very important factor. Whether it's more important than security, usability and availability I don't know. The point is that we can measure performance easily, which is harder for usability and security. I would be interested to know how many customers are lost each time a popular website suffer a downtime though.

OTHER TIPS

Would like to add one more thing to above answers

SHARING OPTIONS : As everyone knows nowadays every site has a sharing option to particular social networking sites like Twitter,Facebook.It would be good for the provider to add such an option to the site which would help the user to share which would be helpful for some people

Postives- People follow up soon on networking sites,would be good marketing strategy too.

Usability The information related to products should be easily found. The user navigation should be very friendly i.e. user need not go to series of pages for finding information.

Performance requirements: In the current world of competition, it is a mandatory that your web store responds quickly to user requests. Ideally no user would be interested to wait for more than 04 to 05 seconds for pages to load and get the information. Your site should serve the usable content within this period. Also Keeping in mind about the mobile shopping, it has to be considered that your site gives the full access to the mobile users and they be able to complete the shopping. Page load time here is very crucial and you have to make the mobile pages load faster.

Maintainability Requirements: With the advent of fast changing technology, your site should be able to provide good features and scalability of the application. The architecture should be flexible enough to handle most of the future needs without much of changes at root level.

Safety Requirements: Where there is money involved, safety is of prime importance. Implementing secure socket layer (SSL) for the monetary transactions is one of such step.You can also publish safety related data on your website, the privacy policy etc.

Reliability Requirements: Your application should be able to effectively handle lots of faulty data coming either purposefully or accidently entered. Also ensure that the web site has very low downtime.

Compliance/Statutory Requirements: It is always to advantage if your website has met some compliance standards e.g. PCI compliant etc.. It will imbibe confidence in the website user about the transactions on website.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top