Forums for the Business Analyst

 
  Modern Analyst Forums  Business and Sy...  Requirements  Eliciting Non-Functional (vs. business or functional) Requirements
Previous Previous
 
Next Next
New Post 5/13/2019 6:27 AM
User is offline S2Kap
1 posts
No Ranking


Eliciting Non-Functional (vs. business or functional) Requirements 

Colleagues!

 

As a Business Analyst “of a certain age”, I have tremendous experience eliciting requirements, primarily of the business and functional variety. I have those BA responsibilities – figuring out the “what” and the “how” - pretty much down pat.

 

I just took a job where my focus will be on non-functional requirements: the “how good”. The company created this position because they felt they’d been neglecting these types of requirements and I must admit that, although I haven’t exactly neglected them over my career, they’ve been a kind of afterthought, definitely not given the same level of attention as business or functional requirements.

 

So, my question: is there an effective methodology, or heuristic, or both, that you use to gather non-functional requirements (which would be different from that used to gather other types of requirements)?

 

Asking business users to specify non-functional criteria has always seemed problematic:

-  How fast do you need the system to be?

-  Super fast!

 

- How reliable does it have to be?

- 100% reliable!

 

Why would a user ask for anything less? Rather than trying to elicit these requirements from end-users, I'm thinking maybe it makes more sense to take the functional requirements to the Development team to baseline them and come back to the business with recommendations rather than questions.

 

Has anyone used this approach? If so, does it work? If not, what approach have you found works best?

 

Any and all feedback appreciated! Thanks,

 

Stew

 

 
New Post 5/19/2019 2:38 AM
User is offline Krishna 02
2 posts
No Ranking


Re: Eliciting Non-Functional (vs. business or functional) Requirements 

Hi Stew,

You have asked a relevant question. Agree that mostly as a BA we focus more on functional requirements and non functional ones are either an after-thought or come up during UAT etc.

I work with Treasury systems and for us non functional requirements are mainly about Performance (Response time) and Usability.

For Performance metrics - checking with Dev team and making a recommendation to Users - sounds like a good idea. Would only add that, maybe we can also put ourselves in the shoes of a Functional user or talk to an actual user who is practical :-) and come up with independent expectation. Then we could sync up and finalise a good metric to achieve.

For Usability - i think the Agile model is a good solution. With smaller releases and regular involvement from BA / Product Owner / User in reviewing the System, usability issues can be effectively addressed. In a way, the Agile cycle could help fine tuning Performance requirements as well.

Thanks and Best regards

Krishna

 
New Post 6/4/2019 10:37 AM
User is offline Gildas
2 posts
No Ranking


Re: Eliciting Non-Functional (vs. business or functional) Requirements 

Hi Stew.

I suggest you the Quality Attributes Workshop (QAW) from the SEI.

Regards,

Gildas 

 
New Post 6/6/2019 2:45 AM
User is offline Stewart F
61 posts
8th Level Poster


Re: Eliciting Non-Functional (vs. business or functional) Requirements 

Hi S2Kap,

A tip for you and everyone else working with non-functional requirements - don't ask the Business "What speed do you want the system?", ask the question the other way around "What is the minimum speed that is acceptable?"

The reason for this is that most companies with have lots of different applications, data requests and other processes, which impact on a Servers’ ability to perform at 100%. The reality is, no server or system will ever act at 100% all the time or indeed at any stage during the day. 

Therefore, ask yourself this: Are there sub-processes (for example web page refreshes) that are time dependent?

For example, I am a Customer of your company and I am trying to buy your product online, If your product purchase webpage takes 5 minutes to update itself when I have just entered my address that I want the product shipped to, this is clearly too long and I am likely, as a customer, to have left your webpage and gone to a competitor. 

Therefore, your non-functional requirement for that web page is "The Web page must refresh when data is entered within 3 seconds. This must be achieved 97% of the time when in a Live Production environment."

In this requirement, I have stated that the minimum time for refresh of the web page is 3 seconds. The Dev team (and also the Infrastructure team if they are different) need to ensure that requirement is met. 

I have also added how often I need that time limit to be met. Now I could say 100% of the time, but reality is, there will always be times when that can’t happen.

For example, if your company is doing maintenance to your web page, your target will not be met. You may also know that your product is a peak driven purchase product - an example of this would be if you sold concert tickets, you know that when a big act's tickets first go on sale, there is going to be a big peak demand for those tickets. Therefore, you need to ensure that your product webpage is able to cope with this peak demand. This is a key non-functional requirement, and for it, you would have to state a minimum capability. 

In my example requirement, I have said 97% of the time. To obtain this figure you need to talk to the people who will have an impact on that happening. Now this will vary from company to company, but the likely candidates that you will need to talk to are the Infrastructure Manager, The Lead Dev and possibly the Head of Operations. Why? For these reasons:

Infrastructure Manager: Will be responsible for ensuring that the current set up of servers etc in your company can handle your request. They will also have an idea of how often outages are likely/known to occur. Outages include scheduled maintenance, emergency maintenance and also peak server demands. He may well tell you that 97% is not achievable. In which case you need to get him to commit to a figure and then tell your stakeholders, to see if this is acceptable. This is not un-common.

Lead Dev: The lead Dev in your project will know ways to reduce the impact of drags (the availability of server responses). These are often quite easy, but strangely, people tend to forget to ask them to be factored into a build of a new application or webpage. Make sure you do, the affects might surprise you.

Head Of Operations: I have included this role because they will know your Business peak times and therefore the peak times on system availability and response, better than anyone else. Factor this in and also ask them if they have any specific needs to add to this requirement. They may well do. 


 
New Post 10/16/2019 11:22 AM
User is offline pichaty
2 posts
No Ranking


Re: Eliciting Non-Functional (vs. business or functional) Requirements 

So, my question: is there an effective methodology, or heuristic, or both, that you use to gather non-functional requirements (which would be different from that used to gather other types of requirements)?


 
Previous Previous
 
Next Next
  Modern Analyst Forums  Business and Sy...  Requirements  Eliciting Non-Functional (vs. business or functional) Requirements

Community Blog - Latest Posts

Digvijaybook
Digvijaybook
Analytics is the future of the business industry. Businesses and organizations today run on data and its interpretation. Its correct evaluation is the fundamental key to success. And business analysts are the guides to it. It is a very prosperous industry and has a lot of potential for talented people. To even qualify, you require more than just...
1 Responses
Samuel02
Samuel02
With the advent of modern-day cloud infrastructure, many business-critical applications like databases, ERPs, Marketing applications have all moved to the cloud. With this, most of the business-critical data now reside in the cloud. Now that all the business data resides on the cloud, companies need a data warehouse that can seamlessly store the da...
0 Responses
BPM_online
BPM_online
Bpm'online, a global business software company leading in the space of low-code, process automation, and CRM, will be soon announcing their new company name. The new name will be launched in the sky via a breathtaking skydiving performance involving 160 bpm’online employees, including the CEO. The new name of bpm’online is to be fo...
0 Responses




Latest Articles

Copyright 2006-2019 by Modern Analyst Media LLC