A non-functional requirement (NFR) describes a feature or trait that defines a system’s state of being.
- expressed in the form of “system shall be <requirement>”, an overall property of the system as a whole or of a particular aspect and not a specific function
- Called “quality attributes”, “qualities”, “quality goals”, “quality of service requirements”, “constraints”, “non-behavior requirements”, “technical requirements”
- Can be categorized as either
- execution qualities (safety, security, usability) which are observable during operations (at run time)
- evolution qualities (testability, maintainability, scalability) which are embodied in the static structure of the system
It is important to understand various types of NFRs, if they apply to your specific project and what questions can be used to help elicit and define non-functional requirements.
Different teams will group NFRs into different categories based on what they are producing, what they are familiar with, etc. Some groupings today are:
- FURPS – Functionality, Usability, Reliability, Performance, Supportability
- RASUL – Reliability, Availability, Servicability, Usability, Installability
- IIBA Supports – Reliability, Performance, Efficiency, Operability, Security, Compatibility, Maintainability, Transferability
I will be covering a number of NFRs to help you understand each of them and provide questions you should be asking and example statements in future posts.
MOST Analysis is performed during strategic analysis to evaluate an organisations overall strategy, the supporting activities and whether they are all in alignment.
These are the four tiers in MOST Analysis:
- Mission: defines what business the organisation is in and what it is intending to achieve
- Objectives: key goals against which the organisations achievement can be measured
- Strategy: the medium to long-term approach chosen to achieve organisational objectives
- Tactics: the short-term, operational plans and projects that will implement the strategy
With this understanding of the current internal environment, the MOST Analysis technique analyse an organisation from its business strategy through to the way in it is setting about tactically achieving it.
Now, let’s explain each of the factors with their purposes.
Mission: This is the most critical factor for an organization which defines its purpose and the goals it wants to achieve in the future. If the mission is specific, then it is easier to analyze and measure the remaining factors.
Objectives: We can consider objectives as a collection of goals which as an accumulated result in the mission of the organization. Moreover, Objectives must be S.M.A.R.T –
- S- Specific
Strategy: This is the steps or actions that an organization takes to achieve the objectives and finally to accomplish the mission. A strategy is a group of tactics.
Tactics: These are the discrete and straightforward methods which an organization follows to carry out the strategies.
The strategic analysis technique called PESTLE evaluates external factors that could impact business performance. The acronym stands for six elements affecting business: political, economic, technological, environmental, legal, and sociological.
PESTLE analysis assesses the possible factors within each category, as well as their potential impact, duration of effect, type of impact (i.e., negative or positive), and level of importance.
This type of business analysis helps stakeholders manage risk, strategically plan and review business goals and performance, and potentially gain an advantage over competitors.
As citizen developers we will probably not be too involved at this level of analysis for most projects but it never hurts to understand how all these areas affect what the business is asking to be done.
This information is provided from the following resources:
This deceptively simple technique can help you uncover a whole host of information and help you get at the actual problem the business is needing to be addressed. The process is simple to use. You simply ask why to every statement the business stakeholder is making regarding the issue at hand. Although the name is ‘5 whys’ it may take you less than 5 or many more than 5 to get at the heart of the problem.
When to Use a 5 Whys Analysis
This technique can be used for troubleshooting, quality improvement, and problem solving, but it is most effective when used to resolve simple or moderately difficult problems. If your problem is complex, this may not be the best technique to use because it does take you down a single or limited number of paths when you may need to consider multiple areas to solve the problem.
5 Whys does, however, partner well with other analysis techniques and is often used at the beginning of the analysis journey to help focus on where additional deep dives are needed.
Analysis is the practice of enabling change in an organizational context, by defining needs and recommending solutions that deliver value to stakeholders. Analysis can be strategic or tactical in nature. Strategic analysis is focused on the big picture while tactical analysis is focused on solving a specific problem or opportunity.
In this post we will be touch upon a variety of analysis techniques to help us understand what the need or problem is so that we can then determine the best way to solve it. What is listed is by no means all possible analysis techniques but only those I have found useful in some way.
The foremost priority for any business analyst will be to try understanding following things
- Understand what business does and how it does
- Determine how to improve existing business processes
- Identify the steps or tasks to support the implementation of new features
- Design the new features to implement
- Analyze the impact of implementing new features
- Implement the new features
The mechanism to accomplishes these activities is through analysis techniques. These techniques can be grouped as either strategic or tactical. Below is a breakdown of the two categories. The techniques lists are by no means an exhaustive list.
Strategic Analysis defines opportunities, and develops business cases to initiate work. From an Agile point of view this level of analysis defines problems and opportunities in terms of themes and business epics. Performing business analysis at a strategic level requires a broad set of tools and techniques to ensure that work initiated from the defined business cases support the organization’s business goals and objectives.
This level of analysis really has nothing to do with software development so, as citizen developers, we are usually not involved in this level of analysis. Not being directly involved doesn’t mean we shouldn’t at least be aware of some of the techniques that can be used for this level of analysis.
Some of the most popular techniques are:
- Product Roadmaps
Tactical Business Analysis
The primary focus of tactical business analysis is to clarify the business epics or business cases that were defined through strategic business analysis. This form of analysis is to elicit stakeholder requirements based on the business case. In agile methodology the analyst decomposes business epics into features which are further decomposed into user stories. It is at this level of analysis the citizen developer is mostly involved.
Just as there are many ways to design a solution to a problem, there are many ways to learn about a problem. Different ways or techniques will provide you with a different way to see the problem. Sometimes it may take several techniques to understand the problem.
Some of the most popular techniques are:
- The 5 Whys
- Mind Mapping
- Business Process Modelling
- Entity Relationship Diagram
- Non-Functional Requirements Analysis
As a citizen developer I may be called upon to wear many hats – analyst, designer, developer, tester, trainer. Each hat requires its own set of skills and tools. In future posts we will explore each area in depth so you will have the tools you need to be a successful citizen developer.
When wearing this hat, citizen developers work closely with business
partners and stakeholders to understand what the business needs to meet its goals and support its vision. We also work closely with our technology partners in converting high level business initiatives into clear requirements that can be design, developed and implemented.
When wearing this hat, citizen developers help determine the shape of the solution that will be developed and implemented.
When wearing this hat, citizen developers along with technology partners develop the solution.
When wearing this hat, citizen developers test what has been
developed to be sure everything is working properly and meets the business’s needs.
When wearing this hat, citizen developers provide training to their users on all the standard and custom functionality available.