The business analyst profession is expected to grow by 14% from 2020 to 2030, and with a median pay of $87,660 according to the U.S. Bureau of Labor Statistics, the discipline has a strong future1.
Software business analysts in particular will become even more important as the tech industry continues to grow.
In a sentence, software business analysts are responsible for assessing processes and requirements using information they gather from business & technical departments in order to improve the quality of software their company produces.
They are different from traditional business analysts because they specialize in the business metrics and technical knowledge in software companies, as opposed to general IT services and hardware companies.
To learn more about becoming a business analyst, sign up for a chance to get our Intro to Business Analysis handbook below.
What role does a Business Analyst have in Software Development?
A business analyst is a member of the product development team who analyzes the company’s business domain, documents its processes, outlines development requirements, and creates plans to develop software that solves customer’s problems.
What does a software business analyst do?
We can generally separate the work of a business analyst into two categories:
- The first is process analysis.
- The second is requirement gathering and communication between IT and business departments.
Process analysis
Process analysis is, in simple terms, trying to find inefficiencies in the way a company, department, team, or even individual employee carries out its/his/her work. It seems like a silly role because it’s the people working those roles that should know the inefficiencies best, right?
The challenge is that we sometimes get stuck in habit and forget that improving processes is a possibility. In addition, we can fear the hierarchy and challenging it. A business analyst approaches every structure with fresh eyes. And since he/she is supposed to makes changes, hierarchy is no limitation.
What’s important to remember about software business analysts is that they specialize in skills specific to software companies.
Example
For example, imagine an IT department with three agile (more to come on agile in other posts) development teams. One of those teams consistently underperforms the other two.
A software business analyst needs to approach the situation with open eyes. Management has told her to find the weak team member to replace. She decides to talk to all team members and ask about their relationships and software usage. One developer in particular is missing a key API connection that would otherwise automatically upload his software to a common database.
Only nobody realized the connection was missing because the developer would manually enter, two times over, his code into the central database. This delay in delivery was actually common to 3 other team members. Collectively, their lack of access was responsible for the delay.
Situations like this are more common than we would like to admit in the IT industry, which is one reason why we need business analysts, and even more so specialized software business analysts.
Requirement gathering and communication
Requirement gathering and communication is the exercise of speaking with business, technology, and customers to gather expected requirements and analyze them. This analysis should lead to refined recommendations about what the product or functionality must really be able to do, as our initial expectations often miscalculate real need.
As with process analysis, wherein the business analyst’s work concerns existing processes, requirement gathering and analysis is a process that concerns future products. And more so than process analysis, it requires managing expectations.
A business analyst will try to examine what all of the stakeholders expect to gain from a new functionality or product. They will then run their own analysis, on a case-by-case basis, and document the requirements they believe necessary. A software business analyst has to focus more closely on software elements.
Managing expectations in a software company is difficult because each stakeholder has a different level of knowledge and understanding. For example, imagine an image-editing company (we’ll call it ImageCo) that wants to build a new browser-based program.
Example
The management team wants users to be able to take pictures on multiple mobile devices from a central page on their computer, which becomes a requirement. You, as a BA, think that this sounds quite innovative. You go to a development team with the idea to discuss.
They tell you its impossible because there is no technology to connect browser to mobile with access to a camera.
This is the critical moment for a business analyst. A lot rides on this initial contact moment with different teams. While you want to be a very good listener, you also need to know how to ask the right questions. Good questions push back on teams that may have other reasons for not wanting to develop the functionality.
That’s why a software business analyst must have working knowledge of technologies. In this particular situation, a good software BA might ask how other companies have connected browsers to devices. And in doing so, the developer will either specify why other companies are different from ImageCo, or he will concede that there must be a way.
So, a software business analyst analyzes processes and asks good questions in order to gather requirements.
Software business analyst job description
A typical software business analyst job description lays out the need for analytic skills and familiarity with IT technologies. They often include generic tasks such as:
- analyze business structure and its use of technology
- find inefficiencies in a company, often using data analysis
- talk to senior people to learn their strategic vision
- show way in which the business can improve
- persuade stakeholders to integrate technologies that would improve operations
- implement new technologies when approved
- run workshops and training sessions
That said, these technologies vary based on the company. If you have a specific company in mind, try looking for software BA positions they have had open in the past.
Role in development lifecycle
In the context of a job description, it’s useful to discuss how software business analysts bring value to those around them. A quick-and-dirty summary is that BAs act as translators between business and technical teams.
A video has been circulating about how BAs fit into the development lifecycle in which a client or management tells the business analyst what he/she wants, which is represented by drawing a circle on a piece of paper against the BA’s back. The BA then “communicates” the circle requirement to programmers. The programmer then draws it on a table.
You see where this is going. What was originally a circle became some other shape entirely.
Software business analyst skills
A large portion of software BA skills are similar to core BA skills. Soft skills include
- communication,
- perceptiveness,
- question-asking,
- data fundamentals, and
- managing up.
These intangible skills will make or break a BAs ability to integrate into a company, but they are by no means comprehensive. They only tell half of the story.
At the same time, BAs need a certain degree of hard skills in data analytics skills in order to identify inefficiencies, as well as software and computer fluency skills. Documentation is also a skill for BAs to master.
In short, software business analyst skills are in-depth versions of all normal BA skills. The explanation for this relationship is in the value chain. Traditional business analysts roles started arriving in the late 1980s, at which point companies began to see the value in BAs. Employers wanted that same value at a deeper level of technology, thus the arrival of software business analysts.
Though we refer to specific skills, you should not assume that these are mandatory. In fact, many can be learned on the job. Some of the few skills you should know beforehand, for your own sake, are:
- Intermediary excel
- Basic statistics
- Basic knowledge of databases
Software business analyst salaries
According to PayScale.com, the average software business analyst makes $75,559 in the United States. The lower limit is $52,000 while the upper limit is $100,000, and bonuses typically remain small since its difficult to link business analyst work to results.2
According to Glassdoor.com, the average salary is $68,346 in the United States. It does not specify upper and lower limits, but carries a decidedly more optimistic view of additional cash compensation (bonus). The range for these is $1,447 – $15,262, where $5,395 is the average.3
Software business analysts tools
Software business analysts depend heavily on Excel in order to understand the data that they must manage. When it comes to data analysis, they will often use SQL to access data warehouses, as well as Python or R to perform statistical analysis.
Excel is a generalized tool that can be used to document semantic and numeric information, so it’s highly useful for the business analyst role, which needs a quick solution.
However, software production often necessitates the use of large amounts of data. Since Excel tends to slow down quickly and essentially implodes at 1,048,576 rows and 16,384 columns, you need to store huge databases in programs like Amazon Redshift or Microsoft Access.
While normal business analysts do not need to be familiar with the data warehouse technologies, software business analysts should develop their knowledge of them. In fact, some companies even have positions for database analysts. You can learn more about them at AnalystAnswers.com.
That said, anyone working in data should have basic knowledge in SQL, which is the coding language that allows analysts to extract data from the warehouses (via queries). But don’t worry, it’s designed to be easy to understand.
The languages R and Python help software business analysts discover and uncover insights about the data extracted with SQL. These take a but more time to learn to use, but they’re indispensable tools to the software business analyst.
For documentation purposes, software business analysts use collaboration software such as Confluence and ticketing interfaces like JIRA.