Business Analyst in Agile Methodology

Erstellt von Harish V am 05. Jan 2015

“What is Agile?”

Agile software development is a group of software development methods based on iterative and incremental development, in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen tight iterations throughout the development cycle.

“Who is a business analyst?”

The IIBA defines a business analyst as someone who practices business analysis techniques. “Someone who speaks both the business language as well as the technical language. Someone who knows the business well enough to argue with them. Someone who understands technology well enough to know what the developers need, and finally someone will need to be skilled in the business analysis tools to take the ‘vague and fluffy’ statements of the business, and turn them into the precision needed by the developer.” This is not a simple role. You need to have a strong knowledge of technology, and have business analysis skills. Some business domains are less demanding and it is possible to learn the domain “on the job”. Other domains demand you know your business knowledge before you start.

A „Business Analyst“ (BA) is a role that can mean different things to different people. The most important responsibilities of a business analysts are as a communication link between the stakeholders and the team. As the vital link between a firm’s information technology capabilities and its business objectives, skilled business analysts contribute to the profitability of companies large and small, in most every industry.

“The role of a Business Analyst in Agile teams”

The significant differences in Agile compared to traditional approaches are:

  • People no longer operate with clearly defined responsibilities. The project took collective responsibility rather than individuals. The business analyst needs to extract knowledge from the whole project rather than being a Subject Matter Expert.
  • Agile developers want to work more closely with the business. The developers needed to speak directly to the business, and to do that they needed detailed business knowledge. The business needed a better understanding on how to work with the development team.
  • Knowledge needs to be in the heads of project members rather than in documents.

In order to address these issues, the Agile Business Analyst needs skills to facilitate collaboration. They need to know how to generate examples rather than models. They need knowledge transfer skills so that they can help the business and developers learn the skills they require.

Agile requires that the BA produce requirements faster by analyzing through observation or trial-and-error instead of attempting to find out all the facts before development begins. Lengthy Business Requirement Documents are not required; the level of detail is different. Less has become more.

As BAs in agile teams, one must be prepared to:

  1. Produce and explore requirements in collaboration with users, at a different level of detail than the traditional way.
  2. Identify missing requirements.
  3. Work with users to develop acceptance criteria or test cases for the system.
  4. Mentor developers on how things work in the business domain.
  5. Assume the role of “Product Owners”.
  6. Work ahead of the team to get clarity on some (not all) requirements before the next iteration.
  7. Stand-in for users only when they’re unavailable (as opposed to being the “permanent“ bridge between developers and users).
  8. Wear different hats: designer, tester, facilitator, product owner, etc.
  9. Create a shared understanding of the deliverable project.

Many believe that the role of a Business Analyst has been threatened by agile methodology. But actually, it’s the nature of the game that has changed in terms of BA’s relevance in Agile Software Development projects in which they are still players. On the one side, the more people playing “telephone” between the ultimate source of business need and the programmer, the more distortion introduced into the message received by the programmer. On the other side, most businesses are so complex, and the shared time and vocabulary between the programmer and the ultimate source of business need are so sparse, that an intermediary is needed. The early attempts at agile development tried to do away with the business analyst, but more recent variations are finding good use for someone with deep business knowledge, who has time to spend talking with the programmers.

As Agile/Scrum principles and practices transition beyond software development and into the organization’s general operations, the Business Analysts who have been involved in agile projects can assist the organization in its transformation.

The three tricks involved are:

  • Learn to slice business requests into smaller requests that can be developed and delivered in smaller time units, and built up to create fully interesting business initiatives.
  • Learn to connect the development team more closely to the ultimate sources of business needs (often the business executives, the clients, or the system users on the client premises); and learn to connect the non-programmer people inside the business more closely to the clients of the business.
  • Learn to involve the clients directly in the development of the business itself, helping to frame the initiatives of the business so that the clients eventually co-steer those initiatives.

In a typical organization, not all projects can be performed the „agile“ way. That is, not all technology projects involve specifying and building software from scratch. Software may be bought off-the-shelf or leased in which case, the contribution of business analysis in whatever form is critical. Organizational improvement does not always involve the use of technology. Projects can range from business process improvement, organizational reshuffling to outsourcing – all endeavors in which the role of the BA is critical.

“The value of a Business Analyst”

A good business analyst adds value in a number of ways. Some of them are:

  • Ensure that the project is developing those items of most value to the business.
  • Asks the business detailed questions so that they have time to find an answer. These questions will naturally occur during the development. However, waiting for the answer can block development or result in incorrect assumptions. This will allow development “Flow”.
  • Help the development team articulate a business case for paying down technical debt.

Agile approaches do not provide a description of many roles, because the emphasis on interaction makes the establishment of many roles unnecessary. This lack of defined roles provides the business analysts the best opportunity to broaden their horizons, from business and technical perspective. Business analysts work closely with the product owner to deliver the greatest value to stakeholders. In this process, they expand their knowledge of the field of business and get a new experience in solving business issues. In addition, business analysts work closely with members of his team, improving their analytical skills and learn new skills, such as testing. These features make analysts look beyond the role, along with members of his team to deliver value to customers and improve their value in the organization. In short, the role of Business Analysts have changed in agile methodology but the BA’s play an indispensable role in an agile project.

 

Schreibe einen Kommentar

Kontaktieren Sie uns!
Nach oben scrollen