Skip to main content
  1. Agile Business Analysis/

What is Agile Software Development? | Role of BA in Agile Environment

·840 words·4 mins·
Agile
Table of Contents

Software Development could be overwhelming and increasingly complex if a project team does not follow the right method to develop a software.

A software is continuously evolved based on the changing business needs.

Generally, any software development process goes through these phases:

Requirements > Design > Development > Testing > Deployment

There are 2 broad categories of methods to develop a software.

  1. Traditional or Waterfall Method
  2. Agile or Iterative Method

Have you worked on a project that followed the Traditional Software development method or Waterfall method?

In the Waterfall model, each phase of software development is “Sequential” and there is no change allowed in between hence it’s a rigid model. So, if all the requirements are known upfront and the scope is fixed, it’s advisable to use Waterfall method.

But, what if, all the requirements of a software are not known or not clear at the beginning? The answer is to go for Agile or Iterative method to develop software.

Let’s dive in to the details of Agile:

What is Agile Software Development?
#

According to the Agile Manifesto:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

  • Individuals and interactions over processes and tools
    • Prioritize effective communication and collaboration within the team.
  • Working software over comprehensive documentation
    • Focus on delivering functional software rather than extensive documentation.
  • Customer collaboration over contract negotiation
    • Involve customers throughout the development process to ensure their needs are met.
  • Responding to change over following a plan
    • Be adaptable and responsive to changing requirements.

Agile is an iterative process to develop software where the length of an iteration could be minimum a week and maximum upto a month.

A software will go through all the following phases during an iteration: Requirement > Design > Development > Test > Deployment

A working software or a product increment will be produced at the end of an iteration so that the stakeholders can review and provide feedback frequently to make the software better and better through the upcoming iterations.

It involves all the stakeholders throughout the iteration so that everyone is fully transparent about what is being developed.

Agile emphasizes the following key principles
#

  1. Iterative and Incremental Approach: Instead of a linear process, Agile breaks down development into smaller iterations. Each iteration delivers a working product increment, allowing for continuous feedback and adaptation.

  2. Customer Collaboration: Agile teams work closely with customers to understand their needs and expectations. Regular interactions ensure that the product aligns with customer requirements.

  3. Individuals and Interactions: Agile values people over processes and tools. Effective communication and collaboration among team members are essential.

  4. Responding to Change: Agile embraces change. Rather than rigidly following a plan, Agile teams adapt to evolving requirements and priorities.

When to use Agile Method?
#

  • When the requirements are not fully clear or unknown
  • When the project scope is not fixed i.e. it’s an ongoing development and the billing will be done at the fixed intervals based on the resources utilized.
  • When a new product to be developed with a few initial requirements, test the product in the market and plan future development based on the feedback.

Popular Agile Frameworks #

Following are the most popular software development frameworks that follow the Agile method.

  • SCRUM
  • KANBAN
  • XP (Extreme Programming)
  • FDD (Feature Driven Development)
  • Crystal
  • Dynamic Systems Development Method (DSDM)

Role of Business Analyst in Agile
#

To understand this, let’s consider that a project follows Agile SCRUM framework to develop softwares because SCRUM is a widely adopted framework.

A SCRUM team consists of the following roles:

  • Product Owner - accountable for delivering valuable product increments (features), managing product backlog and communicating with stakeholders.
  • Development Team - responsible to design solutions, estimate, plan the sprint, manage sprint backlog and deliver usable product increment at the end of each sprint.
  • Scrum Master - accountable for establishing SCRUM framework i.e. coaching scrum framework to the team, ensuring the effectiveness of scrum team, facilitating communication and conducting scrum events (ceremonies).

In a SCRUM team, a business analyst can assume one of the following roles depending on the organization structure:

  • Business Analyst as part of the Development Team who supports the Product Owner in Analysis activities.
  • Dual role of Business Analyst and Product Owner
  • Dual role of Business Analyst and Scrum Master

Responsibilities of Business Analyst in Agile
#

A business analyst is responsible for the following activities in an Agile Project:

  • Managing Requirements i.e. understanding high level business requirements, work with product owner to create atomic user stories and refining the product backlog.
  • Translating “Why” to “How” i.e. analyze and work with development team to design solution to implement a user story.
  • Modelling and Communicating Requirements i.e. create appropriate models (process model, data model etc.) and explain user stories to the development and QA teams.
  • Enabling the change i.e. monitor the sprint and it’s outcome to ensure that the sprint goal and product goal are met effectively and a usable product increment is delivered at the end of the sprint.
Mehul Thanki
Author
Mehul Thanki
Senior Business Analyst and Project Manager (PMP) with over 19 years of experience in IT industry. Successfully analyzed, managed and delivered hundreds of software projects in various business domains such as Banking & Finance, Credit Bureau, E-commerce, Hospitality and Digital Marketing. Worked with a global bank and leading MNCs.

Related

Why a Business Analyst Should Prepare Wireframes?
440 words·3 mins
Wireframes
Introduction to Wireframes
·358 words·2 mins
Wireframes