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
3 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
119 posts
7th 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

Business Impact Analysis(BIA): Assessing the Potential Impact of a Cybersecurity Incident on Business Operations
In today’s highly interconnected society, businesses depend on technology even more than before. While offering opportunities for innovation and creativity, businesses are exposed to various cybersecurity threats that can disrupt operations, damage reputation, and result in substantial financial losses. It is crucial to carry out a comprehens...
In today's ever-evolving market, businesses must adapt swiftly to remain competitive and meet the needs of a fast-paced digital economy. Among the various business strategies available, digital transformation, customer-centricity, and sustainability have emerged as top priorities. Let’s explore why these strategies are critical for busine...
The Cisco Certified Network Associate (CCNA) certification is a pivotal credential for networking professionals, validating your skills in networking fundamentals, security, automation, and programmability. Preparing for the CCNA exam can be challenging, but with the right strategy, resources, and mindset, you can successfully achieve this certific...

 



Upcoming Live Webinars




 

Copyright 2006-2024 by Modern Analyst Media LLC