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 5: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 1: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 9: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 1:45 AM
User is offline Stewart F
26 posts
9th 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. 


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

Community Blog - Latest Posts

Dan Tasker
Dan Tasker
  In Part 1 of this series it was stated that the overall objective of these articles is to improve the quality of requirements produced by business analysts. Following the adage that “Context is Everything” it established that a number of different contexts...
4 Responses
Alice Bolingeryn
Alice Bolingeryn
Clearly, the most important step in getting a job is being selected for an interview, and a key part in that process is having a resume that stands out from others.   For many people, creating a good enough resume is an obstacle in achieving this, and so one way to address this problem may be to get a professional to create one for you. J...
0 Responses
Arash
Arash
It may sound routine, but the importance of operational decisions cannot be underestimated. After all, not a day goes by without even the smallest business making dozens, if not hundreds of operational decisions that may affect the bottom line. Elevate these to large scale companies and we are talking thousands, if not millions of actions that impa...
0 Responses




Latest Articles

Three Modes of Business Analysis Consulting
Jun 16, 2019
0 Comments
A business analysis consultant might perform three types of roles when working with clients: expert, pair-of-hands, and collaborator. Each of these re...
Copyright 2006-2019 by Modern Analyst Media LLC