What does your BA-Developer relationship look like?
What makes the good business analysts the best at what they do? Based on my Yes, developers and stakeholders like cookies. But good business analysts don't rely on bribes to build and sustain positive relationships. They use active. Business analyst help guide businesses in improving processes, to developers and then moving on to another software development project. The relationship that I will be focusing on, however, is the relationship with the developer(s). Solid business analyst-developer relationships are.
Most developers would appreciate if the BA partnered with the QA team to identify defects or misinterpreted requirements earlier in the process during QA as it would lead to far less rework during User Acceptance Testing UAT. In addition, when fewer defects and requirements changes are identified by the end users in UAT, the business analyst and technical team appear more competent.
When defects are presented to developers further down the line, they may forget the rationale of why they coded something a certain way or what the overall objective was all together, so early defect identification can make a big difference. As a BA, going above and beyond from a development perspective often requires being more technical.
This means being familiar with systems and data structures within the organizations, providing input during design sessions and reviewing design documentation. These can be especially critical to ensuring that the designs are aligned with the requirements that have been specified.
Anticipate developer questions A developer friendly habit in the business analysis process is to anticipate the types of questions a developer or anyone on the technical team would ask. If we as business analysts considered the more technical questions during the elicitation processes, it will eliminate some of the back and forth down the line.
One way to approach this is to take notes of questions and concerns that are presented by members of the technical team during requirements reviews or workshops.
Business Analysts versus the Developers
Keep a running list of all of the questions and try to determine if there are any trends with the types of queries that are raised. Continuously refer back to these trends so that you can account for them in future elicitations efforts. This tactic will lead to richer more comprehensive elicitation results. Another approach is to refer back to the Lessons Learned documentation from previous projects to extract any valuable developer concerns that may need to be addressed for future requirements elicitation.
Understand how developers work Understanding how the developers in your organization complete their work will significantly improve development efficiency. One of the key elements the business analyst should understand is the software development and tracking tools that are used in the development space. When defining the requirements architecture, knowing how developers are assigned work and how feature development is tracked can prove invaluable when communicating, maintaining and tracing requirements.
It would be largely beneficial to create a requirements viewpoint that directly aligns with the existing development workflow. A comprehensive requirements management tool that directly integrates with software development and tracking tools used by the development team would be ideal, though it seems to be a rare feature in many organizations.
- What does your BA-Developer relationship look like?
- The relationship between Product Owner, Business Analyst and Tester
Another key point to understand is how developers perform unit testing, peer reviews and handle defects that are reported. A general understanding of this workflow will help BAs set fair and realistic expectations around the development process.
In addition, if the BA is familiar with and has access to the tools used for these tasks, it may be possible to keep track of the development progress without having to constantly prompt the developer for status updates. This will allow the developer to focus on more critical matters. Know the person behind the code One of the simplest ways to nurture a relationship is to get to know someone personally. In many cases, developers have unique personalities and it can often be a challenge to understand their way of thinking.
Getting to know developers personally will help break down many of the barriers that often cause harm to the work environment. Simple things such as going to lunch or coffee with developers can easily uncover common interests that can enhance your work relationship.
Because of the technical nature of the developer role, it can be easy to treat them like a machine and forget the personal aspects of the relationship.
So, nurturing your personal relationship with developers can go a long way! In conclusion Above are some tactics to help business analysts get more engaged with developers and improve the business analyst-developer relationship. BAs must provide adequate support to developers by capturing the details that will allow them to move forward. Furthermore, BAs should be prepared to anticipate the more technical questions and elicit requirements accordingly.
The willingness to understand the development workflow and develop personal relationships with developers will serve the BA greatly. Strong relationships with developers will not only improve project implementation, but it will also lead to increased customer satisfaction and make your job as a business analyst much more enjoyable. BAs who do not have good relationships with developers or the technical team can expect resistance, miscommunication, and a lot of rework.
Defining the scope of features During the initial phase, a Business Analyst BA communicates with the stakeholders or product owners. Together, they discuss the objectives of their business and identify the scope of features and processes that can be automated. Interpretation of business needs One of the key responsibilities of an Analyst is explaining business needs to developers. This process usually spans across the inception phase and lasts throughout the development lifecycle.
Discussions and meetings may take a fair amount of time, so it is wise to delegate the requirements clarification to the BA.
Interpretation of technical aspects Along with interpreting business needs to the team a BA translates the technical language, that stems from developer suggestions and questions, to the stakeholders.
For instance, why they chose one approach over another when creating an application, or how a new change can influence the project timeframes.
Creating documentation After the initial scope of features is confirmed with stakeholders, a BA can set about creating detailed requirements with user stories and wireframes that can be estimated by developers.
On the basis of these requirements and other documents, the team can create a Development Plan selected technologies, stages of development, and time frames. Testing In the course of project development, a BA can check and validate the correctness of work of all implemented features. While the implementation is in its final stage, the BA can often be engaged in User Acceptance Testing writing and performance.
Representing stakeholders The role of a BA is especially important when a client and programmers are not able to communicate often. A Business Analyst that works with one team for some time can build trustful and respectful relationships with the developers. They can quickly clarify some questions, advise on better solutions, or brainstorm new ideas.
Moreover, developers are not very eager to communicate directly with a client and prefer to address questions through the BA whom they work with and who can discuss all issues with the client, directly. A Business Analysis has no strict rules. There are a lot of techniques that help an Analyst to perform the job but, in reality, many BAs simply grow from former developers, QA Engineers, Product Managers, and other close specialists. Thus, a Business Analysis can be performed by: Business Analyst An Analyst, as a separate team member, can be a link between clients and an offshore team of developers.
As we outlined above, one of the reasons behind project challenges is the lack of communication with stakeholders, which often happens due to different time zones or difficult schedules of stakeholders. In the event of any questions, developers should be able to immediately clarify them with a person able to answer and, usually, a BA is the first point of contact in these cases.
Team In different IT companies, the processes of gathering requirements and managing projects are organized differently. The duties of a BA can be either performed by one person or distributed among team members, including Sales Managers who participate in the initial communication with a clientTeam Leaders responsible for technologies, estimation, and overall project controlProject Managers who control and prioritize the development processProduct Managers who work on the creation of features and enhancementsand other team members involved in the discussions of a project.
Most often, one person truly leads the process, and this is usually a Project Manager. Before the development starts, the requirements have to be studied by the development team to escape any ambiguities and misunderstandings.
There are often cases when clients come with ready requirements but are not open to any developer initiatives or improvements, sometimes regarding developers as monkey coders.
What Role Does a Business Analysis Play in Web Development? - Greenice
Such attitude can lead to the lack of motivation from the team to come up with some progressive solutions, especially if they think they will be rejected anyway. Benefits of a Business Analysis What is the role of a Business Analysis for web development and what benefits you can elicit from it?
Increase efficiency Having a full picture of what should be done at the planning stage before development begins increases the chances that the estimated time frames will be observed.