As we delve deeper into the business analysis knowledge series, we can’t help but wonder how business analysis fits in an agile development environment. If you’ve been following this series, you would remember we briefly mentioned the application of business analysis in an agile development environment in our first blog post – How Business Analysis can transform an idea into a remarkable software product.
We feel that there’s a need to thoroughly understand the role of a business analyst in agile development, or distributed agile development for that matter. And there are good reasons for that, e.g.:
1. The traditional software development methodologies have evolved to a large extent in recent years, and agile methodologies are preferred in order to shorten development cycles and minimize development costs.
2. More software development projects involve globally distributed teams than ever before, and the use of distributed agile model is the most ideal development methodology for such projects.
Owing to the scenarios mentioned above, the role of business analysts becomes more important in a distributed agile development model, mainly because this role is still evolving, similarly to the other roles such as developers, stakeholders, project managers, architects, or testers. And without the understanding of the role of business analysts in distributed agile development, project goals will be harder to achieve and adoption of new methodologies will be impossible to realize.
Let’s see how Business Analysts impact the product development based on distributed agile model.
What is Agile?
Before we proceed to understand the role of the Business Analyst in a distributed agile environment, let’s first get familiarized with the term ‘Agile’.
In agile software development, systems are built in increments; wherein requirements and solutions evolve through collaboration between cross-functional teams over a period of time. Thus, against the traditional software development life cycle (SDLC), Agile involves iterative steps.
What is Distributed Agile?
A distributed agile methodology will often be used in following scenarios when:
- Large software organizations are developing a complex software solution consisting of several different components which are being built separately at different locations.
- Software development is outsourced to developing countries. In this scenario, a small team works on-site with the business stakeholders.
Transition from Agile to Distributed Agile
The development of a solution using agile methodology from a single location was a limiting factor for competitiveness, growth, profitability and the need for offering localized solutions.
As a result, when the organizations expanded into new markets or offshored or outsourced their products or services, distributed development became a fact of life for them and “Distributed Agile Methodology” got introduced to meet the demands of next generation of software solutions.
Factors that prove the importance of Business Analysts in Distributed Agile Development
In this scenario, the role of the Business Analyst also changes and is faced with many new challenges. These are discussed below:
Communication (which includes requirements communication) is one of the major factors responsible for a project’s success. The client is provided with the “intended” solutions only when the communication is clear and is understood in the same way as intended by the one who communicates. In the order of preference, we can list the ways of communications as under:
- Face to face
- Video Conference
- Phone calls/voice conferences
- E-mail or other written forms of communication
In situations where the teams are in the same location, as in the case of Agile, the Business Analyst does not face any big challenge regarding communication because he can communicate the requirements (or any other information) face to face to his development team. As a result, miscommunications are minimal or non-existent.
But in the case of distributed Agile, the Business Analyst can’t communicate face to face with the development team. He has to use other means of communication such as video conferencing, phone calls, emails, etc.
As a result, there are greater chances of requirements being misunderstood or information getting distorted. Thus, the role of the Business Analyst here is to ensure that the best possible means of communication are used efficiently and effectively so as to ensure that the requirements are understood by everyone in a clear and concise manner. The analyst also has to cross the language and cultural barriers in case the team is composed of individuals belonging to different cultures who speak different languages.
Time Zone Differences
Another challenge that Business Analysts faces in distributed agile development is to accommodate the time differences and prevent them from impacting the requirements gathering process. Business Analysts have to take into account the time differences before committing anything to the client regarding requirements implementation, scheduling a team meeting or a client meeting or committing a feedback time, etc.
This is an important factor to ensure customer satisfaction, responsiveness to customer needs, and extensive coordination.
Remote coordination among geographically distributed stakeholders
Another important aspect of Business Analyst’s role is the documentation of requirements, taking into account the diverse perspectives of all stakeholders and building a consensus on them.
In the case of distributed Agile, business analysis becomes much more challenging because the stakeholders are not located at the same place but are distributed geographically. Building a consensus of stakeholders who are located at geographically different places is a difficult task.
The Business Analyst has to ensure that the viewpoints of all stakeholders are documented clearly and concisely. Whenever in doubt, the Business Analyst must call a video conference or a voice conference among all stakeholders so as to build a consensus.
Since the stakeholders are distributed geographically, the documentation work is bound to increase because of the frequent use of indirect means of communication, rather than face to face communication. The Business Analyst should be careful to ensure that such documentation should be concise, precise and optimum, as lengthy documents only add to the confusion. Therefore, this delicate balance has to be maintained by the Business Analyst.
Case in Point
We at Net solutions have adopted the distributed agile methodology in a number of projects. A case in point is the Front Rush athletic recruiting App that we developed for our US-based client. The app enables coaches to streamline and simplify their athlete recruitment process.
With an aim to make the Front Rush idea a reality, we preferred to go AGILE route by developing a POC (proof of concept) as part of strategy to test the product with the real customers.
All the challenges like communication, time difference, and the consensus among geographically distributed stakeholders (as mentioned above) were effectively tackled by our team which is reflected in the success of Front Rush both on desktop and mobile platforms.
With the development of global markets and corresponding expansion of size and businesses, more and more software companies are adopting agile methodologies. Their main aim is to reduce development cycles and become more responsive to changing customer expectations.Agile methodologies offer new ways to keeping pace with the rapidly changing economies, while challenging traditional software development practices and project management methodologies. In addition, agile gives opportunities to all project teams to enhance their skills and learn new ways of product development.
The business analysts today have to accept, recognize and meet agile development challenges. Their role has to adapt and evolve accordingly so as to tackle these challenges effectively and efficiently.